From 5a16c1cd4c14b2bd6ec5858a674b63617a9ca274 Mon Sep 17 00:00:00 2001 From: Jürgen Schmidt Date: Mon, 21 Nov 2011 08:25:07 +0000 Subject: 118604: remove license incompatible dmake, thanks to André Fischer (af) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootstrap.1 | 142 +- configure.in | 115 +- dmake/COPYING | 37 - dmake/ChangeLog | 4259 --------- dmake/INSTALL | 3 - dmake/Makefile.am | 64 - dmake/Makefile.in | 869 -- dmake/NEWS | 316 - dmake/acinclude.m4 | 3 - dmake/aclocal.m4 | 908 -- dmake/alloc.h | 59 - dmake/autogen.sh | 63 - dmake/compile | 142 - dmake/config.guess | 1463 ---- dmake/config.h.in | 187 - dmake/config.sub | 1579 ---- dmake/configure | 9000 -------------------- dmake/configure.in | 220 - dmake/dag.c | 697 -- dmake/db.h | 66 - dmake/dbug/dbug.mk | 66 - dmake/dbug/dbug/dbug.c | 1845 ---- dmake/dbug/dbug/dbug.h | 164 - dmake/dbug/dbug/dbug.txt | 1452 ---- dmake/dbug/dbug/dbug.uue | 368 - dmake/dbug/dbug/example1.c | 12 - dmake/dbug/dbug/example2.c | 17 - dmake/dbug/dbug/example3.c | 16 - dmake/dbug/dbug/factorial.c | 15 - dmake/dbug/dbug/main.c | 27 - dmake/dbug/dbug/makeman.sh | 18 - dmake/dbug/dbug/readme | 52 - dmake/dbug/dbug/user.r | 938 -- dmake/dbug/getwd.c | 6 - dmake/dbug/malloc/_changes | 9 - dmake/dbug/malloc/_readme | 133 - dmake/dbug/malloc/calloc.c | 49 - dmake/dbug/malloc/debug.h | 99 - dmake/dbug/malloc/dump.c | 103 - dmake/dbug/malloc/free.c | 150 - dmake/dbug/malloc/m_init.c | 79 - dmake/dbug/malloc/m_perror.c | 73 - dmake/dbug/malloc/makefile | 77 - dmake/dbug/malloc/malloc.3 | 223 - dmake/dbug/malloc/malloc.c | 627 -- dmake/dbug/malloc/malloc.h | 85 - dmake/dbug/malloc/mallopt.c | 98 - dmake/dbug/malloc/memory.c | 195 - dmake/dbug/malloc/mlc_chk.c | 256 - dmake/dbug/malloc/mlc_chn.c | 188 - dmake/dbug/malloc/patchlev | 1 - dmake/dbug/malloc/realloc.c | 180 - dmake/dbug/malloc/string.c | 533 -- dmake/dbug/malloc/testmem.c | 646 -- dmake/dbug/malloc/testmlc.c | 176 - dmake/dbug/malloc/tostring.c | 132 - dmake/dbug/malloc/tostring.h | 13 - dmake/dbug/readme | 13 - dmake/depcomp | 530 -- dmake/dmake.c | 963 --- dmake/dmake.h | 230 - dmake/dmakeroot.h.in | 6 - dmake/dmdump.c | 287 - dmake/dmstring.c | 300 - dmake/dstdarg.h | 43 - dmake/expand.c | 1204 --- dmake/extern.h | 192 - dmake/function.c | 726 -- dmake/getinp.c | 848 -- dmake/hash.c | 54 - dmake/imacs.c | 206 - dmake/infer.c | 909 -- dmake/install-sh | 323 - dmake/itypes.h | 82 - dmake/mac/arlib.c | 56 - dmake/mac/bogus.c | 99 - dmake/mac/config.mk | 44 - dmake/mac/dirbrk.c | 42 - dmake/mac/directry.c | 264 - dmake/mac/dompwmak | 67 - dmake/mac/environ.c | 231 - dmake/mac/eold.c | 119 - dmake/mac/main.c | 43 - dmake/mac/make.sh | 107 - dmake/mac/make_mac.sh | 105 - dmake/mac/public.h | 173 - dmake/mac/rmprq.c | 38 - dmake/mac/ruletab.c | 43 - dmake/mac/startup.h | 28 - dmake/mac/sysintf.h | 41 - dmake/mac/template.mk | 7 - dmake/mac/tempnam.c | 65 - dmake/mac/tomacfil.c | 38 - dmake/macparse.c | 232 - dmake/make.bat | 273 - dmake/make.c | 1774 ---- dmake/make.cmd | 120 - dmake/makefile.mk | 432 - dmake/man/dmake.nc | 3644 -------- dmake/man/dmake.tf | 3480 -------- dmake/man/readme | 12 - dmake/missing | 360 - dmake/mkinstalldirs | 158 - dmake/msdos/arlib.c | 56 - dmake/msdos/borland/bcc30/config.h | 48 - dmake/msdos/borland/bcc30/config.mk | 8 - dmake/msdos/borland/bcc30/lib.rsp | 1 - dmake/msdos/borland/bcc30/libswp.rsp | 1 - dmake/msdos/borland/bcc30/mkswp.bat | 107 - dmake/msdos/borland/bcc30/obj.rsp | 34 - dmake/msdos/borland/bcc30/objswp.rsp | 36 - dmake/msdos/borland/bcc30/public.h | 170 - dmake/msdos/borland/bcc30/template.mk | 7 - dmake/msdos/borland/bcc40/config.h | 51 - dmake/msdos/borland/bcc40/config.mk | 7 - dmake/msdos/borland/bcc40/lib.rsp | 2 - dmake/msdos/borland/bcc40/libswp.rsp | 1 - dmake/msdos/borland/bcc40/mkswp.bat | 107 - dmake/msdos/borland/bcc40/obj.rsp | 34 - dmake/msdos/borland/bcc40/objswp.rsp | 36 - dmake/msdos/borland/bcc40/public.h | 170 - dmake/msdos/borland/bcc40/template.mk | 7 - dmake/msdos/borland/bcc45/config.h | 51 - dmake/msdos/borland/bcc45/config.mk | 7 - dmake/msdos/borland/bcc45/lib.rsp | 2 - dmake/msdos/borland/bcc45/libswp.rsp | 1 - dmake/msdos/borland/bcc45/mkswp.bat | 107 - dmake/msdos/borland/bcc45/obj.rsp | 34 - dmake/msdos/borland/bcc45/objswp.rsp | 36 - dmake/msdos/borland/bcc45/public.h | 170 - dmake/msdos/borland/bcc45/template.mk | 7 - dmake/msdos/borland/bcc50/config.h | 51 - dmake/msdos/borland/bcc50/config.mk | 7 - dmake/msdos/borland/bcc50/lib.rsp | 2 - dmake/msdos/borland/bcc50/libswp.rsp | 1 - dmake/msdos/borland/bcc50/mkswp.bat | 107 - dmake/msdos/borland/bcc50/obj.rsp | 34 - dmake/msdos/borland/bcc50/objswp.rsp | 36 - dmake/msdos/borland/bcc50/public.h | 170 - dmake/msdos/borland/bcc50/template.mk | 7 - dmake/msdos/borland/config.mk | 46 - dmake/msdos/borland/tcc20/config.h | 48 - dmake/msdos/borland/tcc20/config.mk | 10 - dmake/msdos/borland/tcc20/libswp.rsp | 1 - dmake/msdos/borland/tcc20/mkswp.bat | 107 - dmake/msdos/borland/tcc20/objswp.rsp | 36 - dmake/msdos/borland/tcc20/public.h | 170 - dmake/msdos/borland/tcc20/template.mk | 7 - dmake/msdos/borland/tempnam.c | 109 - dmake/msdos/borland/utime.c | 66 - dmake/msdos/config.mk | 71 - dmake/msdos/dchdir.c | 47 - dmake/msdos/dirbrk.c | 42 - dmake/msdos/dirent.h | 32 - dmake/msdos/dirlib.c | 285 - dmake/msdos/dosdta.h | 16 - dmake/msdos/dstrlwr.c | 49 - dmake/msdos/exec.asm | 1234 --- dmake/msdos/exec.h | 43 - dmake/msdos/exec.uue | 63 - dmake/msdos/find.c | 130 - dmake/msdos/microsft/config.h | 77 - dmake/msdos/microsft/config.mk | 59 - dmake/msdos/microsft/msc51/config.mk | 11 - dmake/msdos/microsft/msc51/lib.rsp | 1 - dmake/msdos/microsft/msc51/libswp.rsp | 1 - dmake/msdos/microsft/msc51/mk.bat | 102 - dmake/msdos/microsft/msc51/mkswp.bat | 104 - dmake/msdos/microsft/msc51/obj.rsp | 33 - dmake/msdos/microsft/msc51/objswp.rsp | 34 - dmake/msdos/microsft/msc51/public.h | 170 - dmake/msdos/microsft/msc51/template.mk | 7 - dmake/msdos/microsft/msc60/config.mk | 11 - dmake/msdos/microsft/msc60/lib.rsp | 1 - dmake/msdos/microsft/msc60/libswp.rsp | 1 - dmake/msdos/microsft/msc60/mk.bat | 102 - dmake/msdos/microsft/msc60/mkswp.bat | 104 - dmake/msdos/microsft/msc60/obj.rsp | 33 - dmake/msdos/microsft/msc60/objswp.rsp | 34 - dmake/msdos/microsft/msc60/public.h | 170 - dmake/msdos/microsft/msc60/template.mk | 7 - dmake/msdos/microsft/optoff.h | 27 - dmake/msdos/microsft/tempnam.c | 110 - dmake/msdos/rmprq.c | 44 - dmake/msdos/ruletab.c | 45 - dmake/msdos/runargv.c | 188 - dmake/msdos/spawn.c | 415 - dmake/msdos/startup.h | 26 - dmake/msdos/switchar.c | 55 - dmake/msdos/sysintf.h | 52 - dmake/msdos/tee.c | 31 - dmake/msdos/zortech/config.h | 52 - dmake/msdos/zortech/config.mk | 73 - dmake/msdos/zortech/environ.c | 59 - dmake/msdos/zortech/lib.rsp | 1 - dmake/msdos/zortech/libswp.rsp | 1 - dmake/msdos/zortech/mkswp.bat | 36 - dmake/msdos/zortech/obj.rsp | 34 - dmake/msdos/zortech/objswp.rsp | 35 - dmake/msdos/zortech/public.h | 169 - dmake/msdos/zortech/startup.mk | 153 - dmake/msdos/zortech/tempnam.c | 106 - dmake/os2/config.mk | 54 - dmake/os2/dchdir.c | 41 - dmake/os2/dirent.h | 36 - dmake/os2/ibm/config.h | 78 - dmake/os2/ibm/config.mk | 54 - dmake/os2/ibm/icc/config.mk | 11 - dmake/os2/ibm/icc/lib.rsp | 1 - dmake/os2/ibm/icc/mk.cmd | 96 - dmake/os2/ibm/icc/obj.rsp | 31 - dmake/os2/ibm/icc/public.h | 169 - dmake/os2/ibm/icc/template.mk | 7 - dmake/os2/ibm/icc3/config.mk | 11 - dmake/os2/ibm/icc3/lib.rsp | 1 - dmake/os2/ibm/icc3/mk.cmd | 192 - dmake/os2/ibm/icc3/obj.rsp | 30 - dmake/os2/ibm/icc3/public.h | 169 - dmake/os2/ibm/icc3/template.mk | 7 - dmake/os2/ibm/tempnam.c | 111 - dmake/os2/ruletab.c | 47 - dmake/os2/startup.h | 27 - dmake/os2/switchar.c | 43 - dmake/os2/sysintf.h | 62 - dmake/parse.c | 176 - dmake/path.c | 337 - dmake/percent.c | 251 - dmake/posix.h | 66 - dmake/qssl/config.mk | 43 - dmake/qssl/make.sh | 62 - dmake/qssl/public.h | 166 - dmake/qssl/ruletab.c | 41 - dmake/qssl/runargv.c | 298 - dmake/qssl/setup | 40 - dmake/qssl/startup.h | 28 - dmake/qssl/stdlib.h | 48 - dmake/qssl/sysintf.h | 42 - dmake/qssl/template.mk | 7 - dmake/qssl/tempnam.c | 102 - dmake/qssl/time.h | 32 - dmake/quit.c | 116 - dmake/rcsclean.awk | 57 - dmake/readme/intro.txt | 40 - dmake/readme/license.txt | 248 - dmake/readme/public/install.txt | 203 - dmake/readme/public/mac.txt | 43 - dmake/readme/public/msdos.txt | 124 - dmake/readme/public/os2.txt | 76 - dmake/readme/public/qssl-qnx.txt | 5 - dmake/readme/public/srcorg.txt | 74 - dmake/readme/public/tos.txt | 31 - dmake/readme/public/unix.txt | 171 - dmake/readme/read1st.txt | 58 - dmake/readme/release.txt | 196 - dmake/rulparse.c | 1739 ---- dmake/stamp-h | 1 - dmake/startup/Makefile.am | 7 - dmake/startup/Makefile.in | 492 -- dmake/startup/config.mk.in | 5 - dmake/startup/mac/macros.mk | 41 - dmake/startup/msdos/borland/bcc30/macros.mk | 4 - dmake/startup/msdos/borland/bcc40/macros.mk | 4 - dmake/startup/msdos/borland/bcc45/macros.mk | 4 - dmake/startup/msdos/borland/bcc50.32/macros.mk | 4 - dmake/startup/msdos/borland/bcc50/macros.mk | 4 - dmake/startup/msdos/borland/macros.mk | 33 - dmake/startup/msdos/borland/tcc20/macros.mk | 4 - dmake/startup/msdos/macros.mk | 62 - dmake/startup/msdos/microsft/macros.mk | 34 - dmake/startup/msdos/recipes.mk | 9 - dmake/startup/msdos/zortech/macros.mk | 30 - dmake/startup/os2/ibm/macros.mk | 30 - dmake/startup/os2/macros.mk | 60 - dmake/startup/qssl/macros.mk | 11 - dmake/startup/qssl/qnx/macros.mk | 11 - dmake/startup/qssl/qnx/recipes.mk | 8 - dmake/startup/qssl/recipes.mk | 8 - dmake/startup/startup.mk | 211 - dmake/startup/summary | 3 - dmake/startup/template.mk | 7 - dmake/startup/templates/mac/template.mk | 7 - .../templates/msdos/borland/bcc30/template.mk | 7 - .../templates/msdos/borland/bcc40/template.mk | 7 - .../templates/msdos/borland/bcc45/template.mk | 7 - .../templates/msdos/borland/bcc50/template.mk | 7 - .../templates/msdos/borland/tcc20/template.mk | 7 - .../templates/msdos/microsft/msc51/template.mk | 7 - .../templates/msdos/microsft/msc60/template.mk | 7 - dmake/startup/templates/os2/ibm/icc/template.mk | 7 - dmake/startup/templates/qssl/template.mk | 7 - dmake/startup/templates/tos/template.mk | 7 - dmake/startup/templates/unix/386ix/template.mk | 7 - dmake/startup/templates/unix/bsd43/template.mk | 7 - dmake/startup/templates/unix/bsd43/uw/template.mk | 7 - dmake/startup/templates/unix/bsd43/vf/template.mk | 7 - .../templates/unix/coherent/ver40/template.mk | 7 - .../templates/unix/coherent/ver42/template.mk | 7 - dmake/startup/templates/unix/linux/gnu/template.mk | 7 - .../startup/templates/unix/solaris/gnu/template.mk | 7 - dmake/startup/templates/unix/solaris/template.mk | 7 - dmake/startup/templates/unix/sysvr1/template.mk | 7 - .../startup/templates/unix/sysvr3/pwd/template.mk | 7 - dmake/startup/templates/unix/sysvr3/template.mk | 7 - dmake/startup/templates/unix/sysvr4/template.mk | 7 - dmake/startup/templates/unix/xenix/pwd/template.mk | 7 - dmake/startup/templates/unix/xenix/template.mk | 7 - .../templates/win95/borland/bcc50/template.mk | 7 - .../templates/win95/microsft/vpp40/template.mk | 7 - .../templates/winnt/borland/bcc50/template.mk | 7 - .../templates/winnt/microsft/vpp40/template.mk | 7 - dmake/startup/tos/macros.mk | 24 - dmake/startup/unix/386ix/macros.mk | 6 - dmake/startup/unix/Makefile.am | 8 - dmake/startup/unix/Makefile.in | 489 -- dmake/startup/unix/bsd43/macros.mk | 11 - dmake/startup/unix/bsd43/recipes.mk | 13 - dmake/startup/unix/coherent/macros.mk | 6 - dmake/startup/unix/coherent/recipes.mk | 6 - dmake/startup/unix/cygwin/Makefile.am | 6 - dmake/startup/unix/cygwin/Makefile.in | 331 - dmake/startup/unix/cygwin/macros.mk | 10 - dmake/startup/unix/linux/Makefile.am | 6 - dmake/startup/unix/linux/Makefile.in | 331 - dmake/startup/unix/linux/gnu/macros.mk | 6 - dmake/startup/unix/linux/macros.mk | 10 - dmake/startup/unix/macosx/Makefile.am | 6 - dmake/startup/unix/macosx/Makefile.in | 331 - dmake/startup/unix/macosx/gnu/macros.mk | 6 - dmake/startup/unix/macosx/macros.mk | 10 - dmake/startup/unix/macros.mk | 5 - dmake/startup/unix/os2/Makefile.am | 6 - dmake/startup/unix/os2/Makefile.in | 331 - dmake/startup/unix/os2/macros.mk | 60 - dmake/startup/unix/recipes.mk | 15 - dmake/startup/unix/solaris/Makefile.am | 6 - dmake/startup/unix/solaris/Makefile.in | 331 - dmake/startup/unix/solaris/macros.mk | 6 - dmake/startup/unix/sysvr1/macros.mk | 6 - dmake/startup/unix/sysvr3/gnu/macros.mk | 12 - dmake/startup/unix/sysvr3/macros.mk | 7 - dmake/startup/unix/sysvr4/Makefile.am | 6 - dmake/startup/unix/sysvr4/Makefile.in | 331 - dmake/startup/unix/sysvr4/macros.mk | 6 - dmake/startup/unix/xenix/macros.mk | 6 - dmake/startup/win95/borland/macros.mk | 34 - dmake/startup/win95/macros.mk | 75 - dmake/startup/win95/microsft/macros.mk | 38 - dmake/startup/win95/recipes.mk | 9 - dmake/startup/winnt/Makefile.am | 8 - dmake/startup/winnt/Makefile.in | 489 -- dmake/startup/winnt/borland/macros.mk | 34 - dmake/startup/winnt/macros.mk | 75 - dmake/startup/winnt/microsft/macros.mk | 37 - dmake/startup/winnt/mingw/Makefile.am | 6 - dmake/startup/winnt/mingw/Makefile.in | 331 - dmake/startup/winnt/mingw/macros.mk | 10 - dmake/startup/winnt/msvc6/Makefile.am | 6 - dmake/startup/winnt/msvc6/Makefile.in | 331 - dmake/startup/winnt/msvc6/macros.mk | 37 - dmake/startup/winnt/recipes.mk | 9 - dmake/stat.c | 278 - dmake/state.c | 231 - dmake/stdmacs.h | 60 - dmake/struct.h | 261 - dmake/sysintf.c | 1163 --- dmake/tests/Makefile.am | 22 - dmake/tests/Makefile.in | 392 - dmake/tests/README | 12 - dmake/tests/function_macros-1 | 96 - dmake/tests/function_macros-10 | 122 - dmake/tests/function_macros-2 | 64 - dmake/tests/function_macros-3 | 40 - dmake/tests/function_macros-4 | 35 - dmake/tests/function_macros-5 | 46 - dmake/tests/function_macros-6 | 42 - dmake/tests/function_macros-7 | 39 - dmake/tests/function_macros-8 | 101 - dmake/tests/function_macros-9 | 70 - dmake/tests/infra-0 | 44 - dmake/tests/macros-1 | 41 - dmake/tests/macros-10 | 99 - dmake/tests/macros-11 | 147 - dmake/tests/macros-2 | 62 - dmake/tests/macros-3 | 71 - dmake/tests/macros-4 | 92 - dmake/tests/macros-5 | 68 - dmake/tests/macros-6 | 62 - dmake/tests/macros-7 | 76 - dmake/tests/macros-8 | 157 - dmake/tests/macros-9 | 141 - dmake/tests/misc-1 | 35 - dmake/tests/misc-10 | 41 - dmake/tests/misc-11 | 42 - dmake/tests/misc-12 | 40 - dmake/tests/misc-13 | 51 - dmake/tests/misc-14 | 44 - dmake/tests/misc-15 | 53 - dmake/tests/misc-16 | 48 - dmake/tests/misc-17 | 42 - dmake/tests/misc-18 | 169 - dmake/tests/misc-19 | 45 - dmake/tests/misc-2 | 40 - dmake/tests/misc-20 | 121 - dmake/tests/misc-21 | 41 - dmake/tests/misc-3 | 44 - dmake/tests/misc-4 | 62 - dmake/tests/misc-5 | 49 - dmake/tests/misc-6 | 65 - dmake/tests/misc-7 | 47 - dmake/tests/misc-8 | 39 - dmake/tests/misc-9 | 53 - dmake/tests/recipes-1 | 38 - dmake/tests/recipes-2 | 41 - dmake/tests/recipes-3 | 40 - dmake/tests/recipes-4 | 38 - dmake/tests/recipes-5 | 62 - dmake/tests/recipes-6 | 66 - dmake/tests/recipes-7 | 38 - dmake/tests/recipes-8 | 104 - dmake/tests/recipes-9 | 117 - dmake/tests/targets-1 | 78 - dmake/tests/targets-10 | 50 - dmake/tests/targets-11 | 38 - dmake/tests/targets-12 | 47 - dmake/tests/targets-13 | 49 - dmake/tests/targets-14 | 53 - dmake/tests/targets-15 | 56 - dmake/tests/targets-16 | 49 - dmake/tests/targets-17 | 38 - dmake/tests/targets-18 | 52 - dmake/tests/targets-19 | 68 - dmake/tests/targets-2 | 70 - dmake/tests/targets-20 | 65 - dmake/tests/targets-21 | 55 - dmake/tests/targets-22 | 55 - dmake/tests/targets-23 | 56 - dmake/tests/targets-24 | 61 - dmake/tests/targets-25 | 51 - dmake/tests/targets-26 | 57 - dmake/tests/targets-27 | 59 - dmake/tests/targets-28 | 175 - dmake/tests/targets-29 | 59 - dmake/tests/targets-3 | 49 - dmake/tests/targets-30 | 64 - dmake/tests/targets-4 | 70 - dmake/tests/targets-5 | 51 - dmake/tests/targets-6 | 52 - dmake/tests/targets-7 | 54 - dmake/tests/targets-8 | 50 - dmake/tests/targets-9 | 49 - dmake/tos/config.mk | 49 - dmake/tos/make.sh | 57 - dmake/tos/public.h | 166 - dmake/tos/putenv.c | 78 - dmake/tos/ruletab.c | 42 - dmake/tos/startup.h | 28 - dmake/tos/sysintf.h | 45 - dmake/tos/template.mk | 7 - dmake/tos/tempnam.c | 104 - dmake/unix/386ix/ar.h | 27 - dmake/unix/386ix/config.mk | 27 - dmake/unix/386ix/make.sh | 60 - dmake/unix/386ix/public.h | 167 - dmake/unix/386ix/stdlib.h | 44 - dmake/unix/386ix/template.mk | 7 - dmake/unix/386ix/time.h | 35 - dmake/unix/Makefile.am | 7 - dmake/unix/Makefile.in | 396 - dmake/unix/arlib.c | 610 -- dmake/unix/bsd43/config.mk | 27 - dmake/unix/bsd43/dirent.h | 28 - dmake/unix/bsd43/limits.h | 32 - dmake/unix/bsd43/make.sh | 69 - dmake/unix/bsd43/public.h | 167 - dmake/unix/bsd43/putenv.c | 78 - dmake/unix/bsd43/setvbuf.c | 40 - dmake/unix/bsd43/stdlib.h | 44 - dmake/unix/bsd43/string.h | 43 - dmake/unix/bsd43/template.mk | 7 - dmake/unix/bsd43/tempnam.c | 103 - dmake/unix/bsd43/utime.c | 70 - dmake/unix/bsd43/uw/config.mk | 17 - dmake/unix/bsd43/uw/make.sh | 69 - dmake/unix/bsd43/uw/public.h | 167 - dmake/unix/bsd43/uw/template.mk | 7 - dmake/unix/bsd43/vf/config.mk | 11 - dmake/unix/bsd43/vf/ctype.h | 51 - dmake/unix/bsd43/vf/make.sh | 73 - dmake/unix/bsd43/vf/memcpy.c | 36 - dmake/unix/bsd43/vf/public.h | 167 - dmake/unix/bsd43/vf/template.mk | 7 - dmake/unix/bsd43/vf/vfprintf.c | 48 - dmake/unix/bsdarm32/config.mk | 27 - dmake/unix/bsdarm32/dirent.h | 30 - dmake/unix/bsdarm32/limits.h | 29 - dmake/unix/bsdarm32/make.sh | 67 - dmake/unix/bsdarm32/public.h | 167 - dmake/unix/bsdarm32/putenv.c | 78 - dmake/unix/bsdarm32/stdlib.h | 44 - dmake/unix/bsdarm32/string.h | 42 - dmake/unix/bsdarm32/template.mk | 7 - dmake/unix/bsdarm32/tempnam.c | 105 - dmake/unix/bsdarm32/utime.c | 70 - dmake/unix/coherent/config.mk | 26 - dmake/unix/coherent/stdlib.h | 44 - dmake/unix/coherent/time.h | 32 - dmake/unix/coherent/ver40/config.mk | 11 - dmake/unix/coherent/ver40/getcwd.c | 49 - dmake/unix/coherent/ver40/make.sh | 64 - dmake/unix/coherent/ver40/public.h | 167 - dmake/unix/coherent/ver40/template.mk | 7 - dmake/unix/coherent/ver40/vfprintf.c | 190 - dmake/unix/coherent/ver42/config.mk | 11 - dmake/unix/coherent/ver42/make.sh | 60 - dmake/unix/coherent/ver42/public.h | 167 - dmake/unix/coherent/ver42/template.mk | 7 - dmake/unix/config.mk | 39 - dmake/unix/cygwin/public.h | 172 - dmake/unix/dcache.c | 223 - dmake/unix/dirbrk.c | 53 - dmake/unix/linux/config.mk | 27 - dmake/unix/linux/gnu/config.mk | 4 - dmake/unix/linux/gnu/make.sh | 193 - dmake/unix/linux/gnu/public.h | 172 - dmake/unix/linux/gnu/template.mk | 7 - dmake/unix/macosx/config.mk | 27 - dmake/unix/macosx/gnu/config.mk | 4 - dmake/unix/macosx/gnu/make.sh | 63 - dmake/unix/macosx/gnu/public.h | 167 - dmake/unix/macosx/gnu/template.mk | 7 - dmake/unix/macosx/tempnam.c | 102 - dmake/unix/os2/public.h | 172 - dmake/unix/rmprq.c | 121 - dmake/unix/ruletab.c | 44 - dmake/unix/runargv.c | 1098 --- dmake/unix/solaris/config.mk | 27 - dmake/unix/solaris/getcwd.c | 231 - dmake/unix/solaris/gnu/config.mk | 8 - dmake/unix/solaris/gnu/make.sh | 64 - dmake/unix/solaris/gnu/public.h | 167 - dmake/unix/solaris/gnu/template.mk | 7 - dmake/unix/solaris/make.sh | 64 - dmake/unix/solaris/public.h | 166 - dmake/unix/solaris/template.mk | 7 - dmake/unix/solaris/tempnam.c | 103 - dmake/unix/startup.h | 27 - dmake/unix/sysintf.h | 50 - dmake/unix/sysvr1/config.mk | 28 - dmake/unix/sysvr1/make.sh | 62 - dmake/unix/sysvr1/public.h | 167 - dmake/unix/sysvr1/putenv.c | 78 - dmake/unix/sysvr1/stdlib.h | 44 - dmake/unix/sysvr1/template.mk | 7 - dmake/unix/sysvr1/time.h | 32 - dmake/unix/sysvr1/vfprintf.c | 58 - dmake/unix/sysvr3/config.mk | 27 - dmake/unix/sysvr3/gnu/public.h | 165 - dmake/unix/sysvr3/make.sh | 60 - dmake/unix/sysvr3/public.h | 167 - dmake/unix/sysvr3/pwd/config.mk | 20 - dmake/unix/sysvr3/pwd/getcwd.c | 231 - dmake/unix/sysvr3/pwd/make.sh | 62 - dmake/unix/sysvr3/pwd/public.h | 167 - dmake/unix/sysvr3/pwd/template.mk | 7 - dmake/unix/sysvr3/stdlib.h | 55 - dmake/unix/sysvr3/template.mk | 7 - dmake/unix/sysvr3/time.h | 32 - dmake/unix/sysvr4/config.mk | 27 - dmake/unix/sysvr4/make.sh | 60 - dmake/unix/sysvr4/public.h | 167 - dmake/unix/sysvr4/template.mk | 7 - dmake/unix/tempnam.c | 106 - dmake/unix/xenix/config.mk | 27 - dmake/unix/xenix/make.sh | 60 - dmake/unix/xenix/public.h | 167 - dmake/unix/xenix/pwd/config.mk | 23 - dmake/unix/xenix/pwd/getcwd.c | 231 - dmake/unix/xenix/pwd/make.sh | 62 - dmake/unix/xenix/pwd/public.h | 167 - dmake/unix/xenix/pwd/template.mk | 7 - dmake/unix/xenix/stdlib.h | 50 - dmake/unix/xenix/template.mk | 7 - dmake/unix/xenix/time.h | 32 - dmake/vextern.h | 129 - dmake/win95/borland/bcc50/config.h | 44 - dmake/win95/borland/bcc50/config.mk | 14 - dmake/win95/borland/bcc50/lib.rsp | 2 - dmake/win95/borland/bcc50/mk.bat | 96 - dmake/win95/borland/bcc50/obj.rsp | 32 - dmake/win95/borland/bcc50/public.h | 168 - dmake/win95/borland/bcc50/template.mk | 7 - dmake/win95/borland/config.mk | 51 - dmake/win95/borland/ruletab.c | 44 - dmake/win95/borland/sysintf.h | 55 - dmake/win95/borland/tempnam.c | 114 - dmake/win95/config.mk | 53 - dmake/win95/dchdir.c | 49 - dmake/win95/microsft/config.h | 122 - dmake/win95/microsft/config.mk | 62 - dmake/win95/microsft/optoff.h | 27 - dmake/win95/microsft/ruletab.c | 56 - dmake/win95/microsft/sysintf.h | 57 - dmake/win95/microsft/tempnam.c | 110 - dmake/win95/microsft/vpp40/config.mk | 14 - dmake/win95/microsft/vpp40/lib.rsp | 1 - dmake/win95/microsft/vpp40/mk.bat | 41 - dmake/win95/microsft/vpp40/obj.rsp | 28 - dmake/win95/microsft/vpp40/public.h | 167 - dmake/win95/microsft/vpp40/runargv.c | 288 - dmake/win95/microsft/vpp40/template.mk | 7 - dmake/win95/microsft/vpp40/tempnam.c | 110 - dmake/win95/startup.h | 28 - dmake/win95/switchar.c | 43 - dmake/winnt/borland/bcc50/config.h | 44 - dmake/winnt/borland/bcc50/config.mk | 12 - dmake/winnt/borland/bcc50/lib.rsp | 2 - dmake/winnt/borland/bcc50/mk.bat | 95 - dmake/winnt/borland/bcc50/mk.cmd | 93 - dmake/winnt/borland/bcc50/obj.rsp | 31 - dmake/winnt/borland/bcc50/public.h | 168 - dmake/winnt/borland/bcc50/template.mk | 7 - dmake/winnt/borland/config.mk | 51 - dmake/winnt/borland/ruletab.c | 44 - dmake/winnt/borland/sysintf.h | 55 - dmake/winnt/borland/tempnam.c | 114 - dmake/winnt/config.mk | 57 - dmake/winnt/dchdir.c | 47 - dmake/winnt/microsft/config.h | 85 - dmake/winnt/microsft/config.mk | 61 - dmake/winnt/microsft/optoff.h | 27 - dmake/winnt/microsft/ruletab.c | 45 - dmake/winnt/microsft/sysintf.h | 57 - dmake/winnt/microsft/tempnam.c | 110 - dmake/winnt/microsft/vpp40/config.mk | 14 - dmake/winnt/microsft/vpp40/lib.rsp | 1 - dmake/winnt/microsft/vpp40/mk.bat | 32 - dmake/winnt/microsft/vpp40/mk.cmd | 31 - dmake/winnt/microsft/vpp40/obj.rsp | 28 - dmake/winnt/microsft/vpp40/public.h | 167 - dmake/winnt/microsft/vpp40/runargv.c | 288 - dmake/winnt/microsft/vpp40/template.mk | 7 - dmake/winnt/microsft/vpp40/tempnam.c | 110 - dmake/winnt/mingw/public.h | 167 - dmake/winnt/mingw/sysintf.h | 62 - dmake/winnt/msvc6/public.h | 167 - dmake/winnt/msvc6/sysintf.h | 62 - dmake/winnt/startup.h | 29 - fetch_tarballs.sh | 38 +- set_soenv.in | 2 +- 649 files changed, 207 insertions(+), 90158 deletions(-) delete mode 100755 dmake/COPYING delete mode 100755 dmake/ChangeLog delete mode 100755 dmake/INSTALL delete mode 100755 dmake/Makefile.am delete mode 100755 dmake/Makefile.in delete mode 100755 dmake/NEWS delete mode 100755 dmake/acinclude.m4 delete mode 100755 dmake/aclocal.m4 delete mode 100644 dmake/alloc.h delete mode 100755 dmake/autogen.sh delete mode 100755 dmake/compile delete mode 100755 dmake/config.guess delete mode 100644 dmake/config.h.in delete mode 100755 dmake/config.sub delete mode 100755 dmake/configure delete mode 100755 dmake/configure.in delete mode 100644 dmake/dag.c delete mode 100644 dmake/db.h delete mode 100644 dmake/dbug/dbug.mk delete mode 100644 dmake/dbug/dbug/dbug.c delete mode 100644 dmake/dbug/dbug/dbug.h delete mode 100755 dmake/dbug/dbug/dbug.txt delete mode 100644 dmake/dbug/dbug/dbug.uue delete mode 100755 dmake/dbug/dbug/example1.c delete mode 100755 dmake/dbug/dbug/example2.c delete mode 100755 dmake/dbug/dbug/example3.c delete mode 100755 dmake/dbug/dbug/factorial.c delete mode 100755 dmake/dbug/dbug/main.c delete mode 100755 dmake/dbug/dbug/makeman.sh delete mode 100644 dmake/dbug/dbug/readme delete mode 100755 dmake/dbug/dbug/user.r delete mode 100644 dmake/dbug/getwd.c delete mode 100644 dmake/dbug/malloc/_changes delete mode 100644 dmake/dbug/malloc/_readme delete mode 100644 dmake/dbug/malloc/calloc.c delete mode 100644 dmake/dbug/malloc/debug.h delete mode 100644 dmake/dbug/malloc/dump.c delete mode 100644 dmake/dbug/malloc/free.c delete mode 100644 dmake/dbug/malloc/m_init.c delete mode 100644 dmake/dbug/malloc/m_perror.c delete mode 100644 dmake/dbug/malloc/makefile delete mode 100644 dmake/dbug/malloc/malloc.3 delete mode 100644 dmake/dbug/malloc/malloc.c delete mode 100644 dmake/dbug/malloc/malloc.h delete mode 100644 dmake/dbug/malloc/mallopt.c delete mode 100644 dmake/dbug/malloc/memory.c delete mode 100644 dmake/dbug/malloc/mlc_chk.c delete mode 100644 dmake/dbug/malloc/mlc_chn.c delete mode 100644 dmake/dbug/malloc/patchlev delete mode 100644 dmake/dbug/malloc/realloc.c delete mode 100644 dmake/dbug/malloc/string.c delete mode 100644 dmake/dbug/malloc/testmem.c delete mode 100644 dmake/dbug/malloc/testmlc.c delete mode 100644 dmake/dbug/malloc/tostring.c delete mode 100644 dmake/dbug/malloc/tostring.h delete mode 100644 dmake/dbug/readme delete mode 100755 dmake/depcomp delete mode 100644 dmake/dmake.c delete mode 100644 dmake/dmake.h delete mode 100644 dmake/dmakeroot.h.in delete mode 100644 dmake/dmdump.c delete mode 100644 dmake/dmstring.c delete mode 100644 dmake/dstdarg.h delete mode 100644 dmake/expand.c delete mode 100644 dmake/extern.h delete mode 100644 dmake/function.c delete mode 100644 dmake/getinp.c delete mode 100644 dmake/hash.c delete mode 100644 dmake/imacs.c delete mode 100644 dmake/infer.c delete mode 100755 dmake/install-sh delete mode 100644 dmake/itypes.h delete mode 100644 dmake/mac/arlib.c delete mode 100644 dmake/mac/bogus.c delete mode 100644 dmake/mac/config.mk delete mode 100644 dmake/mac/dirbrk.c delete mode 100644 dmake/mac/directry.c delete mode 100644 dmake/mac/dompwmak delete mode 100644 dmake/mac/environ.c delete mode 100644 dmake/mac/eold.c delete mode 100644 dmake/mac/main.c delete mode 100644 dmake/mac/make.sh delete mode 100644 dmake/mac/make_mac.sh delete mode 100644 dmake/mac/public.h delete mode 100644 dmake/mac/rmprq.c delete mode 100644 dmake/mac/ruletab.c delete mode 100644 dmake/mac/startup.h delete mode 100644 dmake/mac/sysintf.h delete mode 100644 dmake/mac/template.mk delete mode 100644 dmake/mac/tempnam.c delete mode 100644 dmake/mac/tomacfil.c delete mode 100644 dmake/macparse.c delete mode 100755 dmake/make.bat delete mode 100644 dmake/make.c delete mode 100755 dmake/make.cmd delete mode 100644 dmake/makefile.mk delete mode 100644 dmake/man/dmake.nc delete mode 100644 dmake/man/dmake.tf delete mode 100644 dmake/man/readme delete mode 100755 dmake/missing delete mode 100755 dmake/mkinstalldirs delete mode 100644 dmake/msdos/arlib.c delete mode 100644 dmake/msdos/borland/bcc30/config.h delete mode 100644 dmake/msdos/borland/bcc30/config.mk delete mode 100644 dmake/msdos/borland/bcc30/lib.rsp delete mode 100644 dmake/msdos/borland/bcc30/libswp.rsp delete mode 100755 dmake/msdos/borland/bcc30/mkswp.bat delete mode 100644 dmake/msdos/borland/bcc30/obj.rsp delete mode 100644 dmake/msdos/borland/bcc30/objswp.rsp delete mode 100644 dmake/msdos/borland/bcc30/public.h delete mode 100644 dmake/msdos/borland/bcc30/template.mk delete mode 100644 dmake/msdos/borland/bcc40/config.h delete mode 100644 dmake/msdos/borland/bcc40/config.mk delete mode 100644 dmake/msdos/borland/bcc40/lib.rsp delete mode 100644 dmake/msdos/borland/bcc40/libswp.rsp delete mode 100755 dmake/msdos/borland/bcc40/mkswp.bat delete mode 100644 dmake/msdos/borland/bcc40/obj.rsp delete mode 100644 dmake/msdos/borland/bcc40/objswp.rsp delete mode 100644 dmake/msdos/borland/bcc40/public.h delete mode 100644 dmake/msdos/borland/bcc40/template.mk delete mode 100644 dmake/msdos/borland/bcc45/config.h delete mode 100644 dmake/msdos/borland/bcc45/config.mk delete mode 100644 dmake/msdos/borland/bcc45/lib.rsp delete mode 100644 dmake/msdos/borland/bcc45/libswp.rsp delete mode 100755 dmake/msdos/borland/bcc45/mkswp.bat delete mode 100644 dmake/msdos/borland/bcc45/obj.rsp delete mode 100644 dmake/msdos/borland/bcc45/objswp.rsp delete mode 100644 dmake/msdos/borland/bcc45/public.h delete mode 100644 dmake/msdos/borland/bcc45/template.mk delete mode 100644 dmake/msdos/borland/bcc50/config.h delete mode 100644 dmake/msdos/borland/bcc50/config.mk delete mode 100644 dmake/msdos/borland/bcc50/lib.rsp delete mode 100644 dmake/msdos/borland/bcc50/libswp.rsp delete mode 100755 dmake/msdos/borland/bcc50/mkswp.bat delete mode 100644 dmake/msdos/borland/bcc50/obj.rsp delete mode 100644 dmake/msdos/borland/bcc50/objswp.rsp delete mode 100644 dmake/msdos/borland/bcc50/public.h delete mode 100644 dmake/msdos/borland/bcc50/template.mk delete mode 100644 dmake/msdos/borland/config.mk delete mode 100644 dmake/msdos/borland/tcc20/config.h delete mode 100644 dmake/msdos/borland/tcc20/config.mk delete mode 100644 dmake/msdos/borland/tcc20/libswp.rsp delete mode 100755 dmake/msdos/borland/tcc20/mkswp.bat delete mode 100644 dmake/msdos/borland/tcc20/objswp.rsp delete mode 100644 dmake/msdos/borland/tcc20/public.h delete mode 100644 dmake/msdos/borland/tcc20/template.mk delete mode 100644 dmake/msdos/borland/tempnam.c delete mode 100644 dmake/msdos/borland/utime.c delete mode 100644 dmake/msdos/config.mk delete mode 100644 dmake/msdos/dchdir.c delete mode 100644 dmake/msdos/dirbrk.c delete mode 100644 dmake/msdos/dirent.h delete mode 100644 dmake/msdos/dirlib.c delete mode 100644 dmake/msdos/dosdta.h delete mode 100644 dmake/msdos/dstrlwr.c delete mode 100644 dmake/msdos/exec.asm delete mode 100644 dmake/msdos/exec.h delete mode 100644 dmake/msdos/exec.uue delete mode 100644 dmake/msdos/find.c delete mode 100644 dmake/msdos/microsft/config.h delete mode 100644 dmake/msdos/microsft/config.mk delete mode 100644 dmake/msdos/microsft/msc51/config.mk delete mode 100644 dmake/msdos/microsft/msc51/lib.rsp delete mode 100644 dmake/msdos/microsft/msc51/libswp.rsp delete mode 100755 dmake/msdos/microsft/msc51/mk.bat delete mode 100755 dmake/msdos/microsft/msc51/mkswp.bat delete mode 100644 dmake/msdos/microsft/msc51/obj.rsp delete mode 100644 dmake/msdos/microsft/msc51/objswp.rsp delete mode 100644 dmake/msdos/microsft/msc51/public.h delete mode 100644 dmake/msdos/microsft/msc51/template.mk delete mode 100644 dmake/msdos/microsft/msc60/config.mk delete mode 100644 dmake/msdos/microsft/msc60/lib.rsp delete mode 100644 dmake/msdos/microsft/msc60/libswp.rsp delete mode 100755 dmake/msdos/microsft/msc60/mk.bat delete mode 100755 dmake/msdos/microsft/msc60/mkswp.bat delete mode 100644 dmake/msdos/microsft/msc60/obj.rsp delete mode 100644 dmake/msdos/microsft/msc60/objswp.rsp delete mode 100644 dmake/msdos/microsft/msc60/public.h delete mode 100644 dmake/msdos/microsft/msc60/template.mk delete mode 100644 dmake/msdos/microsft/optoff.h delete mode 100644 dmake/msdos/microsft/tempnam.c delete mode 100644 dmake/msdos/rmprq.c delete mode 100644 dmake/msdos/ruletab.c delete mode 100644 dmake/msdos/runargv.c delete mode 100644 dmake/msdos/spawn.c delete mode 100644 dmake/msdos/startup.h delete mode 100644 dmake/msdos/switchar.c delete mode 100644 dmake/msdos/sysintf.h delete mode 100644 dmake/msdos/tee.c delete mode 100644 dmake/msdos/zortech/config.h delete mode 100644 dmake/msdos/zortech/config.mk delete mode 100644 dmake/msdos/zortech/environ.c delete mode 100644 dmake/msdos/zortech/lib.rsp delete mode 100644 dmake/msdos/zortech/libswp.rsp delete mode 100755 dmake/msdos/zortech/mkswp.bat delete mode 100644 dmake/msdos/zortech/obj.rsp delete mode 100644 dmake/msdos/zortech/objswp.rsp delete mode 100644 dmake/msdos/zortech/public.h delete mode 100644 dmake/msdos/zortech/startup.mk delete mode 100644 dmake/msdos/zortech/tempnam.c delete mode 100644 dmake/os2/config.mk delete mode 100644 dmake/os2/dchdir.c delete mode 100644 dmake/os2/dirent.h delete mode 100644 dmake/os2/ibm/config.h delete mode 100644 dmake/os2/ibm/config.mk delete mode 100644 dmake/os2/ibm/icc/config.mk delete mode 100644 dmake/os2/ibm/icc/lib.rsp delete mode 100755 dmake/os2/ibm/icc/mk.cmd delete mode 100644 dmake/os2/ibm/icc/obj.rsp delete mode 100644 dmake/os2/ibm/icc/public.h delete mode 100644 dmake/os2/ibm/icc/template.mk delete mode 100644 dmake/os2/ibm/icc3/config.mk delete mode 100644 dmake/os2/ibm/icc3/lib.rsp delete mode 100755 dmake/os2/ibm/icc3/mk.cmd delete mode 100644 dmake/os2/ibm/icc3/obj.rsp delete mode 100644 dmake/os2/ibm/icc3/public.h delete mode 100644 dmake/os2/ibm/icc3/template.mk delete mode 100644 dmake/os2/ibm/tempnam.c delete mode 100644 dmake/os2/ruletab.c delete mode 100644 dmake/os2/startup.h delete mode 100644 dmake/os2/switchar.c delete mode 100644 dmake/os2/sysintf.h delete mode 100644 dmake/parse.c delete mode 100644 dmake/path.c delete mode 100644 dmake/percent.c delete mode 100644 dmake/posix.h delete mode 100644 dmake/qssl/config.mk delete mode 100644 dmake/qssl/make.sh delete mode 100644 dmake/qssl/public.h delete mode 100644 dmake/qssl/ruletab.c delete mode 100644 dmake/qssl/runargv.c delete mode 100644 dmake/qssl/setup delete mode 100644 dmake/qssl/startup.h delete mode 100644 dmake/qssl/stdlib.h delete mode 100644 dmake/qssl/sysintf.h delete mode 100644 dmake/qssl/template.mk delete mode 100644 dmake/qssl/tempnam.c delete mode 100644 dmake/qssl/time.h delete mode 100644 dmake/quit.c delete mode 100644 dmake/rcsclean.awk delete mode 100644 dmake/readme/intro.txt delete mode 100644 dmake/readme/license.txt delete mode 100644 dmake/readme/public/install.txt delete mode 100644 dmake/readme/public/mac.txt delete mode 100644 dmake/readme/public/msdos.txt delete mode 100644 dmake/readme/public/os2.txt delete mode 100644 dmake/readme/public/qssl-qnx.txt delete mode 100644 dmake/readme/public/srcorg.txt delete mode 100644 dmake/readme/public/tos.txt delete mode 100644 dmake/readme/public/unix.txt delete mode 100644 dmake/readme/read1st.txt delete mode 100644 dmake/readme/release.txt delete mode 100644 dmake/rulparse.c delete mode 100755 dmake/stamp-h delete mode 100755 dmake/startup/Makefile.am delete mode 100644 dmake/startup/Makefile.in delete mode 100644 dmake/startup/config.mk.in delete mode 100644 dmake/startup/mac/macros.mk delete mode 100644 dmake/startup/msdos/borland/bcc30/macros.mk delete mode 100644 dmake/startup/msdos/borland/bcc40/macros.mk delete mode 100644 dmake/startup/msdos/borland/bcc45/macros.mk delete mode 100644 dmake/startup/msdos/borland/bcc50.32/macros.mk delete mode 100644 dmake/startup/msdos/borland/bcc50/macros.mk delete mode 100644 dmake/startup/msdos/borland/macros.mk delete mode 100644 dmake/startup/msdos/borland/tcc20/macros.mk delete mode 100644 dmake/startup/msdos/macros.mk delete mode 100644 dmake/startup/msdos/microsft/macros.mk delete mode 100644 dmake/startup/msdos/recipes.mk delete mode 100644 dmake/startup/msdos/zortech/macros.mk delete mode 100644 dmake/startup/os2/ibm/macros.mk delete mode 100644 dmake/startup/os2/macros.mk delete mode 100644 dmake/startup/qssl/macros.mk delete mode 100644 dmake/startup/qssl/qnx/macros.mk delete mode 100644 dmake/startup/qssl/qnx/recipes.mk delete mode 100644 dmake/startup/qssl/recipes.mk delete mode 100644 dmake/startup/startup.mk delete mode 100644 dmake/startup/summary delete mode 100644 dmake/startup/template.mk delete mode 100644 dmake/startup/templates/mac/template.mk delete mode 100644 dmake/startup/templates/msdos/borland/bcc30/template.mk delete mode 100644 dmake/startup/templates/msdos/borland/bcc40/template.mk delete mode 100644 dmake/startup/templates/msdos/borland/bcc45/template.mk delete mode 100644 dmake/startup/templates/msdos/borland/bcc50/template.mk delete mode 100644 dmake/startup/templates/msdos/borland/tcc20/template.mk delete mode 100644 dmake/startup/templates/msdos/microsft/msc51/template.mk delete mode 100644 dmake/startup/templates/msdos/microsft/msc60/template.mk delete mode 100644 dmake/startup/templates/os2/ibm/icc/template.mk delete mode 100644 dmake/startup/templates/qssl/template.mk delete mode 100644 dmake/startup/templates/tos/template.mk delete mode 100644 dmake/startup/templates/unix/386ix/template.mk delete mode 100644 dmake/startup/templates/unix/bsd43/template.mk delete mode 100644 dmake/startup/templates/unix/bsd43/uw/template.mk delete mode 100644 dmake/startup/templates/unix/bsd43/vf/template.mk delete mode 100644 dmake/startup/templates/unix/coherent/ver40/template.mk delete mode 100644 dmake/startup/templates/unix/coherent/ver42/template.mk delete mode 100644 dmake/startup/templates/unix/linux/gnu/template.mk delete mode 100644 dmake/startup/templates/unix/solaris/gnu/template.mk delete mode 100644 dmake/startup/templates/unix/solaris/template.mk delete mode 100644 dmake/startup/templates/unix/sysvr1/template.mk delete mode 100644 dmake/startup/templates/unix/sysvr3/pwd/template.mk delete mode 100644 dmake/startup/templates/unix/sysvr3/template.mk delete mode 100644 dmake/startup/templates/unix/sysvr4/template.mk delete mode 100644 dmake/startup/templates/unix/xenix/pwd/template.mk delete mode 100644 dmake/startup/templates/unix/xenix/template.mk delete mode 100644 dmake/startup/templates/win95/borland/bcc50/template.mk delete mode 100644 dmake/startup/templates/win95/microsft/vpp40/template.mk delete mode 100644 dmake/startup/templates/winnt/borland/bcc50/template.mk delete mode 100644 dmake/startup/templates/winnt/microsft/vpp40/template.mk delete mode 100644 dmake/startup/tos/macros.mk delete mode 100644 dmake/startup/unix/386ix/macros.mk delete mode 100755 dmake/startup/unix/Makefile.am delete mode 100644 dmake/startup/unix/Makefile.in delete mode 100644 dmake/startup/unix/bsd43/macros.mk delete mode 100644 dmake/startup/unix/bsd43/recipes.mk delete mode 100644 dmake/startup/unix/coherent/macros.mk delete mode 100644 dmake/startup/unix/coherent/recipes.mk delete mode 100644 dmake/startup/unix/cygwin/Makefile.am delete mode 100644 dmake/startup/unix/cygwin/Makefile.in delete mode 100644 dmake/startup/unix/cygwin/macros.mk delete mode 100755 dmake/startup/unix/linux/Makefile.am delete mode 100644 dmake/startup/unix/linux/Makefile.in delete mode 100644 dmake/startup/unix/linux/gnu/macros.mk delete mode 100644 dmake/startup/unix/linux/macros.mk delete mode 100755 dmake/startup/unix/macosx/Makefile.am delete mode 100644 dmake/startup/unix/macosx/Makefile.in delete mode 100644 dmake/startup/unix/macosx/gnu/macros.mk delete mode 100644 dmake/startup/unix/macosx/macros.mk delete mode 100644 dmake/startup/unix/macros.mk delete mode 100644 dmake/startup/unix/os2/Makefile.am delete mode 100644 dmake/startup/unix/os2/Makefile.in delete mode 100644 dmake/startup/unix/os2/macros.mk delete mode 100644 dmake/startup/unix/recipes.mk delete mode 100755 dmake/startup/unix/solaris/Makefile.am delete mode 100644 dmake/startup/unix/solaris/Makefile.in delete mode 100644 dmake/startup/unix/solaris/macros.mk delete mode 100644 dmake/startup/unix/sysvr1/macros.mk delete mode 100644 dmake/startup/unix/sysvr3/gnu/macros.mk delete mode 100644 dmake/startup/unix/sysvr3/macros.mk delete mode 100755 dmake/startup/unix/sysvr4/Makefile.am delete mode 100644 dmake/startup/unix/sysvr4/Makefile.in delete mode 100644 dmake/startup/unix/sysvr4/macros.mk delete mode 100644 dmake/startup/unix/xenix/macros.mk delete mode 100644 dmake/startup/win95/borland/macros.mk delete mode 100644 dmake/startup/win95/macros.mk delete mode 100644 dmake/startup/win95/microsft/macros.mk delete mode 100644 dmake/startup/win95/recipes.mk delete mode 100644 dmake/startup/winnt/Makefile.am delete mode 100644 dmake/startup/winnt/Makefile.in delete mode 100644 dmake/startup/winnt/borland/macros.mk delete mode 100644 dmake/startup/winnt/macros.mk delete mode 100644 dmake/startup/winnt/microsft/macros.mk delete mode 100644 dmake/startup/winnt/mingw/Makefile.am delete mode 100644 dmake/startup/winnt/mingw/Makefile.in delete mode 100644 dmake/startup/winnt/mingw/macros.mk delete mode 100644 dmake/startup/winnt/msvc6/Makefile.am delete mode 100644 dmake/startup/winnt/msvc6/Makefile.in delete mode 100644 dmake/startup/winnt/msvc6/macros.mk delete mode 100644 dmake/startup/winnt/recipes.mk delete mode 100644 dmake/stat.c delete mode 100644 dmake/state.c delete mode 100644 dmake/stdmacs.h delete mode 100644 dmake/struct.h delete mode 100644 dmake/sysintf.c delete mode 100644 dmake/tests/Makefile.am delete mode 100644 dmake/tests/Makefile.in delete mode 100644 dmake/tests/README delete mode 100755 dmake/tests/function_macros-1 delete mode 100755 dmake/tests/function_macros-10 delete mode 100755 dmake/tests/function_macros-2 delete mode 100755 dmake/tests/function_macros-3 delete mode 100755 dmake/tests/function_macros-4 delete mode 100755 dmake/tests/function_macros-5 delete mode 100755 dmake/tests/function_macros-6 delete mode 100755 dmake/tests/function_macros-7 delete mode 100755 dmake/tests/function_macros-8 delete mode 100755 dmake/tests/function_macros-9 delete mode 100755 dmake/tests/infra-0 delete mode 100755 dmake/tests/macros-1 delete mode 100755 dmake/tests/macros-10 delete mode 100755 dmake/tests/macros-11 delete mode 100755 dmake/tests/macros-2 delete mode 100755 dmake/tests/macros-3 delete mode 100755 dmake/tests/macros-4 delete mode 100755 dmake/tests/macros-5 delete mode 100755 dmake/tests/macros-6 delete mode 100755 dmake/tests/macros-7 delete mode 100755 dmake/tests/macros-8 delete mode 100755 dmake/tests/macros-9 delete mode 100755 dmake/tests/misc-1 delete mode 100755 dmake/tests/misc-10 delete mode 100755 dmake/tests/misc-11 delete mode 100755 dmake/tests/misc-12 delete mode 100755 dmake/tests/misc-13 delete mode 100755 dmake/tests/misc-14 delete mode 100755 dmake/tests/misc-15 delete mode 100755 dmake/tests/misc-16 delete mode 100755 dmake/tests/misc-17 delete mode 100755 dmake/tests/misc-18 delete mode 100755 dmake/tests/misc-19 delete mode 100755 dmake/tests/misc-2 delete mode 100755 dmake/tests/misc-20 delete mode 100755 dmake/tests/misc-21 delete mode 100755 dmake/tests/misc-3 delete mode 100755 dmake/tests/misc-4 delete mode 100755 dmake/tests/misc-5 delete mode 100755 dmake/tests/misc-6 delete mode 100755 dmake/tests/misc-7 delete mode 100755 dmake/tests/misc-8 delete mode 100755 dmake/tests/misc-9 delete mode 100755 dmake/tests/recipes-1 delete mode 100755 dmake/tests/recipes-2 delete mode 100755 dmake/tests/recipes-3 delete mode 100755 dmake/tests/recipes-4 delete mode 100755 dmake/tests/recipes-5 delete mode 100755 dmake/tests/recipes-6 delete mode 100755 dmake/tests/recipes-7 delete mode 100755 dmake/tests/recipes-8 delete mode 100755 dmake/tests/recipes-9 delete mode 100644 dmake/tests/targets-1 delete mode 100644 dmake/tests/targets-10 delete mode 100644 dmake/tests/targets-11 delete mode 100644 dmake/tests/targets-12 delete mode 100755 dmake/tests/targets-13 delete mode 100755 dmake/tests/targets-14 delete mode 100755 dmake/tests/targets-15 delete mode 100755 dmake/tests/targets-16 delete mode 100755 dmake/tests/targets-17 delete mode 100755 dmake/tests/targets-18 delete mode 100755 dmake/tests/targets-19 delete mode 100644 dmake/tests/targets-2 delete mode 100755 dmake/tests/targets-20 delete mode 100755 dmake/tests/targets-21 delete mode 100755 dmake/tests/targets-22 delete mode 100755 dmake/tests/targets-23 delete mode 100755 dmake/tests/targets-24 delete mode 100755 dmake/tests/targets-25 delete mode 100755 dmake/tests/targets-26 delete mode 100755 dmake/tests/targets-27 delete mode 100755 dmake/tests/targets-28 delete mode 100755 dmake/tests/targets-29 delete mode 100644 dmake/tests/targets-3 delete mode 100755 dmake/tests/targets-30 delete mode 100644 dmake/tests/targets-4 delete mode 100644 dmake/tests/targets-5 delete mode 100644 dmake/tests/targets-6 delete mode 100644 dmake/tests/targets-7 delete mode 100644 dmake/tests/targets-8 delete mode 100644 dmake/tests/targets-9 delete mode 100644 dmake/tos/config.mk delete mode 100644 dmake/tos/make.sh delete mode 100644 dmake/tos/public.h delete mode 100644 dmake/tos/putenv.c delete mode 100644 dmake/tos/ruletab.c delete mode 100644 dmake/tos/startup.h delete mode 100644 dmake/tos/sysintf.h delete mode 100644 dmake/tos/template.mk delete mode 100644 dmake/tos/tempnam.c delete mode 100644 dmake/unix/386ix/ar.h delete mode 100644 dmake/unix/386ix/config.mk delete mode 100644 dmake/unix/386ix/make.sh delete mode 100644 dmake/unix/386ix/public.h delete mode 100644 dmake/unix/386ix/stdlib.h delete mode 100644 dmake/unix/386ix/template.mk delete mode 100644 dmake/unix/386ix/time.h delete mode 100755 dmake/unix/Makefile.am delete mode 100755 dmake/unix/Makefile.in delete mode 100644 dmake/unix/arlib.c delete mode 100644 dmake/unix/bsd43/config.mk delete mode 100644 dmake/unix/bsd43/dirent.h delete mode 100644 dmake/unix/bsd43/limits.h delete mode 100644 dmake/unix/bsd43/make.sh delete mode 100644 dmake/unix/bsd43/public.h delete mode 100644 dmake/unix/bsd43/putenv.c delete mode 100644 dmake/unix/bsd43/setvbuf.c delete mode 100644 dmake/unix/bsd43/stdlib.h delete mode 100644 dmake/unix/bsd43/string.h delete mode 100644 dmake/unix/bsd43/template.mk delete mode 100644 dmake/unix/bsd43/tempnam.c delete mode 100644 dmake/unix/bsd43/utime.c delete mode 100644 dmake/unix/bsd43/uw/config.mk delete mode 100644 dmake/unix/bsd43/uw/make.sh delete mode 100644 dmake/unix/bsd43/uw/public.h delete mode 100644 dmake/unix/bsd43/uw/template.mk delete mode 100644 dmake/unix/bsd43/vf/config.mk delete mode 100644 dmake/unix/bsd43/vf/ctype.h delete mode 100644 dmake/unix/bsd43/vf/make.sh delete mode 100644 dmake/unix/bsd43/vf/memcpy.c delete mode 100644 dmake/unix/bsd43/vf/public.h delete mode 100644 dmake/unix/bsd43/vf/template.mk delete mode 100644 dmake/unix/bsd43/vf/vfprintf.c delete mode 100644 dmake/unix/bsdarm32/config.mk delete mode 100644 dmake/unix/bsdarm32/dirent.h delete mode 100644 dmake/unix/bsdarm32/limits.h delete mode 100644 dmake/unix/bsdarm32/make.sh delete mode 100644 dmake/unix/bsdarm32/public.h delete mode 100644 dmake/unix/bsdarm32/putenv.c delete mode 100644 dmake/unix/bsdarm32/stdlib.h delete mode 100644 dmake/unix/bsdarm32/string.h delete mode 100644 dmake/unix/bsdarm32/template.mk delete mode 100644 dmake/unix/bsdarm32/tempnam.c delete mode 100644 dmake/unix/bsdarm32/utime.c delete mode 100644 dmake/unix/coherent/config.mk delete mode 100644 dmake/unix/coherent/stdlib.h delete mode 100644 dmake/unix/coherent/time.h delete mode 100644 dmake/unix/coherent/ver40/config.mk delete mode 100644 dmake/unix/coherent/ver40/getcwd.c delete mode 100644 dmake/unix/coherent/ver40/make.sh delete mode 100644 dmake/unix/coherent/ver40/public.h delete mode 100644 dmake/unix/coherent/ver40/template.mk delete mode 100644 dmake/unix/coherent/ver40/vfprintf.c delete mode 100644 dmake/unix/coherent/ver42/config.mk delete mode 100644 dmake/unix/coherent/ver42/make.sh delete mode 100644 dmake/unix/coherent/ver42/public.h delete mode 100644 dmake/unix/coherent/ver42/template.mk delete mode 100644 dmake/unix/config.mk delete mode 100644 dmake/unix/cygwin/public.h delete mode 100644 dmake/unix/dcache.c delete mode 100644 dmake/unix/dirbrk.c delete mode 100644 dmake/unix/linux/config.mk delete mode 100644 dmake/unix/linux/gnu/config.mk delete mode 100644 dmake/unix/linux/gnu/make.sh delete mode 100644 dmake/unix/linux/gnu/public.h delete mode 100644 dmake/unix/linux/gnu/template.mk delete mode 100644 dmake/unix/macosx/config.mk delete mode 100644 dmake/unix/macosx/gnu/config.mk delete mode 100644 dmake/unix/macosx/gnu/make.sh delete mode 100644 dmake/unix/macosx/gnu/public.h delete mode 100644 dmake/unix/macosx/gnu/template.mk delete mode 100644 dmake/unix/macosx/tempnam.c delete mode 100644 dmake/unix/os2/public.h delete mode 100644 dmake/unix/rmprq.c delete mode 100644 dmake/unix/ruletab.c delete mode 100644 dmake/unix/runargv.c delete mode 100644 dmake/unix/solaris/config.mk delete mode 100644 dmake/unix/solaris/getcwd.c delete mode 100644 dmake/unix/solaris/gnu/config.mk delete mode 100644 dmake/unix/solaris/gnu/make.sh delete mode 100644 dmake/unix/solaris/gnu/public.h delete mode 100644 dmake/unix/solaris/gnu/template.mk delete mode 100644 dmake/unix/solaris/make.sh delete mode 100644 dmake/unix/solaris/public.h delete mode 100644 dmake/unix/solaris/template.mk delete mode 100644 dmake/unix/solaris/tempnam.c delete mode 100644 dmake/unix/startup.h delete mode 100644 dmake/unix/sysintf.h delete mode 100644 dmake/unix/sysvr1/config.mk delete mode 100644 dmake/unix/sysvr1/make.sh delete mode 100644 dmake/unix/sysvr1/public.h delete mode 100644 dmake/unix/sysvr1/putenv.c delete mode 100644 dmake/unix/sysvr1/stdlib.h delete mode 100644 dmake/unix/sysvr1/template.mk delete mode 100644 dmake/unix/sysvr1/time.h delete mode 100644 dmake/unix/sysvr1/vfprintf.c delete mode 100644 dmake/unix/sysvr3/config.mk delete mode 100644 dmake/unix/sysvr3/gnu/public.h delete mode 100644 dmake/unix/sysvr3/make.sh delete mode 100644 dmake/unix/sysvr3/public.h delete mode 100644 dmake/unix/sysvr3/pwd/config.mk delete mode 100644 dmake/unix/sysvr3/pwd/getcwd.c delete mode 100644 dmake/unix/sysvr3/pwd/make.sh delete mode 100644 dmake/unix/sysvr3/pwd/public.h delete mode 100644 dmake/unix/sysvr3/pwd/template.mk delete mode 100644 dmake/unix/sysvr3/stdlib.h delete mode 100644 dmake/unix/sysvr3/template.mk delete mode 100644 dmake/unix/sysvr3/time.h delete mode 100644 dmake/unix/sysvr4/config.mk delete mode 100644 dmake/unix/sysvr4/make.sh delete mode 100644 dmake/unix/sysvr4/public.h delete mode 100644 dmake/unix/sysvr4/template.mk delete mode 100644 dmake/unix/tempnam.c delete mode 100644 dmake/unix/xenix/config.mk delete mode 100644 dmake/unix/xenix/make.sh delete mode 100644 dmake/unix/xenix/public.h delete mode 100644 dmake/unix/xenix/pwd/config.mk delete mode 100644 dmake/unix/xenix/pwd/getcwd.c delete mode 100644 dmake/unix/xenix/pwd/make.sh delete mode 100644 dmake/unix/xenix/pwd/public.h delete mode 100644 dmake/unix/xenix/pwd/template.mk delete mode 100644 dmake/unix/xenix/stdlib.h delete mode 100644 dmake/unix/xenix/template.mk delete mode 100644 dmake/unix/xenix/time.h delete mode 100644 dmake/vextern.h delete mode 100644 dmake/win95/borland/bcc50/config.h delete mode 100644 dmake/win95/borland/bcc50/config.mk delete mode 100644 dmake/win95/borland/bcc50/lib.rsp delete mode 100755 dmake/win95/borland/bcc50/mk.bat delete mode 100644 dmake/win95/borland/bcc50/obj.rsp delete mode 100644 dmake/win95/borland/bcc50/public.h delete mode 100644 dmake/win95/borland/bcc50/template.mk delete mode 100644 dmake/win95/borland/config.mk delete mode 100644 dmake/win95/borland/ruletab.c delete mode 100644 dmake/win95/borland/sysintf.h delete mode 100644 dmake/win95/borland/tempnam.c delete mode 100644 dmake/win95/config.mk delete mode 100644 dmake/win95/dchdir.c delete mode 100644 dmake/win95/microsft/config.h delete mode 100644 dmake/win95/microsft/config.mk delete mode 100644 dmake/win95/microsft/optoff.h delete mode 100644 dmake/win95/microsft/ruletab.c delete mode 100644 dmake/win95/microsft/sysintf.h delete mode 100644 dmake/win95/microsft/tempnam.c delete mode 100644 dmake/win95/microsft/vpp40/config.mk delete mode 100644 dmake/win95/microsft/vpp40/lib.rsp delete mode 100755 dmake/win95/microsft/vpp40/mk.bat delete mode 100644 dmake/win95/microsft/vpp40/obj.rsp delete mode 100644 dmake/win95/microsft/vpp40/public.h delete mode 100644 dmake/win95/microsft/vpp40/runargv.c delete mode 100644 dmake/win95/microsft/vpp40/template.mk delete mode 100644 dmake/win95/microsft/vpp40/tempnam.c delete mode 100644 dmake/win95/startup.h delete mode 100644 dmake/win95/switchar.c delete mode 100644 dmake/winnt/borland/bcc50/config.h delete mode 100644 dmake/winnt/borland/bcc50/config.mk delete mode 100644 dmake/winnt/borland/bcc50/lib.rsp delete mode 100755 dmake/winnt/borland/bcc50/mk.bat delete mode 100755 dmake/winnt/borland/bcc50/mk.cmd delete mode 100644 dmake/winnt/borland/bcc50/obj.rsp delete mode 100644 dmake/winnt/borland/bcc50/public.h delete mode 100644 dmake/winnt/borland/bcc50/template.mk delete mode 100644 dmake/winnt/borland/config.mk delete mode 100644 dmake/winnt/borland/ruletab.c delete mode 100644 dmake/winnt/borland/sysintf.h delete mode 100644 dmake/winnt/borland/tempnam.c delete mode 100644 dmake/winnt/config.mk delete mode 100644 dmake/winnt/dchdir.c delete mode 100644 dmake/winnt/microsft/config.h delete mode 100644 dmake/winnt/microsft/config.mk delete mode 100644 dmake/winnt/microsft/optoff.h delete mode 100644 dmake/winnt/microsft/ruletab.c delete mode 100644 dmake/winnt/microsft/sysintf.h delete mode 100644 dmake/winnt/microsft/tempnam.c delete mode 100644 dmake/winnt/microsft/vpp40/config.mk delete mode 100644 dmake/winnt/microsft/vpp40/lib.rsp delete mode 100755 dmake/winnt/microsft/vpp40/mk.bat delete mode 100755 dmake/winnt/microsft/vpp40/mk.cmd delete mode 100644 dmake/winnt/microsft/vpp40/obj.rsp delete mode 100644 dmake/winnt/microsft/vpp40/public.h delete mode 100644 dmake/winnt/microsft/vpp40/runargv.c delete mode 100644 dmake/winnt/microsft/vpp40/template.mk delete mode 100644 dmake/winnt/microsft/vpp40/tempnam.c delete mode 100644 dmake/winnt/mingw/public.h delete mode 100644 dmake/winnt/mingw/sysintf.h delete mode 100644 dmake/winnt/msvc6/public.h delete mode 100644 dmake/winnt/msvc6/sysintf.h delete mode 100644 dmake/winnt/startup.h diff --git a/bootstrap.1 b/bootstrap.1 index 156f5625557a..fb065db43bba 100644 --- a/bootstrap.1 +++ b/bootstrap.1 @@ -3,61 +3,12 @@ # Use spawn instead of fork when building dmake on cygwin. if test "$GUI" = "WNT"; then EXEEXT=".exe" - DMAKE_CONF="--enable-spawn" else EXEEXT="" - DMAKE_CONF="" fi export EXEEXT -# ------------------------------------------------------------------------------ -# Build dmake - -if test "$BUILD_DMAKE" != "NO"; then - - if test ! -x "$SOLARENV/$OUTPATH/bin/dmake$EXEEXT"; then - - cd "$SRC_ROOT/dmake" || exit - - # Special case! The w32/tcsh build needs CC pointing to the MSVC++ compiler - # but we need a cygwin/gcc build dmake to understand the posix paths - if test "$GUI" = "WNT"; then - CC="" - CXX="" - export CC - export CXX - fi - - # For normal unixy systems - if test -f "Makefile" ; then - $GNUMAKE distclean || exit - fi - - ./configure $DMAKE_CONF || exit - - ## invoke the gnu make command set by configure. - $GNUMAKE || exit - - echo "" - echo "dmake has been successfully built" - - cd .. - - else - - echo "" - echo "dmake present in $SOLARENV/$OUTPATH/bin/dmake$EXEEXT" - - fi - -fi - mkdir -p "$SOLARENV/$OUTPATH/bin" -if test "$BUILD_DMAKE" != "NO"; then - cp -f "$SRC_ROOT/dmake/dmake$EXEEXT" "$SOLARENV/$OUTPATH/bin" || exit - echo "" - echo "dmake copied to $SOLARENV/$OUTPATH/bin/dmake$EXEEXT" -fi if test "$GUI" = "WNT" -a ! -x "$SOLARENV/$OUTPATH/bin/guw$EXEEXT"; then echo "" @@ -66,7 +17,7 @@ if test "$GUI" = "WNT" -a ! -x "$SOLARENV/$OUTPATH/bin/guw$EXEEXT"; then $GNUMAKE || exit echo "" echo "guw has been successfully made" - cp -f "$SRC_ROOT/guw/guw$EXEEXT" "$SOLARENV/$OUTPATH/bin" || exit + cp -f "$SRC_ROOT/guw/guw$EXEEXT" "$SOLARENV/$OUTPATH/bin/guw$EXEEXT" || exit echo "" echo "guw copied to $SOLARENV/$OUTPATH/bin/guw$EXEEXT" fi @@ -82,3 +33,94 @@ chmod +x "$SRC_ROOT/solenv/bin/gccinstlib.pl" if [ "$DO_FETCH_TARBALLS" = "yes" ]; then $SRC_ROOT/fetch_tarballs.sh $SRC_ROOT/ooo.lst fi + +# ------------------------------------------------------------------------------ +# Build dmake + +if test -n "$DMAKE_URL" -a ! -x "$SOLARENV/$OUTPATH/bin/dmake$EXEEXT"; then + + # Assume that the dmake archive has been downloaded by fetch_tarballs.sh + # Determine the name of the downloaded file. + dmake_package_name=`echo $DMAKE_URL | sed "s/^\(.*\/\)//"` + + tmp_build_dir="$SOLARENV/$OUTPATH/misc/build/" + echo "making and entering $tmp_build_dir" + # Clean up any residues from a previous and unsuccessful build. + rm -rf "$tmp_build_dir" + mkdir -p "$tmp_build_dir" + cd "$tmp_build_dir" || exit + + dmake_full_package_name="$TARFILE_LOCATION/$dmake_package_name" + if test "$GUI" = "WNT"; then + dmake_full_package_name=`cygpath -u "$dmake_full_package_name"` + fi + echo "unpacking $dmake_full_package_name" + + # Unpack it. + case $dmake_package_name in + *.tar.gz) + tar -xzf "$dmake_full_package_name" + dmake_directory_name=`echo $dmake_package_name | sed "s/\(\.tar.gz\)//"` + ;; + *.tgz) + tar -xzf "$dmake_full_package_name" + dmake_directory_name=`echo $dmake_package_name | sed "s/\(\.tgz\)//"` + ;; + *.tar.bz2) + tar -xjf "$dmake_full_package_name" + dmake_directory_name=`echo $dmake_package_name | sed "s/\(\.tar.bz2\)//"` + ;; + *.zip) + unzip "$dmake_full_package_name" + dmake_directory_name=`echo $dmake_package_name | sed "s/\(\.zip\)//"` + ;; + *) + echo "can not unpack the dmake source" + dmake_directory_name= + exit 1 + ;; + esac + + echo "entering $dmake_directory_name" + cd "$dmake_directory_name" || exit + + # Special case! The w32/tcsh build needs CC pointing to the MSVC++ compiler + # but we need a cygwin/gcc build dmake to understand the posix paths + if test "$GUI" = "WNT"; then + CC="" + CXX="" + export CC + export CXX + DMAKE_CONF="--enable-spawn" + else + DMAKE_CONF="" + fi + + # For unixy systems + if test -f "Makefile" ; then + $GNUMAKE distclean || exit + fi + + ./configure $DMAKE_CONF || exit + + ## invoke the gnu make command set by configure. + $GNUMAKE || exit + + + # Deploy the dmake executable to solenv + cp -f "$tmp_build_dir/$dmake_directory_name/dmake$EXEEXT" "$SOLARENV/$OUTPATH/bin/dmake$EXEEXT" || exit + echo "" + echo "dmake successfully built and copied to $SOLARENV/$OUTPATH/bin/dmake$EXEEXT" + echo "" + + # Clean up. Note that this is skipped when one of the exits is executed above. + rm -rf "$tmp_build_dir" + +else + + if test -x "$SOLARENV/$OUTPATH/bin/dmake$EXEEXT"; then + echo "" + echo "dmake present in $SOLARENV/$OUTPATH/bin/dmake$EXEEXT" + fi + +fi diff --git a/configure.in b/configure.in index 3655b2fe40b6..27316332569a 100644 --- a/configure.in +++ b/configure.in @@ -16,6 +16,16 @@ AC_REVISION( $Revision: 1.290 $ ) AC_PREREQ(2.50) AC_INIT() echo "$@" >config.parms +AC_ARG_WITH(dmake-path, +[ --with-dmake-path= Specify the location of dmake ], +[ DMAKE_PATH="$withval" +]) +AC_ARG_WITH(dmake-url, +[ --with-dmake-url= Specify the location of downloadable dmake source code. For example: + http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 + Note that dmake is under GPL license.], +[ DMAKE_URL="$withval" +]) AC_ARG_WITH(gnu-patch, [ --with-gnu-patch Specify location of GNU patch on Solaris or FreeBSD ],,) @@ -1617,6 +1627,73 @@ else fi AC_SUBST(GNUMAKE) +dnl =================================================================== +dnl Search for a pre-installed dmake +dnl =================================================================== +AC_MSG_CHECKING([for dmake]) +AC_PATH_PROG(DMAKE, dmake, no) +if test "$DMAKE" != "no"; then + AC_MSG_RESULT([using system dmake]) +else + # Did not find pre-installed dmake. + # Is it at a nonstandard location provided by --with-dmake-path ? + if test -n "$with_dmake_path" ; then + AC_PATH_PROG(DMAKE, dmake, no, "$with_dmake_path") + if test "$DMAKE" != "no"; then + AC_MSG_RESULT([using user provided dmake]) + fi + fi +fi + +DMAKE_URL= +if test "$DMAKE" = "no"; then + AC_MSG_NOTICE([no system or user-provided dmake found]) + # Check if a URL was supplied from which we can download the source and compile it. + if test -n "$with_dmake_url" ; then + # At this moment we can not verify the URL or the content that we want to download. + # Neither can we apply the test below for ruling out that it is the SunStudio dmake. + DMAKE_URL=$with_dmake_url + AC_MSG_RESULT([dmake will be downloaded and compiled in bootstrap]) + DMAKE= + else + AC_MSG_WARN([no URL for dmake source code specified, either.]) + BUILD_DMAKE=YES + AC_MSG_WARN([dmake will be built from internal sources but these will be removed in the future"]) + fi +else + AC_MSG_CHECKING([whether the found dmake is the right dmake]) + # we need to find out whether that dmake we found is "our" dmake + # or the dmake from Sun's SunStudio Compiler which is something + # different + # This test _should_ work because the one accepts -V (ours) and one + # (the other) not... + $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null + if test $? -eq 0; then + BUILD_DMAKE=NO + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([the dmake version]) + DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` + if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then + AC_MSG_RESULT([OK, >= 4.11]) + elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ + test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then + AC_MSG_RESULT([OK, >= 4.11]) + else + AC_MSG_ERROR([too old. >= 4.11 is needed]) + DMAKE=no + fi + else + AC_MSG_WARN([no]) + DMAKE=no + fi +fi +if test "$DMAKE" = "no"; then + AC_MSG_ERROR([please use --with-dmake-path or --with-dmake-url to specify dmake executable or source]) +fi +AC_SUBST(DMAKE_URL) +AC_SUBST(DMAKE) + + dnl =================================================================== dnl Search all the common names for GNU or BSD tar dnl =================================================================== @@ -3224,44 +3301,6 @@ dnl =================================================================== dnl Checks for programs. dnl =================================================================== -dnl =================================================================== -dnl Check whether we already have dmake -dnl =================================================================== -AC_PATH_PROG(DMAKE, dmake, no) -if test "$DMAKE" = "no"; then - BUILD_DMAKE=YES - echo "dmake will be built on ./bootstrap" -else - AC_MSG_CHECKING([whether the found dmake is the right dmake]) - # we need to find out whether that dmake we found is "our" dmake - # or the dmake from Sun's SunStudio Compiler which is something - # different - # This test _should_ work because the one accepts -V (ours) and one - # (the other) not... - $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null - if test $? -eq 0; then - BUILD_DMAKE=NO - AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([the dmake version]) - DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` - if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then - AC_MSG_RESULT([OK, >= 4.11]) - elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ - test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then - AC_MSG_RESULT([OK, >= 4.11]) - else - AC_MSG_RESULT([too old. >= 4.11 is needed]) - echo "A newer dmake will be built on ./bootstrap" - BUILD_DMAKE=YES - fi - else - AC_MSG_RESULT([no]) - echo "dmake will be built on ./bootstrap" - BUILD_DMAKE=YES - fi -fi -AC_SUBST(BUILD_DMAKE) - AC_MSG_CHECKING([whether to enable EPM for packing]) if test "$enable_epm" = "yes"; then AC_MSG_RESULT([yes]) diff --git a/dmake/COPYING b/dmake/COPYING deleted file mode 100755 index e5b17204a708..000000000000 --- a/dmake/COPYING +++ /dev/null @@ -1,37 +0,0 @@ --- --- SYNOPSIS --- --- --- DESCRIPTION --- --- --- AUTHOR --- Dennis Vadura, dvadura@wticorp.com --- Web Tools International, Long Beach, CA, USA --- http://dmake.wticorp.com/ --- --- WWW --- Public: http://dmake.wticorp.com/ --- Private: http://software.wticorp.com/dmake/ --- --- COPYRIGHT --- Copyright (c) 1992,1994 by Dennis Vadura. All rights reserved. --- Copyright (c) 1996 by WTI Corp. All rights reserved. --- --- This program is free software; you can redistribute it and/or --- modify it under the terms of the GNU General Public License --- (version 1), as published by the Free Software Foundation, and --- found in the file 'license.txt' included with this distribution. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warrant of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program in readme/license.txt; if not, write to --- the Free Software Foundation, Inc., 59 Temple Place - Suite 330, --- Boston, MA 02111-1307, USA. --- --- LOG --- Use cvs log to obtain detailed change logs. diff --git a/dmake/ChangeLog b/dmake/ChangeLog deleted file mode 100755 index f5a680eedacf..000000000000 --- a/dmake/ChangeLog +++ /dev/null @@ -1,4259 +0,0 @@ -2008-02-26 18:37 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.tf, - win95/microsft/config.h, winnt/microsft/config.h, man/dmake.nc: - - #i83497# Release dmake 4.12. - -2008-02-07 14:50 vq - - * function.c, sysintf.c, man/dmake.nc, man/dmake.tf: - - #i83940# Make the result of $(mktmp ..) aware of the .WINPATH setting. - -2008-02-07 10:42 vq - - * dmake.c: - - #i85136# The content of INCFILENAME needs no further expansion. - -2008-02-07 10:28 vq - - * dmake.c: - - #i85136# Prevent filenames from being expanded if they already are. - -2008-02-06 17:22 vq - - * dmake.c: - - #i85136# Do not expand ABSMAKECMD and MAKECMD macros. - -2008-02-05 17:02 vq - - * tests/: Makefile.am, Makefile.in, targets-30: - - #i84800# Add testcase. - -2008-02-04 16:05 vq - - * make.c: - - #i85381# Fix possible heap corruption for the cygwin dmake version. - -2008-01-22 00:34 vq - - * unix/runargv.c: - - #i83540# Separate error handling from pid. - -2008-01-07 20:36 vq - - * unix/runargv.c: - - #i83540# Add diagnostics for WaitForMultipleObjects() calls. - -2008-01-07 19:31 vq - - * quit.c: - - #i83540# Prevent possible invinite loop when aborting. - -2008-01-07 01:07 vq - - * path.c: - - #i84800# Do not collaps the foo/.. entries if foo is '.' or '..'. - -2008-01-06 16:21 vq - - * make.c, unix/runargv.c: - - #i85014# Let master targets for targets with multiple (::) rules inherit - the newest time stamp of their "sub"-rules. - Make runargv() indicate that it finished the command when it had to wait - for its completion. - -2007-11-28 15:18 vq - - * win95/microsft/config.mk: - - #i83540# Fix dmake's own makefile to build itself. - -2007-11-27 23:08 vq - - * Makefile.am, Makefile.in, msdos/rmprq.c, - win95/microsft/vpp40/mk.bat: - - #i83540# A parallel runargv needs a corresponding rmprq. - -2007-11-26 09:23 vq - - * unix/runargv.c: - - #i83540# Return the pid that was waited for. - -2007-11-25 22:37 vq - - * unix/runargv.c: - - #i83540# Fix handle inheritance for native W32 process spawning. - -2007-11-25 12:53 vq - - * NEWS: - - #i83540# Add NEWS entry about parallel builds with native W32 dmake. - -2007-11-22 10:27 vq - - * unix/runargv.c: - - #i83540# Avoid conflict on solaris, rename NOPID to DMNOPID. - -2007-11-11 19:12 vq - - * dag.c, extern.h, imacs.c, sysintf.c, unix/runargv.c, - win95/microsft/config.mk, win95/microsft/ruletab.c, - win95/microsft/vpp40/mk.bat: - - #i83540# Make dmake buildable with .NET 2003 again. - -2007-11-11 18:05 vq - - * Makefile.am, Makefile.in, dag.c, dmake.c, extern.h, imacs.c, - sysintf.c, msdos/runargv.c, unix/runargv.c, - win95/microsft/ruletab.c: - - #i83540# Enable parallel builds with native W32 dmake. (First MinGW only.) - -2007-11-10 19:19 vq - - * sysintf.c: - - #i83523# Post-rename clean up. - -2007-11-10 19:03 vq - - * extern.h, function.c, msdos/borland/bcc30/config.h, - msdos/borland/bcc40/config.h, msdos/borland/bcc45/config.h, - msdos/borland/bcc50/config.h, msdos/borland/tcc20/config.h, - msdos/microsft/config.h, msdos/zortech/config.h, - os2/ibm/config.h, win95/borland/bcc50/config.h, - win95/microsft/config.h, winnt/borland/bcc50/config.h, - winnt/microsft/config.h: - - #i83523# Rename macro PVOID to DMPVOID to avoid problems when including - windows.h. - -2007-11-09 20:54 vq - - * unix/runargv.c: - - #i10000# Small clean up. - -2007-11-09 10:50 vq - - * NEWS, configure, configure.in, man/dmake.nc, man/dmake.tf, - readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i83497# Bump version to 4.12-cvs. - -2007-10-13 19:43 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, win95/microsft/config.h, winnt/microsft/config.h: - - #i79271# Release dmake 4.11. - -2007-10-13 18:27 vq - - * tests/misc-20: - - #i10000# Fix typo. - -2007-10-13 18:21 vq - - * tests/: Makefile.am, Makefile.in, misc-21: - - #i81252# Add testcase. - -2007-10-11 16:57 vq - - * tests/: function_macros-9, misc-9, targets-21, targets-26, - targets-27: - - #i50092# Work around Solaris and nfs timing issues. - Patch from hjs@openoffice.org. - -2007-10-11 16:36 vq - - * make.cmd: - - #i81855# Add a comment about building dmake on OS/2. - -2007-10-06 10:33 vq - - * msdos/runargv.c, tests/recipes-9, unix/runargv.c: - - #i80598# Always issue a warning if the actual execution of a recipe line - (this does not include sucessfully executed, but failing programs) fails. - -2007-09-24 17:45 vq - - * tests/: Makefile.am, Makefile.in, targets-29: - - #i80012# Add testcase. - -2007-09-24 13:51 vq - - * unix/runargv.c: - - #i80012# Fix crash when deleting intermediate targets. - -2007-09-23 18:12 vq - - * Makefile.in, configure: - - #i81855# Regenerate configure and friends. - -2007-09-23 18:05 vq - - * configure.in, dmake.c, expand.c, extern.h, make.cmd, path.c, - sysintf.c, startup/unix/os2/Makefile.am, - startup/unix/os2/Makefile.in, startup/unix/os2/macros.mk, - unix/os2/public.h: - - #i81855# More changes for the OS/2 port. - Patch provided by Yuri Dario. - -2007-09-22 19:11 vq - - * configure: - - #i81855# Regenerate configure and friends. - -2007-09-22 19:05 vq - - * NEWS, imacs.c, os2/sysintf.h, unix/dcache.c, unix/dirbrk.c, - unix/sysintf.h: - - #i81855# Clean-up merge from CWS os2port01. - -2007-09-22 18:27 vq - - * make.cmd: - - #i81855# Revert change to make.cmd as it refers to a non-existing script - in dmake\os2\gcc\emx\mk.cmd. - -2007-09-22 18:08 vq - - * unix/runargv.c: - - RESYNC: (1.11-1.12); FILE MERGED - -2007-09-22 18:08 vq - - * os2/ruletab.c: - - RESYNC: (1.2-1.3); FILE MERGED - -2007-09-22 18:08 vq - - * expand.c: - - RESYNC: (1.6-1.7); FILE MERGED - -2007-09-22 18:08 vq - - * dmake.c, sysintf.c: - - RESYNC: (1.10-1.11); FILE MERGED - -2007-09-22 18:08 vq - - * configure.in: - - RESYNC: (1.29-1.30); FILE MERGED - -2007-09-21 20:46 vq - - * NEWS: - - #i79271# Update NEWS file. - -2007-09-21 19:14 vq - - * dmake.c: - - #i81296# Change comment. - -2007-09-19 21:50 vq - - * man/: dmake.nc, dmake.tf: - - #i81252# Restore alphabetical order. - -2007-09-18 21:03 vq - - * man/: dmake.nc, dmake.tf: - - #i81252# Add documentation for the SHELLCMDQUOTE macro. - -2007-09-18 20:34 vq - - * getinp.c, imacs.c, make.c, sysintf.c, vextern.h, mac/public.h, - msdos/runargv.c, msdos/spawn.c, msdos/borland/bcc30/public.h, - msdos/borland/bcc40/public.h, msdos/borland/bcc45/public.h, - msdos/borland/bcc50/public.h, msdos/borland/tcc20/public.h, - msdos/microsft/msc51/public.h, msdos/microsft/msc60/public.h, - msdos/zortech/public.h, os2/ibm/icc/public.h, - os2/ibm/icc3/public.h, qssl/public.h, qssl/runargv.c, - startup/win95/macros.mk, startup/winnt/macros.mk, tos/public.h, - unix/runargv.c, unix/386ix/public.h, unix/bsd43/public.h, - unix/bsd43/uw/public.h, unix/bsd43/vf/public.h, - unix/bsdarm32/public.h, unix/coherent/ver40/public.h, - unix/coherent/ver42/public.h, unix/cygwin/public.h, - unix/linux/gnu/public.h, unix/macosx/gnu/public.h, - unix/solaris/public.h, unix/solaris/gnu/public.h, - unix/sysvr1/public.h, unix/sysvr3/public.h, - unix/sysvr3/gnu/public.h, unix/sysvr3/pwd/public.h, - unix/sysvr4/public.h, unix/xenix/public.h, - unix/xenix/pwd/public.h, win95/borland/bcc50/public.h, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h, winnt/mingw/public.h, - winnt/msvc6/public.h: - - #i81252# Add a new SHELLCMDQUOTE control macro. - -2007-09-17 18:24 vq - - * tests/: function_macros-8, macros-7: - - #i78776# Fix testcases for non-cygwin OS. - -2007-09-16 12:35 vq - - * tests/: Makefile.am, Makefile.in, misc-20: - - #i81296# Add testcases. - -2007-09-16 00:10 vq - - * tests/macros-11: - - #i74007# Change testcase. - -2007-09-15 23:57 vq - - * dmake.c, mac/ruletab.c, man/dmake.nc, man/dmake.tf, - msdos/ruletab.c, os2/ruletab.c, unix/ruletab.c, - win95/borland/ruletab.c, win95/microsft/ruletab.c, - winnt/borland/ruletab.c, winnt/microsft/ruletab.c: - - #i74007# Revert the part of the previous patch that lets OOODMAKEMODE - always be imported from the environment. Instead move the definition - of targets from the command line after the evaluation of the startup - makefile. - -2007-09-15 23:16 vq - - * tests/macros-11: - - #i74007# Add testcase. - -2007-09-15 23:06 vq - - * man/dmake.nc: - - #i74007# Update text version of the man page. - -2007-09-15 23:03 vq - - * dmake.c, mac/ruletab.c, man/dmake.tf, msdos/ruletab.c, - os2/ruletab.c, unix/ruletab.c, win95/borland/ruletab.c, - win95/microsft/ruletab.c, winnt/borland/ruletab.c, - winnt/microsft/ruletab.c: - - #i74007# Always import OOODMAKEMODE from the environment. Define targets from - the command line after the macros from the command line and OOODMAKEMODE - from the environment are set. - -2007-09-13 23:40 vq - - * dmake.c, extern.h, make.c, rulparse.c: - - #i81296# Clear flags indicating that targets that infered makefiles (and - their prerequisites) were previously build. - -2007-09-13 20:08 vq - - * dmake.h, rulparse.c: - - #i81296# Remove bit recycling for F_VISITED/F_USED. Use only F_VISITED. - -2007-09-09 15:11 vq - - * quit.c: - - #i81273# Fixed another MinGW build problem. - -2007-09-08 14:20 vq - - * make.c, rulparse.c: - - #i10000# Add some output for .INCLUDE operations when the -vf verbose - flag is given. - -2007-09-06 10:53 vq - - * quit.c: - - #i81273# Fix MinGW build problem. - -2007-09-02 06:57 vq - - * tests/: Makefile.am, Makefile.in, misc-19: - - #i67911# Add testcase. - -2007-09-02 06:44 vq - - * make.c, sysintf.c, msdos/runargv.c, qssl/runargv.c, - unix/runargv.c, win95/microsft/vpp40/runargv.c, - winnt/microsft/vpp40/runargv.c: - - #i67911# Wait with the deletion of temporary files until the target is - completely made. - -2007-08-31 01:24 vq - - * sysintf.c, man/dmake.nc, man/dmake.tf, tests/targets-21, - tests/targets-28: - - #i64572# Issue a warning for virtual targets with corresponding files. - Update testcases. - -2007-08-30 05:13 vq - - * man/: dmake.nc, dmake.tf: - - #i64572# Add documentation. - -2007-08-28 22:27 vq - - * tests/Makefile.am: - - #i64234# Also change Makefile.am. - -2007-08-28 22:25 vq - - * tests/: Makefile.in, function_macros-10: - - #i64234# Add testcase. - -2007-08-28 14:28 vq - - * function.c, man/dmake.nc, man/dmake.tf: - - #i64234# Fix $(mktmp ..) handling of leading spaces. - -2007-08-26 18:22 vq - - * tests/: Makefile.am, Makefile.in, macros-11: - - #i74007# Add testcase. - -2007-08-25 16:50 vq - - * tests/: Makefile.am, Makefile.in, targets-28: - - #i64572# Add testcases. - -2007-08-25 15:34 vq - - * make.c, sysintf.c: - - #i64572# If a target without recipes has an existing file use its time - stamp only if the time is newer than the one of the its newest prerequisite. - -2007-08-22 10:02 vq - - * sysintf.c: - - #i64572# Fix the F_RULES problem mentioned before. - -2007-08-21 11:09 vq - - * make.c, sysintf.c: - - #i64572# To keep the dependency chains intact targets without recipes inherit - the time of their newest prerequisite. (Additional patches are needed as - currently the F_RULES flag is not always set correctly.) - -2007-08-19 20:05 vq - - * sysintf.c: - - #i64572# Assumes that targets without recipe lines have a current time - stamp after they were made (independent of the actual time stamp of the - file. - -2007-08-18 18:23 vq - - * make.c, sysintf.c: - - #i64572# Make dmake warn if the time stamp of a target is not updated - after making the target. This warning can be silenced using the - .SILENT attribute. - -2007-08-17 23:21 vq - - * make.c: - - #i10000# Remove unused variable. - -2007-08-17 23:16 vq - - * dmake.h, make.c, sysintf.c: - - #i10000# Add some comments. - -2007-08-15 17:46 vq - - * tests/: Makefile.am, Makefile.in, targets-27: - - #i80687# Add testcase. - -2007-08-15 17:25 vq - - * make.c: - - #i80687# Fix building of inferred phony prerequisites. - -2007-08-14 13:55 vq - - * make.c: - - #i64572# Revert previous patch. - -2007-08-13 11:33 vq - - * make.c: - - #i64572# Make dmake warn if the time stamp of a target is not updated - after making the target. - -2007-08-11 17:23 vq - - * tests/: Makefile.am, Makefile.in, recipes-9: - - #i80598# Add testcase. - -2007-08-11 16:52 vq - - * unix/runargv.c: - - #i80598# Fix handling of ignored errors in the spawn enabled version - of dmake. - -2007-08-10 13:59 vq - - * tests/: Makefile.am, Makefile.in, targets-26: - - #i66751# Add testcase. - -2007-08-10 13:39 vq - - * infer.c: - - #i66751# Make sure that infered phony %-targets do not have a time stamp. - -2007-08-10 11:42 vq - - * infer.c, man/dmake.nc, man/dmake.tf: - - #i66751# Accept .PHONY attribute in %-targets. - -2007-08-09 15:46 vq - - * macparse.c: - - - #i69510# Change error on assignment to an empty macro name to a warning. - -2007-08-08 22:00 vq - - * tests/: Makefile.am, Makefile.in, recipes-8: - - #i67709# Add testcase. - -2007-08-08 21:43 vq - - * parse.c, rulparse.c: - - #i67709# Improve parsing of group recipes. - -2007-08-08 13:49 vq - - * tests/: Makefile.am, Makefile.in, macros-10: - - #i69510# Add testcase. - -2007-08-08 12:54 vq - - * macparse.c: - - #i69510# Improve error message. - -2007-08-08 12:52 vq - - * macparse.c: - - #i69510# Improve macro name syntax check during assignment. - -2007-08-06 21:54 vq - - * rulparse.c, man/dmake.nc, man/dmake.tf: - - #i66448# Clarify prerequisites for %-targets. - -2007-08-05 17:10 vq - - * function.c, tests/Makefile.am, tests/Makefile.in, - tests/function_macros-9: - - #i50092# Enhance $(shell,expand .. ) parsing. Add testcase. - -2007-08-05 14:55 vq - - * make.c: - - #i70168# Clear F_MARK flag after dynamic prerequisite expansion is done. - -2007-08-05 13:51 vq - - * infer.c: - - #i80144# Clean-up. - -2007-08-05 13:03 vq - - * infer.c, tests/targets-24: - - #i80144# Change error about ambigous inference targets to warning. - -2007-08-04 14:56 vq - - * tests/: Makefile.am, Makefile.in, targets-25: - - #i80352# Add testcase. - -2007-08-04 14:42 vq - - * make.c: - - #i80352# Fix .PRECIOUS attribute. - -2007-08-04 00:15 vq - - * tests/: Makefile.am, Makefile.in, targets-23, targets-24: - - #i80144# Add testcases. - -2007-07-31 20:45 vq - - * tests/: Makefile.am, Makefile.in, targets-22: - - #i80143# Add testcase. - -2007-07-31 20:29 vq - - * infer.c: - - #i80143# Fix problem marking some intermediate targets removable. - -2007-07-30 22:23 vq - - * expand.c: - - #i80009# Add missing string initialization. - -2007-07-29 22:28 vq - - * infer.c: - - #i80144# Improve check for ambiguous inference chains. - -2007-07-29 12:10 vq - - * infer.c, stat.c: - - #i10000# Add comments to documents aspects of the inference mechanism. - -2007-07-28 13:12 vq - - * configure, configure.in: - - #i79815# Fix default DMAKEROOT macro value. - -2007-07-27 22:03 vq - - * tests/: Makefile.am, Makefile.in, targets-21: - - #i78837# Add testcase. - -2007-07-27 21:37 vq - - * tests/: Makefile.am, Makefile.in, macros-9: - - #i80010# Add testcase. - -2007-07-27 15:47 vq - - * expand.c: - - #i80010# Keep quotes for :1 and :i macro extensions. - -2007-07-27 15:16 vq - - * tests/: Makefile.am, Makefile.in, macros-8: - - #i80009# Add testcase. - -2007-07-27 13:06 vq - - * NEWS, man/dmake.nc, man/dmake.tf: - - #i78776# Document new normalizing function macro and macro extension. - -2007-07-26 18:27 vq - - * expand.c: - - #i80009# Fix handling of quoted filenames for :b :d :e :f macro expansions. - -2007-07-24 20:31 vq - - * tests/: Makefile.am, Makefile.in, function_macros-8, macros-7: - - #i78776# Add testcases. - -2007-07-24 19:00 vq - - * dag.c, dmake.h, expand.c, extern.h, function.c, path.c: - - #i78776# New function macro $(normpath[,para] list) to normalise the - elements of list and a macro extension $(macro_name:n) to normalise - the content of macro_name. The normalization is done token-wise and - quotes are preserved. - On cygwin the result honors the setting of .WINPATH to determine the - output format. If the optional parameter para is given in the - $(normpath ...) case its expanded value is used to override the - .WINPATH setting for the output of the function macro. - -2007-07-12 18:59 vq - - * make.c, tests/Makefile.am, tests/Makefile.in, tests/targets-20: - - #i69462# Do not assume that non-existing prerequisites for %-targets have - the same time stamp as the parent target. Testcase added. - -2007-07-05 17:17 vq - - * getinp.c: - - #i79200# Remove unneeded error on defined or DEFINED after .IF expression. - -2007-07-05 11:58 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i79271# Bump version to 4.11-cvs. - -2007-06-25 18:11 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i78508# Release dmake 4.9. - -2007-06-22 16:47 vq - - * man/dmake.nc, man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/targets-19: - - #i78061# Add testcase and documentation. - -2007-06-22 13:36 vq - - * man/: dmake.nc, dmake.tf: - - #i74007# Add documentation to manpage. - -2007-06-21 16:28 vq - - * tests/: Makefile.am, Makefile.in, targets-18: - - #i74007# Add testcase. - -2007-06-20 18:26 vq - - * dag.c, imacs.c, path.c, vextern.h: - - #i74700# Add a new special macro OOODMAKEMODE that is used to toggle - OOo build specific behavior. If OOODMAKEMODE is set (i.e. it begins with y) - the leading ./ of a path will no longer be removed. - This patch also fixes iz78061. - -2007-06-20 18:07 vq - - * configure.in: - - #i78152# Make dmake buildable on GNU/kFreeBSD. - -2007-06-17 23:56 vq - - * man/: dmake.nc, dmake.tf: - - #i78033# Document :i macro expansion. - -2007-04-24 13:42 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, win95/microsft/config.h, winnt/microsft/config.h: - - #i73700# Release dmake 4.8. - -2007-04-09 09:22 vq - - * tests/misc-18: - - #i73499# Fix bash syntax typo. - -2007-04-08 23:27 vq - - * tests/misc-18: - - #i73499# Make test work on Solaris. - -2007-04-08 23:06 vq - - * make.c: - - #i73499# Fix potential problem with m_at getting freed without being - initalized first. - -2007-03-27 13:21 vq - - * man/: dmake.nc, dmake.tf: - - #i10000# Fix typos in manual. - This patch was provided by shay@openoffice.org. - -2007-03-24 00:29 vq - - * make.c, man/dmake.nc, man/dmake.tf: - - #i75697# Document the special treatment of $? for the :! ruleop. - -2007-03-23 16:40 vq - - * NEWS, man/dmake.nc, man/dmake.tf, tests/Makefile.am, - tests/Makefile.in, tests/misc-18: - - #i73499# Add documentation and testcase. - -2007-03-19 00:58 vq - - * sysintf.c: - - #i73499# Restrict function to cygwin only use. - -2007-03-18 11:02 vq - - * sysintf.c: - - #i73499# Add missing include statement. - -2007-03-17 15:00 vq - - * dag.c, dmake.c, dmake.h, dmdump.c, extern.h, getinp.c, imacs.c, - infer.c, make.c, rulparse.c, sysintf.c, vextern.h: - - #i73499# Add new .WINPATH attribute to generate Windows style paths - (with regular slashes) instead of the default cygwin style (POSIX) - paths for dmake's dynamic macros. - - This attribute is specific for cygwin dmake executables and non-cygwin - environments ignore this attribute. - - The windows style paths use regular slashes ('/') instead of the - usual windows backslash ('\') as directory separator to avoid quoting - problems (It still is a cygwin dmake!) and cygwin as well as native - windows programs should have no problems using this (c:/foo/bar) path - representation. - - The affected macros are $@, $*, $>, $?, $<, $&, $^ and $(PWD), - $(MAKEDIR) and $(TMD). - - Examples: - - Content of $(PWD) without .WINPATH (default): /cygdrive/c/temp - - Content of $(PWD) with .WINPATH set: c:/temp - -2007-03-16 22:36 vq - - * sysintf.c: - - #i10000# Trivial fix. - -2007-03-13 20:51 vq - - * sysintf.c, unix/rmprq.c: - - #i10000# No real change, only comments were added or modified. - -2007-01-29 23:24 vq - - * man/: dmake.nc, dmake.tf: - - #i73996# Update man page. - -2007-01-29 21:39 vq - - * make.c, path.c, sysintf.c, vextern.h: - - #i73996# Avoid relative paths going up to the root directory. - -2007-01-26 19:51 vq - - * dag.c, imacs.c, make.c: - - #i739183 Mark the internal macros PWD, MAKEDIR and TMD as precious. - Also commit some small macro relates clean ups and comment changes. - -2007-01-22 21:49 vq - - * dag.c: - - #i10000# Remove warning and add error handling. - -2007-01-22 21:25 vq - - * getinp.c, make.c: - - #i10000# Small cosmetic changes. - -2007-01-21 18:21 vq - - * configure, configure.in, path.c, man/dmake.nc, man/dmake.tf, - unix/dcache.c: - - #i73661# Improve case insensitive directory caching on case sensitive - file systems but it is *not* recommended to to so. A comment was added - to the man page emphasizing this. - -2007-01-20 22:00 vq - - * Makefile.in, configure, configure.in, man/dmake.nc, man/dmake.tf, - readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i73700# Bump version to 4.8-cvs. - -2007-01-27 20:53 vq - - * configure, configure.in: - - Masterfix from SRC680_m200. This patch fixes a MacOSX problem - encountered after integration into the OOo SRC680 master. - -2007-01-15 21:36 vq - - * msdos/runargv.c: - - #i61856# There is currently no parallel processing for the native W32 dmake. - Let Wait_for_child() always return -1 indicating that there is nothing to - wait for on this OS. - -2006-12-21 23:45 vq - - * NEWS: - - #i69952# Release dmake 4.7 - (Some extra changes were done in CWS dmake47.) - -2006-12-21 23:36 vq - - * unix/runargv.c: - - #i61856# Remove another verbose debugging statement. - -2006-12-20 22:16 vq - - * quit.c, sysintf.c, unix/runargv.c: - - #i61856# Child process handling improvements. - -2006-12-06 17:09 vq - - * dmake.c: - - #i72337# Make dmake -V tell whether fork/exec or spawn is used. - -2006-12-02 14:35 vq - - * tests/Makefile.am: - - #i72210# Missed an autotool bit. - -2006-12-02 14:10 vq - - * tests/Makefile.in, tests/recipes-7, unix/runargv.c: - - #i72210# Add missing detail and a testcase. - -2006-12-02 13:25 vq - - * unix/runargv.c: - - #i72210# Teach spawn enabled dmake to honor the '-' recipe switch. - -2006-11-30 20:16 vq - - * unix/runargv.c: - - #i61856# Fix "Internal Error: Child is missing .." problem. - -2006-11-27 17:23 vq - - * unix/runargv.c: - - #i61856# Improve (dmake internal) process handling. - -2006-11-23 11:58 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, win95/microsft/config.h, winnt/microsft/config.h: - - #i69952# Release dmake 4.7. - -2006-11-21 06:50 hjs - - * tests/: macros-6, misc-13: - - small cleanup - -2006-11-20 20:32 vq - - * tests/misc-13: - - #i71777# Fix testcase - Only test the directory cache for case - insensitivity if the FS is also case insensitive. - -2006-11-20 12:16 vq - - * tests/: misc-15, recipes-5, recipes-6: - - #i71777# Solaris testcase fixes. - -2006-11-20 11:58 vq - - * tests/macros-6: - - #i71777# Fix testcase. - -2006-11-20 11:38 vq - - * tests/recipes-6: - - #i71422# Fix testcase. - -2006-11-19 16:10 vq - - * man/dmake.nc, man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/misc-17: - - #i71704# Add testcase and documentation. - -2006-11-19 00:27 vq - - * dag.c, dmake.c, imacs.c, make.c, unix/runargv.c: - - #i71704# Let the global .SEQUENTIAL attribute implicitely set MAXPROCESS=1 - and disallow MAXPROCESS to be changed if the global .SEQUENTIAL is set. - -2006-11-17 18:09 vq - - * tests/: Makefile.am, Makefile.in, misc-16: - - #i61856# Add testcase. - -2006-11-17 16:56 vq - - * dmake.h, sysintf.c, unix/runargv.c: - - #i61856# Implement better way to wait for a process queue to finish - without obstructing other process queues during parallel makefile - processing. - -2006-11-15 14:43 vq - - * configure, configure.in, unix/runargv.c: - - #i71582# Make dmake usable on OpenBSD. (Patch separated from CWS openbsd01) - -2006-11-13 15:39 vq - - * tests/: Makefile.am, Makefile.in, recipes-5, recipes-6: - - #i71422# Add testcases. - -2006-11-13 14:08 vq - - * NEWS, man/dmake.nc, man/dmake.tf: - - #i71422# Document new @@ recipe property. - -2006-11-12 00:25 vq - - * Makefile.in, config.h.in, configure, configure.in, - startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - tests/Makefile.in: - - #i71422# Remove unused macro and regenerate autotools files. - -2006-11-12 00:06 vq - - * dag.c, dmake.c, dmake.h, extern.h, function.c, getinp.c, make.c, - rulparse.c, sysintf.c, vextern.h, mac/public.h, msdos/runargv.c, - msdos/borland/bcc30/public.h, msdos/borland/bcc40/public.h, - msdos/borland/bcc45/public.h, msdos/borland/bcc50/public.h, - msdos/borland/tcc20/public.h, msdos/microsft/msc51/public.h, - msdos/microsft/msc60/public.h, msdos/zortech/public.h, - os2/ibm/icc/public.h, os2/ibm/icc3/public.h, qssl/public.h, - qssl/runargv.c, tos/public.h, unix/runargv.c, - unix/386ix/public.h, unix/bsd43/public.h, unix/bsd43/uw/public.h, - unix/bsd43/vf/public.h, unix/bsdarm32/public.h, - unix/coherent/ver40/public.h, unix/coherent/ver42/public.h, - unix/cygwin/public.h, unix/linux/gnu/public.h, - unix/macosx/gnu/public.h, unix/solaris/public.h, - unix/solaris/gnu/public.h, unix/sysvr1/public.h, - unix/sysvr3/public.h, unix/sysvr3/gnu/public.h, - unix/sysvr3/pwd/public.h, unix/sysvr4/public.h, - unix/xenix/public.h, unix/xenix/pwd/public.h, - win95/borland/bcc50/public.h, win95/microsft/vpp40/public.h, - winnt/borland/bcc50/public.h, winnt/microsft/vpp40/public.h, - winnt/mingw/public.h, winnt/msvc6/public.h: - - #i71422# Add a new feature: Using @@ as a recipe prefix redirects the - output (stdout and stderr) of a recipe to /dev/null (or NUL on W32) - completely suppressing the output of that recipe to the terminal. - As for the @ prefix this can be disabled using the -v[r] switch. - -2006-11-09 22:25 vq - - * tests/: Makefile.am, Makefile.in, misc-15: - - #i69943# Add testcase to check directory caching with DOS style path - targets on cygwin dmake. - -2006-11-09 17:33 vq - - * make.c, path.c: - - #i69821# Fix/improve $(TMD) handling. - -2006-11-09 16:31 vq - - * tests/: Makefile.am, Makefile.in, macros-6: - - #i69821# Add testcase to verify that .SETDIR works (with drive letters - on cygwin) and sets TMD correctly. - -2006-11-09 13:16 vq - - * make.c: - - #i69821# Add comment where TMD is detecting different drive letters for - native W32 dmake versions. - -2006-10-08 19:27 vq - - * NEWS, make.c, tests/Makefile.am, tests/Makefile.in, - tests/targets-17: - - #i70210# Fix dmakes handling of empty dynamic prerequisites. - -2006-10-08 18:57 vq - - * make.c: - - #i70168# Remove FIXME. - -2006-10-08 18:49 vq - - * NEWS, imacs.c, make.c, rulparse.c, vextern.h, man/dmake.nc, - man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/targets-16: - - #i70168# Improve $ handling in targets/prerequisites. - -2006-10-07 16:23 vq - - * parse.c, tests/Makefile.am, tests/Makefile.in, tests/misc-14: - - #i70027# Fix diagnostic output and add a testcase. - -2006-10-07 15:30 vq - - * NEWS, man/dmake.nc, man/dmake.tf: - - #i69742# Add NEWS file entry and mention normalization in the man page. - -2006-10-07 14:34 vq - - * dag.c: - - #i69742# Never normalize cells that contain a $ in the pathname. - -2006-10-06 22:28 vq - - * tests/: Makefile.am, Makefile.in, targets-15: - - #i69742# Add testcase. - -2006-10-06 00:02 vq - - * dag.c, make.c: - - #i69742# Don't targets with $ in the filepath as dynamic macros. ($$ means - a single $ in the filepath.) - -2006-10-03 23:17 vq - - * dag.c, sysintf.c: - - #i69742# Enable normalization of targets and non-dynamic prerequisites. - (Dynamic prerequisites are prerequisites with not expanded macros.) - -2006-10-02 20:46 vq - - * path.c: - - #i69742# Fix problem when removing multiple '/'. - -2006-10-01 15:18 vq - - * dmake.c, extern.h, path.c: - - #i69742# Create Clean_path() function. - -2006-10-01 12:23 vq - - * path.c, unix/dirbrk.c: - - #i69742# Clean up/speed up Build_path(). - -2006-09-30 11:01 vq - - * mac/sysintf.h, msdos/sysintf.h, os2/sysintf.h, qssl/sysintf.h, - tos/sysintf.h, unix/sysintf.h, win95/borland/sysintf.h, - win95/microsft/sysintf.h, winnt/borland/sysintf.h, - winnt/microsft/sysintf.h, winnt/mingw/sysintf.h, - winnt/msvc6/sysintf.h: - - #i69814# Remove the unused DMSTRLWR macro. - -2006-09-29 17:20 vq - - * Makefile.in, autogen.sh, config.h.in, configure, configure.in, - extern.h, function.c, make.c, sysintf.c: - - #i69953# Remove NO_DRIVE_LETTERS, use HAVE_DRIVE_LETTERS instead. - -2006-09-29 14:55 vq - - * tests/macros-5: - - #i69821# Fix testcase. - -2006-09-29 14:50 vq - - * dmstring.c, extern.h, imacs.c, make.c, stat.c, man/dmake.nc, - man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/misc-13, unix/dcache.c, win95/microsft/config.h: - - #i69814# Add/fix option to make directory cache case insensitive. (Make - this the default for Windows and Mac OS X.) Added testcase. - -2006-09-28 17:42 vq - - * imacs.c, make.c, tests/Makefile.am, tests/Makefile.in, - tests/macros-5: - - #i69821# Fix TMD macro and add testcase. - -2006-09-28 17:16 vq - - * Makefile.am, Makefile.in, aclocal.m4, autogen.sh, compile, - config.guess, config.h.in, configure, configure.in, depcomp, - install-sh, missing, mkinstalldirs, msdos/Makefile.am, - msdos/Makefile.in, startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - tests/Makefile.in, win95/Makefile.am, win95/Makefile.in, - win95/microsft/Makefile.am, win95/microsft/Makefile.in: - - #i69953# Clean up of the autotooling. - -2006-09-28 13:33 vq - - * Makefile.in, configure, configure.in, man/dmake.nc, man/dmake.tf, - readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i69952# Bump version to 4.7-cvs. - -2006-09-24 19:57 vq - - * tests/targets-12: - - #i69818# Fix testcase. - -2006-09-21 16:57 vq - - * Makefile.in, NEWS, configure, configure.in, man/dmake.nc, - man/dmake.tf, win95/microsft/config.h, winnt/microsft/config.h: - - #i67689# Release dmake 4.6. - -2006-09-21 12:24 vq - - * expand.c: - - #i69743# Optimize expand.c:Apply_edit(). - -2006-09-20 13:32 vq - - * rulparse.c: - - #i66567# Show the ".SUFFIXES target has no special meaning" warning only - if the -v[w] verbose flag is given. - -2006-09-14 12:40 vq - - * man/: dmake.nc, dmake.tf: - - #i69536# Make clear that .SUFFIXES is not supported by dmake. - -2006-08-29 13:08 vq - - * function.c, sysintf.c: - - #i69071# Don't use umask for the native W32 dmake. - -2006-08-21 00:22 vq - - * dmake.h, make.c, rulparse.c, unix/runargv.c: - - #i10000# Add some code comments. - -2006-08-20 13:30 vq - - * man/: dmake.nc, dmake.tf: - - #i64569# Improve documentation of the handling of continued makefile lines. - -2006-08-15 14:12 vq - - * tests/: Makefile.am, Makefile.in, macros-4: - - #i44961# Add testcase. - -2006-08-15 14:11 vq - - * expand.c: - - #i44961# Reject single letter macros with (, {, ), } and : . - -2006-08-15 11:07 vq - - * expand.c: - - #i44961# Throw error if inclosed macro brackets are encountered. - -2006-08-14 16:35 vq - - * unix/ruletab.c: - - #i52590# Increase limit of parallel jobs for *NIX dmakes to 64. - -2006-07-30 23:35 vq - - * function.c: - - #i67585# Remove unneeded variable definitions. - -2006-07-30 22:47 vq - - * function.c, sysintf.c, mac/public.h, - msdos/borland/bcc30/public.h, msdos/borland/bcc40/public.h, - msdos/borland/bcc45/public.h, msdos/borland/bcc50/public.h, - msdos/borland/tcc20/public.h, msdos/microsft/msc51/public.h, - msdos/microsft/msc60/public.h, msdos/zortech/public.h, - os2/ibm/icc/public.h, os2/ibm/icc3/public.h, qssl/public.h, - tos/public.h, unix/386ix/public.h, unix/bsd43/public.h, - unix/bsd43/uw/public.h, unix/bsd43/vf/public.h, - unix/bsdarm32/public.h, unix/coherent/ver40/public.h, - unix/coherent/ver42/public.h, unix/cygwin/public.h, - unix/linux/gnu/public.h, unix/macosx/gnu/public.h, - unix/solaris/public.h, unix/solaris/gnu/public.h, - unix/sysvr1/public.h, unix/sysvr3/public.h, - unix/sysvr3/gnu/public.h, unix/sysvr3/pwd/public.h, - unix/sysvr4/public.h, unix/xenix/public.h, - unix/xenix/pwd/public.h, win95/borland/bcc50/public.h, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h, winnt/mingw/public.h, - winnt/msvc6/public.h: - - #i64583# Remove unused parameter from Create_temp() and Get_temp(). - -2006-07-29 21:47 vq - - * tests/: Makefile.am, Makefile.in, recipes-3, recipes-4: - - #i67589# Add testcases for builtin commands. - -2006-07-28 21:55 vq - - * NEWS, man/dmake.nc, man/dmake.tf: - - #i67589# Add documentation and NEWS file entry for builtin commands noop - and echo. - -2006-07-28 17:19 vq - - * make.c, sysintf.c, unix/runargv.c: - - #i67589# Add the internal commands noop and echo to the *nix version of - dmake. This functionality already existed for the native windows version. - -2006-07-26 21:10 vq - - * sysintf.c, msdos/runargv.c, msdos/spawn.c: - - #i67808# Fix the internal echo command of the native Windows dmake version. - The patch also moves the usage of the global variable Packed_shell to - msdos/runargv.c and msdos/spawn.c. - -2006-07-25 20:47 vq - - * unix/runargv.c: - - #i10000# Oops, the previous patch should not change this part. - -2006-07-25 20:20 vq - - * sysintf.c, unix/runargv.c: - - #i10000# Comment and whitespace changes only. - -2006-07-24 18:13 vq - - * tests/: Makefile.am, Makefile.in, function_macros-7, recipes-2: - - #i64583# Add testcase for $(mktmp ...) function macro and group recipe. - -2006-07-24 17:43 vq - - * dag.c, function.c, sysintf.c: - - #i64583# Let tempfiles generated by $(mktmp ..) always have 600 permissions. - Generate unique and secure tempfiles if a suffix is requested. (Needed for - group recipes.) - -2006-07-23 00:27 vq - - * Makefile.in, configure, configure.in, man/dmake.nc, man/dmake.tf, - readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i67689# Bump version to 4.6-cvs. - -2006-07-23 00:05 vq - - * NEWS: - - #i67166# Mention the new warning in the NEWS file. - -2006-07-22 23:41 vq - - * tests/: Makefile.am, Makefile.in, function_macros-6: - - #i67585# Add a testcase. - -2006-07-22 23:17 vq - - * function.c, man/dmake.nc, man/dmake.tf: - - #i67585# Fix $(nil ...) function macro. - The patch also removes some unneeded code from _exec_call() and adds some - extra documentation about function macros to the dmake man page. - -2006-07-21 23:48 vq - - * dag.c, hash.c: - - #i10000# Add some comments. - -2006-07-19 22:41 vq - - * make.c, sysintf.c, msdos/runargv.c, unix/runargv.c: - - #i10000# No code changes. Only comments were added/improved. - -2006-07-16 23:13 vq - - * tests/: Makefile.am, Makefile.in, targets-13, targets-14: - - #i67166# Add testcases. - -2006-07-16 23:10 vq - - * dag.c, dmake.c, dmake.h, expand.c, macparse.c: - - #i67166# Make dmake issue a warning if a previously unset macro (i.e. it is - assumed to be empty) is used and later set to a different value. - -2006-07-10 17:01 vq - - * NEWS, tests/Makefile.am, tests/Makefile.in, tests/targets-12: - - #i66567# Add testcase and mention the new warning in the NEWS file. - -2006-07-10 16:46 vq - - * rulparse.c, man/dmake.nc, man/dmake.tf: - - #i66567# Deprecate the obsolete special target .SUFFIXES as it has no - special meaning. - -2006-07-09 21:38 vq - - * NEWS, tests/Makefile.am, tests/Makefile.in, tests/targets-11: - - #i67025# Add testcase and mention this bugfix in the NEWS file as it was - a regression in dmake 4.5 with respect to older versions. - -2006-07-09 21:08 vq - - * rulparse.c: - - #i67025# Fix problem of %-targets with attribute .SILENT and -vr verbose - flag. - -2006-06-22 16:48 vq - - * NEWS: - - #i66522# Release dmake 4.5 - (Two more issues were added and fixed in CWS dmake45.) - -2006-06-22 16:45 vq - - * tests/: infra-0, macros-1, macros-2, macros-3, misc-1, misc-10, - misc-11, misc-2, misc-3, misc-4, misc-5, misc-7, misc-8, misc-9, - recipes-1, targets-1, targets-10, targets-2, targets-3, - targets-4, targets-5, targets-6, targets-7, targets-8, targets-9: - - #i66650# Make dmake testsuite more portable. (Usable with Solaris.) - Patch by hjs. - -2006-06-22 16:14 vq - - * getinp.c, rulparse.c, tests/Makefile.am, tests/Makefile.in, - tests/misc-1, tests/misc-12: - - #i66659# Fix evaluation of line continuations in conditional expressions - and add testcase. - -2006-06-20 10:20 vq - - * Makefile.in, configure, configure.in, win95/microsft/config.h, - winnt/microsft/config.h: - - #i66522# Release dmake 4.5. - -2006-06-17 13:08 vq - - * Makefile.in, configure, configure.in, readme/intro.txt, - readme/read1st.txt, win95/microsft/config.h, - winnt/microsft/config.h: - - #i66522# Increase version number in documentation files and set preliminary - dmake version to 4.5-cvs. - -2006-06-16 20:41 vq - - * NEWS: - - #i66522# Update NEWS file. - -2006-06-16 16:38 vq - - * makefile.mk: - - #i66509# Fix bug in makefile. - -2006-06-16 16:24 vq - - * man/: dmake.nc, dmake.tf: - - #i66522# Update manpage. - -2006-06-16 14:46 vq - - * tests/: Makefile.am, Makefile.in, misc-11: - - #i65281# Add testcase. - -2006-06-16 14:31 vq - - * getinp.c, man/dmake.nc, man/dmake.tf: - - #i65281# Fix comparison with empty string. - -2006-06-14 22:42 vq - - * unix/ruletab.c, win95/borland/ruletab.c, - win95/microsft/ruletab.c, winnt/borland/ruletab.c, - winnt/microsft/ruletab.c: - - #i64889# Increase the default MAXLINELENGTH for all "modern" target OSs. - - This patch was submitted by shay@openoffice.org. - -2006-06-14 18:43 vq - - * man/dmake.nc, man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/targets-10, tests/targets-7, tests/targets-9: - - #i48087# Add testcases and change man page. - -2006-06-13 19:52 vq - - * tests/: Makefile.am, Makefile.in, targets-8: - - #i64331# Add testcase. - -2006-06-13 19:31 vq - - * infer.c: - - #i64431# Fix .SETDIR problem with percent targets. - -2006-06-13 15:06 vq - - * Makefile.in, configure, configure.in: - - #i64795# Fix typo in configure.in. - -2006-06-13 14:33 vq - - * tests/: Makefile.am, Makefile.in, targets-7: - - #i65122# Add testcase. - -2006-06-13 13:14 vq - - * tests/: Makefile.am, Makefile.in, targets-6: - - #i66385# Add testcase. - -2006-06-13 12:58 vq - - * rulparse.c, man/dmake.nc, man/dmake.tf: - - #i66385# Handle . targets regardless of the AUGMAKE (-A) status. - Document this and regenerate man page. - -2006-06-13 11:03 vq - - * tests/: Makefile.am, Makefile.in, targets-5: - - #i66083# Add testcase. - -2006-06-13 01:28 vq - - * rulparse.c: - - #i66083# Check that AUGMAKE meta targets are not mixed with normal targets. - -2006-06-03 23:30 vq - - * rulparse.c: - - #i48087# Only warn once about multiple prerequisites for %-targets. - -2006-06-03 21:55 vq - - * tests/: Makefile.am, Makefile.in, targets-4: - - #i65360# Add testcase to check for message about empty recipe for - special or meta targets. - -2006-06-03 21:37 vq - - * rulparse.c: - - #i65360# Improve output of warning for special or meta targets without - recipe. - -2006-06-03 21:17 vq - - * tests/: Makefile.am, Makefile.in, targets-3: - - #i65360# Add testcase that checks that a warning is issued when . - targets are ignored. - -2006-06-03 20:34 vq - - * tests/: Makefile.am, Makefile.in, targets-1, targets-2: - - #i64869# Add testcases and regenerate autotools files. - -2006-05-17 17:44 vq - - * Makefile.in, tests/Makefile.am, tests/Makefile.in, - tests/macros-3: - - #i65333# Add testcase and regenerate autotools files. - -2006-05-17 00:04 vq - - * man/dmake.tf: - - #i65333# Elaborate on . vs. special targets and .INIT and .DONE - that also begin with a dot. - -2006-05-15 23:43 vq - - * man/dmake.tf: - - #i65333# Collect . description at one place in the man page. - -2006-05-15 18:50 vq - - * man/dmake.tf: - - #i48087# Document the current %-target handling. - -2006-05-14 13:06 vq - - * rulparse.c: - - #i65360# Fix typo. - -2006-05-14 12:58 vq - - * rulparse.c: - - #i65360# Warn if dmake ignores an illegal . target but keep the - behavior of dmake 4.4 and earlier. - -2006-05-12 13:36 vq - - * rulparse.c: - - #i48087# Fix typo. - -2006-05-12 12:59 vq - - * rulparse.c: - - #i65333# Prevent .ROOT, .TARGETS, .INIT and .DONE from being treates as - special . targets. - -2006-05-10 23:38 vq - - * Makefile.in, man/dmake.nc, tests/Makefile.in: - - #i65281# Regenerate autotools files and plain text version of manpage. - -2006-05-10 23:31 vq - - * getinp.c, man/dmake.tf, tests/Makefile.am, tests/misc-10: - - #i65281# Fix crash on numeric comparison and add testcase. - -2006-05-10 13:46 vq - - * dmdump.c, rulparse.c, struct.h: - - #i48087# Correct parsing of target definitions with multiple % targets and - prerequisites. Also add some comments. - -2006-05-05 17:33 vq - - * dmake.h, infer.c, rulparse.c, struct.h, man/dmake.tf: - - #i65122# Fix problem with "non-documented" handling of multiple %-targets - plus several improved comments and a man page correction. - -2006-05-03 17:47 vq - - * dag.c, dmake.c, getinp.c, imacs.c, parse.c, rulparse.c, - vextern.h: - - #i64869# Fix various parsing problems of target definitions and - add code comments. - -2006-03-31 11:04 vq - - * Makefile.in, NEWS, configure, configure.in, readme/intro.txt, - readme/read1st.txt, readme/release.txt, win95/microsft/config.h: - - #i63874# Release dmake 4.4 - Update version numbers and regenerate autotool files. - -2006-03-15 09:43 vq - - * unix/runargv.c: - - #i61940# Add and correct some comments. - -2006-03-14 18:23 vq - - * tests/: Makefile.am, Makefile.in, function_macros-5: - - #i61940# Add testcase to check that $(shell ..) does not pick up output from - concurrent processes. - -2006-03-13 18:21 vq - - * function.c, getinp.c, state.c, unix/arlib.c: - - #i61390# Make dmake (gcc) build -Wall warning free. - -2006-03-01 22:46 vq - - * rulparse.c: - - #i61969# Clean F_MADE and F_STAT when recipes or prerequisites are changed - so that the target gets rebuild even if it was already build. (As a - generated .INCLUDE makefile.) - -2006-03-01 22:37 vq - - * tests/: Makefile.am, Makefile.in, misc-9: - - #i61969# Commit testcase for this issue. - -2006-02-26 18:33 vq - - * dmake.c: - - #i62118# Fix invalid detection of circular dependencies arising from F_VISITED - and F_USED both having the same value but being used in different contexts. - -2006-02-26 17:46 vq - - * tests/: Makefile.am, Makefile.in, misc-8: - - #i62118# Add testcase for issue 62118. - -2006-02-26 17:23 vq - - * tests/macros-2: - - #i61170# Fix testcase to remove the created "dirwith space" directory. - -2006-02-21 18:06 vq - - * unix/runargv.c: - - #i61940# Remove the #undef that unconditionally disabled the use of spawn. - -2006-02-11 19:47 vq - - * config.h.in, configure, configure.in, unix/runargv.c: - - #i61940# Enable the alternative use of spawn instead of fork/exec for - dmake. Add the configure option --enable-spawn. Regenerate autotool files. - -2006-02-06 18:06 vq - - * Makefile.in, man/dmake.tf, tests/Makefile.am, tests/Makefile.in, - tests/misc-7: - - #i61714# Correct manpage to state that the usage of .SETDIR like - `.SETDIR=foo : targets` is valid and add a testcase to verify this. - -2006-02-04 23:02 vq - - * man/dmake.nc: - - #i61170# Regenerate plain text version of the dmake man page. - -2006-02-03 14:46 vq - - * NEWS, make.c, makefile.mk, man/dmake.tf: - - #i61170# Let $(TMD)/somedir always be a valid path. - Adjust the dmake bootstrap makefile to this change. - -2006-02-01 23:50 vq - - * dmake.c: - - #i47919# Fix typo. - -2006-02-01 23:39 vq - - * dmake.c, quit.c, sysintf.c, mac/public.h, - msdos/borland/bcc30/public.h, msdos/borland/bcc40/public.h, - msdos/borland/bcc45/public.h, msdos/borland/bcc50/public.h, - msdos/borland/tcc20/public.h, msdos/microsft/msc51/public.h, - msdos/microsft/msc60/public.h, msdos/zortech/public.h, - os2/ibm/icc/public.h, os2/ibm/icc3/public.h, qssl/public.h, - tos/public.h, unix/386ix/public.h, unix/bsd43/public.h, - unix/bsd43/uw/public.h, unix/bsd43/vf/public.h, - unix/bsdarm32/public.h, unix/coherent/ver40/public.h, - unix/coherent/ver42/public.h, unix/cygwin/public.h, - unix/linux/gnu/public.h, unix/macosx/gnu/public.h, - unix/solaris/public.h, unix/solaris/gnu/public.h, - unix/sysvr1/public.h, unix/sysvr3/public.h, - unix/sysvr3/gnu/public.h, unix/sysvr3/pwd/public.h, - unix/sysvr4/public.h, unix/xenix/public.h, - unix/xenix/pwd/public.h, win95/borland/bcc50/public.h, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h, winnt/mingw/public.h, - winnt/msvc6/public.h: - - #i47919# Use the correct handler function for the signal() handling. - -2006-02-01 18:37 vq - - * man/dmake.nc: - - #i60948# Regenerate plain text version of the dmake man page. - -2006-02-01 18:28 vq - - * Makefile.in, NEWS, config.h.in, configure, configure.in, dmake.c, - dmake.h, function.c, make.c, sysintf.c, vextern.h, mac/public.h, - man/dmake.tf, msdos/runargv.c, msdos/borland/bcc30/public.h, - msdos/borland/bcc40/public.h, msdos/borland/bcc45/public.h, - msdos/borland/bcc50/public.h, msdos/borland/tcc20/public.h, - msdos/microsft/msc51/public.h, msdos/microsft/msc60/public.h, - msdos/zortech/public.h, os2/ibm/icc/public.h, - os2/ibm/icc3/public.h, qssl/public.h, tos/public.h, - unix/runargv.c, unix/386ix/public.h, unix/bsd43/public.h, - unix/bsd43/uw/public.h, unix/bsd43/vf/public.h, - unix/bsdarm32/public.h, unix/coherent/ver40/public.h, - unix/coherent/ver42/public.h, unix/cygwin/public.h, - unix/linux/gnu/public.h, unix/macosx/gnu/public.h, - unix/solaris/public.h, unix/solaris/gnu/public.h, - unix/sysvr1/public.h, unix/sysvr3/public.h, - unix/sysvr3/gnu/public.h, unix/sysvr3/pwd/public.h, - unix/sysvr4/public.h, unix/xenix/public.h, - unix/xenix/pwd/public.h, win95/borland/bcc50/public.h, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h, winnt/mingw/public.h, - winnt/msvc6/public.h: - - #i60948# Add -m option family to generate timing information for targets - and/or recipes. (Autotools files were regenerated.) - -2006-02-01 17:08 vq - - * tos/public.h, unix/arlib.c, unix/386ix/public.h, - unix/bsd43/public.h, unix/bsd43/uw/public.h, - unix/bsd43/vf/public.h, unix/bsdarm32/public.h, - unix/coherent/ver40/public.h, unix/coherent/ver42/public.h, - unix/cygwin/public.h, unix/linux/gnu/public.h, - unix/macosx/gnu/public.h, unix/solaris/public.h, - unix/solaris/gnu/public.h, unix/sysvr1/public.h, - unix/sysvr3/public.h, unix/sysvr3/gnu/public.h, - unix/sysvr3/pwd/public.h, unix/sysvr4/public.h, - unix/xenix/public.h, unix/xenix/pwd/public.h: - - #i61390# Add missing prototypes. - -2006-01-31 23:18 vq - - * man/dmake.tf: - - #i10000# Small documentation fix. - -2006-01-30 15:28 vq - - * quit.c, unix/cygwin/public.h: - - #i61390# Add some missing prototypes to dmake/unix/cygwin/public.h and - also revert the copyright disclaimer to the original version. This file - is supposed to be auto generated and identical to: - dmake/unix/linux/gnu/cygwin/public.h. - -2006-01-26 20:22 vq - - * tests/: Makefile.am, Makefile.in, macros-2: - - #i61170# Add testcase and regenerate autotools files. - -2006-01-26 20:16 vq - - * make.c: - - #i61170# Add micro optimization as usually PWD is equal to MAKEDIR. - -2006-01-25 21:54 vq - - * Makefile.in, config.h.in, configure, configure.in, make.c: - - #i61170# Fix TMD macro and regenerate autotool files. - -2006-01-25 21:09 vq - - * configure.in: - - #i53148# Treat MinGW build like MSVC build. - -2006-01-11 12:46 rene - - * config.guess, config.sub: - - #i60375# update config.{sub,guess} - -2006-01-08 17:20 vq - - * Makefile.in, configure, configure.in: - - #i60168# Expand internal configure variable before using it and - regenerate autotool files. - -2006-01-08 16:44 vq - - * Makefile.in, configure: - - #i60168# Regenerate autotool files. - -2006-01-08 16:37 vq - - * configure.in: - - #i60168# Use the --datadir swich to determine where the startup dir is - placed and adapt the default DMAKEROOT macro setting accordingly. - -2006-01-05 20:35 vq - - * tests/Makefile.in: - - #i58259# Regenerate autotool files. - -2006-01-05 20:24 vq - - * tests/: misc-6, Makefile.am: - - #i58259# Add testcase. - -2006-01-03 23:07 vq - - * make.c: - - #i58259# Fix thinko and solve the problems with all testcases from the - issue. - -2006-01-03 21:13 vq - - * make.c, dmake.h: - - #i58259# Partial fix. This fixes the use of dp after it was freed. - -2005-12-15 15:04 vq - - * sysintf.c: - - #i58391# Create better temporary filenames when .NET2003 or newer are used. - -2005-10-25 13:19 vq - - * Makefile.in, config.h.in, configure, configure.in, function.c: - - #i53148# Restore old behaviour for non-*NIX dmake versions. - -2005-10-11 14:01 vq - - * Makefile.in, tests/Makefile.am, tests/Makefile.in, tests/README, - tests/misc-4: - - #i39248# Add testcase and regenerate configure and other autotools files. - -2005-10-11 13:48 vq - - * tests/misc-5: - - #i54938# Add testcase for .INCLUDE generation in parallel builds. - -2005-10-11 13:39 vq - - * function.c, getinp.c, make.c, vextern.h, unix/runargv.c: - - #i54938# Fix problem when building infered .INCLUDE makefiles and doing - parallel builds. - -2005-10-04 00:33 vq - - * man/: dmake.nc, dmake.tf: - - #i10000# Fix markup error in man page source and regenerate the ascii version. - -2005-09-25 20:43 vq - - * dbug/dbug/: dbug.txt, example1.c, example2.c, example3.c, - factorial.c, main.c, makeman.sh, readme, user.r: - - #i55070# Restore the documentation for Fred Fish's "C Program Debugging - Package" DBUG. - -2005-09-25 20:33 vq - - * Makefile.am, Makefile.in, configure, configure.in, extern.h, - dbug/dbug/dbug.c, msdos/Makefile.in, startup/Makefile.in, - startup/unix/Makefile.in, startup/unix/cygwin/Makefile.in, - startup/unix/linux/Makefile.in, startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - tests/Makefile.in, unix/Makefile.in, win95/Makefile.in, - win95/microsft/Makefile.in: - - #i55070# Fix Fred Fishes DBUG macros and add --enable-dbug to enable them - in a configure type build. Also regenerate autotool files. - -2005-09-21 21:46 vq - - * tempnam.c: - - #i52899# Remove unused file. - -2005-09-19 20:50 vq - - * Makefile.in, aclocal.m4, configure, msdos/Makefile.in, - startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - tests/Makefile.am, tests/Makefile.in, tests/misc-3, - unix/Makefile.in, win95/Makefile.in, win95/microsft/Makefile.in: - - #i49461# Add testcase and regenerate configure and other autotools files. - -2005-09-19 20:01 vq - - * NEWS, man/dmake.nc, man/dmake.tf: - - #i53148# Update NEWS file and man page. - -2005-09-19 19:48 vq - - * unix/runargv.c: - - #i53148# Move include directive to get some macros defined before using - them. - -2005-09-17 19:25 vq - - * unix/runargv.c: - - #i53148# Make sure that the command started from _exec_shell really - finished before returning. - -2005-09-17 15:47 vq - - * Makefile.in: - - RESYNC: (1.11-1.12); FILE MERGED - -2005-09-17 15:47 vq - - * Makefile.am: - - RESYNC: (1.8-1.9); FILE MERGED - -2005-09-08 14:00 rt - - * unix/cygwin/public.h: - - INTEGRATION: CWS ooo19126 (1.4.34); FILE MERGED - 2005/09/05 17:12:52 rt 1.4.34.1: #i54170# Change license header: remove SISSL - -2005-09-06 21:39 vq - - * unix/runargv.c: - - #i53148# Make sure _attach_cmd can not be used for _exec_shell calls. - -2005-09-05 17:10 vq - - * tests/: Makefile.am, function_macros-3, function_macros-4: - - #i53148# Add another testcase. - -2005-09-05 16:56 vq - - * dmake.c, function.c, vextern.h, unix/runargv.c: - - #i53148# Move redirection of stdout from parent to child and avoid - capturing spurious output from other process queues. - -2005-09-05 13:23 vq - - * dmake.c, function.c, vextern.h, unix/runargv.c: - - #i53148# Additional patch to make sure that the shell escapes is executed - after all previous recipe lines from the same target have finished. - -2005-09-04 23:17 vq - - * tests/: Makefile.am, function_macros-3, misc-2: - - #i53148# Add testcase. - -2005-09-04 15:38 vq - - * dmake.c, function.c, sysintf.c, vextern.h, unix/runargv.c: - - #i53148# Fix $(shell ...) handling for parallel builds with MAXPROCESS > 1. - This certainly includes the -P# switch with # > 1. - -2005-09-01 20:25 vq - - * Makefile.in, aclocal.m4, autogen.sh, msdos/Makefile.in, - startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - tests/Makefile.in, unix/Makefile.in, win95/Makefile.in, - win95/microsft/Makefile.in: - - #i52238# Regenerate configure and other autotools files. - -2005-09-01 19:27 vq - - * tests/: Makefile.am, misc-2: - - #i52238# Add a testcase. - -2005-06-04 14:07 vq - - * Makefile.in, startup/Makefile.am, startup/Makefile.in, - startup/unix/Makefile.am, startup/unix/Makefile.in, - startup/winnt/Makefile.am, startup/winnt/Makefile.in, - tests/Makefile.am, tests/Makefile.in, tests/misc-1: - - #i39248# Add another testcase. - -2005-06-01 23:58 vq - - * NEWS: - - #i39248# Add entry to NEWS file. - -2005-06-01 23:41 vq - - * Makefile.am, Makefile.in, configure, configure.in, - tests/Makefile.am, tests/Makefile.in, tests/function_macros-1, - tests/function_macros-2, tests/infra-0, tests/macros-1, - tests/recipes-1: - - #i39248# Add testsuite for dmake (only tor targets using the autotools). - -2005-06-01 19:48 vq - - * function.c: - - #i50091# Echo shell function macro commands. - -2005-05-31 22:51 vq - - * unix/dcache.c: - - #i50142# Remove an unneeded warning that was introduced with issue 47135. - -2005-05-31 22:27 vq - - * parse.c: - - #i50053# Fix bogus check. - -2005-05-31 18:13 vq - - * parse.c: - - #i50053# Fix typo. - -2005-05-30 14:37 vq - - * parse.c: - - #i50053# Fix dmake correctly parsing empty makefile lines. This was a - regression introduced by issue 44959 and worked before only because - the trailing \n of empty lines were accidentally not removed. - -2005-05-20 14:18 vq - - * getinp.c: - - #i49461# Fix fall-out from issue 44959. Continued comment lines were not - ended if the following line was empty. - -2005-05-05 19:12 vq - - * Makefile.in: - - #i47851# Regenerate configure and other autotools files. - -2005-05-05 19:06 vq - - * Makefile.am: - - #i47851# Fix dependency checking for subdirectories. - -2005-05-05 17:59 vq - - * posix.h: - - #i47135# Leave a comment that the _POSIX_*_MAX values should be set in - the architecture dependent sysintf.h files instead of clobbering them - in posix.h - -2005-05-05 17:45 vq - - * dmake.c, tempnam.c: - - Issue number: 38830 - Submitted by: waratah@openoffice.org - Change dmake's diagnosic output to use "Warning:" or "Error:". Adding the - colon makes it easier grep for these diagnostics in long logfiles. - -2005-05-05 17:27 vq - - * infer.c, make.c, rulparse.c, sysintf.c: - - #i43310# Fix dmakes handling of multiple (::) targets concerning attributes - and flags. Note: An attribute given for a subtarget will also be applied for - all other subtargets. (Also add a few comments.) - -2005-04-22 00:22 vq - - * stdmacs.h, win95/microsft/config.h, winnt/microsft/config.h: - - Issue number: 47866 - Submitted by: shay@openoffice.org, vq@openoffice.org - Fix MSVC compiler warnings. - -2005-04-21 21:27 vq - - * Makefile.in, aclocal.m4, configure, msdos/Makefile.in, - startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - unix/Makefile.in, win95/Makefile.in, win95/microsft/Makefile.in: - - #i47851# Regenerate configure and other autotools files. - -2005-04-21 21:17 vq - - * infer.c: - - #i43310# Fix cast. - -2005-04-21 21:04 vq - - * NEWS, acinclude.m4, autogen.sh, config.h.in, configure.in, - dmake.c, dmakeroot.h.in, win95/microsft/config.h, - winnt/microsft/config.h: - - #i47851# Increase the version number to 4.4-cvs and slightly rearrange the - output of "dmake -V". - Remove the hardcoded (in autotools builds) OS macro. It had the wrong value - to be usable with the startup/*.mk and is not mentioned in the man page. - Clean up configure.in and friends. - -2005-04-21 00:31 vq - - * expand.c: - - #i37053# Fix (unreached) typo. - -2005-04-20 11:26 vq - - * NEWS, dmdump.c, infer.c: - - #i43310# Fix percent (%) rules to recognize prerequisites that are defined - with the multiple target rule operator (::). - This implicitly fixes the similar problem for .. targets. - -2005-04-18 18:08 vq - - * unix/dcache.c: - - #i47135# Fix variable name. - -2005-04-18 18:03 vq - - * sysintf.c, unix/dcache.c: - - #i47135# Add code to warn if a filename is longer than NAMEMAX permits. - -2005-04-17 12:47 vq - - * win95/borland/sysintf.h, win95/microsft/sysintf.h, - winnt/borland/sysintf.h, winnt/microsft/sysintf.h, - winnt/mingw/sysintf.h: - - Issue number: 47135 - Submitted by: shay@openoffice.org - Define _POSIX_NAME_MAX and _POSIX_PATH_MAX using the compiler defaults. - -2005-04-16 19:05 vq - - * Makefile.in, aclocal.m4, configure, msdos/Makefile.in, - startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/cygwin/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.in, - startup/winnt/mingw/Makefile.in, startup/winnt/msvc6/Makefile.in, - unix/Makefile.in, win95/Makefile.in, win95/microsft/Makefile.in: - - #i47578# Regenerate configure and other autotools files. - -2005-04-16 18:53 vq - - * startup/Makefile.am: - - #i47578# Install startup/config.mk instead of the unused startup/template.mk. - -2005-04-16 18:29 vq - - * configure.in, startup/config.mk.in: - - #i47578# Generate startup/config.mk during build with autotools. - -2005-04-16 12:53 vq - - * NEWS, expand.c, man/dmake.nc, man/dmake.tf: - - #i46987# Fix $(mktmp ...) documentation and add the map escape codes - $(macro:m) macro expansion. - -2005-04-15 19:55 vq - - * win95/borland/ruletab.c, win95/microsft/ruletab.c, - winnt/borland/ruletab.c, winnt/microsft/ruletab.c: - - Issue number: 47137 - Submitted by: shay@openoffice.org - Increase default MAXLINELENGHT to 8190. - -2005-04-15 19:34 vq - - * man/: dmake.nc, dmake.tf: - - #i47135# Fix the documentation of the NAMEMAX macro. (Not .NAMEMAX) - -2005-04-11 18:16 vq - - * expand.c: - - #i36027# Fix sanity check for end of macro. - -2005-04-11 17:13 vq - - * dag.c: - - #i47137# Elaborate a comment. - -2005-04-11 16:41 vq - - * getinp.c: - - #i47137# Report and abort when makefile lines are read that are longer than - MAXLINELENGTH. - -2005-04-10 23:38 vq - - * man/dmake.nc: - - #i43252# Regenerate typeset version of the manual page. - -2005-04-10 23:28 vq - - * NEWS, dmake.c, dmake.h, sysintf.c, vextern.h, man/dmake.tf, - win95/startup.h, winnt/startup.h: - - #i43252# Introduce the macro ABSMAKECMD that's value for a native Windows - dmake executable (compiled with MS Visual C++ or MinGW) is the absolute - filename and NULL for other operating systems or dmake build with other - compilers. - If DMAKEROOT is not changed and only for native Windows dmake versions the - value of DMAKEROOT now defaults to "$(ABSMAKECMD:d)startup". - -2005-04-09 17:41 vq - - * startup/startup.mk: - - Issue number: 43254 - Submitted by: shay@openoffice.org - Don't import OS, OSRELEASE and OSENVIRONMENT from environment in startup.mk. - -2005-04-09 17:22 vq - - * dmake.c, mac/ruletab.c, msdos/ruletab.c, msdos/startup.h, - msdos/zortech/startup.mk, os2/ruletab.c, qssl/ruletab.c, - qssl/startup.h, startup/msdos/macros.mk, startup/os2/macros.mk, - startup/win95/macros.mk, startup/winnt/macros.mk, tos/ruletab.c, - tos/startup.h, unix/ruletab.c, win95/startup.h, - win95/borland/ruletab.c, win95/microsft/ruletab.c, - winnt/startup.h, winnt/borland/ruletab.c, - winnt/microsft/ruletab.c: - - #i43254# Make the usage of DMAKEROOT consistent with the man page for - all OSs. This includes the removal of "SOLARVER UPD INPATH OS UPDMINOREXT" - from the list of macros that are always imported from the environment. - Patch inspired in part by shay@openoffice.org. - -2005-04-08 11:26 vq - - * msdos/zortech/startup.mk, startup/msdos/macros.mk, - startup/os2/macros.mk, startup/win95/macros.mk, - startup/winnt/macros.mk: - - Issue number: 47004 - Submitted by: shay@openoffice - Fix syntax errors (warnings) in subst macros. - -2005-04-08 11:18 vq - - * NEWS, readme/read1st.txt: - - Issue number: 43241 - Submitted by: shay@openoffice.org, vq@openoffice.org - Add documentation and update NEWS file. - -2005-04-07 18:30 vq - - * makefile.mk, win95/microsft/config.mk, - win95/microsft/vpp40/mk.bat: - - Issue number: 43241 - Submitted by: shay@openoffice.org - Allow dmake to be build on windows without 4NT. - -2005-03-27 10:42 vq - - * man/: dmake.nc, dmake.tf: - - #i43147# Fix man page. - -2005-03-16 00:25 vq - - * NEWS: - - #i44959# Update NEWS file. - -2005-03-15 01:02 vq - - * getinp.c: - - #i44959# Comment fix. - -2005-03-15 00:55 vq - - * getinp.c: - - #i44959# Make sure not to strip the wrong \n. - -2005-03-15 00:20 vq - - * getinp.c: - - #i44959# Fix dmake problems for makefiles when continued lines are - followed by empty lines. - -2005-03-13 22:21 vq - - * dag.c, expand.c, getinp.c, make.c: - - #i37053# Fix continuation char handling. - -2005-02-19 15:41 vq - - * NEWS: - - #i36027#, #i37053#, #i37491# Update NEWS file to mention the latest changes. - -2004-11-25 11:12 vq - - * getinp.c: - - #i37053# Treat continuation chars as whitespace. - -2004-11-25 11:09 vq - - * function.c: - - #i36027# Fix MSVC compilation problem. - -2004-11-23 14:57 vq - - * man/: dmake.nc, dmake.tf: - - #i37491# Add documentation for SPACECHAR macro. - -2004-11-21 13:00 vq - - * expand.c: - - #i36027# Certainly closing brackets are only accepted when no - closing separator is found. fixed. - -2004-11-21 12:40 vq - - * function.c: - - #i36027# Improve parsing for dmake function macros. - -2004-11-21 12:07 vq - - * expand.c: - - #i36027# Relax the syntax check for closing seperator for subst modifiers. - -2004-11-19 20:05 vq - - * imacs.c, vextern.h: - - #i37491# Add a predefined SPACECHAR macro. - -2004-11-19 19:31 vq - - * expand.c: - - #i36027# This fixes the problems with the :s#pat#rep# modifier and also - handles a missing closing braket for macros with macro modifiers in general. - -2004-11-11 22:45 vq - - * dag.c, getinp.c, make.c: - - #i37053# dmake line continuation fix. - -2004-10-22 04:11 rt - - * win95/microsft/config.h: - - INTEGRATION: CWS dmake43 (1.5.2); FILE MERGED - 2004/10/12 19:07:26 vq 1.5.2.1: #i31647# Update version number for the "native" MS compiler build. - -2004-10-22 04:11 rt - - * win95/microsft/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:52 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:10 rt - - * unix/Makefile.in: - - INTEGRATION: CWS dmake43 (1.8.18); FILE MERGED - 2004/10/12 18:47:51 vq 1.8.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:09 rt - - * startup/winnt/msvc6/Makefile.in, win95/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:51 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:09 rt - - * startup/winnt/: Makefile.in, mingw/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:50 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:09 rt - - * startup/unix/sysvr4/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:49 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:08 rt - - * startup/unix/solaris/Makefile.in: - - INTEGRATION: CWS dmake43 (1.6.18); FILE MERGED - 2004/10/12 18:47:49 vq 1.6.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:08 rt - - * startup/unix/macosx/Makefile.in: - - INTEGRATION: CWS dmake43 (1.6.18); FILE MERGED - 2004/10/12 18:47:48 vq 1.6.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:08 rt - - * startup/unix/linux/Makefile.in: - - INTEGRATION: CWS dmake43 (1.8.18); FILE MERGED - 2004/10/12 18:47:48 vq 1.8.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:08 rt - - * startup/unix/cygwin/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:48 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:07 rt - - * startup/: Makefile.in, unix/Makefile.in: - - INTEGRATION: CWS dmake43 (1.8.18); FILE MERGED - 2004/10/12 18:47:47 vq 1.8.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:07 rt - - * readme/: intro.txt, read1st.txt: - - INTEGRATION: CWS dmake43 (1.1.1.1.130); FILE MERGED - 2004/10/07 21:57:37 vq 1.1.1.1.130.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:06 rt - - * msdos/Makefile.in: - - INTEGRATION: CWS dmake43 (1.3.18); FILE MERGED - 2004/10/12 18:47:47 vq 1.3.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:06 rt - - * man/dmake.tf: - - INTEGRATION: CWS dmake43 (1.4.2); FILE MERGED - 2004/10/07 22:02:56 vq 1.4.2.1: #i31647# Change the man page also to version 4.3. - -2004-10-22 04:06 rt - - * man/dmake.nc: - - INTEGRATION: CWS dmake43 (1.2.2); FILE MERGED - 2004/10/07 22:02:56 vq 1.2.2.1: #i31647# Change the man page also to version 4.3. - -2004-10-22 04:05 rt - - * sysintf.c: - - INTEGRATION: CWS dmake43 (1.5.28); FILE MERGED - 2004/10/07 22:18:47 vq 1.5.28.1: #i34746# Fix timestamp of phony targets with prerequisites. - -2004-10-22 04:05 rt - - * makefile.mk: - - INTEGRATION: CWS dmake43 (1.2.78); FILE MERGED - 2004/10/07 21:57:36 vq 1.2.78.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:04 rt - - * imacs.c: - - INTEGRATION: CWS dmake43 (1.1.1.1.130); FILE MERGED - 2004/10/07 21:57:36 vq 1.1.1.1.130.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:04 rt - - * dmake.c: - - INTEGRATION: CWS dmake43 (1.4.2); FILE MERGED - 2004/10/07 21:57:36 vq 1.4.2.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:04 rt - - * configure.in: - - INTEGRATION: CWS dmake43 (1.21.16); FILE MERGED - 2004/10/12 19:07:26 vq 1.21.16.2: #i31647# Update version number for the "native" MS compiler build. - 2004/10/07 21:57:36 vq 1.21.16.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:04 rt - - * configure: - - INTEGRATION: CWS dmake43 (1.14.16); FILE MERGED - 2004/10/12 18:47:46 vq 1.14.16.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:03 rt - - * config.h.in: - - INTEGRATION: CWS dmake43 (1.11.16); FILE MERGED - 2004/10/12 18:47:46 vq 1.11.16.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:03 rt - - * aclocal.m4: - - INTEGRATION: CWS dmake43 (1.7.18); FILE MERGED - 2004/10/12 18:47:45 vq 1.7.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:02 rt - - * NEWS: - - INTEGRATION: CWS dmake43 (1.2.78); FILE MERGED - 2004/10/07 22:18:47 vq 1.2.78.2: #i34746# Fix timestamp of phony targets with prerequisites. - 2004/10/07 21:57:35 vq 1.2.78.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-10-22 04:02 rt - - * Makefile.in: - - INTEGRATION: CWS dmake43 (1.10.18); FILE MERGED - 2004/10/12 18:47:45 vq 1.10.18.1: #i31647# Regenerate the autotools files with autogen.sh. - -2004-10-22 04:01 rt - - * COPYING, acinclude.m4: - - INTEGRATION: CWS dmake43 (1.1.118); FILE MERGED - 2004/10/07 21:57:35 vq 1.1.118.1: #i31647# Bump the dmake version number to 4.3 plus some small cleanups. - - Note: The _head file was renamed to COPYING, COPYING is not a new file, - but was empty befor. - -2004-09-08 12:10 rt - - * unix/linux/gnu/public.h, win95/microsft/config.h: - - INTEGRATION: CWS ooo20040704 (1.4.22); FILE MERGED - 2004/07/15 19:47:39 vq 1.4.22.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:09 rt - - * unix/runargv.c: - - INTEGRATION: CWS ooo20040704 (1.7.68); FILE MERGED - 2004/07/15 19:47:38 vq 1.7.68.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:09 rt - - * unix/: dcache.c, rmprq.c, ruletab.c: - - INTEGRATION: CWS ooo20040704 (1.3.68); FILE MERGED - 2004/07/15 19:47:38 vq 1.3.68.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:08 rt - - * man/readme: - - INTEGRATION: CWS ooo20040704 (1.1.1.1.120); FILE MERGED - 2004/07/11 15:15:18 vq 1.1.1.1.120.1: #i31255#, #i17992# Update the documentation of dmake to the new features. - -2004-09-08 12:08 rt - - * man/dmake.tf: - - INTEGRATION: CWS ooo20040704 (1.3.22); FILE MERGED - 2004/07/11 15:15:17 vq 1.3.22.1: #i31255#, #i17992# Update the documentation of dmake to the new features. - -2004-09-08 12:07 rt - - * man/dmake.nc: - - INTEGRATION: CWS ooo20040704 (1.1.1.1.120); FILE MERGED - 2004/07/11 15:15:17 vq 1.1.1.1.120.1: #i31255#, #i17992# Update the documentation of dmake to the new features. - -2004-09-08 12:07 rt - - * rulparse.c: - - INTEGRATION: CWS ooo20040704 (1.5.68); FILE MERGED - 2004/07/15 19:47:37 vq 1.5.68.3: #i30887# Remove the wrongly added LGPL/SISSL license headers. - 2004/07/11 14:48:37 vq 1.5.68.2: #i31255# Add verbose recipe echoing option (-vr) to dmake. - 2004/07/06 00:03:43 vq 1.5.68.1: #i30779# Fix to allow dmake to echo recipe lines when inference is used - to create files that are be read by .INCLUDE. - - Note that this only fixes the possibility to do so. Recipes that start - with @ are still not echoed, but dmake -n now shows the recipes. - -2004-09-08 12:06 rt - - * parse.c, quit.c, stdmacs.h, unix/arlib.c: - - INTEGRATION: CWS ooo20040704 (1.3.68); FILE MERGED - 2004/07/15 19:47:37 vq 1.3.68.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:06 rt - - * make.c: - - INTEGRATION: CWS ooo20040704 (1.4.24); FILE MERGED - 2004/07/15 19:47:36 vq 1.4.24.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:06 rt - - * function.c: - - INTEGRATION: CWS ooo20040704 (1.6.22); FILE MERGED - 2004/07/15 19:47:36 vq 1.6.22.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:06 rt - - * extern.h: - - INTEGRATION: CWS ooo20040704 (1.7.68); FILE MERGED - 2004/07/15 19:47:36 vq 1.7.68.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:05 rt - - * expand.c, infer.c: - - INTEGRATION: CWS ooo20040704 (1.3.68); FILE MERGED - 2004/07/15 19:47:36 vq 1.3.68.1: #i30887# Remove the wrongly added LGPL/SISSL license headers. - -2004-09-08 12:05 rt - - * dmake.h: - - INTEGRATION: CWS ooo20040704 (1.1.1.1.120); FILE MERGED - 2004/07/11 14:48:37 vq 1.1.1.1.120.1: #i31255# Add verbose recipe echoing option (-vr) to dmake. - -2004-09-08 12:05 rt - - * dag.c, dmake.c: - - INTEGRATION: CWS ooo20040704 (1.3.68); FILE MERGED - 2004/07/15 19:47:35 vq 1.3.68.2: #i30887# Remove the wrongly added LGPL/SISSL license headers. - 2004/07/11 14:48:36 vq 1.3.68.1: #i31255# Add verbose recipe echoing option (-vr) to dmake. - -2004-09-08 12:04 rt - - * INSTALL: - - INTEGRATION: CWS ooo20040704 (1.1.108); FILE MERGED - 2004/07/11 15:15:16 vq 1.1.108.1: #i31255#, #i17992# Update the documentation of dmake to the new features. - -2004-04-21 10:10 svesik - - * itypes.h: - - INTEGRATION: CWS ooo20040329 (1.2.54); FILE MERGED - 2004/03/19 12:41:09 waratah 1.2.54.1: #i13620# extra definitions to use internal types defined in AIX - -2004-04-21 10:10 svesik - - * getinp.c: - - INTEGRATION: CWS ooo20040329 (1.4.8); FILE MERGED - 2004/04/01 16:24:25 mmeeks 1.4.8.1: #27319 - -2004-04-21 10:10 svesik - - * configure.in: - - INTEGRATION: CWS ooo20040329 (1.20.14); FILE MERGED - 2004/03/19 12:36:41 waratah 1.20.14.1: #i13620# allow configure to pick up on types defined by AIX and also allow AIX to work in configure - -2004-04-21 10:09 svesik - - * configure: - - INTEGRATION: CWS ooo20040329 (1.13.4); FILE MERGED - 2004/03/19 12:37:40 waratah 1.13.4.1: #i13620# allow configure to pick up on types defined by AIX and also allow AIX to work in configure - -2004-04-21 10:09 svesik - - * config.h.in: - - INTEGRATION: CWS ooo20040329 (1.10.4); FILE MERGED - 2004/03/19 12:40:18 waratah 1.10.4.1: #i13620# Extra defines as used by configure - -2004-02-25 08:56 kz - - * win95/: Makefile.in, microsft/Makefile.am, microsft/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:29:04 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:56 kz - - * win95/Makefile.am: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:29:03 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:56 kz - - * unix/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.7.48); FILE MERGED - 2004/02/20 12:29:03 hr 1.7.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:56 kz - - * unix/Makefile.am: - - INTEGRATION: CWS geordi2q15 (1.4.66); FILE MERGED - 2004/02/20 12:29:03 hr 1.4.66.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:55 kz - - * startup/winnt/: mingw/Makefile.in, msvc6/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:29:02 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:55 kz - - * startup/: unix/sysvr4/Makefile.in, winnt/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:29:01 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:54 kz - - * startup/unix/: macosx/Makefile.in, solaris/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.5.48); FILE MERGED - 2004/02/20 12:29:00 hr 1.5.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:54 kz - - * startup/unix/linux/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.7.48); FILE MERGED - 2004/02/20 12:28:59 hr 1.7.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:54 kz - - * startup/unix/cygwin/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:28:59 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:54 kz - - * startup/: Makefile.in, unix/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.7.48); FILE MERGED - 2004/02/20 12:28:58 hr 1.7.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:53 kz - - * msdos/Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:28:58 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:53 kz - - * msdos/Makefile.am: - - INTEGRATION: CWS geordi2q15 (1.2.48); FILE MERGED - 2004/02/20 12:28:57 hr 1.2.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:53 kz - - * configure: - - INTEGRATION: CWS geordi2q15 (1.12.10); FILE MERGED - 2004/02/20 12:28:56 hr 1.12.10.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:53 kz - - * config.h.in: - - INTEGRATION: CWS geordi2q15 (1.9.10); FILE MERGED - 2004/02/20 12:28:56 hr 1.9.10.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:52 kz - - * aclocal.m4: - - INTEGRATION: CWS geordi2q15 (1.6.48); FILE MERGED - 2004/02/20 12:28:56 hr 1.6.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:52 kz - - * Makefile.in: - - INTEGRATION: CWS geordi2q15 (1.9.48); FILE MERGED - 2004/02/20 12:28:56 hr 1.9.48.1: #111934#: merge CWS ooo111fix3 - -2004-02-25 08:52 kz - - * Makefile.am: - - INTEGRATION: CWS geordi2q15 (1.7.48); FILE MERGED - 2004/02/20 12:28:56 hr 1.7.48.1: #111934#: merge CWS ooo111fix3 - -2004-01-28 08:21 hjs - - * getinp.c: - - #i17992# applied patch to enable komplex logic in .IF statements - -2003-12-17 11:19 vg - - * winnt/msvc6/public.h: - - INTEGRATION: CWS geordi2q11 (1.2.38); FILE MERGED - 2003/12/16 11:17:47 hr 1.2.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:18 vg - - * winnt/mingw/public.h: - - INTEGRATION: CWS geordi2q11 (1.2.38); FILE MERGED - 2003/12/16 11:17:46 hr 1.2.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:18 vg - - * winnt/microsft/vpp40/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:46 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:18 vg - - * winnt/borland/bcc50/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:45 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:17 vg - - * win95/microsft/vpp40/public.h: - - INTEGRATION: CWS geordi2q11 (1.3.38); FILE MERGED - 2003/12/16 11:17:44 hr 1.3.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:17 vg - - * win95/microsft/vpp40/mk.bat: - - INTEGRATION: CWS geordi2q11 (1.2.38); FILE MERGED - 2003/12/16 11:17:44 hr 1.2.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:17 vg - - * win95/microsft/config.h: - - INTEGRATION: CWS geordi2q11 (1.3.38); FILE MERGED - 2003/12/16 11:17:43 hr 1.3.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:16 vg - - * win95/borland/bcc50/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:43 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:16 vg - - * unix/xenix/pwd/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:42 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:15 vg - - * unix/xenix/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:41 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:15 vg - - * unix/: sysvr3/pwd/public.h, sysvr4/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:40 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:14 vg - - * unix/sysvr3/gnu/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:39 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:14 vg - - * unix/sysvr3/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:38 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:13 vg - - * unix/: solaris/gnu/public.h, sysvr1/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:37 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:13 vg - - * unix/solaris/public.h: - - INTEGRATION: CWS geordi2q11 (1.2.46); FILE MERGED - 2003/12/16 11:17:36 hr 1.2.46.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:12 vg - - * unix/macosx/gnu/public.h: - - INTEGRATION: CWS geordi2q11 (1.3.38); FILE MERGED - 2003/12/16 11:17:35 hr 1.3.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:12 vg - - * unix/linux/gnu/public.h: - - INTEGRATION: CWS geordi2q11 (1.3.38); FILE MERGED - 2003/12/16 11:17:33 hr 1.3.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:11 vg - - * unix/cygwin/public.h: - - INTEGRATION: CWS geordi2q11 (1.3.38); FILE MERGED - 2003/12/16 11:17:32 hr 1.3.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:11 vg - - * unix/coherent/ver42/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:31 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:10 vg - - * unix/: bsdarm32/public.h, coherent/ver40/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:30 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:10 vg - - * unix/bsd43/vf/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:29 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:09 vg - - * unix/bsd43/: public.h, uw/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:28 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:08 vg - - * unix/386ix/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:27 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:07 vg - - * qssl/public.h, tos/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:26 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:07 vg - - * os2/ibm/icc3/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:25 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:06 vg - - * os2/ibm/icc/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:24 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:05 vg - - * msdos/: microsft/msc60/public.h, zortech/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:23 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:05 vg - - * msdos/microsft/msc51/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:22 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:04 vg - - * msdos/borland/: bcc50/public.h, tcc20/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:21 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:03 vg - - * msdos/borland/bcc45/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:20 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:02 vg - - * msdos/borland/: bcc30/public.h, bcc40/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:19 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:02 vg - - * man/dmake.tf: - - INTEGRATION: CWS geordi2q11 (1.2.56); FILE MERGED - 2003/12/16 11:17:18 hr 1.2.56.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:02 vg - - * mac/public.h: - - INTEGRATION: CWS geordi2q11 (1.4.30); FILE MERGED - 2003/12/16 11:17:17 hr 1.4.30.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:01 vg - - * sysintf.c: - - INTEGRATION: CWS geordi2q11 (1.4.52); FILE MERGED - 2003/12/16 11:17:16 hr 1.4.52.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:01 vg - - * function.c: - - INTEGRATION: CWS geordi2q11 (1.5.8); FILE MERGED - 2003/12/16 11:17:16 hr 1.5.8.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:00 vg - - * configure.in: - - INTEGRATION: CWS geordi2q11 (1.19.38); FILE MERGED - 2003/12/16 11:17:15 hr 1.19.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 11:00 vg - - * configure: - - INTEGRATION: CWS geordi2q11 (1.11.38); FILE MERGED - 2003/12/16 11:17:15 hr 1.11.38.1: #111934#: join CWS ooo111fix1 - -2003-12-17 10:59 vg - - * config.h.in: - - INTEGRATION: CWS geordi2q11 (1.8.38); FILE MERGED - 2003/12/16 11:17:14 hr 1.8.38.1: #111934#: join CWS ooo111fix1 - -2003-12-01 12:58 rt - - * make.c: - - INTEGRATION: CWS ooo20031110 (1.3.24); FILE MERGED - 2003/10/19 22:38:29 waratah 1.3.24.1: #i20504# Correct processing of library code, not always built - -2003-08-18 11:04 hjs - - * function.c: - - INTEGRATION: CWS geordi2q01 (1.4.22); FILE MERGED - 2003/08/18 12:53:30 hr 1.4.22.1: #i18350#: join changes from CWS ooo11rc3 - -2003-06-12 06:56 vg - - * winnt/microsft/vpp40/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:27 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:56 vg - - * winnt/borland/bcc50/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:26 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:56 vg - - * win95/borland/bcc50/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:25 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:56 vg - - * unix/xenix/pwd/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:24 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:55 vg - - * unix/: sysvr4/public.h, xenix/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:23 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:55 vg - - * unix/sysvr3/pwd/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:22 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:54 vg - - * unix/sysvr3/: public.h, gnu/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:21 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:54 vg - - * unix/sysvr1/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:20 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:54 vg - - * unix/solaris/gnu/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:19 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:54 vg - - * unix/coherent/: ver40/public.h, ver42/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:18 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:54 vg - - * unix/bsdarm32/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:17 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:53 vg - - * unix/bsd43/vf/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:16 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:53 vg - - * unix/bsd43/uw/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:15 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:53 vg - - * unix/: 386ix/public.h, bsd43/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:14 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:53 vg - - * tos/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:13 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:52 vg - - * qssl/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:12 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:52 vg - - * os2/ibm/icc3/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:11 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:52 vg - - * os2/ibm/icc/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:10 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:52 vg - - * msdos/zortech/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:09 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:52 vg - - * msdos/microsft/msc60/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:08 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:51 vg - - * msdos/microsft/msc51/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:07 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:51 vg - - * msdos/borland/tcc20/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:06 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:51 vg - - * msdos/borland/bcc50/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:05 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:51 vg - - * msdos/borland/bcc45/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:04 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:51 vg - - * msdos/borland/bcc40/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:03 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:50 vg - - * msdos/borland/bcc30/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:02 mh 1.3.8.1: join: from beta2 - -2003-06-12 06:50 vg - - * mac/public.h: - - INTEGRATION: CWS mh11rc (1.3.8); FILE MERGED - 2003/06/06 09:59:01 mh 1.3.8.1: join: from beta2 - -2003-03-25 09:02 hr - - * Makefile.am, Makefile.in, NEWS, aclocal.m4, autogen.sh, - config.h.in, configure, configure.in, dag.c, dmake.c, - dmakeroot.h.in, expand.c, extern.h, function.c, infer.c, - itypes.h, make.c, makefile.mk, parse.c, posix.h, quit.c, - rulparse.c, stdmacs.h, tempnam.c, mac/main.c, mac/public.h, - msdos/Makefile.am, msdos/Makefile.in, - msdos/borland/bcc30/public.h, msdos/borland/bcc40/public.h, - msdos/borland/bcc45/public.h, msdos/borland/bcc50/public.h, - msdos/borland/tcc20/public.h, msdos/microsft/msc51/public.h, - msdos/microsft/msc60/public.h, msdos/zortech/public.h, - os2/ibm/icc/public.h, os2/ibm/icc3/public.h, qssl/public.h, - startup/Makefile.am, startup/Makefile.in, - startup/unix/Makefile.in, startup/unix/cygwin/Makefile.in, - startup/unix/linux/Makefile.in, startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, - startup/unix/sysvr4/Makefile.in, startup/winnt/Makefile.am, - startup/winnt/Makefile.in, startup/winnt/mingw/Makefile.am, - startup/winnt/mingw/Makefile.in, startup/winnt/mingw/macros.mk, - startup/winnt/msvc6/Makefile.am, startup/winnt/msvc6/Makefile.in, - startup/winnt/msvc6/macros.mk, tos/public.h, unix/Makefile.in, - unix/arlib.c, unix/dcache.c, unix/rmprq.c, unix/ruletab.c, - unix/runargv.c, unix/386ix/public.h, unix/bsd43/public.h, - unix/bsd43/uw/public.h, unix/bsd43/vf/public.h, - unix/bsdarm32/public.h, unix/coherent/ver40/public.h, - unix/coherent/ver42/public.h, unix/cygwin/public.h, - unix/linux/gnu/public.h, unix/macosx/gnu/public.h, - unix/solaris/gnu/public.h, unix/sysvr1/public.h, - unix/sysvr3/public.h, unix/sysvr3/gnu/public.h, - unix/sysvr3/pwd/public.h, unix/sysvr4/public.h, - unix/xenix/public.h, unix/xenix/pwd/public.h, win95/Makefile.am, - win95/Makefile.in, win95/borland/bcc50/public.h, - win95/microsft/Makefile.am, win95/microsft/Makefile.in, - win95/microsft/config.h, win95/microsft/ruletab.c, - win95/microsft/vpp40/mk.bat, win95/microsft/vpp40/obj.rsp, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h, winnt/mingw/public.h, - winnt/mingw/sysintf.h, winnt/msvc6/public.h, - winnt/msvc6/sysintf.h: - - MWS_SRX644: migrate branch mws_srx644 -> HEAD - -2003-01-13 09:27 waratah - - * mac/main.c, mac/public.h, msdos/borland/bcc30/public.h, - msdos/borland/bcc40/public.h, msdos/borland/bcc45/public.h, - msdos/borland/bcc50/public.h, msdos/borland/tcc20/public.h, - msdos/microsft/msc51/public.h, msdos/microsft/msc60/public.h, - msdos/zortech/public.h, os2/ibm/icc/public.h, - os2/ibm/icc3/public.h, qssl/public.h, tos/public.h, - unix/386ix/public.h, unix/bsd43/public.h, unix/bsd43/uw/public.h, - unix/bsd43/vf/public.h, unix/bsdarm32/public.h, - unix/coherent/ver40/public.h, unix/coherent/ver42/public.h, - unix/cygwin/public.h, unix/solaris/public.h, - unix/solaris/gnu/public.h, unix/sysvr1/public.h, - unix/sysvr3/public.h, unix/sysvr3/gnu/public.h, - unix/sysvr3/pwd/public.h, unix/sysvr4/public.h, - unix/xenix/public.h, unix/xenix/pwd/public.h, - win95/borland/bcc50/public.h, win95/microsft/vpp40/public.h, - winnt/borland/bcc50/public.h, winnt/microsft/vpp40/public.h: - - dmake: Remove the incorrect definition of main to void - -2003-01-04 08:08 waratah - - * unix/macosx/gnu/public.h: - - Remove main definition, it is wrong and it is failing compile on the mac platform - -2003-01-04 08:02 waratah - - * unix/runargv.c: - - Implement a test around wait so it is not included when the platform does not define it - -2003-01-04 07:53 waratah - - * config.h.in, configure, configure.in: - - Implement a test for wait.h, failing build on mac under gcc - -2002-10-15 08:27 waratah - - * config.guess: - - dmake: Implement the latest config.guess, not working on ppc64 - -2002-10-11 09:42 waratah - - * Makefile.in, config.h.in, configure, configure.in, dag.c, - dmake.c, expand.c, extern.h, function.c, getinp.c, infer.c, - make.c, parse.c, quit.c, rulparse.c, sysintf.c, unix/arlib.c, - unix/dcache.c, unix/rmprq.c, unix/runargv.c, - unix/linux/gnu/public.h: - - dmake: Implement fix for Lost child problem. Correct some checks for functions (assumed present) and also fix up all gcc warnings using -Wall. - -2002-10-08 05:21 waratah - - * win95/microsft/config.h: - - dmake: Volker 4nt patches - -2002-10-07 09:40 waratah - - * startup/unix/cygwin/: Makefile.am, Makefile.in, macros.mk: - - dmake: Add the cygwin configure files - -2002-10-07 09:36 waratah - - * extern.h: - - dmake: Correct some undefined functions in some modules - -2002-10-07 09:34 waratah - - * configure: - - dmake: Additional header checks for better source control, add cygwin support, GNU hurd support - -2002-10-07 09:33 waratah - - * config.h.in: - - dmake: Additional header checks for better source control - -2002-10-07 08:09 waratah - - * configure.in: - - dmake: Add gnu hurd and some additional header checks, and the cygwin makefiles - -2002-10-04 10:34 waratah - - * configure: - - dmake: Patches for the osf1 operating system - -2002-10-04 10:14 waratah - - * startup/unix/sysvr4/Makefile.in: - - dmake: Add osf1 support - -2002-10-04 10:01 haggai - - * startup/unix/sysvr4/Makefile.am, configure.in: - - Fix build for OSF1. Approved by Ken. - -2002-10-04 09:31 waratah - - * Makefile.in, aclocal.m4, config.h.in, configure, configure.in, - extern.h, function.c, startup/Makefile.in, - startup/unix/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, unix/Makefile.in: - - Dmake: Convert the configure to a better configure process without individual conf.h files for every platform - -2002-10-03 08:59 waratah - - * configure, configure.in, depcomp: - - dmake: remove cygwin makefile temporarily and implement depcomp - -2002-10-03 08:29 waratah - - * Makefile.in, aclocal.m4, configure, configure.in, stdmacs.h, - man/dmake.tf, startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/linux/Makefile.in, startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, unix/Makefile.in: - - dmake: This is a reworked version of the configure process, without automake and aclocal - -2002-10-02 09:42 waratah - - * Makefile.am, Makefile.in, aclocal.m4, autogen.sh, config.h.in, - configure, configure.in, startup/Makefile.in, - startup/unix/Makefile.in, startup/unix/linux/Makefile.in, - startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, unix/Makefile.am, - unix/Makefile.in: - - dmake: Allow the whole configure process to work, not needs update to bootstrap to activate - -2002-10-01 11:08 waratah - - * Makefile.in, startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/linux/Makefile.in, startup/unix/macosx/Makefile.in, - startup/unix/solaris/Makefile.in, unix/Makefile.in: - - dmake: Add all the automake files, premade so developers do not require automake installed - -2002-07-11 04:53 mh - - * Makefile.am, configure.in, extern.h, rulparse.c, - startup/unix/Makefile.am, startup/unix/macosx/Makefile.am, - unix/Makefile.am, unix/tempnam.c: - - join: from OOO_STABLE_1 - -2002-07-11 04:44 mh - - * autogen.sh: - - join: from OOO_STABLE_1 - -2002-04-10 11:40 hjs - - * rulparse.c: - - don't search INCLUDEDIRS if filename of include starts at fs-root - -2002-04-09 13:21 mh - - * configure.in: - - fixed typo for FreeBSD - -2002-04-09 13:10 hjs - - * Makefile.am, configure.in: - - cygwin support - -2002-03-26 09:23 mh - - * configure.in: - - add: cygwin - -2002-03-26 09:22 mh - - * unix/cygwin/public.h: - - add for cygwin - -2001-10-16 08:11 mh - - * configure.in: - - add: FreeBSD - -2001-10-16 08:10 mh - - * autogen.sh: - - fix: for non writable aclocal.m4 and missing README - -2001-08-20 05:57 mh - - * configure.in: - - del: AC_CONFIG_HEADERS - -2001-06-14 13:31 mh - - * configure.in: - - don't check C++ - -2001-06-13 09:34 mh - - * Makefile.am, configure.in, unix/Makefile.am: - - add: OS_VERSION to differ the Unix's - -2001-06-13 09:13 mh - - * startup/unix/solaris/Makefile.am: - - add: startup/unix/solaris/ - -2001-05-29 18:43 pluby - - * unix/runargv.c: - - Added forceful exit to avoid infinite loop that sometimes occurs when there is a fatal error. - -2001-05-07 08:47 mh - - * unix/runargv.c: - - add: CYGWIN changes - -2001-05-04 06:47 mh - - * Makefile.am, aclocal.m4, config.h.in, configure: - - chg: comments - -2001-04-23 08:41 mh - - * unix/Makefile.in, startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/linux/Makefile.in: - - del: - -2001-04-23 08:24 mh - - * Makefile.in: - - del: - -2001-04-23 08:22 mh - - * Makefile.in: - - del - -2001-04-23 08:10 mh - - * configure.in: - - add: PACKAGE - -2001-04-23 07:06 mh - - * unix/Makefile.am: - - add: Makefile.am - -2001-04-23 07:01 mh - - * aclocal.m4: - - add: acloacl.m4 - -2001-04-23 06:50 mh - - * unix/Makefile.in, startup/Makefile.in, startup/unix/Makefile.in, - startup/unix/linux/Makefile.in: - - add: Makefile.in - -2001-04-23 06:50 mh - - * Makefile.in: - - add Makefile.in - -2001-04-20 10:24 mh - - * startup/: Makefile.am, unix/Makefile.am, unix/linux/Makefile.am: - - add: Makefile.am - -2001-04-20 10:23 mh - - * unix/ruletab.c: - - use installation directory from configure for DMAKEROOT, DMAKEROOT can still be overridden by environment - -2001-04-20 10:21 mh - - * extern.h: - - avoid clash with autoconf config.h - -2001-04-20 10:15 mh - - * AUTHORS, COPYING, INSTALL, Makefile.am, NEWS, acinclude.m4, - autogen.sh, config.guess, config.h.in, config.sub, configure, - configure.in, dmakeroot.h.in, install-sh, missing, mkinstalldirs, - stamp-h: - - preparation for autoconf and automake for dmake - -2001-02-22 22:44 pluby - - * unix/macosx/: tempnam.c, gnu/make.sh: - - Correct Mac OS X "tempnam" bug - -2001-02-19 11:08 hjs - - * sysintf.c: - - remove useless part of change - -2001-02-13 07:43 hjs - - * sysintf.c: - - fixed left tmpfiles when building group targets - -2000-11-01 07:27 hjs - - * unix/runargv.c: - - FreeBSD patch - -2000-10-20 07:12 hjs - - * getinp.c: - - has an extraneous ; after the function closure - -2000-09-22 11:33 hr - - * dag.c, dmake.c, dmake.h, expand.c, extern.h, function.c, - getinp.c, imacs.c, infer.c, itypes.h, make.c, makefile.mk, - parse.c, posix.h, quit.c, rulparse.c, stdmacs.h, sysintf.c, - tempnam.c, mac/main.c, mac/public.h, man/dmake.nc, man/dmake.tf, - man/readme, msdos/borland/bcc30/public.h, - msdos/borland/bcc40/public.h, msdos/borland/bcc45/public.h, - msdos/borland/bcc50/public.h, msdos/borland/tcc20/public.h, - msdos/microsft/msc51/public.h, msdos/microsft/msc60/public.h, - msdos/zortech/public.h, os2/ibm/icc/public.h, - os2/ibm/icc3/public.h, qssl/public.h, readme/intro.txt, - readme/read1st.txt, tos/public.h, unix/arlib.c, unix/dcache.c, - unix/rmprq.c, unix/ruletab.c, unix/runargv.c, - unix/386ix/public.h, unix/bsd43/public.h, unix/bsd43/uw/public.h, - unix/bsd43/vf/public.h, unix/bsdarm32/public.h, - unix/coherent/ver40/public.h, unix/coherent/ver42/public.h, - unix/linux/gnu/make.sh, unix/linux/gnu/public.h, - unix/macosx/gnu/make.sh, unix/macosx/gnu/public.h, - unix/solaris/public.h, unix/solaris/gnu/public.h, - unix/sysvr1/public.h, unix/sysvr3/public.h, - unix/sysvr3/gnu/public.h, unix/sysvr3/pwd/public.h, - unix/sysvr4/public.h, unix/xenix/public.h, - unix/xenix/pwd/public.h, win95/borland/bcc50/public.h, - win95/microsft/config.h, win95/microsft/ruletab.c, - win95/microsft/vpp40/mk.bat, win95/microsft/vpp40/obj.rsp, - win95/microsft/vpp40/public.h, winnt/borland/bcc50/public.h, - winnt/microsft/vpp40/public.h: - - Initial revision - -2000-09-22 11:33 hr - - * alloc.h, db.h, dmdump.c, dmstring.c, dstdarg.h, hash.c, - macparse.c, make.bat, make.cmd, path.c, percent.c, rcsclean.awk, - stat.c, state.c, struct.h, vextern.h, dbug/dbug.mk, dbug/getwd.c, - dbug/readme, dbug/dbug/dbug.c, dbug/dbug/dbug.h, - dbug/dbug/dbug.uue, dbug/dbug/readme, dbug/malloc/_changes, - dbug/malloc/_readme, dbug/malloc/calloc.c, dbug/malloc/debug.h, - dbug/malloc/dump.c, dbug/malloc/free.c, dbug/malloc/m_init.c, - dbug/malloc/m_perror.c, dbug/malloc/makefile, - dbug/malloc/malloc.3, dbug/malloc/malloc.c, dbug/malloc/malloc.h, - dbug/malloc/mallopt.c, dbug/malloc/memory.c, - dbug/malloc/mlc_chk.c, dbug/malloc/mlc_chn.c, - dbug/malloc/patchlev, dbug/malloc/realloc.c, - dbug/malloc/string.c, dbug/malloc/testmem.c, - dbug/malloc/testmlc.c, dbug/malloc/tostring.c, - dbug/malloc/tostring.h, mac/arlib.c, mac/make_mac.sh, - mac/bogus.c, mac/config.mk, mac/dirbrk.c, mac/directry.c, - mac/dompwmak, mac/environ.c, mac/eold.c, mac/make.sh, - mac/rmprq.c, mac/ruletab.c, mac/startup.h, mac/sysintf.h, - mac/template.mk, mac/tempnam.c, mac/tomacfil.c, msdos/arlib.c, - msdos/config.mk, msdos/dchdir.c, msdos/dirbrk.c, msdos/dirent.h, - msdos/dirlib.c, msdos/dosdta.h, msdos/dstrlwr.c, msdos/exec.asm, - msdos/exec.h, msdos/exec.uue, msdos/find.c, msdos/rmprq.c, - msdos/ruletab.c, msdos/runargv.c, msdos/spawn.c, msdos/startup.h, - msdos/switchar.c, msdos/sysintf.h, msdos/tee.c, - msdos/borland/config.mk, msdos/borland/tempnam.c, - msdos/borland/utime.c, msdos/borland/bcc30/config.h, - msdos/borland/bcc30/config.mk, msdos/borland/bcc30/lib.rsp, - msdos/borland/bcc30/libswp.rsp, msdos/borland/bcc30/mkswp.bat, - msdos/borland/bcc30/obj.rsp, msdos/borland/bcc30/objswp.rsp, - msdos/borland/bcc30/template.mk, msdos/borland/bcc40/config.h, - msdos/borland/bcc40/config.mk, msdos/borland/bcc40/lib.rsp, - msdos/borland/bcc40/libswp.rsp, msdos/borland/bcc40/mkswp.bat, - msdos/borland/bcc40/obj.rsp, msdos/borland/bcc40/objswp.rsp, - msdos/borland/bcc40/template.mk, msdos/borland/bcc45/config.h, - msdos/borland/bcc45/config.mk, msdos/borland/bcc45/lib.rsp, - msdos/borland/bcc45/libswp.rsp, msdos/borland/bcc45/mkswp.bat, - msdos/borland/bcc45/obj.rsp, msdos/borland/bcc45/objswp.rsp, - msdos/borland/bcc45/template.mk, msdos/borland/bcc50/config.h, - msdos/borland/bcc50/config.mk, msdos/borland/bcc50/lib.rsp, - msdos/borland/bcc50/libswp.rsp, msdos/borland/bcc50/mkswp.bat, - msdos/borland/bcc50/obj.rsp, msdos/borland/bcc50/objswp.rsp, - msdos/borland/bcc50/template.mk, msdos/borland/tcc20/config.h, - msdos/borland/tcc20/config.mk, msdos/borland/tcc20/libswp.rsp, - msdos/borland/tcc20/mkswp.bat, msdos/borland/tcc20/objswp.rsp, - msdos/borland/tcc20/template.mk, msdos/microsft/config.h, - msdos/microsft/config.mk, msdos/microsft/optoff.h, - msdos/microsft/tempnam.c, msdos/microsft/msc51/config.mk, - msdos/microsft/msc51/lib.rsp, msdos/microsft/msc51/libswp.rsp, - msdos/microsft/msc51/mk.bat, msdos/microsft/msc51/mkswp.bat, - msdos/microsft/msc51/obj.rsp, msdos/microsft/msc51/objswp.rsp, - msdos/microsft/msc51/template.mk, msdos/microsft/msc60/config.mk, - msdos/microsft/msc60/lib.rsp, msdos/microsft/msc60/libswp.rsp, - msdos/microsft/msc60/mk.bat, msdos/microsft/msc60/mkswp.bat, - msdos/microsft/msc60/obj.rsp, msdos/microsft/msc60/objswp.rsp, - msdos/microsft/msc60/template.mk, msdos/zortech/config.h, - msdos/zortech/config.mk, msdos/zortech/environ.c, - msdos/zortech/lib.rsp, msdos/zortech/libswp.rsp, - msdos/zortech/mkswp.bat, msdos/zortech/obj.rsp, - msdos/zortech/objswp.rsp, msdos/zortech/startup.mk, - msdos/zortech/tempnam.c, os2/config.mk, os2/dchdir.c, - os2/dirent.h, os2/ruletab.c, os2/startup.h, os2/switchar.c, - os2/sysintf.h, os2/ibm/config.h, os2/ibm/config.mk, - os2/ibm/tempnam.c, os2/ibm/icc/config.mk, os2/ibm/icc/lib.rsp, - os2/ibm/icc/mk.cmd, os2/ibm/icc/obj.rsp, os2/ibm/icc/template.mk, - os2/ibm/icc3/config.mk, os2/ibm/icc3/lib.rsp, - os2/ibm/icc3/mk.cmd, os2/ibm/icc3/obj.rsp, - os2/ibm/icc3/template.mk, qssl/config.mk, qssl/make.sh, - qssl/ruletab.c, qssl/runargv.c, qssl/setup, qssl/startup.h, - qssl/stdlib.h, qssl/sysintf.h, qssl/template.mk, qssl/tempnam.c, - qssl/time.h, readme/license.txt, readme/release.txt, - readme/public/install.txt, readme/public/mac.txt, - readme/public/msdos.txt, readme/public/os2.txt, - readme/public/qssl-qnx.txt, readme/public/srcorg.txt, - readme/public/tos.txt, readme/public/unix.txt, - startup/startup.mk, startup/summary, startup/template.mk, - startup/mac/macros.mk, startup/msdos/macros.mk, - startup/msdos/recipes.mk, startup/msdos/borland/macros.mk, - startup/msdos/borland/bcc30/macros.mk, - startup/msdos/borland/bcc40/macros.mk, - startup/msdos/borland/bcc45/macros.mk, - startup/msdos/borland/bcc50/macros.mk, - startup/msdos/borland/bcc50.32/macros.mk, - startup/msdos/borland/tcc20/macros.mk, - startup/msdos/microsft/macros.mk, - startup/msdos/zortech/macros.mk, startup/os2/macros.mk, - startup/os2/ibm/macros.mk, startup/qssl/macros.mk, - startup/qssl/recipes.mk, startup/qssl/qnx/macros.mk, - startup/qssl/qnx/recipes.mk, startup/templates/mac/template.mk, - startup/templates/msdos/borland/bcc30/template.mk, - startup/templates/msdos/borland/bcc40/template.mk, - startup/templates/msdos/borland/bcc45/template.mk, - startup/templates/msdos/borland/bcc50/template.mk, - startup/templates/msdos/borland/tcc20/template.mk, - startup/templates/msdos/microsft/msc51/template.mk, - startup/templates/msdos/microsft/msc60/template.mk, - startup/templates/os2/ibm/icc/template.mk, - startup/templates/qssl/template.mk, - startup/templates/tos/template.mk, - startup/templates/unix/386ix/template.mk, - startup/templates/unix/bsd43/template.mk, - startup/templates/unix/bsd43/uw/template.mk, - startup/templates/unix/bsd43/vf/template.mk, - startup/templates/unix/coherent/ver40/template.mk, - startup/templates/unix/coherent/ver42/template.mk, - startup/templates/unix/linux/gnu/template.mk, - startup/templates/unix/solaris/template.mk, - startup/templates/unix/solaris/gnu/template.mk, - startup/templates/unix/sysvr1/template.mk, - startup/templates/unix/sysvr3/template.mk, - startup/templates/unix/sysvr3/pwd/template.mk, - startup/templates/unix/sysvr4/template.mk, - startup/templates/unix/xenix/template.mk, - startup/templates/unix/xenix/pwd/template.mk, - startup/templates/win95/borland/bcc50/template.mk, - startup/templates/win95/microsft/vpp40/template.mk, - startup/templates/winnt/borland/bcc50/template.mk, - startup/templates/winnt/microsft/vpp40/template.mk, - startup/tos/macros.mk, startup/unix/macros.mk, - startup/unix/recipes.mk, startup/unix/386ix/macros.mk, - startup/unix/bsd43/macros.mk, startup/unix/bsd43/recipes.mk, - startup/unix/coherent/macros.mk, - startup/unix/coherent/recipes.mk, startup/unix/linux/macros.mk, - startup/unix/linux/gnu/macros.mk, startup/unix/macosx/macros.mk, - startup/unix/macosx/gnu/macros.mk, - startup/unix/solaris/macros.mk, startup/unix/sysvr1/macros.mk, - startup/unix/sysvr3/macros.mk, startup/unix/sysvr3/gnu/macros.mk, - startup/unix/sysvr4/macros.mk, startup/unix/xenix/macros.mk, - startup/win95/macros.mk, startup/win95/recipes.mk, - startup/win95/borland/macros.mk, - startup/win95/microsft/macros.mk, startup/winnt/macros.mk, - startup/winnt/recipes.mk, startup/winnt/borland/macros.mk, - startup/winnt/microsft/macros.mk, tos/config.mk, tos/make.sh, - tos/putenv.c, tos/ruletab.c, tos/startup.h, tos/sysintf.h, - tos/template.mk, tos/tempnam.c, unix/config.mk, unix/dirbrk.c, - unix/startup.h, unix/sysintf.h, unix/386ix/ar.h, - unix/386ix/config.mk, unix/386ix/make.sh, unix/386ix/stdlib.h, - unix/386ix/template.mk, unix/386ix/time.h, unix/bsd43/config.mk, - unix/bsd43/dirent.h, unix/bsd43/limits.h, unix/bsd43/make.sh, - unix/bsd43/template.mk, unix/bsd43/putenv.c, - unix/bsd43/setvbuf.c, unix/bsd43/stdlib.h, unix/bsd43/string.h, - unix/bsd43/tempnam.c, unix/bsd43/utime.c, - unix/bsd43/uw/config.mk, unix/bsd43/uw/make.sh, - unix/bsd43/uw/template.mk, unix/bsd43/vf/config.mk, - unix/bsd43/vf/ctype.h, unix/bsd43/vf/make.sh, - unix/bsd43/vf/memcpy.c, unix/bsd43/vf/template.mk, - unix/bsd43/vf/vfprintf.c, unix/bsdarm32/config.mk, - unix/bsdarm32/dirent.h, unix/bsdarm32/limits.h, - unix/bsdarm32/make.sh, unix/bsdarm32/putenv.c, - unix/bsdarm32/stdlib.h, unix/bsdarm32/string.h, - unix/bsdarm32/template.mk, unix/bsdarm32/tempnam.c, - unix/bsdarm32/utime.c, unix/coherent/config.mk, - unix/coherent/stdlib.h, unix/coherent/time.h, - unix/coherent/ver40/config.mk, unix/coherent/ver40/getcwd.c, - unix/coherent/ver40/make.sh, unix/coherent/ver40/template.mk, - unix/coherent/ver40/vfprintf.c, unix/coherent/ver42/config.mk, - unix/coherent/ver42/template.mk, unix/coherent/ver42/make.sh, - unix/linux/config.mk, unix/linux/gnu/config.mk, - unix/linux/gnu/template.mk, unix/macosx/config.mk, - unix/macosx/gnu/config.mk, unix/macosx/gnu/template.mk, - unix/solaris/config.mk, unix/solaris/getcwd.c, - unix/solaris/make.sh, unix/solaris/template.mk, - unix/solaris/tempnam.c, unix/solaris/gnu/config.mk, - unix/solaris/gnu/make.sh, unix/solaris/gnu/template.mk, - unix/sysvr1/config.mk, unix/sysvr1/make.sh, unix/sysvr1/putenv.c, - unix/sysvr1/stdlib.h, unix/sysvr1/template.mk, - unix/sysvr1/time.h, unix/sysvr1/vfprintf.c, - unix/sysvr3/config.mk, unix/sysvr3/make.sh, unix/sysvr3/stdlib.h, - unix/sysvr3/template.mk, unix/sysvr3/time.h, - unix/sysvr3/pwd/config.mk, unix/sysvr3/pwd/template.mk, - unix/sysvr3/pwd/getcwd.c, unix/sysvr3/pwd/make.sh, - unix/sysvr4/config.mk, unix/sysvr4/make.sh, - unix/sysvr4/template.mk, unix/xenix/config.mk, - unix/xenix/make.sh, unix/xenix/stdlib.h, unix/xenix/template.mk, - unix/xenix/time.h, unix/xenix/pwd/config.mk, - unix/xenix/pwd/getcwd.c, unix/xenix/pwd/make.sh, - unix/xenix/pwd/template.mk, win95/config.mk, win95/dchdir.c, - win95/startup.h, win95/switchar.c, win95/borland/config.mk, - win95/borland/ruletab.c, win95/borland/sysintf.h, - win95/borland/tempnam.c, win95/borland/bcc50/config.h, - win95/borland/bcc50/config.mk, win95/borland/bcc50/lib.rsp, - win95/borland/bcc50/mk.bat, win95/borland/bcc50/obj.rsp, - win95/borland/bcc50/template.mk, win95/microsft/config.mk, - win95/microsft/optoff.h, win95/microsft/sysintf.h, - win95/microsft/tempnam.c, win95/microsft/vpp40/config.mk, - win95/microsft/vpp40/lib.rsp, win95/microsft/vpp40/runargv.c, - win95/microsft/vpp40/template.mk, win95/microsft/vpp40/tempnam.c, - winnt/config.mk, winnt/dchdir.c, winnt/startup.h, - winnt/borland/config.mk, winnt/borland/ruletab.c, - winnt/borland/sysintf.h, winnt/borland/tempnam.c, - winnt/borland/bcc50/config.h, winnt/borland/bcc50/config.mk, - winnt/borland/bcc50/lib.rsp, winnt/borland/bcc50/mk.bat, - winnt/borland/bcc50/mk.cmd, winnt/borland/bcc50/obj.rsp, - winnt/borland/bcc50/template.mk, winnt/microsft/config.h, - winnt/microsft/config.mk, winnt/microsft/optoff.h, - winnt/microsft/ruletab.c, winnt/microsft/sysintf.h, - winnt/microsft/tempnam.c, winnt/microsft/vpp40/config.mk, - winnt/microsft/vpp40/lib.rsp, winnt/microsft/vpp40/mk.bat, - winnt/microsft/vpp40/mk.cmd, winnt/microsft/vpp40/obj.rsp, - winnt/microsft/vpp40/runargv.c, winnt/microsft/vpp40/template.mk, - winnt/microsft/vpp40/tempnam.c: - - initial import - diff --git a/dmake/INSTALL b/dmake/INSTALL deleted file mode 100755 index d28a9368453d..000000000000 --- a/dmake/INSTALL +++ /dev/null @@ -1,3 +0,0 @@ -All installation and configuration information has been moved to the -readme directory, please refer to the files found there for more -information. diff --git a/dmake/Makefile.am b/dmake/Makefile.am deleted file mode 100755 index 801ee2967c47..000000000000 --- a/dmake/Makefile.am +++ /dev/null @@ -1,64 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -AUTOMAKE_OPTIONS = foreign subdir-objects 1.9 - - -bin_PROGRAMS = dmake -dmake_SOURCES = \ - infer.c make.c stat.c expand.c dmstring.c hash.c dag.c dmake.c\ - path.c imacs.c sysintf.c parse.c getinp.c quit.c state.c\ - dmdump.c macparse.c rulparse.c percent.c function.c - -# set the include path found by configure -INCLUDES = -I$(top_srcdir) -I$(top_builddir) \ - -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ -I$(top_srcdir)/@OS_TYPE@ - -if DBUG -dmake_SOURCES += dbug/dbug/dbug.c -endif - -if OSTYPEUNIX -dmake_SOURCES += unix/arlib.c unix/dcache.c unix/dirbrk.c unix/rmprq.c\ - unix/ruletab.c unix/runargv.c unix/tempnam.c -INCLUDES += -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@/gnu \ - -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ \ - -I$(top_srcdir)/@OS_TYPE@ -endif - -if OSTYPEWIN32 -dmake_SOURCES += win95/dchdir.c win95/switchar.c \ - msdos/dstrlwr.c msdos/arlib.c \ - msdos/dirbrk.c unix/runargv.c \ - unix/rmprq.c \ - win95/microsft/ruletab.c -INCLUDES += -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ -I$(top_srcdir)/@OS_TYPE@ -endif - -SUBDIRS = startup tests - -EXTRA_DIST = NEWS ChangeLog diff --git a/dmake/Makefile.in b/dmake/Makefile.in deleted file mode 100755 index c25cc18ef247..000000000000 --- a/dmake/Makefile.in +++ /dev/null @@ -1,869 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -bin_PROGRAMS = dmake$(EXEEXT) -@DBUG_TRUE@am__append_1 = dbug/dbug/dbug.c -@OSTYPEUNIX_TRUE@am__append_2 = unix/arlib.c unix/dcache.c unix/dirbrk.c unix/rmprq.c\ -@OSTYPEUNIX_TRUE@ unix/ruletab.c unix/runargv.c unix/tempnam.c - -@OSTYPEUNIX_TRUE@am__append_3 = -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@/gnu \ -@OSTYPEUNIX_TRUE@ -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ \ -@OSTYPEUNIX_TRUE@ -I$(top_srcdir)/@OS_TYPE@ - -@OSTYPEWIN32_TRUE@am__append_4 = win95/dchdir.c win95/switchar.c \ -@OSTYPEWIN32_TRUE@ msdos/dstrlwr.c msdos/arlib.c \ -@OSTYPEWIN32_TRUE@ msdos/dirbrk.c unix/runargv.c \ -@OSTYPEWIN32_TRUE@ unix/rmprq.c \ -@OSTYPEWIN32_TRUE@ win95/microsft/ruletab.c - -@OSTYPEWIN32_TRUE@am__append_5 = -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ -I$(top_srcdir)/@OS_TYPE@ -DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/dmakeroot.h.in $(top_srcdir)/configure AUTHORS \ - COPYING ChangeLog INSTALL NEWS compile config.guess config.sub \ - depcomp install-sh missing mkinstalldirs -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = dmakeroot.h -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__dmake_SOURCES_DIST = infer.c make.c stat.c expand.c dmstring.c \ - hash.c dag.c dmake.c path.c imacs.c sysintf.c parse.c getinp.c \ - quit.c state.c dmdump.c macparse.c rulparse.c percent.c \ - function.c dbug/dbug/dbug.c unix/arlib.c unix/dcache.c \ - unix/dirbrk.c unix/rmprq.c unix/ruletab.c unix/runargv.c \ - unix/tempnam.c win95/dchdir.c win95/switchar.c msdos/dstrlwr.c \ - msdos/arlib.c msdos/dirbrk.c win95/microsft/ruletab.c -am__dirstamp = $(am__leading_dot)dirstamp -@DBUG_TRUE@am__objects_1 = dbug/dbug/dbug.$(OBJEXT) -@OSTYPEUNIX_TRUE@am__objects_2 = unix/arlib.$(OBJEXT) \ -@OSTYPEUNIX_TRUE@ unix/dcache.$(OBJEXT) unix/dirbrk.$(OBJEXT) \ -@OSTYPEUNIX_TRUE@ unix/rmprq.$(OBJEXT) unix/ruletab.$(OBJEXT) \ -@OSTYPEUNIX_TRUE@ unix/runargv.$(OBJEXT) unix/tempnam.$(OBJEXT) -@OSTYPEWIN32_TRUE@am__objects_3 = win95/dchdir.$(OBJEXT) \ -@OSTYPEWIN32_TRUE@ win95/switchar.$(OBJEXT) \ -@OSTYPEWIN32_TRUE@ msdos/dstrlwr.$(OBJEXT) \ -@OSTYPEWIN32_TRUE@ msdos/arlib.$(OBJEXT) msdos/dirbrk.$(OBJEXT) \ -@OSTYPEWIN32_TRUE@ unix/runargv.$(OBJEXT) unix/rmprq.$(OBJEXT) \ -@OSTYPEWIN32_TRUE@ win95/microsft/ruletab.$(OBJEXT) -am_dmake_OBJECTS = infer.$(OBJEXT) make.$(OBJEXT) stat.$(OBJEXT) \ - expand.$(OBJEXT) dmstring.$(OBJEXT) hash.$(OBJEXT) \ - dag.$(OBJEXT) dmake.$(OBJEXT) path.$(OBJEXT) imacs.$(OBJEXT) \ - sysintf.$(OBJEXT) parse.$(OBJEXT) getinp.$(OBJEXT) \ - quit.$(OBJEXT) state.$(OBJEXT) dmdump.$(OBJEXT) \ - macparse.$(OBJEXT) rulparse.$(OBJEXT) percent.$(OBJEXT) \ - function.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) -dmake_OBJECTS = $(am_dmake_OBJECTS) -dmake_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I. -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(dmake_SOURCES) -DIST_SOURCES = $(am__dmake_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -AUTOMAKE_OPTIONS = foreign subdir-objects 1.9 -dmake_SOURCES = infer.c make.c stat.c expand.c dmstring.c hash.c dag.c \ - dmake.c path.c imacs.c sysintf.c parse.c getinp.c quit.c \ - state.c dmdump.c macparse.c rulparse.c percent.c function.c \ - $(am__append_1) $(am__append_2) $(am__append_4) - -# set the include path found by configure -INCLUDES = -I$(top_srcdir) -I$(top_builddir) \ - -I$(top_srcdir)/@OS_TYPE@/@OS_VERSION@ \ - -I$(top_srcdir)/@OS_TYPE@ $(am__append_3) $(am__append_5) -SUBDIRS = startup tests -EXTRA_DIST = NEWS ChangeLog -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ - cd $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -dmakeroot.h: $(top_builddir)/config.status $(srcdir)/dmakeroot.h.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -dbug/dbug/$(am__dirstamp): - @$(mkdir_p) dbug/dbug - @: > dbug/dbug/$(am__dirstamp) -dbug/dbug/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) dbug/dbug/$(DEPDIR) - @: > dbug/dbug/$(DEPDIR)/$(am__dirstamp) -dbug/dbug/dbug.$(OBJEXT): dbug/dbug/$(am__dirstamp) \ - dbug/dbug/$(DEPDIR)/$(am__dirstamp) -unix/$(am__dirstamp): - @$(mkdir_p) unix - @: > unix/$(am__dirstamp) -unix/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) unix/$(DEPDIR) - @: > unix/$(DEPDIR)/$(am__dirstamp) -unix/arlib.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/dcache.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/dirbrk.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/rmprq.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/ruletab.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/runargv.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -unix/tempnam.$(OBJEXT): unix/$(am__dirstamp) \ - unix/$(DEPDIR)/$(am__dirstamp) -win95/$(am__dirstamp): - @$(mkdir_p) win95 - @: > win95/$(am__dirstamp) -win95/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) win95/$(DEPDIR) - @: > win95/$(DEPDIR)/$(am__dirstamp) -win95/dchdir.$(OBJEXT): win95/$(am__dirstamp) \ - win95/$(DEPDIR)/$(am__dirstamp) -win95/switchar.$(OBJEXT): win95/$(am__dirstamp) \ - win95/$(DEPDIR)/$(am__dirstamp) -msdos/$(am__dirstamp): - @$(mkdir_p) msdos - @: > msdos/$(am__dirstamp) -msdos/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) msdos/$(DEPDIR) - @: > msdos/$(DEPDIR)/$(am__dirstamp) -msdos/dstrlwr.$(OBJEXT): msdos/$(am__dirstamp) \ - msdos/$(DEPDIR)/$(am__dirstamp) -msdos/arlib.$(OBJEXT): msdos/$(am__dirstamp) \ - msdos/$(DEPDIR)/$(am__dirstamp) -msdos/dirbrk.$(OBJEXT): msdos/$(am__dirstamp) \ - msdos/$(DEPDIR)/$(am__dirstamp) -win95/microsft/$(am__dirstamp): - @$(mkdir_p) win95/microsft - @: > win95/microsft/$(am__dirstamp) -win95/microsft/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) win95/microsft/$(DEPDIR) - @: > win95/microsft/$(DEPDIR)/$(am__dirstamp) -win95/microsft/ruletab.$(OBJEXT): win95/microsft/$(am__dirstamp) \ - win95/microsft/$(DEPDIR)/$(am__dirstamp) -dmake$(EXEEXT): $(dmake_OBJECTS) $(dmake_DEPENDENCIES) - @rm -f dmake$(EXEEXT) - $(LINK) $(dmake_LDFLAGS) $(dmake_OBJECTS) $(dmake_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f dbug/dbug/dbug.$(OBJEXT) - -rm -f msdos/arlib.$(OBJEXT) - -rm -f msdos/dirbrk.$(OBJEXT) - -rm -f msdos/dstrlwr.$(OBJEXT) - -rm -f unix/arlib.$(OBJEXT) - -rm -f unix/dcache.$(OBJEXT) - -rm -f unix/dirbrk.$(OBJEXT) - -rm -f unix/rmprq.$(OBJEXT) - -rm -f unix/ruletab.$(OBJEXT) - -rm -f unix/runargv.$(OBJEXT) - -rm -f unix/tempnam.$(OBJEXT) - -rm -f win95/dchdir.$(OBJEXT) - -rm -f win95/microsft/ruletab.$(OBJEXT) - -rm -f win95/switchar.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmake.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmdump.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmstring.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expand.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/function.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imacs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/macparse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/make.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/percent.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rulparse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysintf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@dbug/dbug/$(DEPDIR)/dbug.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@msdos/$(DEPDIR)/arlib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@msdos/$(DEPDIR)/dirbrk.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@msdos/$(DEPDIR)/dstrlwr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/arlib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/dcache.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/dirbrk.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/rmprq.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/ruletab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/runargv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unix/$(DEPDIR)/tempnam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@win95/$(DEPDIR)/dchdir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@win95/$(DEPDIR)/switchar.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@win95/microsft/$(DEPDIR)/ruletab.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/. $(distdir)/startup - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(PROGRAMS) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -rm -f dbug/dbug/$(DEPDIR)/$(am__dirstamp) - -rm -f dbug/dbug/$(am__dirstamp) - -rm -f msdos/$(DEPDIR)/$(am__dirstamp) - -rm -f msdos/$(am__dirstamp) - -rm -f unix/$(DEPDIR)/$(am__dirstamp) - -rm -f unix/$(am__dirstamp) - -rm -f win95/$(DEPDIR)/$(am__dirstamp) - -rm -f win95/$(am__dirstamp) - -rm -f win95/microsft/$(DEPDIR)/$(am__dirstamp) - -rm -f win95/microsft/$(am__dirstamp) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) dbug/dbug/$(DEPDIR) msdos/$(DEPDIR) unix/$(DEPDIR) win95/$(DEPDIR) win95/microsft/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: install-binPROGRAMS - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) dbug/dbug/$(DEPDIR) msdos/$(DEPDIR) unix/$(DEPDIR) win95/$(DEPDIR) win95/microsft/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-binPROGRAMS clean-generic clean-recursive \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-recursive distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/NEWS b/dmake/NEWS deleted file mode 100755 index bff5353be7bc..000000000000 --- a/dmake/NEWS +++ /dev/null @@ -1,316 +0,0 @@ -News file for the dmake version that is hosted on the OpenOffice.org -cvs. #i# denote issues tracked by the OpenOffice.org issue tracking -system, see . - -Version 4.12 -============ - -Volker Quetschke (vq@openoffice.org) -#i83540# Add parallel building mode, see the MULTI PROCESSING section in -the dmake man page, for native W32 dmake (MSVC 6, and newer and MinGW) -versions. - -Version 4.11 -============ - -Yuri Dario (ydario@openoffice.org) -#i81855, CWS os2port01# Port dmake to OS/2. - -Volker Quetschke (vq@openoffice.org) -#i81252# Add a new control macro SHELLCMDQUOTE that can be used to add -additional characters before and after the command string if the recipe is -executed using a shell. This macro is used to avoid problems with quoting -when using cmd.exe or command.com. - -Volker Quetschke (vq@openoffice.org) -#i81296, i64572# Improve dependency handling of prerequisites. - -Volker Quetschke (vq@openoffice.org) -#i80687, i66751# Allow the use of .PHONY for %-targets. - -Volker Quetschke (vq@openoffice.org) -#i80010, i80009# Fix handling of quoted filenames for :1 :b :d :e :f -and :i macro expansions. - -Volker Quetschke (vq@openoffice.org) -#i78776# Add a new function macro $(normpath[,para] data) and a new macro -extension to normalise the given data or macro content. The normalization -is done element-wise (whitespace separated) on the given data. Quotes can -be used to normalize filenames that contain whitespace characters. -On cygwin the result honors the setting of .WINPATH to determine the output -format. If the optional parameter para is given for the function macro its -expanded value is used to override the .WINPATH setting for the output. - -Version 4.10 (skipped) -====================== - -This number was skipped to avoid confusion with Version 4.1, patch level 0 -which identified itself as "Version 4.10, PL 0". - -Version 4.9 -=========== - -Volker Quetschke (vq@openoffice.org) -#i74700# Add a new special macro OOODMAKEMODE that is used to toggle -OOo build specific behavior. If OOODMAKEMODE is set (i.e. it begins with y) -a possible leading ./ of a path will no longer be removed during target -normalization. - - -Version 4.8 -=========== - -Volker Quetschke (vq@openoffice.org) -#i73499# Add new .WINPATH attribute to generate Windows style paths (with -regular slashes) instead of the default cygwin style (POSIX) paths for -dmake's dynamic macros. - -This attribute is specific for cygwin dmake executables and non-cygwin -environments ignore this attribute. This feature can be used to create DOS -style path parameters for native W32 programs from dynamic macros. - -The windows style paths use regular slashes ('/') instead of the usual -windows backslash ('\') as directory separator to avoid quoting problems -(It still is a cygwin dmake feature!) and cygwin as well as native windows -programs should have no problems using this (c:/foo/bar) path -representation. - -The affected macros are $@, $*, $>, $?, $<, $&, $^ and $(PWD), $(MAKEDIR) -and $(TMD). - -Examples: - Content of $(PWD) without .WINPATH (default): /cygdrive/c/temp - - Content of $(PWD) with .WINPATH set: c:/temp - - -Version 4.7 -=========== - -Volker Quetschke (vq@openoffice.org) -#i71422# Add @@ as a new recipe line property. This new property is a -stronger version of the already existing @ recipe property. The recipe -line and the output (stdout and stderr) of the executed recipe are suppressed -and *NOT* shown on the terminal. -Note: Previously the second @ sign was ignored, that means that using this -new feature doesn't break backwards compatibility but the command output -is naturally not suppressed in older versions. - -Volker Quetschke (vq@openoffice.org) -#i70210# Dmake now works correctly with empty dynamic prerequisites. - -Volker Quetschke (vq@openoffice.org) -#i70168# Improve dmakes handling of literal $ characters in target and -prerequisite filenames. This was not working before and is working now -but the use of literal $ characters in filenames is still strongly -discouraged. See the man page for details. - -Volker Quetschke (vq@openoffice.org) -#i69742# Normalize the pathnames of targets and prerequisites to the shortest -(or most natural, see below for the cygwin case) representation. -Now "./foo", "bar/../foo" and foo are recognized as the same file. - -For cygwin this allows the use of target and prerequisite names with DOS -like pathnames with drive letters (with / and \ as possible path seperators) -and cygwin POSIX pathnames. As the internal format uses cygwin's natural -POSIX representation runtime macros will result in POSIX paths. - -Version 4.6 -=========== - -Volker Quetschke (vq@openoffice.org) -#i67589# Implement the internal dmake commands noop and echo. These commands -were already existing for the native Windows version but only partially -documented. - -Volker Quetschke (vq@openoffice.org) -#i67166# Issue a warning when a previously unset macro (i.e. assumed to be -empty) is used and later set to a different value. - -Volker Quetschke (vq@openoffice.org) -#i66567# Issue a warning when .SUFFIXES is used. This special target had no -special meaning (anymore?) and was always (at least since version 4.2) -ignored. - -Volker Quetschke (vq@openoffice.org) -#i67025# Fix a bug that was introduced in dmake 4.5 and led dmake to falsely -issue an error if a %-target was defined with the .SILENT attribute and dmake -was started with the -vr (included in -v) verbose flag. - -Version 4.5 -=========== - -Volker Quetschke (vq@openoffice.org) -#i66385# Fix the handling of . targets. Always treat these targets -as meta targets regardless of the AUGMAKE (-A) status. Previously this was -enabled when the AUGMAKE was *not* set to 'yes' or the -A switch was given. - -#i66083# We now stop with an error if AUGMAKE meta targets and regular -targets are used in one rule definition. As the syntax of these target -definitions is slightly different this hints to an error in the makefile, -most probably a misspelled attribute or special target. - -#i48087#, #i64869# The parsing of %-target definitions was fixed and -enhanced. Prior to dmake 4.5 only one %-target per target-definition worked -reliably, now this works well, but to help projects that still use older -versions a warning was added. - -It's not very nice to issue a warning for something that works now but -didn't before. This was only done to aid development and will probably -be removed in future versions. - -There was, and still is, that for a bug in dmake for %-targets with more -than one (not indirect) prerequisite only the first prerequisite is used. -This will be fixed in future versions but until this happens we issue a -warning that prerequisites are ignored. - -#i65122# The :| rule operator was handled differently from what the man -page said. The man page was adapted to reflect reality. Changing dmakes -behavior to match the man page would have introduced a lot of compatibility -issues. - -Version 4.4 -=========== - -2006/02/03 Volker Quetschke (vq@openoffice.org) -#i61170# Fix the TMD macro. Up to now the TMD macro appended a directory -separator if it ended in "..", but most of the time it was not set correctly -at all and/or without a trailing slash. -Note: If your application relies on TMD please check the dmake manual page -for its definition and fix your makefiles if needed. - -2006/02/01 Volker Quetschke (vq@openoffice.org) -#i60948# Add -m option family to generate timing information for targets -and/or recipes. - -2005/09/19 Volker Quetschke (vq@openoffice.org) -#i53148# Fix $(shell ...) macro picking up the output of earlier -recipe lines in parallel builds. -#i54766# Ensure that all previous recipe lines to a recipe -line containing a $(shell ...) macro have finished before executing -the macro in parallel builds. - -2005/06/01 Volker Quetschke (vq@openoffice.org) -#i39248# Add a testsuite to test some dmake features (only for autotools -builds). Start the tests with "make check". - -2005/04/21 Volker Quetschke (vq@openoffice.org) -#i47851# Increase the version number to 4.4-cvs and slightly rearrange the -output of "dmake -V". -Remove the hard-coded (in autotools builds) OS macro. It had the wrong value -to be usable with the startup/*.mk and is not mentioned in the man page. -Clean up configure.in and friends. - -2005/04/20 Volker Quetschke (vq@openoffice.org) -#i43310# Fix percent (%) rules to recognize prerequisites that are defined -with the multiple target rule operator (::). -This implicitly fixes the similar problem for .. targets. - -2005/04/16 Volker Quetschke (vq@openoffice.org) -#i46987# Fix the documentation of the $(mktmp ...) function macro. This is -not necessarily a new feature as the macro works this way since dmake was -imported into the OpenOffice.org cvs but mentioning it here might help users -of dmake upgrading from very old versions. - -Add the "map escape codes" $(...:m) macro expansion that allows to expand -escape codes in macros. It can also be used to reproduce the former (pre -OpenOffice.org cvs) $(mktmp ...) behavior. - -2005/04/10 Volker Quetschke (vq@openoffice.org) -#i43252# Introduce the macro ABSMAKECMD that's value for a native Windows -dmake executable (compiled with MS Visual C++ or MinGW) is the absolute -filename and NULL for other operating systems or dmake build with other -compilers. -If DMAKEROOT is not changed and only for native Windows dmake versions the -value of DMAKEROOT now defaults to "$(ABSMAKECMD:d)startup". -This allows to use the startup files from the startup directory from the -same location where the dmake.exe is located. - -2005/04/08 Steve Hay (shay@openoffice.org) -#i43241# Fix build problems with VC++ (in non-OOo environment) and fix -the dmake makefiles so that dmake can rebuild itself (VC++ only). - -2005/03/14 Volker Quetschke (vq@openoffice.org) -#i44959# Fix problems when a continued line is followed by an empty -or comment line. - -2005/03/13 Volker Quetschke (vq@openoffice.org) -#i37053# Fix function macro problems with continued lines. - -2004/11/23 Volker Quetschke (vq@openoffice.org) -#i37491# Predefine dmake macro containing one space (SPACECHAR). - -2004/11/21 Volker Quetschke (vq@openoffice.org) -#i36027# Improve function macro parameter parsing. - -Version 4.3 -=========== - -2004/10/07 Volker Quetschke (vq@openoffice.org) -#i34746# Fix timestamp of phony targets with prerequisites. - -2004/07/11 Volker Quetschke (vq@openoffice.org) -#i31255# Add verbose recipe echoing option (-vr). - -2004/07/06 Volker Quetschke (vq@openoffice.org) -#i30779# Fix to allow dmake to echo recipe lines when inference is used -to create files that are to be read by .INCLUDE. - -2004/04/01 Michael Meeks (mmeeks@openoffice.org) -#i27319#, #i27981# Don't handle environment variables that begin with a -'!', they are used by Cygwin internally and confuse dmake. - -2004/01/09 Dan Williams (fa@openoffice.org) -#i17992# Allows the nesting of expressions and a much more complex syntax -for dmake. It is now possible to nest expressions with () and any -combination of || and &&. -Example: -.IF (("$(OS)"=="MACOSX"&&"$(COM)"=="GCC")||"$(OS)"=="LINUX") && "$(GUIBASE)"=="unx" -... -.ENDIF - -2003/10/19 Ken Foskey (waratah@openoffice.org) -#i20504# Correct processing of .LIBRARY targets. - -2003/10/08 Chris Halls (haggai@openoffice.org) -#i7800# Fix tempnam security problem. - -2003/03/08 Volker Quetschke (vq@openoffice.org) -#i10910# Use the build-in tempnam function for MS VC6. - -2003/03/05 Volker Quetschke (vq@openoffice.org) -#i11861# Switch to newer autotools autoconf 2.5x and automake 1.5 and -add MinGW and MSVC to the configure buildable targets. - -2002/10/11 Ken Foskey (waratah@openoffice.org) -Fix the "lost a child" problem. (Part II) - -2002/10/04 Ken Foskey (waratah@openoffice.org) -Rework the configure process. - -2002/04/10 Hans-Joachim Lankenau (hjs@openoffice.org) -Don't search INCLUDEDIRS if the filename to be included starts at fs-root. - -2001/05/29 Patrick Luby (pluby@openoffice.org) -Added forceful exit to avoid infinite loop that sometimes occurs when -there is a fatal error. Lost a child problem. (Part I) - -Version 4.2 -=========== -(Note, the dmake -V output was not changed and still said -"Version 4.10, PL 0". This probably should have been 4.1) - -2001/04/20 Martin Hollmichel (mh@openoffice.org) -First autoconfiscation of dmake. - -2001/02/13 Hans-Joachim Lankenau (hjs@openoffice.org) -Fix for leaving tmpfiles when building group targets. - -2000/09/22 Jens-Heiner Rechtien (hr@openoffice.org) -Initial import of dmake into OpenOffice.org cvs - -before 2000/09/22 ? -Add smaller/greater arithmetic for .IF conditions. - -1999/03/18 Hans-Joachim Lankenau (hjs@openoffice.org) -Implement boolean expression "or". diff --git a/dmake/acinclude.m4 b/dmake/acinclude.m4 deleted file mode 100755 index 6b7e9291c5f9..000000000000 --- a/dmake/acinclude.m4 +++ /dev/null @@ -1,3 +0,0 @@ -## -*- autoconf -*- - -dnl Currently no local macros are needed. diff --git a/dmake/aclocal.m4 b/dmake/aclocal.m4 deleted file mode 100755 index 00176eea12b8..000000000000 --- a/dmake/aclocal.m4 +++ /dev/null @@ -1,908 +0,0 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.6])]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 7 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 3 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 12 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.58])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# -# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -# created by `make install' are always world readable, even if the -# installer happens to have an overly restrictive umask (e.g. 077). -# This was a mistake. There are at least two reasons why we must not -# use `-m 0755': -# - it causes special bits like SGID to be ignored, -# - it may be too restrictive (some setups expect 775 directories). -# -# Do not use -m 0755 and let people choose whatever they expect by -# setting umask. -# -# We cannot accept any implementation of `mkdir' that recognizes `-p'. -# Some implementations (such as Solaris 8's) are not thread-safe: if a -# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -# concurrently, both version can detect that a/ is missing, but only -# one can create it and the other will error out. Consequently we -# restrict ourselves to GNU make (using the --version option ensures -# this.) -AC_DEFUN([AM_PROG_MKDIR_P], -[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi -AC_SUBST([mkdir_p])]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([acinclude.m4]) diff --git a/dmake/alloc.h b/dmake/alloc.h deleted file mode 100644 index 876284de06a8..000000000000 --- a/dmake/alloc.h +++ /dev/null @@ -1,59 +0,0 @@ -/* RCS $Id: alloc.h,v 1.1.1.1 2000-09-22 15:33:25 hr Exp $ --- --- SYNOPSIS --- Macros for allocating memory. --- --- DESCRIPTION --- A somewhat nicer interface to malloc and calloc. --- Here we standardise the calling convention with a common macro --- interface. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef ALLOC_h -#define ALLOC_h - -/* DO NOT CHANGE these! These are the definitions that the make source - * uses for allocating memory. They must be defined for make to compile - * properly. - */ - -/* This is the only place that we define size_t now. This should be more - * than enough! */ -#if __STDC__ -#else -# if !defined(_TYPES_) && !defined(M_XENIX) && !defined(atarist) && !defined(_MPW) && !defined(_SIZE_T) && !defined(_SIZE_T_) && !defined(__size_t) && !defined(_WIN32) -# if defined(MSDOS) || defined(__MSDOS__) -# undef size_t - typedef unsigned size_t; -# else - typedef long size_t; -# endif -# endif -#endif - -#define usizeof(t) (size_t)sizeof(t) - -#define FREE(p) free((char*)(p)) -#define MALLOC(n, t) (t*) malloc((unsigned int)(n)*usizeof(t)) -#define CALLOC(n, t) (t*) calloc((unsigned int)(n), usizeof(t)) - -#define TALLOC(p, n, t) if ((p = CALLOC(n, t)) == (t*)0) {No_ram();} - -#endif - diff --git a/dmake/autogen.sh b/dmake/autogen.sh deleted file mode 100755 index 9a803486cad4..000000000000 --- a/dmake/autogen.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -ORIGDIR=`pwd` -cd $srcdir -PROJECT=dmake -TEST_TYPE=-f -FILE=make.c - -DIE=0 - -# cvs may leave some files unwritable -(chmod -Rf u+rw $srcdir) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have owner permissions for all files and subdirectories" - echo "in $srcdir" - DIE=1 -} - -(autoconf --version ) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile $PROJECT." - DIE=1 -} - -(automake --version ) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have automake installed to compile $PROJECT." - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -test $TEST_TYPE $FILE || { - echo "You must run this script in the top-level $PROJECT directory" - exit 1 -} - -if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the $0 command line." -fi - -# needed when autotools version changed -aclocal - -# After the first run of autoconf a configure file exists. -# 'configure --enable-maintainer-mode' will start all other needed autotool helpers. -autoconf - -#automake -a -c -f - -cd $ORIGDIR - -$srcdir/configure --enable-maintainer-mode --prefix=/usr/local "$@" - -echo -echo "Now execute GNU make to compile $PROJECT." diff --git a/dmake/compile b/dmake/compile deleted file mode 100755 index 1b1d23216958..000000000000 --- a/dmake/compile +++ /dev/null @@ -1,142 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dmake/config.guess b/dmake/config.guess deleted file mode 100755 index 917bbc50f36a..000000000000 --- a/dmake/config.guess +++ /dev/null @@ -1,1463 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-07-08' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - *86) UNAME_PROCESSOR=i686 ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/dmake/config.h.in b/dmake/config.h.in deleted file mode 100644 index ed639aa99b03..000000000000 --- a/dmake/config.h.in +++ /dev/null @@ -1,187 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -/* Build info string */ -#undef BUILDINFO - -/* Assume case insensitive file system. */ -#undef CASE_INSENSITIVE_FS - -/* Enables the use of spawn instead of fork/exec if it is supported. */ -#undef ENABLE_SPAWN - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `getcwd' function. */ -#undef HAVE_GETCWD - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the `getwd' function. */ -#undef HAVE_GETWD - -/* Define to 1 if the system has the type `int16'. */ -#undef HAVE_INT16 - -/* Define to 1 if the system has the type `int32'. */ -#undef HAVE_INT32 - -/* Define to 1 if the system has the type `int8'. */ -#undef HAVE_INT8 - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mkstemp' function. */ -#undef HAVE_MKSTEMP - -/* Define to 1 if you have the header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define to 1 if you have the `setenv' function. */ -#undef HAVE_SETENV - -/* Define to 1 if you have the `settz' function. */ -#undef HAVE_SETTZ - -/* Define to 1 if you have the `setvbuf' function. */ -#undef HAVE_SETVBUF - -/* Define to 1 if you have the header file. */ -#undef HAVE_SPAWN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlwr' function. */ -#undef HAVE_STRLWR - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the `tempnam' function. */ -#undef HAVE_TEMPNAM - -/* Define to 1 if you have the `tzset' function. */ -#undef HAVE_TZSET - -/* Define to 1 if the system has the type `uint16'. */ -#undef HAVE_UINT16 - -/* Define to 1 if the system has the type `uint32'. */ -#undef HAVE_UINT32 - -/* Define to 1 if the system has the type `uint8'. */ -#undef HAVE_UINT8 - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTIME_H - -/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL - -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_WAIT_H - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `short', as computed by sizeof. */ -#undef SIZEOF_SHORT - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t diff --git a/dmake/config.sub b/dmake/config.sub deleted file mode 100755 index 1c366dfde9ab..000000000000 --- a/dmake/config.sub +++ /dev/null @@ -1,1579 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-07-08' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | ms1 \ - | msp430 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m32c) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | ms1-* \ - | msp430-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - m32c-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/dmake/configure b/dmake/configure deleted file mode 100755 index 7e6d05ab8a65..000000000000 --- a/dmake/configure +++ /dev/null @@ -1,9000 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for dmake 4.12. -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='dmake' -PACKAGE_TARNAME='dmake' -PACKAGE_VERSION='4.12' -PACKAGE_STRING='dmake 4.12' -PACKAGE_BUGREPORT='' - -ac_unique_file="man/dmake.tf" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_list= -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -build -build_cpu -build_vendor -build_os -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -MAINTAINER_MODE_TRUE -MAINTAINER_MODE_FALSE -MAINT -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -CPP -LN_S -RANLIB -OSTYPEUNIX_TRUE -OSTYPEUNIX_FALSE -OSTYPEWIN32_TRUE -OSTYPEWIN32_FALSE -OS_TYPE -OS_VERSION -DBUG_TRUE -DBUG_FALSE -DMAKEROOT_H_LINE1 -GREP -EGREP -LIBOBJS -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute directory names. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures dmake 4.12 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/dmake] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of dmake 4.12:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-dbug: Enable build with dbug macros. - - --enable-spawn: Enables the use of spawn instead of fork/exec - if it is supported. - - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -dmake configure 4.12 -generated by GNU Autoconf 2.61 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by dmake $as_me 4.12, which was -generated by GNU Autoconf 2.61. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -fi -shift -for ac_site_file -do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -ac_header_list="$ac_header_list utime.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -BUILDINFO="$build" - - -am__api_version="1.9" -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='dmake' - VERSION='4.12' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - -{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } - - -if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } - -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -if test "x$CC" != xcc; then - { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 -echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 -echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; } -fi -set dummy $CC; ac_cc=`echo $2 | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define NO_MINUS_C_MINUS_O 1 -_ACEOF - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - - -ac_config_headers="$ac_config_headers config.h" - - -# Check whether --enable-dbug was given. -if test "${enable_dbug+set}" = set; then - enableval=$enable_dbug; -fi - - -# Check whether --enable-spawn was given. -if test "${enable_spawn+set}" = set; then - enableval=$enable_spawn; -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - - -{ echo "$as_me:$LINENO: checking the operating system" >&5 -echo $ECHO_N "checking the operating system... $ECHO_C" >&6; } - -_os=`uname` - -if test `echo $_os | $AWK -F_ '{ print $1 }'` = "CYGWIN"; then - if test "$GCC" = "yes"; then - if test `$CC -dumpmachine | $AWK -F- '{ print $3 }'` = "mingw32"; then - _os="MINGW" - else - _os="CYGWIN" - fi - else - _os="MSVC6" - fi -fi - - -## At the moment all except mingw builds are OS_TYPE unix -OS_TYPE=unix - -## The following allows like systems to share settings this is not meant to -## Imply that these OS are the same thing. -case "$_os" in - "OS/2") - OS_VERSION=os2 - CASE_INSENSITIVE_FS=true - ;; - "SunOS") - OS_VERSION=solaris - ;; - Linux|GNU|GNU/*) - OS_VERSION=linux - ;; - "CYGWIN") - OS_VERSION=cygwin - CASE_INSENSITIVE_FS=true - ;; - "MINGW") - OS_VERSION=mingw - OS_TYPE=winnt - BUILDINFO="Windows / MinGW" - CASE_INSENSITIVE_FS=true - ;; - "MSVC6") - OS_VERSION=msvc6 - OS_TYPE=winnt - BUILDINFO="Windows / MS Visual C++" - CASE_INSENSITIVE_FS=true - ;; - "Darwin") - OS_VERSION=macosx -# MacOSX is not garuanteed to be case insensitive, assume it's case -# sensitive, see issue 73661 for details. - ;; - "FreeBSD") - OS_VERSION=linux - ;; - "OSF1") - OS_VERSION=sysvr4 - ;; - "NetBSD") - OS_VERSION=linux - ;; - "IRIX") - OS_VERSION=sysvr4 - ;; - "IRIX64") - OS_VERSION=sysvr4 - ;; - "AIX") - OS_VERSION=sysvr4 - ;; - "OpenBSD") - OS_VERSION=linux - ;; - *) - { { echo "$as_me:$LINENO: error: $_os operating system is not suitable to build dmake!" >&5 -echo "$as_me: error: $_os operating system is not suitable to build dmake!" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -{ echo "$as_me:$LINENO: result: checked ($_os)" >&5 -echo "${ECHO_T}checked ($_os)" >&6; } - - - -if test x$OS_TYPE = xunix; then - OSTYPEUNIX_TRUE= - OSTYPEUNIX_FALSE='#' -else - OSTYPEUNIX_TRUE='#' - OSTYPEUNIX_FALSE= -fi - - - -if test x$OS_TYPE = xwinnt; then - OSTYPEWIN32_TRUE= - OSTYPEWIN32_FALSE='#' -else - OSTYPEWIN32_TRUE='#' - OSTYPEWIN32_FALSE= -fi - - - - - -cat >>confdefs.h <<_ACEOF -#define BUILDINFO "$BUILDINFO" -_ACEOF - - -if test x$CASE_INSENSITIVE_FS = xtrue; then - -cat >>confdefs.h <<\_ACEOF -#define CASE_INSENSITIVE_FS 1 -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking whether to do a build with dbug macros" >&5 -echo $ECHO_N "checking whether to do a build with dbug macros... $ECHO_C" >&6; } -if test -n "$enable_dbug" && test "$enable_dbug" != "no"; then - DBUG="1" - CPPFLAGS="$CPPFLAGS -DDBUG=1 -I\$(top_srcdir)/dbug/dbug" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - DBUG="" - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test -n "$DBUG"; then - DBUG_TRUE= - DBUG_FALSE='#' -else - DBUG_TRUE='#' - DBUG_FALSE= -fi - - -{ echo "$as_me:$LINENO: checking if spawn shall be used" >&5 -echo $ECHO_N "checking if spawn shall be used... $ECHO_C" >&6; } -if test -n "$enable_spawn" && test "$enable_spawn" != "no"; then - -cat >>confdefs.h <<\_ACEOF -#define ENABLE_SPAWN 1 -_ACEOF - - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -eval dmakerootprefix="$datarootdir" -# $datadir is ${prefix}/share if not overridden -test "x$dmakerootprefix" != "x${dmakerootprefix##NONE}" && dmakerootprefix=${ac_default_prefix}/share - -if test x$OS_TYPE = xunix; then -DMAKEROOT_H_LINE1='"DMAKEROOT := '${dmakerootprefix}'/startup",' -fi - - -ac_config_files="$ac_config_files dmakeroot.h Makefile startup/config.mk startup/Makefile startup/unix/Makefile startup/unix/linux/Makefile startup/unix/solaris/Makefile startup/unix/macosx/Makefile startup/unix/sysvr4/Makefile startup/unix/cygwin/Makefile startup/unix/os2/Makefile startup/winnt/Makefile startup/winnt/mingw/Makefile startup/winnt/msvc6/Makefile tests/Makefile" - - - -#AM_PROG_LIBTOOL - - - - - - - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_search_opendir=$ac_res -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_search_opendir=$ac_res -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - - - - - - -for ac_header in fcntl.h limits.h strings.h sys/types.h sys/stat.h unistd.h errno.h utime.h spawn.h wait.h sys/wait.h sys/time.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for off_t" >&5 -echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } -if test "${ac_cv_type_off_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef off_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_off_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_off_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -echo "${ECHO_T}$ac_cv_type_off_t" >&6; } -if test $ac_cv_type_off_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define off_t long int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef size_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for int8" >&5 -echo $ECHO_N "checking for int8... $ECHO_C" >&6; } -if test "${ac_cv_type_int8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef int8 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_int8=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_int8=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_int8" >&5 -echo "${ECHO_T}$ac_cv_type_int8" >&6; } -if test $ac_cv_type_int8 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT8 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for uint8" >&5 -echo $ECHO_N "checking for uint8... $ECHO_C" >&6; } -if test "${ac_cv_type_uint8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef uint8 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_uint8=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_uint8=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_uint8" >&5 -echo "${ECHO_T}$ac_cv_type_uint8" >&6; } -if test $ac_cv_type_uint8 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT8 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for int16" >&5 -echo $ECHO_N "checking for int16... $ECHO_C" >&6; } -if test "${ac_cv_type_int16+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef int16 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_int16=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_int16=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_int16" >&5 -echo "${ECHO_T}$ac_cv_type_int16" >&6; } -if test $ac_cv_type_int16 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT16 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for uint16" >&5 -echo $ECHO_N "checking for uint16... $ECHO_C" >&6; } -if test "${ac_cv_type_uint16+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef uint16 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_uint16=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_uint16=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_uint16" >&5 -echo "${ECHO_T}$ac_cv_type_uint16" >&6; } -if test $ac_cv_type_uint16 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT16 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for int32" >&5 -echo $ECHO_N "checking for int32... $ECHO_C" >&6; } -if test "${ac_cv_type_int32+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef int32 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_int32=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_int32=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_int32" >&5 -echo "${ECHO_T}$ac_cv_type_int32" >&6; } -if test $ac_cv_type_int32 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT32 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for uint32" >&5 -echo $ECHO_N "checking for uint32... $ECHO_C" >&6; } -if test "${ac_cv_type_uint32+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef uint32 ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_uint32=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_uint32=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_uint32" >&5 -echo "${ECHO_T}$ac_cv_type_uint32" >&6; } -if test $ac_cv_type_uint32 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT32 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_time=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for short" >&5 -echo $ECHO_N "checking for short... $ECHO_C" >&6; } -if test "${ac_cv_type_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef short ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_short=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_short=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 -echo "${ECHO_T}$ac_cv_type_short" >&6; } - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ echo "$as_me:$LINENO: checking size of short" >&5 -echo $ECHO_N "checking size of short... $ECHO_C" >&6; } -if test "${ac_cv_sizeof_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_short=$ac_lo;; -'') if test "$ac_cv_type_short" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (short) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (short) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_short=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef short ac__type_sizeof_; -static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } -static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (ac__type_sizeof_))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%ld\n", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%lu\n", i); - } - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_short=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_short" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (short) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (short) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_short=0 - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 -echo "${ECHO_T}$ac_cv_sizeof_short" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SHORT $ac_cv_sizeof_short -_ACEOF - - -{ echo "$as_me:$LINENO: checking for int" >&5 -echo $ECHO_N "checking for int... $ECHO_C" >&6; } -if test "${ac_cv_type_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef int ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_int=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_int=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 -echo "${ECHO_T}$ac_cv_type_int" >&6; } - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ echo "$as_me:$LINENO: checking size of int" >&5 -echo $ECHO_N "checking size of int... $ECHO_C" >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_int=$ac_lo;; -'') if test "$ac_cv_type_int" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_int=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef int ac__type_sizeof_; -static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } -static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (ac__type_sizeof_))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%ld\n", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%lu\n", i); - } - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_int=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_int" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_int=0 - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 -echo "${ECHO_T}$ac_cv_sizeof_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF - - -{ echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6; } -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef long ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_long=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6; } - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') if test "$ac_cv_type_long" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_long=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - typedef long ac__type_sizeof_; -static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } -static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (ac__type_sizeof_))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%ld\n", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) - return 1; - fprintf (f, "%lu\n", i); - } - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_long" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_long=0 - fi -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - - -{ echo "$as_me:$LINENO: checking for working memcmp" >&5 -echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_memcmp_working=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Some versions of memcmp are not 8-bit clean. */ - char c0 = '\100', c1 = '\200', c2 = '\201'; - if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) - return 1; - - /* The Next x86 OpenStep bug shows up only when comparing 16 bytes - or more and with at least one buffer not starting on a 4-byte boundary. - William Lewis provided this test program. */ - { - char foo[21]; - char bar[21]; - int i; - for (i = 0; i < 4; i++) - { - char *a = foo + i; - char *b = bar + i; - strcpy (a, "--------01111111"); - strcpy (b, "--------10000000"); - if (memcmp (a, b, 16) >= 0) - return 1; - } - return 0; - } - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_memcmp_working=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_memcmp_working=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 -echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; } -test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in - *" memcmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" - ;; -esac - - -{ echo "$as_me:$LINENO: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_signal=int -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_signal=void -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - - - - - -for ac_header in $ac_header_list -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - -{ echo "$as_me:$LINENO: checking whether utime accepts a null argument" >&5 -echo $ECHO_N "checking whether utime accepts a null argument... $ECHO_C" >&6; } -if test "${ac_cv_func_utime_null+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f conftest.data; >conftest.data -# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. -if test "$cross_compiling" = yes; then - ac_cv_func_utime_null=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - #ifdef HAVE_UTIME_H - # include - #endif -int -main () -{ -struct stat s, t; - return ! (stat ("conftest.data", &s) == 0 - && utime ("conftest.data", 0) == 0 - && stat ("conftest.data", &t) == 0 - && t.st_mtime >= s.st_mtime - && t.st_mtime - s.st_mtime < 120); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_utime_null=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_utime_null=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_utime_null" >&5 -echo "${ECHO_T}$ac_cv_func_utime_null" >&6; } -if test $ac_cv_func_utime_null = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UTIME_NULL 1 -_ACEOF - -fi -rm -f conftest.data - - -for ac_func in vprintf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -{ echo "$as_me:$LINENO: checking for _doprnt" >&5 -echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6; } -if test "${ac_cv_func__doprnt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define _doprnt to an innocuous variant, in case declares _doprnt. - For example, HP-UX 11i declares gettimeofday. */ -#define _doprnt innocuous__doprnt - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef _doprnt - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char _doprnt (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub__doprnt || defined __stub____doprnt -choke me -#endif - -int -main () -{ -return _doprnt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func__doprnt=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func__doprnt=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 -echo "${ECHO_T}$ac_cv_func__doprnt" >&6; } -if test $ac_cv_func__doprnt = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DOPRNT 1 -_ACEOF - -fi - -fi -done - - - - - - - - - - - -for ac_func in getcwd getwd strerror setvbuf tzset settz mkstemp tempnam gettimeofday setenv -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -# Usefull, but special to newlib/MSVC - -for ac_func in strlwr -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${OSTYPEUNIX_TRUE}" && test -z "${OSTYPEUNIX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"OSTYPEUNIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"OSTYPEUNIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${OSTYPEWIN32_TRUE}" && test -z "${OSTYPEWIN32_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"OSTYPEWIN32\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"OSTYPEWIN32\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${DBUG_TRUE}" && test -z "${DBUG_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"DBUG\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"DBUG\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by dmake $as_me 4.12, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -dmake config.status 4.12 -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "dmakeroot.h") CONFIG_FILES="$CONFIG_FILES dmakeroot.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "startup/config.mk") CONFIG_FILES="$CONFIG_FILES startup/config.mk" ;; - "startup/Makefile") CONFIG_FILES="$CONFIG_FILES startup/Makefile" ;; - "startup/unix/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/Makefile" ;; - "startup/unix/linux/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/linux/Makefile" ;; - "startup/unix/solaris/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/solaris/Makefile" ;; - "startup/unix/macosx/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/macosx/Makefile" ;; - "startup/unix/sysvr4/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/sysvr4/Makefile" ;; - "startup/unix/cygwin/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/cygwin/Makefile" ;; - "startup/unix/os2/Makefile") CONFIG_FILES="$CONFIG_FILES startup/unix/os2/Makefile" ;; - "startup/winnt/Makefile") CONFIG_FILES="$CONFIG_FILES startup/winnt/Makefile" ;; - "startup/winnt/mingw/Makefile") CONFIG_FILES="$CONFIG_FILES startup/winnt/mingw/Makefile" ;; - "startup/winnt/msvc6/Makefile") CONFIG_FILES="$CONFIG_FILES startup/winnt/msvc6/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim -MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim -MAINT!$MAINT$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -CPP!$CPP$ac_delim -LN_S!$LN_S$ac_delim -RANLIB!$RANLIB$ac_delim -OSTYPEUNIX_TRUE!$OSTYPEUNIX_TRUE$ac_delim -OSTYPEUNIX_FALSE!$OSTYPEUNIX_FALSE$ac_delim -OSTYPEWIN32_TRUE!$OSTYPEWIN32_TRUE$ac_delim -OSTYPEWIN32_FALSE!$OSTYPEWIN32_FALSE$ac_delim -OS_TYPE!$OS_TYPE$ac_delim -OS_VERSION!$OS_VERSION$ac_delim -DBUG_TRUE!$DBUG_TRUE$ac_delim -DBUG_FALSE!$DBUG_FALSE$ac_delim -DMAKEROOT_H_LINE1!$DMAKEROOT_H_LINE1$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed 's/|#_!!_#|//g' >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then replace #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| . 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - - diff --git a/dmake/configure.in b/dmake/configure.in deleted file mode 100755 index c903d94faab8..000000000000 --- a/dmake/configure.in +++ /dev/null @@ -1,220 +0,0 @@ - -dnl Process this file with autoconf to produce a configure script. -AC_PREREQ(2.59) - -dnl Set the package version -dnl Don't forget to update the PACKAGE, VERSION and BUILDINFO macros in -dnl dmake/win95/microsft/config.h to keep the native Microsoft C++ -dnl compiler build happy. -AC_INIT(dmake, 4.12) -AC_CANONICAL_BUILD -BUILDINFO="$build" - -AC_CONFIG_SRCDIR(man/dmake.tf) -AM_INIT_AUTOMAKE - -AM_MAINTAINER_MODE -dnl Use this instead of AC_PROG_.. version -AM_PROG_CC_C_O - -AC_CONFIG_HEADER(config.h) - -dnl Extra parameters -AC_ARG_ENABLE(dbug, -[ --enable-dbug: Enable build with dbug macros. -],,) - -AC_ARG_ENABLE(spawn, -[ --enable-spawn: Enables the use of spawn instead of fork/exec - if it is supported. -],,) -dnl Checks for programs. -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MAKE_SET -AC_PROG_RANLIB - -dnl Checks for utilities. -AC_PROG_AWK - -dnl Checks for OS -AC_MSG_CHECKING([the operating system]) - -_os=`uname` - -if test `echo $_os | $AWK -F_ '{ print $1 }'` = "CYGWIN"; then - if test "$GCC" = "yes"; then - if test `$CC -dumpmachine | $AWK -F- '{ print $3 }'` = "mingw32"; then - _os="MINGW" - else - _os="CYGWIN" - fi - else - _os="MSVC6" - fi -fi - - -## At the moment all except mingw builds are OS_TYPE unix -OS_TYPE=unix - -## The following allows like systems to share settings this is not meant to -## Imply that these OS are the same thing. -case "$_os" in - "OS/2") - OS_VERSION=os2 - CASE_INSENSITIVE_FS=true - ;; - "SunOS") - OS_VERSION=solaris - ;; - Linux|GNU|GNU/*) - OS_VERSION=linux - ;; - "CYGWIN") - OS_VERSION=cygwin - CASE_INSENSITIVE_FS=true - ;; - "MINGW") - OS_VERSION=mingw - OS_TYPE=winnt - BUILDINFO="Windows / MinGW" - CASE_INSENSITIVE_FS=true - ;; - "MSVC6") - OS_VERSION=msvc6 - OS_TYPE=winnt - BUILDINFO="Windows / MS Visual C++" - CASE_INSENSITIVE_FS=true - ;; - "Darwin") - OS_VERSION=macosx -# MacOSX is not garuanteed to be case insensitive, assume it's case -# sensitive, see issue 73661 for details. - ;; - "FreeBSD") - OS_VERSION=linux - ;; - "OSF1") - OS_VERSION=sysvr4 - ;; - "NetBSD") - OS_VERSION=linux - ;; - "IRIX") - OS_VERSION=sysvr4 - ;; - "IRIX64") - OS_VERSION=sysvr4 - ;; - "AIX") - OS_VERSION=sysvr4 - ;; - "OpenBSD") - OS_VERSION=linux - ;; - *) - AC_MSG_ERROR([$_os operating system is not suitable to build dmake!]) - ;; -esac - -AC_MSG_RESULT([checked ($_os)]) - -dnl Set OS dependent settings -AM_CONDITIONAL(OSTYPEUNIX, test x$OS_TYPE = xunix) -AM_CONDITIONAL(OSTYPEWIN32, test x$OS_TYPE = xwinnt) - -AC_SUBST(OS_TYPE) -AC_SUBST(OS_VERSION) -AC_DEFINE_UNQUOTED(BUILDINFO, "$BUILDINFO", [Build info string]) - -if test x$CASE_INSENSITIVE_FS = xtrue; then -dnl Mac OSX with HFS+ and Windows FS are case insensitive (although case -dnl preserving). -AC_DEFINE(CASE_INSENSITIVE_FS, 1, [Assume case insensitive file system.]) -fi - -dnl ============================================= -dnl Enable dbug -dnl ============================================= -AC_MSG_CHECKING([whether to do a build with dbug macros]) -if test -n "$enable_dbug" && test "$enable_dbug" != "no"; then - DBUG="1" - CPPFLAGS="$CPPFLAGS -DDBUG=1 -I\$(top_srcdir)/dbug/dbug" - AC_MSG_RESULT([yes]) -else - DBUG="" - AC_MSG_RESULT([no]) -fi -AM_CONDITIONAL(DBUG, test -n "$DBUG") - -dnl ============================================= -dnl Enable spawn -dnl ============================================= -AC_MSG_CHECKING([if spawn shall be used]) -if test -n "$enable_spawn" && test "$enable_spawn" != "no"; then - AC_DEFINE(ENABLE_SPAWN, 1, [Enables the use of spawn instead of fork/exec if it is supported.]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -dnl Predefine the DMAKEROOT macro for unix targets. -eval dmakerootprefix="$datarootdir" -# $datadir is ${prefix}/share if not overridden -test "x$dmakerootprefix" != "x${dmakerootprefix##NONE}" && dmakerootprefix=${ac_default_prefix}/share - -if test x$OS_TYPE = xunix; then -DMAKEROOT_H_LINE1='"DMAKEROOT := '${dmakerootprefix}'/startup",' -fi -AC_SUBST(DMAKEROOT_H_LINE1) - -dnl List (all possible) *.in files -AC_CONFIG_FILES(dmakeroot.h Makefile startup/config.mk \ - startup/Makefile startup/unix/Makefile \ - startup/unix/linux/Makefile startup/unix/solaris/Makefile \ - startup/unix/macosx/Makefile startup/unix/sysvr4/Makefile \ - startup/unix/cygwin/Makefile \ - startup/unix/os2/Makefile \ - startup/winnt/Makefile startup/winnt/mingw/Makefile \ - startup/winnt/msvc6/Makefile \ - tests/Makefile) - -dnl Checks for libraries. - -dnl Initialize libtool -#AM_PROG_LIBTOOL - -dnl Checks for header files. -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/types.h sys/stat.h unistd.h errno.h utime.h spawn.h wait.h sys/wait.h sys/time.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_CHECK_TYPES(int8) -AC_CHECK_TYPES(uint8) -AC_CHECK_TYPES(int16) -AC_CHECK_TYPES(uint16) -AC_CHECK_TYPES(int32) -AC_CHECK_TYPES(uint32) -AC_HEADER_TIME -AC_CHECK_SIZEOF(short, 2) -AC_CHECK_SIZEOF(int, 4) -AC_CHECK_SIZEOF(long, 4) - -dnl Checks for library functions. -AC_FUNC_MEMCMP -AC_TYPE_SIGNAL -AC_FUNC_UTIME_NULL -AC_FUNC_VPRINTF -AC_CHECK_FUNCS(getcwd getwd strerror setvbuf tzset settz mkstemp tempnam gettimeofday setenv) -# Usefull, but special to newlib/MSVC -AC_CHECK_FUNCS(strlwr) - -dnl *** output to disk *** -AC_OUTPUT - diff --git a/dmake/dag.c b/dmake/dag.c deleted file mode 100644 index c10c12c18f1e..000000000000 --- a/dmake/dag.c +++ /dev/null @@ -1,697 +0,0 @@ -/* $RCSfile: dag.c,v $ --- $Revision: 1.12 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:27:48 $ --- --- SYNOPSIS --- Routines to construct the internal dag. --- --- DESCRIPTION --- This file contains all the routines that are responsible for --- defining and manipulating all objects used by the make facility. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - -static void -set_macro_value(hp)/* -===================== - Set the macro according to its type. In addition to the string value - in hp->ht_value a macro can stores a value casted with its type. -*/ -HASHPTR hp; -{ - switch( hp->ht_flag & M_VAR_MASK ) /* only one var type per var */ - { - case M_VAR_STRING: - *hp->MV_SVAR = hp->ht_value; - /* Add special treatment for PWD/MAKEDIR for .WINPATH. */ - if( hp->MV_SVAR == &Pwd_macval ) { - if( Pwd ) - FREE(Pwd); - Pwd = hp->ht_value; - /* Use the "DOSified" path for the macro. */ - *hp->MV_SVAR = hp->ht_value = DmStrDup(DO_WINPATH(hp->ht_value)); - DB_PRINT( "smv", ("PWD: %s/%s", Pwd_macval, Pwd) ); - } else if( hp->MV_SVAR == &Makedir_macval ) { - if( Makedir ) - FREE(Makedir); - Makedir = hp->ht_value; - /* Use the "DOSified" path for the macro. */ - *hp->MV_SVAR = hp->ht_value = DmStrDup(DO_WINPATH(hp->ht_value)); - DB_PRINT( "smv", ("MAKEDIR: %s/%s", Makedir_macval, Makedir) ); - } - /* No special treatment for TMD needed. */ - break; - - case M_VAR_CHAR: - *hp->MV_CVAR = (hp->ht_value == NIL(char)) ? '\0':*hp->ht_value; - break; - - case M_VAR_INT: { - int tvalue; - if( hp->MV_IVAR == NIL(int) ) break; /* first time */ - - tvalue = atoi(hp->ht_value); - if( hp->MV_IVAR == &Buffer_size ) { - /* If Buffer_size (MAXLINELENGTH) is modified then make sure - * you change the size of the real buffer as well. As the - * value will at least be BUFSIZ this might lead to the - * situation that the (string) value of MAXLINELENGTH is - * smaller than the integer value. */ - tvalue = (tvalue < (BUFSIZ-2)) ? BUFSIZ : tvalue+2; - if( Buffer_size == tvalue ) break; - if( Buffer ) FREE(Buffer); - if((Buffer=MALLOC(tvalue, char)) == NIL(char)) No_ram(); - *Buffer = '\0'; - } - *hp->MV_IVAR = tvalue; - - if( hp->MV_IVAR == &Max_proc || hp->MV_IVAR == &Max_proclmt ) { - if( tvalue < 1 ) - Fatal( "Process limit value must be > 1" ); - -#if defined(USE_CREATEPROCESS) - if( Max_proclmt > MAXIMUM_WAIT_OBJECTS ) - Fatal( "Specified maximum # of processes (MAXPROCESSLIMIT)" - " exceeds OS limit of [%d].", MAXIMUM_WAIT_OBJECTS ); -#endif - - if( Max_proc > Max_proclmt ) - Fatal( "Specified # of processes exceeds limit of [%d]", - Max_proclmt ); - - /* Don't change MAXPROCESS value if .SEQUENTIAL is set. */ - if( (Glob_attr & A_SEQ) && (Max_proc != 1) ) { - Warning( "Macro MAXPROCESS set to 1 because .SEQUENTIAL is set." ); - Max_proc = 1; - if( hp->ht_value != NIL(char) ) FREE(hp->ht_value); - hp->ht_value = DmStrDup( "1" ); - } - } - } break; - - case M_VAR_BIT: - /* Bit variables are set to 1 if ht_value is not NULL and 0 - * otherwise */ - - if( hp->ht_value == NIL(char) ) - *hp->MV_BVAR &= ~hp->MV_MASK; - else { - *hp->MV_BVAR |= hp->MV_MASK; - /* If we're setting .SEQUENTIAL set MAXPROCESS=1. */ - if( (hp->MV_MASK & A_SEQ) && (Max_proc != 1) ) - Def_macro( "MAXPROCESS", "1", M_MULTI|M_EXPANDED); - } - -#if defined(__CYGWIN__) - /* Global .WINPATH change. Only needed for cygwin. */ - if(hp->MV_MASK & A_WINPATH) { - UseWinpath = ((Glob_attr&A_WINPATH) != 0); - /* Change MAKEDIR, PWD according to .WINPATH. During - * makefile evaluation this cannot change TMD (it is "." - * and later TMD is set in Make() according to the - * .WINPATH attribute. */ - Def_macro( "MAKEDIR", Makedir, M_FORCE | M_EXPANDED ); - Def_macro( "PWD", Pwd, M_FORCE | M_EXPANDED ); - } -#endif - break; - } -} - - -PUBLIC HASHPTR -Get_name( name, tab, define )/* -=============================== - Look to see if the name is defined, if it is then return - a pointer to its node, if not return NIL(HASH). - If define is TRUE and the name is not found it will be added. */ - -char *name; /* name we are looking for */ -HASHPTR *tab; /* the hash table to look in */ -int define; /* TRUE => add to table */ -{ - register HASHPTR hp; - register char *p; - uint16 hv; - uint32 hash_key; - - DB_ENTER( "Get_name" ); - DB_PRINT( "name", ("Looking for %s", name) ); - - hp = Search_table( tab, name, &hv, &hash_key ); - - if( hp == NIL(HASH) && define ) { - /* Check to make sure that CELL name contains only printable chars */ - for( p=name; *p; p++ ) - if( !isprint(*p) && !iswhite(*p) && *p != '\n' ) - Fatal( "Name contains non-printable character [0x%02x]", *p ); - - TALLOC( hp, 1, HASH ); /* allocate a cell and add it in */ - - hp->ht_name = DmStrDup( name ); - hp->ht_hash = hash_key; - hp->ht_next = tab[ hv ]; - tab[ hv ] = hp; - - DB_PRINT( "name", ("Adding %s", name) ); - } - - DB_PRINT( "name",("Returning: [%s,%lu]", - (hp == NIL(HASH)) ? "":hp->ht_name, hv) ); - DB_RETURN( hp ); -} - - -PUBLIC HASHPTR -Search_table( tab, name, phv, phkey ) -HASHPTR *tab; -char *name; -uint16 *phv; -uint32 *phkey; -{ - HASHPTR hp; - - *phv = Hash( name, phkey ); - - for( hp = tab[ *phv ]; hp != NIL(HASH); hp = hp->ht_next ) - if( hp->ht_hash == *phkey - && !strcmp(hp->ht_name, name) ) - break; - - return( hp ); -} - - -PUBLIC HASHPTR -Push_macro(hp)/* -================ - This function pushes hp into the hash of all macros. If a previous - instance of the macro exists it is hidden by the new one. If one - existed before the new instance inherits some values from the preexisting - macro (see below for details). -*/ -HASHPTR hp; -{ - HASHPTR cur,prev; - uint16 hv; - uint32 key; - - hv = Hash(hp->ht_name, &key); - - /* Search for an existing instance of hp->ht_name, if found cur will point - * to it. */ - for(prev=NIL(HASH),cur=Macs[hv]; cur!=NIL(HASH); prev=cur,cur=cur->ht_next) - if( cur->ht_hash == key - && !strcmp(cur->ht_name, hp->ht_name) ) - break; - - if (cur == NIL(HASH) || prev == NIL(HASH)) { - /* If no match or was found or the first element of Macs[hv] was - * the match insert hp at the beginning. */ - hp->ht_next = Macs[hv]; - Macs[hv] = hp; - } - else { - /* otherwise insert hp in the chain. */ - hp->ht_next = prev->ht_next; - prev->ht_next = hp; - } - - /* Inherit some parts of the former instance. Copying cur->var to hp->var - * copies the old value. Keeping the M_VAR_MASK (variable type) makes sure - * the type stays the same keeping M_PRECIOUS assures that the old values - * cannot be overridden if it is/was set. */ - if (cur) { - memcpy((void *)&hp->var, (void *)&cur->var, sizeof(hp->var)); - hp->ht_flag |= ((M_VAR_MASK|M_PRECIOUS) & cur->ht_flag); - } - - return(hp); -} - - -PUBLIC HASHPTR -Pop_macro(hp)/* -================ - This function pops (removes) hp from the hash of all macros. If a previous - instance of the macro existed it becomes accessible again. -*/ - -HASHPTR hp; -{ - HASHPTR cur,prev; - uint16 hv; - uint32 key; - - hv = Hash(hp->ht_name, &key); - - /* Try to find hp. */ - for(prev=NIL(HASH),cur=Macs[hv]; cur != NIL(HASH);prev=cur,cur=cur->ht_next) - if (cur == hp) - break; - - /* If cur == NIL macros was not found. */ - if (cur == NIL(HASH)) - return(NIL(HASH)); - - /* Remove hp from the linked list. */ - if (prev) - prev->ht_next = cur->ht_next; - else - Macs[hv] = cur->ht_next; - - /* Look for a previous (older) instance of hp->ht_name. */ - for(cur=cur->ht_next; cur != NIL(HASH); cur=cur->ht_next) - if( cur->ht_hash == key - && !strcmp(cur->ht_name, hp->ht_name) ) - break; - - /* If one was found we restore the typecast values. */ - if (cur) - set_macro_value(cur); - - hp->ht_next = NIL(HASH); - return(hp); -} - - - -PUBLIC HASHPTR -Def_macro( name, value, flags )/* -================================= - This routine is used to define a macro, and it's value. A copy of - the content of value is stored and not the pointer to the value. - The flags indicates if it is a permanent macro or if it's value - can be redefined. A flags of M_PRECIOUS means it is a precious - macro and cannot be further redefined unless M_FORCE is used. - If the flags flag contains the M_MULTI bit it means that the macro - can be redefined multiple times and no warning of the redefinitions - should be issued. - Once a macro's VAR flags are set they are preserved through all future - macro definitions. - - Macro definitions that have one of the variable bits set are treated - specially. In each case the hash table entry var field points at the - global variable that can be set by assigning to the macro. - - bit valued global vars must be computed when the macro value is changed. - char valued global vars must have the first char of ht_value copied to - them. string valued global vars have the same value as ht_value and should - just have the new value of ht_value copied to them. */ - -char *name; /* macro name to define */ -char *value; /* macro value to set */ -int flags; /* initial ht_flags */ -{ - register HASHPTR hp; - register char *p, *q; - - DB_ENTER( "Def_macro" ); - DB_PRINT( "mac", ("Defining macro %s = %s, %x", name, value, flags) ); - - /* check to see if name is in the table, if so then just overwrite - the previous definition. Otherwise allocate a new node, and - stuff it in the hash table, at the front of any linked list */ - - if( Readenv ) flags |= M_LITERAL|M_EXPANDED; - - hp = Get_name( name, Macs, TRUE ); - - if ((flags & M_PUSH) && hp->ht_name != NIL(char)) { - HASHPTR thp=hp; - TALLOC(hp,1,HASH); - hp->ht_name = DmStrDup(thp->ht_name); - hp->ht_hash = thp->ht_hash; - Push_macro(hp); - flags |= hp->ht_flag; - } - flags &= ~M_PUSH; - - if( (hp->ht_flag & M_PRECIOUS) && !(flags & M_FORCE) ) { - if (Verbose & V_WARNALL) - Warning( "Macro `%s' cannot be redefined", name ); - DB_RETURN( hp ); - } - - /* Make sure we don't export macros whose names contain legal macro - * assignment operators, since we can't do proper quoting in the - * environment. */ - if( *DmStrPbrk(name, "*+:=") != '\0' ) flags |= M_NOEXPORT; - - if( hp->ht_value != NIL(char) ) FREE( hp->ht_value ); - - if( (hp->ht_flag & M_USED) && !((flags | hp->ht_flag) & M_MULTI) ) - Warning( "Macro `%s' redefined after use", name ); - - /* If an empty string ("") is given set ht_value to NIL(char) */ - if( (value != NIL(char)) && (*value) ) { - - if( !(flags & M_LITERAL) ) { - q = DmStrDup(value); - /* strip out any \ combinations where \ is the current - * CONTINUATION char */ - for(p=q; (p=strchr(p,CONTINUATION_CHAR))!=NIL(char); ) - if( p[1] == '\n' ) { - size_t len = strlen(p+2)+1; - memmove ( p, p+2, len ); - } - else - p++; - - p = DmStrSpn(q ," \t"); /* Strip white space before ... */ - if( p != q ) { - size_t len = strlen(p)+1; - memmove( q, p, len ); - p = q; - } - - if( *p ) { /* ... and after the value. */ - for(q=p+strlen(p)-1; ((*q == ' ')||(*q == '\t')); q--); - *++q = '\0'; - } - flags &= ~M_LITERAL; - } - else - p = DmStrDup( value ); /* take string literally */ - - if( !*p ) { /* check if result is "" */ - FREE( p ); - p = NIL(char); - flags |= M_EXPANDED; - } - else if( *DmStrPbrk( p, "${}" ) == '\0' ) - flags |= M_EXPANDED; - - hp->ht_value = p; - } - else { - hp->ht_value = NIL(char); - flags |= M_EXPANDED; - } - - /* Assign the hash table flag less the M_MULTI flag, it is used only - * to silence the warning. But carry it over if it was previously - * defined in ht_flag, as this is a permanent M_MULTI variable. Keep - * the M_PRECIOUS flag and strip the M_INIT flag. */ - - hp->ht_flag = ((flags & ~(M_MULTI|M_FORCE)) | - (hp->ht_flag & (M_VAR_MASK|M_MULTI|M_PRECIOUS))) & ~M_INIT; - - /* Check for macro variables and make the necessary adjustment in the - * corresponding global variables */ - - if( hp->ht_flag & M_VAR_MASK ) { - if( !(flags & M_EXPANDED) ) - Error( "Macro variable '%s' must be assigned with :=", name ); - else - set_macro_value(hp); - } - - DB_RETURN( hp ); -} - - - -PUBLIC CELLPTR -Def_cell( name )/* -================== - Check if a cell for "name" already exists, if not create a new cell. - The value of name is normalized before checking/creating the cell to - avoid creating multiple cells for the same target file. - The function returns a pointer to the cell. */ -char *name; -{ - register HASHPTR hp; - register CELLPTR cp; - register CELLPTR lib; - char *member; - char *end; - - DB_ENTER( "Def_cell" ); - - /* Check to see if the cell is a member of the form lib(member) or - * lib((symbol)) and handle the cases appropriately. - * What we do is we look at the target, if it is of the above two - * forms we get the lib, and add the member/symbol to the list of - * prerequisites for the library. If this is a symbol name def'n - * we additionally add the attribute A_SYMBOL, so that stat can - * try to do the right thing. */ - - if( ((member = strchr(name, '(')) != NIL(char)) && - ((end = strrchr(member, ')')) != NIL(char)) && - (member > name) && (member[-1] != '$') && - (end > member+1) && (end[1] == '\0') ) - { - *member++ = *end = '\0'; - - if( (*member == '(') && (member[strlen(member)-1] == ')') ) { - member[ strlen(member)-1 ] = '\0'; - cp = Def_cell( member+1 ); - cp->ce_attr |= A_SYMBOL; - } - else - cp = Def_cell( member ); - - lib = Def_cell( name ); - - Add_prerequisite( lib, cp, FALSE, FALSE ); - lib->ce_attr |= A_LIBRARY | A_COMPOSITE; - - if( !Def_targets ) cp = lib; - } - else { - /* Normalize the name. */ - DB_PRINT( "path", ("Normalizing [%s]", name) ); - - /* The normalizing function returns a pointer to a static buffer. */ - name = normalize_path(name); - - hp = Get_name( name, Defs, TRUE );/* get the name from hash table */ - - if( hp->CP_OWNR == NIL(CELL) ) /* was it previously defined */ - { /* NO, so define a new cell */ - DB_PRINT( "cell", ("Defining cell [%s]", name) ); - - TALLOC( cp, 1, CELL ); - hp->CP_OWNR = cp; - cp->ce_name = hp; - cp->ce_fname = hp->ht_name; - cp->ce_all.cl_prq = cp; - } - else /* YES, so return the old cell */ - { - DB_PRINT( "cell", ("Getting cell [%s]", hp->ht_name) ); - cp = hp->CP_OWNR; - } - } - - DB_RETURN( cp ); -} - - - - -PUBLIC LINKPTR -Add_prerequisite( cell, prq, head, force )/* -============================================ - Add a dependency node to the dag. It adds it to the prerequisites, - if any, of the cell and makes certain they are in linear order. - If head == 1, then add to head of the prerequisite list, else - add to tail. */ -CELLPTR cell; -CELLPTR prq; -int head; -int force; -{ - register LINKPTR lp, tlp; - - DB_ENTER( "Add_prerequisite" ); - DB_PRINT( "cell", ("Defining prerequisite %s", prq->CE_NAME) ); - - if( (prq->ce_flag & (F_MAGIC | F_PERCENT)) && !force ) - Fatal( "Special target [%s] cannot be a prerequisite", - prq->CE_NAME ); - - if( cell->ce_prq == NIL(LINK) ) { /* it's the first one */ - TALLOC( lp, 1, LINK ); - lp->cl_prq = prq; - cell->ce_prq = lp; - } - else { /* search the list, checking for duplicates */ - for( lp = cell->ce_prq; - (lp->cl_next != NIL(LINK)) && (lp->cl_prq != prq); - lp = lp->cl_next ); - - /* If the prq is not found and we are at the last prq in the list, - * allocate a new prq and place it into the list, insert it at the - * head if head == 1, else we add it to the end. */ - - if( lp->cl_prq != prq ) { - TALLOC( tlp, 1, LINK ); - tlp->cl_prq = prq; - - if( head ) { - tlp->cl_next = cell->ce_prq; - cell->ce_prq = tlp; - } - else - lp->cl_next = tlp; - - lp = tlp; - } - } - - DB_RETURN( lp ); -} - - - -PUBLIC void -Clear_prerequisites( cell )/* -============================= - Clear out the list of prerequisites, freeing all of the LINK nodes, - and setting the list to NULL */ -CELLPTR cell; -{ - LINKPTR lp, tlp; - - DB_ENTER( "Clear_prerequisites" ); - DB_PRINT( "cell", ("Nuking prerequisites") ); - - if( cell == NIL(CELL) ) { DB_VOID_RETURN; } - - for( lp=cell->ce_prq; lp != NIL(LINK); lp=tlp ) { - tlp=lp->cl_next; - FREE( lp ); - } - - cell->ce_prq = NIL(LINK); - - DB_VOID_RETURN; -} - - -PUBLIC int -Test_circle( cp, fail )/* -========================= - Actually run through the graph */ -CELLPTR cp; -int fail; -{ - register LINKPTR lp; - int res = 0; - - DB_ENTER( "Test_circle" ); - DB_PRINT( "tc", ("checking [%s]", cp->CE_NAME) ); - - if( cp->ce_flag & F_MARK ) { - if( fail ) - Fatal("Detected circular dependency in graph at [%s]", cp->CE_NAME); - else - DB_RETURN( 1 ); - } - - cp->ce_flag |= F_MARK; - for( lp = cp->ce_prq; !res && lp != NIL(LINK); lp = lp->cl_next ) - res = Test_circle( lp->cl_prq, fail ); - cp->ce_flag ^= F_MARK; - - DB_RETURN( res ); -} - - - -PUBLIC STRINGPTR -Def_recipe( rcp, sp, white_too, no_check )/* -============================================= - Take the recipe (rcp) and add it to the list of recipes pointed to by - sp (sp points to the last element). If white_too == TRUE add the recipe - even if it contains only white space or an empty string. - Return a pointer to the new recipe (or sp if it was discarded). - If no_check is true then don't look for -@ at the start of the recipe - line. */ -char *rcp; -STRINGPTR sp; -int white_too; -int no_check; -{ - register STRINGPTR nsp; - register char *rp; - - DB_ENTER( "Def_recipe" ); - DB_PRINT( "rul", ("Defining recipe %s", rcp) ); - - if( !white_too ) rcp = DmStrSpn( rcp, " \t" ); - if( (rcp == NIL(char)) || (*rcp == 0 && !white_too) ) - DB_RETURN( sp ); /* return last recipe when new recipe not added */ - - rp = no_check ? rcp : DmStrSpn( rcp, " \t@-+%" ); - - TALLOC(nsp, 1, STRING); - nsp->st_string = DmStrDup( rp ); - - if( sp != NIL(STRING) ) sp->st_next = nsp; - nsp->st_next = NIL(STRING); - - if( !no_check ) nsp->st_attr |= Rcp_attribute( rcp ); - - DB_RETURN( nsp ); -} - - -PUBLIC t_attr -Rcp_attribute( rp )/* -====================== - Look at the recipe and return the set of attributes that it defines. */ -char *rp; -{ - t_attr flag = A_DEFAULT; - int done = FALSE; - int atcount = 0; - - while( !done ) - switch( *rp++ ) - { - case '@' : ++atcount; break; - case '-' : flag |= A_IGNORE; break; - case '+' : flag |= A_SHELL; break; - case '%' : -#if defined(MSDOS) - /* Ignore % in the non-MSDOS case. */ - flag |= A_SWAP; -#endif - break; - - case ' ' : - case '\t': break; - - default: done = TRUE; break; - } - - if( !(Verbose & V_FORCEECHO) && atcount-- ) { - flag |= A_SILENT; - /* hide output if more than one @ are encountered. */ - if( atcount ) - flag |= A_MUTE; - } - - return(flag); -} diff --git a/dmake/db.h b/dmake/db.h deleted file mode 100644 index a640dfaee7a4..000000000000 --- a/dmake/db.h +++ /dev/null @@ -1,66 +0,0 @@ -/* RCS $Id: db.h,v 1.1.1.1 2000-09-22 15:33:25 hr Exp $ --- --- SYNOPSIS --- Front end to DBUG macros. --- --- DESCRIPTION --- This is a front end to Fred Fish's DBUG macros. The intent was --- to provide an interface so that if you don't have the DBUG code --- you can still compile dmake, by undefining DBUG, if you do have --- the code then you can use Fred Fish's DBUG package. Originally --- the DBUG stuff was copyrighted, it is now in the public domain --- so the need for this is not as apparent. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef DB_h -#define DB_h - -#ifdef DBUG - -# include "dbug.h" - -# define DB_ENTER(a1) DBUG_ENTER(a1) -# define DB_RETURN(a1) DBUG_RETURN(a1) -# define DB_VOID_RETURN DBUG_VOID_RETURN -# define DB_EXECUTE(keyword, a1) DBUG_EXECUTE(keyword,a1) -# define DB_PRINT(keyword,arglist) DBUG_PRINT(keyword,arglist) -# define DB_PUSH(a1) DBUG_PUSH(a1) -# define DB_POP() DBUG_POP() -# define DB_PROCESS(a1) DBUG_PROCESS(a1) -# define DB_FILE(file) DBUG_FILE(file) -# define DB_SETJMP DBUG_SETJMP -# define DB_LONGJMP DBUG_LONGJMP - -#else - -# define DB_ENTER(a1) -# define DB_RETURN(a1) return (a1) -# define DB_VOID_RETURN return -# define DB_EXECUTE(keyword, a1) -# define DB_PRINT(keyword,arglist) -# define DB_PUSH(a1) -# define DB_POP() -# define DB_PROCESS(a1) -# define DB_FILE(file) -# define DB_SETJMP setjmp -# define DB_LONGJMP longjmp - -#endif -#endif - diff --git a/dmake/dbug/dbug.mk b/dmake/dbug/dbug.mk deleted file mode 100644 index 09aa82d7f37d..000000000000 --- a/dmake/dbug/dbug.mk +++ /dev/null @@ -1,66 +0,0 @@ -# Set the proper macros based on whether we are making the debugging version -# or not. The valid parameters to this file are: -# -# DEBUG=1 ==> enable the making of the DBUG version -# DBMALLOC=1 ==> enable DBUG version with extensive MALLOC checking -# -# DB_CFLAGS ==> CFLAGS is set to this value at the end if DEBUG=1 -# DB_LDFLAGS ==> LDFLAGS is set to this at the end if DEBUG=1 -# DB_LDLIBS ==> LDLIBS is set to this at end if DEBUG=1 -# -# The non debug versions of the above three macros are: -# -# NDB_CFLAGS -# NDB_LDFLAGS -# NDB_LDLIBS -# -# One of the set of three should have values set appropriately prior to -# sourcing this file. - -.IF $(DEBUG) - DBUG_SRC += dbug.c - DB_CFLAGS += -Idbug/dbug - - .SETDIR=dbug/dbug : $(DBUG_SRC) - - # If DBMALLOC is requested (ie non-NULL) then include the sources for - # compilation. BSD 4.3 needs the getwd.c source compiled in due to a bug - # in the clib getwd routine. - .IF $(DBMALLOC) - # Serious bug in bsd43 getwd.c would free a string and then use its - # value. The DBMALLOC code clears a string when it is free'd so the - # value was no longer valid and the returned path for the current - # directory was now completely wrong. - .IF $(OSRELEASE) == bsd43 - GETWD_SRC += getwd.c - .SETDIR=dbug : $(GETWD_SRC) - .END - - MLC_SRC += malloc.c free.c realloc.c calloc.c string.c\ - mlc_chk.c mlc_chn.c memory.c tostring.c m_perror.c\ - m_init.c mallopt.c dump.c - - .SETDIR=dbug/malloc : $(MLC_SRC) - - DB_CFLAGS += -Idbug/malloc - .END - - SRC += $(DBUG_SRC) $(MLC_SRC) $(GETWD_SRC) - HDR += db.h - - LDFLAGS += $(DB_LDFLAGS) - LDLIBS += $(DB_LDLIBS) - - __.SILENT !:= $(.SILENT) - .SILENT !:= yes - TARGET := db$(TARGET) - OBJDIR := $(OBJDIR).dbg - .SILENT !:= $(__.SILENT) - - CFLAGS += $(DB_CFLAGS) - .KEEP_STATE := _dbstate.mk -.ELSE - CFLAGS += $(NDB_CFLAGS) - LDFLAGS += $(NDB_LDFLAGS) - LDLIBS += $(NDB_LDLIBS) -.END diff --git a/dmake/dbug/dbug/dbug.c b/dmake/dbug/dbug/dbug.c deleted file mode 100644 index e63a4750ed5b..000000000000 --- a/dmake/dbug/dbug/dbug.c +++ /dev/null @@ -1,1845 +0,0 @@ -/****************************************************************************** - * * - * N O T I C E * - * * - * Copyright Abandoned, 1987, Fred Fish * - * * - * * - * This previously copyrighted work has been placed into the public * - * domain by the author and may be freely used for any purpose, * - * private or commercial. * - * * - * Because of the number of inquiries I was receiving about the use * - * of this product in commercially developed works I have decided to * - * simply make it public domain to further its unrestricted use. I * - * specifically would be most happy to see this material become a * - * part of the standard Unix distributions by AT&T and the Berkeley * - * Computer Science Research Group, and a standard part of the GNU * - * system from the Free Software Foundation. * - * * - * I would appreciate it, as a courtesy, if this notice is left in * - * all copies and derivative works. Thank you. * - * * - * The author makes no warranty of any kind with respect to this * - * product and explicitly disclaims any implied warranties of mer- * - * chantability or fitness for any particular purpose. * - * * - ****************************************************************************** - */ - - -/* - * FILE - * - * dbug.c runtime support routines for dbug package - * - * SCCS - * - * @(#)dbug.c 1.19 9/5/87 - * - * DESCRIPTION - * - * These are the runtime support routines for the dbug package. - * The dbug package has two main components; the user include - * file containing various macro definitions, and the runtime - * support routines which are called from the macro expansions. - * - * Externally visible functions in the runtime support module - * use the naming convention pattern "_db_xx...xx_", thus - * they are unlikely to collide with user defined function names. - * - * AUTHOR(S) - * - * Fred Fish (base code) - * (Currently at Motorola Computer Division, Tempe, Az.) - * hao!noao!mcdsun!fnf - * (602) 438-3614 - * - * Binayak Banerjee (profiling enhancements) - * seismo!bpa!sjuvax!bbanerje - */ - - -#include -#ifdef amiga -#define AMIGA -#endif - -#ifdef AMIGA -#define HZ (50) /* Probably in some header somewhere */ -#endif - -/* - * Manifest constants that should not require any changes. - */ - -#define FALSE 0 /* Boolean FALSE */ -#define TRUE 1 /* Boolean TRUE */ -#define EOS '\000' /* End Of String marker */ - -/* - * Manifest constants which may be "tuned" if desired. - */ - -#define PRINTBUF 1024 /* Print buffer size */ -#define INDENT 4 /* Indentation per trace level */ -#define MAXDEPTH 200 /* Maximum trace depth default */ - -/* - * The following flags are used to determine which - * capabilities the user has enabled with the state - * push macro. - */ - -#define TRACE_ON 000001 /* Trace enabled */ -#define DEBUG_ON 000002 /* Debug enabled */ -#define FILE_ON 000004 /* File name print enabled */ -#define LINE_ON 000010 /* Line number print enabled */ -#define DEPTH_ON 000020 /* Function nest level print enabled */ -#define PROCESS_ON 000040 /* Process name print enabled */ -#define NUMBER_ON 000100 /* Number each line of output */ -#define PROFILE_ON 000200 /* Print out profiling code */ - -#define TRACING (stack -> flags & TRACE_ON) -#define DEBUGGING (stack -> flags & DEBUG_ON) -#define PROFILING (stack -> flags & PROFILE_ON) -#define STREQ(a,b) (strcmp(a,b) == 0) - -/* - * Typedefs to make things more obvious. - */ - -#define VOID void /* Can't use typedef for most compilers */ -typedef int BOOLEAN; - -/* - * Make it easy to change storage classes if necessary. - */ - -#define LOCAL static /* Names not needed by outside world */ -#define IMPORT extern /* Names defined externally */ -#define EXPORT /* Allocated here, available globally */ -#define AUTO auto /* Names to be allocated on stack */ -#define REGISTER register /* Names to be placed in registers */ - -/* - * The following define is for the variable arguments kluge, see - * the comments in _db_doprnt_(). - * - * Also note that the longer this list, the less prone to failing - * on long argument lists, but the more stuff that must be moved - * around for each call to the runtime support routines. The - * length may really be critical if the machine convention is - * to pass arguments in registers. - * - * Note that the default define allows up to 16 integral arguments, - * or 8 floating point arguments (doubles), on most machines. - * - * Someday this may be replaced with true varargs support, when - * ANSI C has had time to take root. - */ - -#define ARGLIST a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15 - -/* - * The default file for profiling. Could also add another flag - * (G?) which allowed the user to specify this. - */ - -#define PROF_FILE "dbugmon.out" - -/* - * Variables which are available externally but should only - * be accessed via the macro package facilities. - */ - -EXPORT FILE *_db_fp_ = (FILE *)0; /* Output stream, default is set to - * stderr later */ -EXPORT FILE *_db_pfp_ = (FILE *)0; /* Profile stream, 'dbugmon.out' */ -EXPORT char *_db_process_ = "dbug"; /* Pointer to process name; argv[0] */ -EXPORT BOOLEAN _db_on_ = FALSE; /* TRUE if debugging currently on */ -EXPORT BOOLEAN _db_pon_ = FALSE; /* TRUE if debugging currently on */ - -/* - * Externally supplied functions. - */ - -/* Disable the manual definitions, if something is missing use #include's! */ -#if 0 - -#ifdef unix /* Only needed for unix */ -IMPORT VOID perror (); /* Print system/library error */ -IMPORT int chown (); /* Change owner of a file */ -IMPORT int getgid (); /* Get real group id */ -IMPORT int getuid (); /* Get real user id */ -IMPORT int access (); /* Test file for access */ -#else -#if !(AMIGA || LATTICE || __TURBOC__) -LOCAL VOID perror (); /* Fake system/library error print routine */ -#endif -#endif - -# if BSD4_3 || sun -IMPORT int getrusage (); -#endif - -IMPORT int atoi (); /* Convert ascii to integer */ -IMPORT VOID exit (); /* Terminate execution */ -IMPORT int fclose (); /* Close a stream */ -IMPORT FILE *fopen (); /* Open a stream */ -#if !defined(__BORLANDC__) -IMPORT int fprintf (); /* Formatted print on file */ -#endif -IMPORT VOID free (); -IMPORT char *malloc (); /* Allocate memory */ -IMPORT int strcmp (); /* Compare strings */ -IMPORT char *strcpy (); /* Copy strings around */ -IMPORT int strlen (); /* Find length of string */ - -#ifndef fflush /* This is sometimes a macro */ -IMPORT int fflush (); /* Flush output for stream */ -#endif - -#endif - - -/* - * The user may specify a list of functions to trace or - * debug. These lists are kept in a linear linked list, - * a very simple implementation. - */ - -struct link { - char *string; /* Pointer to link's contents */ - struct link *next_link; /* Pointer to the next link */ -}; - - -/* - * Debugging states can be pushed or popped off of a - * stack which is implemented as a linked list. Note - * that the head of the list is the current state and the - * stack is pushed by adding a new state to the head of the - * list or popped by removing the first link. - */ - -struct state { - int flags; /* Current state flags */ - int maxdepth; /* Current maximum trace depth */ - unsigned int delay; /* Delay after each output line */ - int level; /* Current function nesting level */ - FILE *out_file; /* Current output stream */ - FILE *prof_file; /* Current profiling stream */ - struct link *functions; /* List of functions */ - struct link *p_functions; /* List of profiled functions */ - struct link *keywords; /* List of debug keywords */ - struct link *processes; /* List of process names */ - struct state *next_state; /* Next state in the list */ -}; - -LOCAL struct state *stack = NULL; /* Linked list of stacked states */ - -/* - * Local variables not seen by user. - */ - -LOCAL int lineno = 0; /* Current debugger output line number */ -LOCAL char *func = "?func"; /* Name of current user function */ -LOCAL char *file = "?file"; /* Name of current user file */ -LOCAL BOOLEAN init_done = FALSE;/* Set to TRUE when initialization done */ - -/*#if unix || AMIGA || M_I86*/ -LOCAL int jmplevel; /* Remember nesting level at setjmp () */ -LOCAL char *jmpfunc; /* Remember current function for setjmp */ -LOCAL char *jmpfile; /* Remember current file for setjmp */ -/*#endif*/ - -LOCAL struct link *ListParse ();/* Parse a debug command string */ -LOCAL char *StrDup (); /* Make a fresh copy of a string */ -LOCAL VOID OpenFile (); /* Open debug output stream */ -LOCAL VOID OpenProfile (); /* Open profile output stream */ -LOCAL VOID CloseFile (); /* Close debug output stream */ -LOCAL VOID PushState (); /* Push current debug state */ -LOCAL VOID ChangeOwner (); /* Change file owner and group */ -LOCAL BOOLEAN DoTrace (); /* Test for tracing enabled */ -LOCAL BOOLEAN Writable (); /* Test to see if file is writable */ -LOCAL unsigned long Clock (); /* Return current user time (ms) */ -LOCAL char *DbugMalloc (); /* Allocate memory for runtime support */ -LOCAL char *BaseName (); /* Remove leading pathname components */ -LOCAL VOID DoPrefix (); /* Print debugger line prefix */ -LOCAL VOID FreeList (); /* Free memory from linked list */ -LOCAL VOID Indent (); /* Indent line to specified indent */ -LOCAL int DelayArg (int value); /* Convert D flag argument */ -LOCAL BOOLEAN DoProfile (); /* Check if profiling is enabled */ - - /* Supplied in Sys V runtime environ */ -LOCAL char *strtok (); /* Break string into tokens */ -LOCAL char *strrchr (); /* Find last occurance of char */ - -/* - * The following local variables are used to hold the state information - * between the call to _db_pargs_() and _db_doprnt_(), during - * expansion of the DBUG_PRINT macro. This is the only macro - * that currently uses these variables. The DBUG_PRINT macro - * and the new _db_doprnt_() routine replace the older DBUG_N macros - * and their corresponding runtime support routine _db_printf_(). - * - * These variables are currently used only by _db_pargs_() and - * _db_doprnt_(). - */ - -LOCAL int u_line = 0; /* User source code line number */ -LOCAL char *u_keyword = "?"; /* Keyword for current macro */ - -/* - * Miscellaneous printf format strings. - */ - -#define ERR_MISSING_RETURN "%s: missing DBUG_RETURN or DBUG_VOID_RETURN macro in function \"%s\"\n" -#define ERR_OPEN "%s: can't open debug output stream \"%s\": " -#define ERR_CLOSE "%s: can't close debug file: " -#define ERR_ABORT "%s: debugger aborting because %s\n" -#define ERR_CHOWN "%s: can't change owner/group of \"%s\": " -#define ERR_PRINTF "%s: obsolete object file for '%s', please recompile!\n" - -/* - * Macros and defines for testing file accessibility under UNIX. - */ - -#ifdef unix -# define A_EXISTS 00 /* Test for file existance */ -# define A_EXECUTE 01 /* Test for execute permission */ -# define A_WRITE 02 /* Test for write access */ -# define A_READ 03 /* Test for read access */ -# define EXISTS(pathname) (access (pathname, A_EXISTS) == 0) -# define WRITABLE(pathname) (access (pathname, A_WRITE) == 0) -#else -# define EXISTS(pathname) (FALSE) /* Assume no existance */ -#endif - -/* - * Translate some calls among different systems. - */ - -#ifdef unix -# define XDelay sleep -IMPORT unsigned int sleep (); /* Pause for given number of seconds */ -#endif - -#ifdef AMIGA -IMPORT int XDelay (); /* Pause for given number of ticks */ -#endif - - -/* - * FUNCTION - * - * _db_push_ push current debugger state and set up new one - * - * SYNOPSIS - * - * VOID _db_push_ (control) - * char *control; - * - * DESCRIPTION - * - * Given pointer to a debug control string in "control", pushes - * the current debug state, parses the control string, and sets - * up a new debug state. - * - * The only attribute of the new state inherited from the previous - * state is the current function nesting level. This can be - * overridden by using the "r" flag in the control string. - * - * The debug control string is a sequence of colon separated fields - * as follows: - * - * ::...: - * - * Each field consists of a mandatory flag character followed by - * an optional "," and comma separated list of modifiers: - * - * flag[,modifier,modifier,...,modifier] - * - * The currently recognized flag characters are: - * - * d Enable output from DBUG_ macros for - * for the current state. May be followed - * by a list of keywords which selects output - * only for the DBUG macros with that keyword. - * A null list of keywords implies output for - * all macros. - * - * D Delay after each debugger output line. - * The argument is the number of tenths of seconds - * to delay, subject to machine capabilities. - * I.E. -#D,20 is delay two seconds. - * - * f Limit debugging and/or tracing, and profiling to the - * list of named functions. Note that a null list will - * disable all functions. The appropriate "d" or "t" - * flags must still be given, this flag only limits their - * actions if they are enabled. - * - * F Identify the source file name for each - * line of debug or trace output. - * - * g Enable profiling. Create a file called 'dbugmon.out' - * containing information that can be used to profile - * the program. May be followed by a list of keywords - * that select profiling only for the functions in that - * list. A null list implies that all functions are - * considered. - * - * L Identify the source file line number for - * each line of debug or trace output. - * - * n Print the current function nesting depth for - * each line of debug or trace output. - * - * N Number each line of dbug output. - * - * p Limit debugger actions to specified processes. - * A process must be identified with the - * DBUG_PROCESS macro and match one in the list - * for debugger actions to occur. - * - * P Print the current process name for each - * line of debug or trace output. - * - * r When pushing a new state, do not inherit - * the previous state's function nesting level. - * Useful when the output is to start at the - * left margin. - * - * t Enable function call/exit trace lines. - * May be followed by a list (containing only - * one modifier) giving a numeric maximum - * trace level, beyond which no output will - * occur for either debugging or tracing - * macros. The default is a compile time - * option. - * - * Some examples of debug control strings which might appear - * on a shell command line (the "-#" is typically used to - * introduce a control string to an application program) are: - * - * -#d:t - * -#d:f,main,subr1:F:L:t,20 - * -#d,input,output,files:n - * - * For convenience, any leading "-#" is stripped off. - * - */ - - -VOID _db_push_ (control) -char *control; -{ - REGISTER char *scan; - REGISTER struct link *temp; - - if (!_db_fp_) - _db_fp_ = stderr; /* Output stream, default stderr */ - - if (control && *control == '-') { - if (*++control == '#') { - control++; - } - } - control = StrDup (control); - PushState (); - scan = strtok (control, ":"); - for (; scan != NULL; scan = strtok ((char *)NULL, ":")) { - switch (*scan++) { - case 'd': - _db_on_ = TRUE; - stack -> flags |= DEBUG_ON; - if (*scan++ == ',') { - stack -> keywords = ListParse (scan); - } - break; - case 'D': - stack -> delay = 0; - if (*scan++ == ',') { - temp = ListParse (scan); - stack -> delay = DelayArg (atoi (temp -> string)); - FreeList (temp); - } - break; - case 'f': - if (*scan++ == ',') { - stack -> functions = ListParse (scan); - } - break; - case 'F': - stack -> flags |= FILE_ON; - break; - case 'g': - _db_pon_ = TRUE; - OpenProfile(PROF_FILE); - stack -> flags |= PROFILE_ON; - if (*scan++ == ',') { - stack -> p_functions = ListParse (scan); - } - break; - case 'L': - stack -> flags |= LINE_ON; - break; - case 'n': - stack -> flags |= DEPTH_ON; - break; - case 'N': - stack -> flags |= NUMBER_ON; - break; - case 'o': - if (*scan++ == ',') { - temp = ListParse (scan); - OpenFile (temp -> string); - FreeList (temp); - } else { - OpenFile ("-"); - } - break; - case 'p': - if (*scan++ == ',') { - stack -> processes = ListParse (scan); - } - break; - case 'P': - stack -> flags |= PROCESS_ON; - break; - case 'r': - stack -> level = 0; - break; - case 't': - stack -> flags |= TRACE_ON; - if (*scan++ == ',') { - temp = ListParse (scan); - stack -> maxdepth = atoi (temp -> string); - FreeList (temp); - } - break; - } - } - free (control); -} - - - -/* - * FUNCTION - * - * _db_pop_ pop the debug stack - * - * DESCRIPTION - * - * Pops the debug stack, returning the debug state to its - * condition prior to the most recent _db_push_ invocation. - * Note that the pop will fail if it would remove the last - * valid state from the stack. This prevents user errors - * in the push/pop sequence from screwing up the debugger. - * Maybe there should be some kind of warning printed if the - * user tries to pop too many states. - * - */ - -VOID _db_pop_ () -{ - REGISTER struct state *discard; - - discard = stack; - if (discard != NULL && discard -> next_state != NULL) { - stack = discard -> next_state; - _db_fp_ = stack -> out_file; - _db_pfp_ = stack -> prof_file; - if (discard -> keywords != NULL) { - FreeList (discard -> keywords); - } - if (discard -> functions != NULL) { - FreeList (discard -> functions); - } - if (discard -> processes != NULL) { - FreeList (discard -> processes); - } - if (discard -> p_functions != NULL) { - FreeList (discard -> p_functions); - } - CloseFile (discard -> out_file); - CloseFile (discard -> prof_file); - free ((char *) discard); - } -} - - -/* - * FUNCTION - * - * _db_enter_ process entry point to user function - * - * SYNOPSIS - * - * VOID _db_enter_ (_func_, _file_, _line_, _sfunc_, _sfile_, _slevel_) - * char *_func_; points to current function name - * char *_file_; points to current file name - * int _line_; called from source line number - * char **_sfunc_; save previous _func_ - * char **_sfile_; save previous _file_ - * int *_slevel_; save previous nesting level - * - * DESCRIPTION - * - * Called at the beginning of each user function to tell - * the debugger that a new function has been entered. - * Note that the pointers to the previous user function - * name and previous user file name are stored on the - * caller's stack (this is why the ENTER macro must be - * the first "executable" code in a function, since it - * allocates these storage locations). The previous nesting - * level is also stored on the callers stack for internal - * self consistency checks. - * - * Also prints a trace line if tracing is enabled and - * increments the current function nesting depth. - * - * Note that this mechanism allows the debugger to know - * what the current user function is at all times, without - * maintaining an internal stack for the function names. - * - */ - -VOID _db_enter_ (_func_, _file_, _line_, _sfunc_, _sfile_, _slevel_) -char *_func_; -char *_file_; -int _line_; -char **_sfunc_; -char **_sfile_; -int *_slevel_; -{ - if (!init_done) { - _db_push_ (""); - } - *_sfunc_ = func; - *_sfile_ = file; - func = _func_; - file = BaseName (_file_); - stack -> level++; - *_slevel_ = stack -> level; - if (DoProfile ()) { - (VOID) fprintf (_db_pfp_, "%s\tE\t%ld\n",func, Clock()); - (VOID) fflush (_db_pfp_); - } - if (DoTrace ()) { - DoPrefix (_line_); - Indent (stack -> level); - (VOID) fprintf (_db_fp_, ">%s\n", func); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } -} - - -/* - * FUNCTION - * - * _db_return_ process exit from user function - * - * SYNOPSIS - * - * VOID _db_return_ (_line_, _sfunc_, _sfile_, _slevel_) - * int _line_; current source line number - * char **_sfunc_; where previous _func_ is to be retrieved - * char **_sfile_; where previous _file_ is to be retrieved - * int *_slevel_; where previous level was stashed - * - * DESCRIPTION - * - * Called just before user function executes an explicit or implicit - * return. Prints a trace line if trace is enabled, decrements - * the current nesting level, and restores the current function and - * file names from the defunct function's stack. - * - */ - -VOID _db_return_ (_line_, _sfunc_, _sfile_, _slevel_) -int _line_; -char **_sfunc_; -char **_sfile_; -int *_slevel_; -{ - if (!init_done) { - _db_push_ (""); - } - if (stack -> level != *_slevel_ && (TRACING || DEBUGGING || PROFILING)) { - (VOID) fprintf (_db_fp_, ERR_MISSING_RETURN, _db_process_, func); - (VOID) XDelay (stack -> delay); - } else if (DoProfile ()) { - (VOID) fprintf (_db_pfp_, "%s\tX\t%ld\n", func, Clock()); - (VOID) XDelay (stack -> delay); - } else if (DoTrace ()) { - DoPrefix (_line_); - Indent (stack -> level); - (VOID) fprintf (_db_fp_, "<%s\n", func); - (VOID) XDelay (stack -> delay); - } - (VOID) fflush (_db_fp_); - stack -> level = *_slevel_ - 1; - func = *_sfunc_; - file = *_sfile_; -} - - -/* - * FUNCTION - * - * _db_pargs_ log arguments for subsequent use by _db_doprnt_() - * - * SYNOPSIS - * - * VOID _db_pargs_ (_line_, keyword) - * int _line_; - * char *keyword; - * - * DESCRIPTION - * - * The new universal printing macro DBUG_PRINT, which replaces - * all forms of the DBUG_N macros, needs two calls to runtime - * support routines. The first, this function, remembers arguments - * that are used by the subsequent call to _db_doprnt_(). -* - */ - -VOID _db_pargs_ (_line_, keyword) -int _line_; -char *keyword; -{ - u_line = _line_; - u_keyword = keyword; -} - - -/* - * FUNCTION - * - * _db_doprnt_ handle print of debug lines - * - * SYNOPSIS - * - * VOID _db_doprnt_ (format, ARGLIST) - * char *format; - * long ARGLIST; - * - * DESCRIPTION - * - * When invoked via one of the DBUG macros, tests the current keyword - * set by calling _db_pargs_() to see if that macro has been selected - * for processing via the debugger control string, and if so, handles - * printing of the arguments via the format string. The line number - * of the DBUG macro in the source is found in u_line. - * - * Note that the format string SHOULD NOT include a terminating - * newline, this is supplied automatically. - * - * NOTES - * - * This runtime support routine replaces the older _db_printf_() - * routine which is temporarily kept around for compatibility. - * - * The rather ugly argument declaration is to handle some - * magic with respect to the number of arguments passed - * via the DBUG macros. The current maximum is 3 arguments - * (not including the keyword and format strings). - * - * The new facility is not yet common enough to - * convert to it quite yet... - * - */ - -/*VARARGS1*/ -VOID _db_doprnt_ (format, ARGLIST) -char *format; -long ARGLIST; -{ - if (_db_keyword_ (u_keyword)) { - DoPrefix (u_line); - if (TRACING) { - Indent (stack -> level + 1); - } else { - (VOID) fprintf (_db_fp_, "%s: ", func); - } - (VOID) fprintf (_db_fp_, "%s: ", u_keyword); - (VOID) fprintf (_db_fp_, format, ARGLIST); - (VOID) fprintf (_db_fp_, "\n"); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } -} - -/* - * The following routine is kept around temporarily for compatibility - * with older objects that were compiled with the DBUG_N macro form - * of the print routine. It will print a warning message on first - * usage. It will go away in subsequent releases... - */ - -/*VARARGS3*/ -VOID _db_printf_ (_line_, keyword, format, ARGLIST) -int _line_; -char *keyword, *format; -long ARGLIST; -{ - static BOOLEAN firsttime = TRUE; - - if (firsttime) { - (VOID) fprintf (stderr, ERR_PRINTF, _db_process_, file); - firsttime = FALSE; - } - _db_pargs_ (_line_, keyword); - _db_doprnt_ (format, ARGLIST); -} - - -/* - * FUNCTION - * - * ListParse parse list of modifiers in debug control string - * - * SYNOPSIS - * - * LOCAL struct link *ListParse (ctlp) - * char *ctlp; - * - * DESCRIPTION - * - * Given pointer to a comma separated list of strings in "cltp", - * parses the list, building a list and returning a pointer to it. - * The original comma separated list is destroyed in the process of - * building the linked list, thus it had better be a duplicate - * if it is important. - * - * Note that since each link is added at the head of the list, - * the final list will be in "reverse order", which is not - * significant for our usage here. - * - */ - -LOCAL struct link *ListParse (ctlp) -char *ctlp; -{ - REGISTER char *start; - REGISTER struct link *new; - REGISTER struct link *head; - - head = NULL; - while (*ctlp != EOS) { - start = ctlp; - while (*ctlp != EOS && *ctlp != ',') { - ctlp++; - } - if (*ctlp == ',') { - *ctlp++ = EOS; - } - new = (struct link *) DbugMalloc (sizeof (struct link)); - new -> string = StrDup (start); - new -> next_link = head; - head = new; - } - return (head); -} - - -/* - * FUNCTION - * - * InList test a given string for member of a given list - * - * SYNOPSIS - * - * LOCAL BOOLEAN InList (linkp, cp) - * struct link *linkp; - * char *cp; - * - * DESCRIPTION - * - * Tests the string pointed to by "cp" to determine if it is in - * the list pointed to by "linkp". Linkp points to the first - * link in the list. If linkp is NULL then the string is treated - * as if it is in the list (I.E all strings are in the null list). - * This may seem rather strange at first but leads to the desired - * operation if no list is given. The net effect is that all - * strings will be accepted when there is no list, and when there - * is a list, only those strings in the list will be accepted. - * - */ - -LOCAL BOOLEAN InList (linkp, cp) -struct link *linkp; -char *cp; -{ - REGISTER struct link *scan; - REGISTER BOOLEAN accept; - - if (linkp == NULL) { - accept = TRUE; - } else { - accept = FALSE; - for (scan = linkp; scan != NULL; scan = scan -> next_link) { - if (STREQ (scan -> string, cp)) { - accept = TRUE; - break; - } - } - } - return (accept); -} - - -/* - * FUNCTION - * - * PushState push current state onto stack and set up new one - * - * SYNOPSIS - * - * LOCAL VOID PushState () - * - * DESCRIPTION - * - * Pushes the current state on the state stack, and initializes - * a new state. The only parameter inherited from the previous - * state is the function nesting level. This action can be - * inhibited if desired, via the "r" flag. - * - * The state stack is a linked list of states, with the new - * state added at the head. This allows the stack to grow - * to the limits of memory if necessary. - * - */ - -LOCAL VOID PushState () -{ - REGISTER struct state *new; - - new = (struct state *) DbugMalloc (sizeof (struct state)); - new -> flags = 0; - new -> delay = 0; - new -> maxdepth = MAXDEPTH; - if (stack != NULL) { - new -> level = stack -> level; - } else { - new -> level = 0; - } - new -> out_file = stderr; - new -> functions = NULL; - new -> p_functions = NULL; - new -> keywords = NULL; - new -> processes = NULL; - new -> next_state = stack; - stack = new; - init_done = TRUE; -} - - -/* - * FUNCTION - * - * DoTrace check to see if tracing is current enabled - * - * SYNOPSIS - * - * LOCAL BOOLEAN DoTrace () - * - * DESCRIPTION - * - * Checks to see if tracing is enabled based on whether the - * user has specified tracing, the maximum trace depth has - * not yet been reached, the current function is selected, - * and the current process is selected. Returns TRUE if - * tracing is enabled, FALSE otherwise. - * - */ - -LOCAL BOOLEAN DoTrace () -{ - REGISTER BOOLEAN trace; - - trace = FALSE; - if (TRACING) { - if (stack -> level <= stack -> maxdepth) { - if (InList (stack -> functions, func)) { - if (InList (stack -> processes, _db_process_)) { - trace = TRUE; - } - } - } - } - return (trace); -} - - -/* - * FUNCTION - * - * DoProfile check to see if profiling is current enabled - * - * SYNOPSIS - * - * LOCAL BOOLEAN DoProfile () - * - * DESCRIPTION - * - * Checks to see if profiling is enabled based on whether the - * user has specified profiling, the maximum trace depth has - * not yet been reached, the current function is selected, - * and the current process is selected. Returns TRUE if - * profiling is enabled, FALSE otherwise. - * - */ - -LOCAL BOOLEAN DoProfile () -{ - REGISTER BOOLEAN profile; - - profile = FALSE; - if (PROFILING) { - if (stack -> level <= stack -> maxdepth) { - if (InList (stack -> p_functions, func)) { - if (InList (stack -> processes, _db_process_)) { - profile = TRUE; - } - } - } - } - return (profile); -} - - -/* - * FUNCTION - * - * _db_keyword_ test keyword for member of keyword list - * - * SYNOPSIS - * - * BOOLEAN _db_keyword_ (keyword) - * char *keyword; - * - * DESCRIPTION - * - * Test a keyword to determine if it is in the currently active - * keyword list. As with the function list, a keyword is accepted - * if the list is null, otherwise it must match one of the list - * members. When debugging is not on, no keywords are accepted. - * After the maximum trace level is exceeded, no keywords are - * accepted (this behavior subject to change). Additionally, - * the current function and process must be accepted based on - * their respective lists. - * - * Returns TRUE if keyword accepted, FALSE otherwise. - * - */ - -BOOLEAN _db_keyword_ (keyword) -char *keyword; -{ - REGISTER BOOLEAN accept; - - if (!init_done) { - _db_push_ (""); - } - accept = FALSE; - if (DEBUGGING) { - if (stack -> level <= stack -> maxdepth) { - if (InList (stack -> functions, func)) { - if (InList (stack -> keywords, keyword)) { - if (InList (stack -> processes, _db_process_)) { - accept = TRUE; - } - } - } - } - } - return (accept); -} - - -/* - * FUNCTION - * - * Indent indent a line to the given indentation level - * - * SYNOPSIS - * - * LOCAL VOID Indent (indent) - * int indent; - * - * DESCRIPTION - * - * Indent a line to the given level. Note that this is - * a simple minded but portable implementation. - * There are better ways. - * - * Also, the indent must be scaled by the compile time option - * of character positions per nesting level. - * - */ - -LOCAL VOID Indent (indent) -int indent; -{ - REGISTER int count; - AUTO char buffer[PRINTBUF]; - - indent *= INDENT; - for (count = 0; (count < (indent - INDENT)) && (count < (PRINTBUF - 1)); count++) { - if ((count % INDENT) == 0) { - buffer[count] = '|'; - } else { - buffer[count] = ' '; - } - } - buffer[count] = EOS; - (VOID) fprintf (_db_fp_, buffer); - (VOID) fflush (_db_fp_); -} - - -/* - * FUNCTION - * - * FreeList free all memory associated with a linked list - * - * SYNOPSIS - * - * LOCAL VOID FreeList (linkp) - * struct link *linkp; - * - * DESCRIPTION - * - * Given pointer to the head of a linked list, frees all - * memory held by the list and the members of the list. - * - */ - -LOCAL VOID FreeList (linkp) -struct link *linkp; -{ - REGISTER struct link *old; - - while (linkp != NULL) { - old = linkp; - linkp = linkp -> next_link; - if (old -> string != NULL) { - free (old -> string); - } - free ((char *) old); - } -} - - -/* - * FUNCTION - * - * StrDup make a duplicate of a string in new memory - * - * SYNOPSIS - * - * LOCAL char *StrDup (string) - * char *string; - * - * DESCRIPTION - * - * Given pointer to a string, allocates sufficient memory to make - * a duplicate copy, and copies the string to the newly allocated - * memory. Failure to allocated sufficient memory is immediately - * fatal. - * - */ - - -LOCAL char *StrDup (string) -char *string; -{ - REGISTER char *new; - - new = DbugMalloc (strlen (string) + 1); - (VOID) strcpy (new, string); - return (new); -} - - -/* - * FUNCTION - * - * DoPrefix print debugger line prefix prior to indentation - * - * SYNOPSIS - * - * LOCAL VOID DoPrefix (_line_) - * int _line_; - * - * DESCRIPTION - * - * Print prefix common to all debugger output lines, prior to - * doing indentation if necessary. Print such information as - * current process name, current source file name and line number, - * and current function nesting depth. - * - */ - - -LOCAL VOID DoPrefix (_line_) -int _line_; -{ - lineno++; - if (stack -> flags & NUMBER_ON) { - (VOID) fprintf (_db_fp_, "%5d: ", lineno); - } - if (stack -> flags & PROCESS_ON) { - (VOID) fprintf (_db_fp_, "%s: ", _db_process_); - } - if (stack -> flags & FILE_ON) { - (VOID) fprintf (_db_fp_, "%14s: ", file); - } - if (stack -> flags & LINE_ON) { - (VOID) fprintf (_db_fp_, "%5d: ", _line_); - } - if (stack -> flags & DEPTH_ON) { - (VOID) fprintf (_db_fp_, "%4d: ", stack -> level); - } - (VOID) fflush (_db_fp_); -} - - -/* - * FUNCTION - * - * OpenFile open new output stream for debugger output - * - * SYNOPSIS - * - * LOCAL VOID OpenFile (name) - * char *name; - * - * DESCRIPTION - * - * Given name of a new file (or "-" for stdout) opens the file - * and sets the output stream to the new file. - * - */ - -LOCAL VOID OpenFile (name) -char *name; -{ - REGISTER FILE *fp; - REGISTER BOOLEAN newfile; - - if (name != NULL) { - if (strcmp (name, "-") == 0) { - _db_fp_ = stdout; - stack -> out_file = _db_fp_; - } else { - if (!Writable (name)) { - (VOID) fprintf (_db_fp_, ERR_OPEN, _db_process_, name); - perror (""); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } else { - if (EXISTS (name)) { - newfile = FALSE; - } else { - newfile = TRUE; - } - fp = fopen (name, "a"); - if (fp == NULL) { - (VOID) fprintf (_db_fp_, ERR_OPEN, _db_process_, name); - perror (""); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } else { - _db_fp_ = fp; - stack -> out_file = fp; - if (newfile) { - ChangeOwner (name); - } - } - } - } - } -} - - -/* - * FUNCTION - * - * OpenProfile open new output stream for profiler output - * - * SYNOPSIS - * - * LOCAL VOID OpenProfile (name) - * char *name; - * - * DESCRIPTION - * - * Given name of a new file, opens the file - * and sets the profiler output stream to the new file. - * - * It is currently unclear whether the prefered behavior is - * to truncate any existing file, or simply append to it. - * The latter behavior would be desirable for collecting - * accumulated runtime history over a number of separate - * runs. It might take some changes to the analyzer program - * though, and the notes that Binayak sent with the profiling - * diffs indicated that append was the normal mode, but this - * does not appear to agree with the actual code. I haven't - * investigated at this time [fnf; 24-Jul-87]. - */ - -LOCAL VOID OpenProfile (name) -char *name; -{ - REGISTER FILE *fp; - REGISTER BOOLEAN newfile; - - if (name != NULL) { - if (!Writable (name)) { - (VOID) fprintf (_db_fp_, ERR_OPEN, _db_process_, name); - perror (""); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } else { - if (EXISTS (name)) { - newfile = FALSE; - } else { - newfile = TRUE; - } - fp = fopen (name, "w"); - if (fp == NULL) { - (VOID) fprintf (_db_fp_, ERR_OPEN, _db_process_, name); - perror (""); - (VOID) fflush (_db_fp_); - (VOID) XDelay (stack -> delay); - } else { - _db_pfp_ = fp; - stack -> prof_file = fp; - if (newfile) { - ChangeOwner (name); - } - } - } - } -} - - -/* - * FUNCTION - * - * CloseFile close the debug output stream - * - * SYNOPSIS - * - * LOCAL VOID CloseFile (fp) - * FILE *fp; - * - * DESCRIPTION - * - * Closes the debug output stream unless it is standard output - * or standard error. - * - */ - -LOCAL VOID CloseFile (fp) -FILE *fp; -{ - if (fp != stderr && fp != stdout) { - if (fclose (fp) == EOF) { - (VOID) fprintf (stderr, ERR_CLOSE, _db_process_); - perror (""); - (VOID) fflush (stderr); - (VOID) XDelay (stack -> delay); - } - } -} - - -/* - * FUNCTION - * - * DbugExit print error message and exit - * - * SYNOPSIS - * - * LOCAL VOID DbugExit (why) - * char *why; - * - * DESCRIPTION - * - * Prints error message using current process name, the reason for - * aborting (typically out of memory), and exits with status 1. - * This should probably be changed to use a status code - * defined in the user's debugger include file. - * - */ - -LOCAL VOID DbugExit (why) -char *why; -{ - (VOID) fprintf (stderr, ERR_ABORT, _db_process_, why); - (VOID) fflush (stderr); - (VOID) XDelay (stack -> delay); - exit (1); -} - - -/* - * FUNCTION - * - * DbugMalloc allocate memory for debugger runtime support - * - * SYNOPSIS - * - * LOCAL char *DbugMalloc (size) - * int size; - * - * DESCRIPTION - * - * Allocate more memory for debugger runtime support functions. - * Failure to to allocate the requested number of bytes is - * immediately fatal to the current process. This may be - * rather unfriendly behavior. It might be better to simply - * print a warning message, freeze the current debugger state, - * and continue execution. - * - */ - -LOCAL char *DbugMalloc (size) -int size; -{ - register char *new; - - new = malloc ( size ); - if (new == NULL) { - DbugExit ("out of memory"); - } - return (new); -} - - -/* - * This function may be eliminated when strtok is available - * in the runtime environment (missing from BSD4.1). - */ - -LOCAL char *strtok (s1, s2) -char *s1, *s2; -{ - static char *end = NULL; - REGISTER char *rtnval; - - rtnval = NULL; - if (s2 != NULL) { - if (s1 != NULL) { - end = s1; - rtnval = strtok ((char *) NULL, s2); - } else if (end != NULL) { - if (*end != EOS) { - rtnval = end; - while (*end != *s2 && *end != EOS) {end++;} - if (*end != EOS) { - *end++ = EOS; - } - } - } - } - return (rtnval); -} - - -/* - * FUNCTION - * - * BaseName strip leading pathname components from name - * - * SYNOPSIS - * - * LOCAL char *BaseName (pathname) - * char *pathname; - * - * DESCRIPTION - * - * Given pointer to a complete pathname, locates the base file - * name at the end of the pathname and returns a pointer to - * it. - * - */ - -LOCAL char *BaseName (pathname) -char *pathname; -{ - register char *base; - - base = strrchr (pathname, '/'); - if (base++ == NULL) { - base = pathname; - } - return (base); -} - - -/* - * FUNCTION - * - * Writable test to see if a pathname is writable/creatable - * - * SYNOPSIS - * - * LOCAL BOOLEAN Writable (pathname) - * char *pathname; - * - * DESCRIPTION - * - * Because the debugger might be linked in with a program that - * runs with the set-uid-bit (suid) set, we have to be careful - * about opening a user named file for debug output. This consists - * of checking the file for write access with the real user id, - * or checking the directory where the file will be created. - * - * Returns TRUE if the user would normally be allowed write or - * create access to the named file. Returns FALSE otherwise. - * - */ - -LOCAL BOOLEAN Writable (pathname) -char *pathname; -{ - REGISTER BOOLEAN granted; -#ifdef unix - REGISTER char *lastslash; -#endif - -#ifndef unix - granted = TRUE; -#else - granted = FALSE; - if (EXISTS (pathname)) { - if (WRITABLE (pathname)) { - granted = TRUE; - } - } else { - lastslash = strrchr (pathname, '/'); - if (lastslash != NULL) { - *lastslash = EOS; - } else { - pathname = "."; - } - if (WRITABLE (pathname)) { - granted = TRUE; - } - if (lastslash != NULL) { - *lastslash = '/'; - } - } -#endif - return (granted); -} - - -/* - * This function may be eliminated when strrchr is available - * in the runtime environment (missing from BSD4.1). - * Alternately, you can use rindex() on BSD systems. - */ - -LOCAL char *strrchr (s, c) -char *s; -char c; -{ - REGISTER char *scan; - - for (scan = s; *scan != EOS; scan++) {;} - while (scan > s && *--scan != c) {;} - if (*scan != c) { - scan = NULL; - } - return (scan); -} - - -/* - * FUNCTION - * - * ChangeOwner change owner to real user for suid programs - * - * SYNOPSIS - * - * LOCAL VOID ChangeOwner (pathname) - * - * DESCRIPTION - * - * For unix systems, change the owner of the newly created debug - * file to the real owner. This is strictly for the benefit of - * programs that are running with the set-user-id bit set. - * - * Note that at this point, the fact that pathname represents - * a newly created file has already been established. If the - * program that the debugger is linked to is not running with - * the suid bit set, then this operation is redundant (but - * harmless). - * - */ - -LOCAL VOID ChangeOwner (pathname) -char *pathname; -{ -#ifdef unix - if (chown (pathname, getuid (), getgid ()) == -1) { - (VOID) fprintf (stderr, ERR_CHOWN, _db_process_, pathname); - perror (""); - (VOID) fflush (stderr); - (VOID) XDelay (stack -> delay); - } -#endif -} - - -/* - * FUNCTION - * - * _db_setjmp_ save debugger environment - * - * SYNOPSIS - * - * VOID _db_setjmp_ () - * - * DESCRIPTION - * - * Invoked as part of the user's DBUG_SETJMP macro to save - * the debugger environment in parallel with saving the user's - * environment. - * - */ - -VOID _db_setjmp_ () -{ - jmplevel = stack -> level; - jmpfunc = func; - jmpfile = file; -} - - -/* - * FUNCTION - * - * _db_longjmp_ restore previously saved debugger environment - * - * SYNOPSIS - * - * VOID _db_longjmp_ () - * - * DESCRIPTION - * - * Invoked as part of the user's DBUG_LONGJMP macro to restore - * the debugger environment in parallel with restoring the user's - * previously saved environment. - * - */ - -VOID _db_longjmp_ () -{ - stack -> level = jmplevel; - if (jmpfunc) { - func = jmpfunc; - } - if (jmpfile) { - file = jmpfile; - } -} - - -/* - * FUNCTION - * - * DelayArg convert D flag argument to appropriate value - * - * SYNOPSIS - * - * LOCAL int DelayArg (value) - * int value; - * - * DESCRIPTION - * - * Converts delay argument, given in tenths of a second, to the - * appropriate numerical argument used by the system to delay - * that that many tenths of a second. For example, on the - * AMIGA, there is a system call "Delay()" which takes an - * argument in ticks (50 per second). On unix, the sleep - * command takes seconds. Thus a value of "10", for one - * second of delay, gets converted to 50 on the amiga, and 1 - * on unix. Other systems will need to use a timing loop. - * - */ - -LOCAL int DelayArg (value) -int value; -{ - int delayarg = 0; - -#ifdef unix - delayarg = value / 10; /* Delay is in seconds for sleep () */ -#endif -#ifdef AMIGA - delayarg = (HZ * value) / 10; /* Delay in ticks for XDelay () */ -#endif - return (delayarg); -} - - -/* - * A dummy delay stub for systems that do not support delays. - * With a little work, this can be turned into a timing loop. - */ - -#ifndef unix -#ifndef AMIGA -XDelay () -{ -} -#endif -#endif - - -/* - * FUNCTION - * - * perror perror simulation for systems that don't have it - * - * SYNOPSIS - * - * LOCAL VOID perror (s) - * char *s; - * - * DESCRIPTION - * - * Perror produces a message on the standard error stream which - * provides more information about the library or system error - * just encountered. The argument string s is printed, followed - * by a ':', a blank, and then a message and a newline. - * - * An undocumented feature of the unix perror is that if the string - * 's' is a null string (NOT a NULL pointer!), then the ':' and - * blank are not printed. - * - * This version just complains about an "unknown system error". - * - */ - -#if !unix && !(AMIGA || LATTICE || __TURBOC__ ) -LOCAL VOID perror (s) -#if __STDC__ -const char *s; -#else -char *s; -#endif -{ - if (s && *s != EOS) { - (VOID) fprintf (stderr, "%s: ", s); - } - (VOID) fprintf (stderr, "\n"); -} -#endif /* !unix && !(AMIGA && LATTICE) */ - -/* - * Here we need the definitions of the clock routine. Add your - * own for whatever system that you have. - */ - -#if unix - -# include -# if !defined(Solaris) && (BSD4_3 || sun) - -/* - * Definition of the Clock() routine for 4.3 BSD. - */ - -#include -#include - - -/* - * Returns the user time in milliseconds used by this process so - * far. - */ - -LOCAL unsigned long Clock () -{ - struct rusage ru; - - (VOID) getrusage (RUSAGE_SELF, &ru); - return ((ru.ru_utime.tv_sec * 1000) + (ru.ru_utime.tv_usec / 1000)); -} - -#else - -LOCAL unsigned long Clock () -{ - return (0); -} - -# endif - -#else - -#if AMIGA - -struct DateStamp { /* Yes, this is a hack, but doing it right */ - long ds_Days; /* is incredibly ugly without splitting this */ - long ds_Minute; /* off into a separate file */ - long ds_Tick; -}; - -static int first_clock = TRUE; -static struct DateStamp begin; -static struct DateStamp elapsed; - -LOCAL unsigned long Clock () -{ - register struct DateStamp *now; - register unsigned long millisec = 0; - extern VOID *AllocMem (); - - now = (struct DateStamp *) AllocMem ((long) sizeof (struct DateStamp), 0L); - if (now != NULL) { - if (first_clock == TRUE) { - first_clock = FALSE; - (VOID) DateStamp (now); - begin = *now; - } - (VOID) DateStamp (now); - millisec = 24 * 3600 * (1000 / HZ) * (now -> ds_Days - begin.ds_Days); - millisec += 60 * (1000 / HZ) * (now -> ds_Minute - begin.ds_Minute); - millisec += (1000 / HZ) * (now -> ds_Tick - begin.ds_Tick); - (VOID) FreeMem (now, (long) sizeof (struct DateStamp)); - } - return (millisec); -} - -#else - -LOCAL unsigned long Clock () -{ - return (0); -} - -#endif /* AMIGA */ - -#endif /* unix */ - -#ifdef AMIGA -XDelay(x) -int x; -{ - if (x) Delay(x); /* fix Delay bug in AmigaDOS */ -} -#endif - diff --git a/dmake/dbug/dbug/dbug.h b/dmake/dbug/dbug/dbug.h deleted file mode 100644 index 0f171e0d349f..000000000000 --- a/dmake/dbug/dbug/dbug.h +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * * - * N O T I C E * - * * - * Copyright Abandoned, 1987, Fred Fish * - * * - * * - * This previously copyrighted work has been placed into the public * - * domain by the author and may be freely used for any purpose, * - * private or commercial. * - * * - * Because of the number of inquiries I was receiving about the use * - * of this product in commercially developed works I have decided to * - * simply make it public domain to further its unrestricted use. I * - * specifically would be most happy to see this material become a * - * part of the standard Unix distributions by AT&T and the Berkeley * - * Computer Science Research Group, and a standard part of the GNU * - * system from the Free Software Foundation. * - * * - * I would appreciate it, as a courtesy, if this notice is left in * - * all copies and derivative works. Thank you. * - * * - * The author makes no warranty of any kind with respect to this * - * product and explicitly disclaims any implied warranties of mer- * - * chantability or fitness for any particular purpose. * - * * - ****************************************************************************** - */ - - -/* - * FILE - * - * dbug.h user include file for programs using the dbug package - * - * SYNOPSIS - * - * #include - * - * SCCS ID - * - * @(#)dbug.h 1.11 9/5/87 - * - * DESCRIPTION - * - * Programs which use the dbug package must include this file. - * It contains the appropriate macros to call support routines - * in the dbug runtime library. - * - * To disable compilation of the macro expansions define the - * preprocessor symbol "DBUG_OFF". This will result in null - * macros expansions so that the resulting code will be smaller - * and faster. (The difference may be smaller than you think - * so this step is recommended only when absolutely necessary). - * In general, tradeoffs between space and efficiency are - * decided in favor of efficiency since space is seldom a - * problem on the new machines). - * - * All externally visible symbol names follow the pattern - * "_db_xxx..xx_" to minimize the possibility of a dbug package - * symbol colliding with a user defined symbol. - * - * The DBUG_ style macros are obsolete and should not be used - * in new code. Macros to map them to instances of DBUG_PRINT - * are provided for compatibility with older code. They may go - * away completely in subsequent releases. - * - * AUTHOR - * - * Fred Fish - * (Currently employed by Motorola Computer Division, Tempe, Az.) - * hao!noao!mcdsun!fnf - * (602) 438-3614 - * - */ - - -/* - * Internally used dbug variables which must be global. - */ - -#ifndef DBUG_OFF - extern int _db_on_; /* TRUE if debug currently enabled */ - extern FILE *_db_fp_; /* Current debug output stream */ - extern char *_db_process_; /* Name of current process */ - extern int _db_keyword_ (); /* Accept/reject keyword */ - extern void _db_push_ (); /* Push state, set up new state */ - extern void _db_pop_ (); /* Pop previous debug state */ - extern void _db_enter_ (); /* New user function entered */ - extern void _db_return_ (); /* User function return */ - extern void _db_pargs_ (); /* Remember args for line */ - extern void _db_doprnt_ (); /* Print debug output */ - extern void _db_setjmp_ (); /* Save debugger environment */ - extern void _db_longjmp_ (); /* Restore debugger environment */ -# endif - - -/* - * These macros provide a user interface into functions in the - * dbug runtime support library. They isolate users from changes - * in the MACROS and/or runtime support. - * - * The symbols "__LINE__" and "__FILE__" are expanded by the - * preprocessor to the current source file line number and file - * name respectively. - * - * WARNING --- Because the DBUG_ENTER macro allocates space on - * the user function's stack, it must precede any executable - * statements in the user function. - * - */ - -# ifdef DBUG_OFF -# define DBUG_ENTER(a1) -# define DBUG_MALLOC(a1) -# define DBUG_RETURN(a1) return(a1) -# define DBUG_VOID_RETURN return -# define DBUG_EXECUTE(keyword,a1) -# define DBUG_PRINT(keyword,arglist) -# define DBUG_2(keyword,format) /* Obsolete */ -# define DBUG_3(keyword,format,a1) /* Obsolete */ -# define DBUG_4(keyword,format,a1,a2) /* Obsolete */ -# define DBUG_5(keyword,format,a1,a2,a3) /* Obsolete */ -# define DBUG_PUSH(a1) -# define DBUG_POP() -# define DBUG_PROCESS(a1) -# define DBUG_FILE (stderr) -# define DBUG_SETJMP setjmp -# define DBUG_LONGJMP longjmp -# else -# define DBUG_ENTER(a) \ - auto char *_db_func_, *_db_file_; \ - int _db_level_; \ - _db_enter_ (a,__FILE__,__LINE__,&_db_func_,&_db_file_,&_db_level_) -# define DBUG_MALLOC(a) \ - auto char *_db_func_, *_db_file_; \ - int _db_level_; \ - malloc_init();\ - _db_enter_ (a,__FILE__,__LINE__,&_db_func_,&_db_file_,&_db_level_) -# define DBUG_LEAVE \ - (_db_return_ (__LINE__, &_db_func_, &_db_file_, &_db_level_)) -# define DBUG_RETURN(a1) return (DBUG_LEAVE, (a1)) -/* define DBUG_RETURN(a1) {DBUG_LEAVE; return(a1);} Alternate form */ -# define DBUG_VOID_RETURN DBUG_LEAVE; return -# define DBUG_EXECUTE(keyword,a1) \ - {if (_db_on_) {if (_db_keyword_ (keyword)) { a1 }}} -# define DBUG_PRINT(keyword,arglist) \ - {if (_db_on_) {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;}} -# define DBUG_2(keyword,format) \ - DBUG_PRINT(keyword,(format)) /* Obsolete */ -# define DBUG_3(keyword,format,a1) \ - DBUG_PRINT(keyword,(format,a1)) /* Obsolete */ -# define DBUG_4(keyword,format,a1,a2) \ - DBUG_PRINT(keyword,(format,a1,a2)) /* Obsolete */ -# define DBUG_5(keyword,format,a1,a2,a3) \ - DBUG_PRINT(keyword,(format,a1,a2,a3)) /* Obsolete */ -# define DBUG_PUSH(a1) _db_push_ (a1) -# define DBUG_POP() _db_pop_ () -# define DBUG_PROCESS(a1) (_db_process_ = a1) -# define DBUG_FILE (_db_fp_) -# define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1)) -# define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2)) -# endif - diff --git a/dmake/dbug/dbug/dbug.txt b/dmake/dbug/dbug/dbug.txt deleted file mode 100755 index ec032f61ebff..000000000000 --- a/dmake/dbug/dbug/dbug.txt +++ /dev/null @@ -1,1452 +0,0 @@ - - - - - - - D B U G - - C Program Debugging Package - - by - Fred Fish - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - DBUG User Manual October 29, 1986 - - - - INTRODUCTION - - - Almost every program development environment worthy of - the name provides some sort of debugging facility. Usually - this takes the form of a program which is capable of - controlling execution of other programs and examining the - internal state of other executing programs. These types of - programs will be referred to as external debuggers since the - debugger is not part of the executing program. Examples of - this type of debugger include the adb and sdb debuggers - provided with the UNIX1 operating system. - - - One of the problems associated with developing programs - in an environment with good external debuggers is that - developed programs tend to have little or no internal - instrumentation. This is usually not a problem for the - developer since he is, or at least should be, intimately - familiar with the internal organization, data structures, - and control flow of the program being debugged. It is a - serious problem for maintenance programmers, who are - unlikely to have such familiarity with the program being - maintained, modified, or ported to another environment. It - is also a problem, even for the developer, when the program - is moved to an environment with a primitive or unfamiliar - debugger, or even no debugger. - - - On the other hand, dbug is an example of an internal - debugger. Because it requires internal instrumentation of a - program, and its usage does not depend on any special - capabilities of the execution environment, it is always - available and will execute in any environment that the - program itself will execute in. In addition, since it is a - complete package with a specific user interface, all - programs which use it will be provided with similar - debugging capabilities. This is in sharp contrast to other - forms of internal instrumentation where each developer has - their own, usually less capable, form of internal debugger. - In summary, because dbug is an internal debugger it provides - consistency across operating environments, and because it is - available to all developers it provides consistency across - all programs in the same environment. - - - The dbug package imposes only a slight speed penalty on - executing programs, typically much less than 10 percent, and - a modest size penalty, typically 10 to 20 percent. By - defining a specific C preprocessor symbol both of these can - be reduced to zero with no changes required to the source - - ____________________ - - 1. UNIX is a trademark of AT&T Bell Laboratories. - - - 2 - - - - - - - DBUG User Manual October 29, 1986 - - - - code. - - - The following list is a quick summary of the - capabilities of the dbug package. Each capability can be - individually enabled or disabled at the time a program is - invoked by specifying the appropriate command line - arguments. - - o Execution trace showing function level control - flow in a semi-graphically manner using - indentation to indicate nesting depth. - - o Output the values of all, or any subset of, key - internal variables. - - o Limit actions to a specific set of named - functions. - - o Limit function trace to a specified nesting depth. - - o Label each output line with source file name and - line number. - - o Label each output line with name of current - process. - - o Push or pop internal debugging state to allow - execution with built in debugging defaults. - - o Redirect the debug output stream to standard - output (stdout) or a named file. The default - output stream is standard error (stderr). The - redirection mechanism is completely independent of - normal command line redirection to avoid output - conflicts. - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - DBUG User Manual October 29, 1986 - - - - PRIMITIVE DEBUGGING TECHNIQUES - - - Internal instrumentation is already a familiar concept - to most programmers, since it is usually the first debugging - technique learned. Typically, "print statements" are - inserted in the source code at interesting points, the code - is recompiled and executed, and the resulting output is - examined in an attempt to determine where the problem is. - - The procedure is iterative, with each iteration yielding - more and more output, and hopefully the source of the - problem is discovered before the output becomes too large to - deal with or previously inserted statements need to be - removed. Figure 1 is an example of this type of primitive - debugging technique. - - - - #include - - main (argc, argv) - int argc; - char *argv[]; - { - printf ("argv[0] = %d\n", argv[0]); - /* - * Rest of program - */ - printf ("== done ==\n"); - } - - - Figure 1 - Primitive Debugging Technique - - - - - - Eventually, and usually after at least several - iterations, the problem will be found and corrected. At - this point, the newly inserted print statements must be - dealt with. One obvious solution is to simply delete them - all. Beginners usually do this a few times until they have - to repeat the entire process every time a new bug pops up. - The second most obvious solution is to somehow disable the - output, either through the source code comment facility, - creation of a debug variable to be switched on or off, or by - using the C preprocessor. Figure 2 is an example of all - three techniques. - - - - - - - 4 - - - - - - - DBUG User Manual October 29, 1986 - - - - #include - - int debug = 0; - - main (argc, argv) - int argc; - char *argv[]; - { - /* printf ("argv = %x\n", argv) */ - if (debug) printf ("argv[0] = %d\n", argv[0]); - /* - * Rest of program - */ - #ifdef DEBUG - printf ("== done ==\n"); - #endif - } - - - Figure 2 - Debug Disable Techniques - - - - - - Each technique has its advantages and disadvantages - with respect to dynamic vs static activation, source code - overhead, recompilation requirements, ease of use, program - readability, etc. Overuse of the preprocessor solution - quickly leads to problems with source code readability and - maintainability when multiple #ifdef symbols are to be - defined or undefined based on specific types of debug - desired. The source code can be made slightly more readable - by suitable indentation of the #ifdef arguments to match the - indentation of the code, but not all C preprocessors allow - this. The only requirement for the standard UNIX C - preprocessor is for the '#' character to appear in the first - column, but even this seems like an arbitrary and - unreasonable restriction. Figure 3 is an example of this - usage. - - - - - - - - - - - - - - - - - 5 - - - - - - - DBUG User Manual October 29, 1986 - - - - #include - - main (argc, argv) - int argc; - char *argv[]; - { - # ifdef DEBUG - printf ("argv[0] = %d\n", argv[0]); - # endif - /* - * Rest of program - */ - # ifdef DEBUG - printf ("== done ==\n"); - # endif - } - - - Figure 3 - More Readable Preprocessor Usage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - DBUG User Manual October 29, 1986 - - - - FUNCTION TRACE EXAMPLE - - - We will start off learning about the capabilities of - the dbug package by using a simple minded program which - computes the factorial of a number. In order to better - demonstrate the function trace mechanism, this program is - implemented recursively. Figure 4 is the main function for - this factorial program. - - - - #include - /* User programs should use */ - #include "dbug.h" - - int main (argc, argv) - int argc; - char *argv[]; - { - register int result, ix; - extern int factorial (), atoi (); - - DBUG_ENTER ("main"); - DBUG_PROCESS (argv[0]); - for (ix = 1; ix < argc && argv[ix][0] == '-'; ix++) { - switch (argv[ix][1]) { - case '#': - DBUG_PUSH (&(argv[ix][2])); - break; - } - } - for (; ix < argc; ix++) { - DBUG_PRINT ("args", ("argv[%d] = %s", ix, argv[ix])); - result = factorial (atoi (argv[ix])); - printf ("%d\n", result); - } - DBUG_RETURN (0); - } - - - Figure 4 - Factorial Program Mainline - - - - - - The main function is responsible for processing any - command line option arguments and then computing and - printing the factorial of each non-option argument. - - First of all, notice that all of the debugger functions - are implemented via preprocessor macros. This does not - - - - 7 - - - - - - - DBUG User Manual October 29, 1986 - - - - detract from the readability of the code and makes disabling - all debug compilation trivial (a single preprocessor symbol, - DBUG_OFF, forces the macro expansions to be null). - - Also notice the inclusion of the header file dbug.h - from the local header file directory. (The version included - here is the test version in the dbug source distribution - directory). This file contains all the definitions for the - debugger macros, which all have the form DBUG_XX...XX. - - - The DBUG_ENTER macro informs that debugger that we have - entered the function named main. It must be the very first - "executable" line in a function, after all declarations and - before any other executable line. The DBUG_PROCESS macro is - generally used only once per program to inform the debugger - what name the program was invoked with. The DBUG_PUSH macro - modifies the current debugger state by saving the previous - state and setting a new state based on the control string - passed as its argument. The DBUG_PRINT macro is used to - print the values of each argument for which a factorial is - to be computed. The DBUG_RETURN macro tells the debugger - that the end of the current function has been reached and - returns a value to the calling function. All of these - macros will be fully explained in subsequent sections. - - To use the debugger, the factorial program is invoked - with a command line of the form: - - factorial -#d:t 1 2 3 - - The main function recognizes the "-#d:t" string as a - debugger control string, and passes the debugger arguments - ("d:t") to the dbug runtime support routines via the - DBUG_PUSH macro. This particular string enables output from - the DBUG_PRINT macro with the 'd' flag and enables function - tracing with the 't' flag. The factorial function is then - called three times, with the arguments "1", "2", and "3". - Note that the DBUG_PRINT takes exactly two arguments, with - the second argument (a format string and list of printable - values) enclosed in parenthesis. - - Debug control strings consist of a header, the "-#", - followed by a colon separated list of debugger arguments. - Each debugger argument is a single character flag followed - by an optional comma separated list of arguments specific to - the given flag. Some examples are: - - -#d:t:o - -#d,in,out:f,main:F:L - - Note that previously enabled debugger actions can be - disabled by the control string "-#". - - - - - 8 - - - - - - - DBUG User Manual October 29, 1986 - - - - The definition of the factorial function, symbolized as - "N!", is given by: - - N! = N * N-1 * ... 2 * 1 - - Figure 5 is the factorial function which implements this - algorithm recursively. Note that this is not necessarily - the best way to do factorials and error conditions are - ignored completely. - - - - #include - /* User programs should use */ - #include "dbug.h" - - int factorial (value) - register int value; - { - DBUG_ENTER ("factorial"); - DBUG_PRINT ("find", ("find %d factorial", value)); - if (value > 1) { - value *= factorial (value - 1); - } - DBUG_PRINT ("result", ("result is %d", value)); - DBUG_RETURN (value); - } - - - Figure 5 - Factorial Function - - - - - - One advantage (some may not consider it so) to using - the dbug package is that it strongly encourages fully - structured coding with only one entry and one exit point in - each function. Multiple exit points, such as early returns - to escape a loop, may be used, but each such point requires - the use of an appropriate DBUG_RETURN or DBUG_VOID_RETURN - macro. - - - To build the factorial program on a UNIX system, - compile and link with the command: - - cc -o factorial main.c factorial.c -ldbug - - The "-ldbug" argument tells the loader to link in the - runtime support modules for the dbug package. Executing the - factorial program with a command of the form: - - - - - 9 - - - - - - - DBUG User Manual October 29, 1986 - - - - factorial 1 2 3 4 5 - - generates the output shown in figure 6. - - - - 1 - 2 - 6 - 24 - 120 - Figure 6 - factorial 1 2 3 4 5 - - - - - - Function level tracing is enabled by passing the - debugger the 't' flag in the debug control string. Figure 7 - is the output resulting from the command - "factorial -#t:o 3 2". - - - - | >factorial - | | >factorial - | | factorial - | | >factorial - | | | >factorial - | | | ' for the entry point and '<' for the exit point, - connected by vertical bars to allow matching points to be - easily found when separated by large distances. - - - This trace output indicates that there was an initial - - - - 10 - - - - - - - DBUG User Manual October 29, 1986 - - - - call to factorial from main (to compute 2!), followed by a - single recursive call to factorial to compute 1!. The main - program then output the result for 2! and called the - factorial function again with the second argument, 3. - Factorial called itself recursively to compute 2! and 1!, - then returned control to main, which output the value for 3! - and exited. - - - Note that there is no matching entry point "main>" for - the return point "factorial - | | find: find 3 factorial - | | >factorial - | | | find: find 2 factorial - | | | >factorial - | | | | find: find 1 factorial - | | | | result: result is 1 - | | | %s", stp, - stp -> name)); - - DBUG_SETJMP Used in place of the setjmp() function - to first save the current debugger state - and then execute the standard setjmp - call. This allows to the debugger to - restore it's state when the DBUG_LONGJMP - macro is used to invoke the standard - longjmp() call. Currently all instances - of DBUG_SETJMP must occur within the - same function and at the same function - nesting level. - - EX: DBUG_SETJMP (env); - - DBUG_LONGJMP Used in place of the longjmp() function - to first restore the previous debugger - state at the time of the last - DBUG_SETJMP and then execute the - standard longjmp() call. Note that - currently all DBUG_LONGJMP macros - restore the state at the time of the - last DBUG_SETJMP. It would be possible - to maintain separate DBUG_SETJMP and - DBUG_LONGJMP pairs by having the - debugger runtime support module use the - first argument to differentiate the - pairs. - - EX: DBUG_LONGJMP (env,val); - - - - - - - - - - - - - - - - - - - 17 - - - - - - - DBUG User Manual October 29, 1986 - - - - DEBUG CONTROL STRING - - - The debug control string is used to set the state of - the debugger via the DBUG_PUSH macro. This section - summarizes the currently available debugger options and the - flag characters which enable or disable them. Argument - lists enclosed in '[' and ']' are optional. - - - d[,keywords] Enable output from macros with - specified keywords. A null list of - keywords implies that all keywords are - selected. - - D[,time] Delay for specified time after each - output line, to let output drain. - Time is given in tenths of a second - (value of 10 is one second). Default - is zero. - - f[,functions] Limit debugger actions to the - specified list of functions. A null - list of functions implies that all - functions are selected. - - F Mark each debugger output line with - the name of the source file containing - the macro causing the output. - - L Mark each debugger output line with - the source file line number of the - macro causing the output. - - n Mark each debugger output line with - the current function nesting depth. - - N Sequentially number each debugger - output line starting at 1. This is - useful for reference purposes when - debugger output is interspersed with - program output. - - o[,file] Redirect the debugger output stream to - the specified file. The default - output stream is stderr. A null - argument list causes output to be - redirected to stdout. - - p[,processes] Limit debugger actions to the - specified processes. A null list - implies all processes. This is useful - for processes which run child - processes. Note that each debugger - - - - 18 - - - - - - - DBUG User Manual October 29, 1986 - - - - output line can be marked with the - name of the current process via the - 'P' flag. The process name must match - the argument passed to the - DBUG_PROCESS macro. - - P Mark each debugger output line with - the name of the current process. Most - useful when used with a process which - runs child processes that are also - being debugged. Note that the parent - process must arrange for the debugger - control string to be passed to the - child processes. - - r Used in conjunction with the DBUG_PUSH - macro to reset the current indentation - level back to zero. Most useful with - DBUG_PUSH macros used to temporarily - alter the debugger state. - - t[,N] Enable function control flow tracing. - The maximum nesting depth is specified - by N, and defaults to 200. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 19 - - - - - - - DBUG User Manual October 29, 1986 - - - - HINTS AND MISCELLANEOUS - - - One of the most useful capabilities of the dbug package - is to compare the executions of a given program in two - different environments. This is typically done by executing - the program in the environment where it behaves properly and - saving the debugger output in a reference file. The program - is then run with identical inputs in the environment where - it misbehaves and the output is again captured in a - reference file. The two reference files can then be - differentially compared to determine exactly where execution - of the two processes diverges. - - - A related usage is regression testing where the - execution of a current version is compared against - executions of previous versions. This is most useful when - there are only minor changes. - - - It is not difficult to modify an existing compiler to - implement some of the functionality of the dbug package - automatically, without source code changes to the program - being debugged. In fact, such changes were implemented in a - version of the Portable C Compiler by the author in less - than a day. However, it is strongly encouraged that all - newly developed code continue to use the debugger macros for - the portability reasons noted earlier. The modified - compiler should be used only for testing existing programs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 - - - - - - - DBUG User Manual October 29, 1986 - - - - CAVEATS - - - The dbug package works best with programs which have - "line oriented" output, such as text processors, general - purpose utilities, etc. It can be interfaced with screen - oriented programs such as visual editors by redefining the - appropriate macros to call special functions for displaying - the debugger results. Of course, this caveat is not - applicable if the debugger output is simply dumped into a - file for post-execution examination. - - - Programs which use memory allocation functions other - than malloc will usually have problems using the standard - dbug package. The most common problem is multiply allocated - memory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 21 - - - - - - - - - - D B U G - C Program Debugging Package - - by - Fred Fish - - - - ABSTRACT - - - This document introduces dbug, a macro based C debugging - package which has proven to be a very flexible and useful - tool for debugging, testing, and porting C programs. - - - All of the features of the dbug package can be enabled - or disabled dynamically at execution time. This means that - production programs will run normally when debugging is not - enabled, and eliminates the need to maintain two separate - versions of a program. - - - Many of the things easily accomplished with - conventional debugging tools, such as symbolic debuggers, - are difficult or impossible with this package, and vice - versa. Thus the dbug package should not be thought of as a - replacement or substitute for other debugging tools, but - simply as a useful addition to the program development and - maintenance environment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 22 - - - diff --git a/dmake/dbug/dbug/dbug.uue b/dmake/dbug/dbug/dbug.uue deleted file mode 100644 index da8743b7e128..000000000000 --- a/dmake/dbug/dbug/dbug.uue +++ /dev/null @@ -1,368 +0,0 @@ -begin 650 dbug.Z -M'YV,"@*"&$BPH,&#" T2 2$$1!401P0FG&AP" @H:@"4@481($1Y,Z0;"T -M*14$3Z-*03"UZA,$5[,20;"U:Q4$7\,.03"V;%2H4),B19H5*]:F3)D6C1F$ -M39LW<^B *&.GC)P\(.!DW-@1!!F^9=B\@=.FC!N]CNVDR>BF\6,0=][(H8,& -M,(@W9A0@Y%QFH)N.I06_D7QX#H@Y;QJ_UJP7M.&0(TN>!&%&91HV:>CD<3&P -MRIPZ8=BPL3D:35 0=,*L*>.:]$ SFCU^-C,PS$#5A+7?<3X&S<#G(,:$@1-& -M#)O2VT4?'//F<4;E)E'NQ5-F3!TZ:=0WD&V?D29'8(-QU(9K8;CA4QEX=&12 -M?M"A\1)")M'AUVELO!:=AML5:.&!$/;W'X7@*3@'<2!08>$K&W68C6E>@?@+OAV :+1438!ASON19?<^C)"!^!6N;FUWENC,%& -M'8<-9%T8"!!J*!D((*JH& @PZNB1#KZ&P!R33JIHHHDZVFBC3NHIQQQ8%J0: -M:SUA%IQYUH4%%EAP-:564E@@$.NL&^ 0 P*WYKI!#I_-R!&:*,V11UYEK#D7 -M14^X49IMUJGF7K$,S@';&&F$H:%/.W)V6U^*P8%B@CF&2I!)W;DQ4&23U6>9 -M7J9J"\(9;[SATWY+-MDIE)^"\!QGUHH[T&'<+E:JFG)J&"ET1H* 1AA]#00< -M'72\-^"!('S)9[W)^:NO&WG)4<>ZU@;H!HLM.BG42IC' B0E\X)1]EF:AOG.P\-F!UCI(=M=Q'6/040=/06O9/ZM)4QD4WNL2&20GP2YZ86@,HQP!IDR0L^]IQYMF TT=]FD]?P=N -M&XU]"O5X"8?!D\9UN '<="P7J3##I1U7'F\2 F=Z<)YU+>C/,(\.6"8TTD6>FKWIX6YB"A?2%1'Q3#!^OP091\SUP0Z@B< -M[L2=_$5-;&Q8X);\PB(A]"<,*2M-<$# DSC483(T"AN3QF:2MX$,0 *R3>-N -M]#FAW4U?=)!3REH"'S*\@4819-=A9G0P 4'*,W.8$;4RAA#UL$<,6@,0%@ED -MG?V8"(GFTE^Z*M,_J.WP>VRX0QB&93<[%(\-[9'8$W>DG'/QYTQ@BV.#/(,N -M[?5O=T7[FL8$!T48L8$[A.R0F?ZCPY$-) GF"@,9E ='H?&L2E $VI$T1I\W -MO0=$@5$)2UPR$-V)[S5B7%X:QC"0'%),B+VI$M2.I)Q)?DY.F"&/UW)X'G9E -M\G?P&54:#C,O6TXI:X"4@PQS0R$SMB>-S5O10%STG'*:2RBF@T-ZZD,'CN0% -M80,RD 4)\H5ZVO.>-RE(#(A3!29) #H<4@!SBP04BOEAW7V$:(32IB.S_6O[29RWT\V8M*O(:S;NWI=:!J -M#N$H]H8[N$%H*6,IR^+D&F\^2V@T\\A/'P-#P]%08Z!\S<>F]A>A^4@]S/P@ -M&4(XPA(&U%Q '=L$N91*:;:&E?69$K'Z!!B59$1:O?)+R';32/X])FB0\LE; -M<0BC5 :ECW\,9(R,M#+U.35?._0K%O,F6(.-P3.&Q4M4#])9@FTL?7- C1P= -M^1B+8K0@+BJ-7.F* !(B "7L60D5]?4FO-"H/BQS&W#.@ :]A+$, W-,>()#!?WVU7CJ03 A6RU(9F.>&PKDME\SCI44$4P;5 -M5$E:F!-6&\2P-YI4#W#4*8UZK(L0'_&P)W"3GI'TX!>=JKRE#W=YT($A^:SG -MFP\+9XVH/)#=-JJNOXVE<%W"IJ6FY\IH?!A@1CPX[SDH#:S1*F"D^RR?8$YY -ML:WSD?1B':G!QSO:U! GN\2!-/*HA@(4A8\EYKD,,2#(SR?[5T0*2LO%-HB -M9T*-$R,]X3]P^$_Z_/BGXW)G90XDFAO 6 QJ&PWQ!HN -MF\A:W" TK]C'?"2'E,MDY3YJZ=%F]QEPBUO6QJOEJ4PCVRG[1PX\>L$P:ZI=2>2W^B%7'O-]H)Q>-^O -M=QL$4N@)$./&Y7L-R.E):^?1M(._M3O(= ]W*/N;@[MO@D.YYM5*]00RYY=8<= NS8VRNB7Y#"U#EWZB4$?TN"EW78[O&&: -MJ9=Y[_/6MUU&T;;S=*E& ^Q1D*;_(R0UJ7'VI%(WL%3]R(HIT0-<4X[B5*?O -M!P4((( $6!54016O@A1-@ +V( )F 1G$14/: 4(0($66 0(@($:^!%(0G"!8XF(%3@ !-^(3O9Q"@A#$=(E0>ND57&9AW,\REZD7F5SB3 -M]W2#=A IE#6 ^%KF92V,.(;P=!A+HHLU-R)6DAH9(3- 8W0$(606AF))54Y+ -M$C)],3I3YW)>$QR*Q7V.EAC*0WL4 -M)AE+,P0C6-:!K0121&XB,:PQ/UTQ,L A2>EE0==4+[H4(2(X_[ -M,H@LY#D9!V>26!!VB!)YB 9[6 >AMU,Y,0)4\B>!P@.7%R N@ 8^P&\Q,3RU -M9SIG, 9.U&EVD *]ER%'TFECL /CMS 'H@),:0=;T 58Z5)[T'ME$0.,61 8 -M$9,- Q);0B%4,'PY^1(@)1-%T!>/(6?I>#!PZ(Y'8@9+ HD+YX=(]AJ(P1$Q -MA"'32''YQ3N44RQ25TB# <1BO=(QM8#?*44-EH!O)]H8JXXY65"'?PQME\#=^]H:/\1M?XQD+TQ=X -MF# \,2.15"87FE3/B%C!"1A^)C[@21,C 3UP\(9P4$$((60PDC<^<8:U<9^1 -M(R5[&$12:164:4XMT #6$8R"[DQ$CX34ZEHFH9(J;"#J/ -M%$QIE 1 ;-0/MYWX: -M,U(E=5+TMU(+^:@% 5-%LG\T95/_YWXNY9-] I2E(92W1Y1&Z:@30943Y)8@ -M -8V7M*B0),Z915>9=2Z6R7D:M[F1,QMI5J"9:]-Y:=Z9?F20=GF990*:LE -M@ >7:9=1"0**R9C+4WL3I'F)R*R/J99L":UR29?4NI9=D)G)^I>/*IB )U\A -M+JI.@\IHQ401F=I.M"57-)">BY$?$,V/E,B]X-K(- -M$ATSIC&V1#=BQ"[X0P9YT'F[! )V("4?RF*4@8(H+F<:[F56[E.E@<; -MMC:I3$UH5;!<:3,%VVF)H^EX;B-V[B2&[F1 -MZ[F7BRF9N[GDNV"?:[F[^FE1!$]3\[6H,H\'4;T[ZT5L5(J\;0@^4B70S$Z%AV/%WO%L2IA$80/."NR(BL$ -M,03&A*=OX'68\QSH8QTG, (GD!Y:V;-[,CV2=C1=TG$_,X=Y 5A_T@97]3M/ -M!T$0*B

F(=8WXB0S)^"A^2 -MBI*YJ+@LN5H&,45D1JD:F[ )L5$T,*FD>A"6*G\H57_W)\8#X:DR=2"AZG\Y -M=<8]^9. DJI#^09%>92V&KA+:974VJL9197 FI6F8ZW%&JPX@:P#.RYF4*\? -MB*^=J:_?"I7F*J[3NJMX>:Z,/!,C$'=O%GWXYY>CR:Z$"7V!=LKR^LCG$6C);\.IG_:IET*; ]* -M#,('8AQ4!,;47,UV[,8&L5$U8,9A7!!IC*D'PL:;*L9P#*K]=U-U_'Y&@ #K -MW,Y)V$]QT10Z:!8VF!9#R!9ND15!6(,1:(!5$00( - "/<]DL81% (&C<&S -M(M !'= -R( ,2( #.(!,@ 5?=$&C; #<04UQR,7.29N*FLNW&"[$5%/UT9> -M!4YK!,P$T49>)D*]95=B-DOP$;W+-J,ZCK4BK -S=3PBW#H1,+"YH@4,;[\C-*R=6Q1C,$+,)'G6\=HB;H -M-Z^GFL<@H*K*P\>MZE+*.G\'XEI*PS0^P4P\H!C[]0)D\"1];*VM?,>%'2@B -MD-DC490B,,SA",BX*LB<3,@Y8R>%]" -MDP9X -LYH20;$C6T$U. 77LIX$1%D@;*7:N=F<9?4 1.0 5%( 6/.3R8*=PX -M(=U0( 5/, 1%, 53$,AW::Z\K'[H@P+ +:LQL /Z@@>'O:N\9 (FP,E; -Q= -MD,G\>@(M< +P#=PKL *:Y\B7053@ 2U9P(+[I4-+@/GFM[8_#M;N ;<[5*;V9DMSI?K'>#RS0/T+>,# -M7N 9#G\E]07?G035?]K1=O&4Q% -MDMRXVMSF+>)X4.(KGE&U+ )QN+X)]U24 144 52X 2U!P-D3A'" -MG.,44YV#K!EA0=C!01YF]PGU,J;XB>S"D$4?(=R*[ -MX7-,E"$4(H=ZGM3>($L5$VP,W!3A#?[-B ;G_C -MG+#E/%/G/*H:_1.349B%R@9"H[^[9"5%TUG8:U8'HM>!Q6E@H];]4YZ2 6AG -M^[]I"U^I)4[C9#+]2B/ZNT >IW$9X1'6P;=<2UW?;J6P.#73X1HIZQ[-QEJ% -M%*NJV+2FUDYPMN=+^1KY(3'K_L%ZFF&BRV'87JD>R!4E2((D^,XSJ((?5/(( -M\ 5MD17MS,[LO/+M#%::<6'I,S5CD!'[P1X<(S)SVYSVIQRZ9]H@4!?AH^T? -M]S-X/"5)U$)M=+11S1NK^"_BFRF;XBAUT%M6/Q*_E?5GX ((P/5>CP8( /9B -MKS%FD._I8]ECP_1[ GI%"GQ5'M>U)V3ZB/1X]=D]H3'&J$I]YJYSGX5QU$:B -MK1_!^R]!X? B 4ZUXSRSO9Y$QU%1$P=8AVJVV 4U\"2])X,Q%W_5=?_M>K_M= -M7_NU#V0Q(62IWQ4?S_HG^/JQ?_(&'801"!4&[<]4X>XU;R0F$59%731[M<(+ -MXS\^ SO7158WEC[B;BZ=5RJ(?NB'KNB&TNB1&^F0#NG==1A^8CI&E>I);!#\J,R+)")[TO]E2G._ -M6QK#K_K%+_(NN(+)S^,378 ':!7YC!4$+=XAJ(%/Z(1.^(1.Z(32;_.W:! N -MD6S&ED-VICJ 41^HY"L^[3K5?_J W_E5C1#C433EGSZ"HT>N81+>=V@,^;NE -M,?RJ7_PB[X(KF/P\/M$$^,Y/Z(1.^(,^Z(/2GQ'"(R\C5]0B-C=95X>=OR>+ -M6!K1&UN2\>IFRQ/XR<4%L8A_=C#OEETJ.J'H61IB(+O5E3Z1?Q\> CG@>!#L -M(2VLZ!K!P2"=IKZ_6QK#K_K%+_(NN(+)S^,378 '6!4P&,],T?P,)?TVGV0Y -M=#]O8$Q4"3_DAK$A@NOINRZ:/QY +3Y4CM15R,4%<;I7*G,B&>^E,?RJ7_PB -M[X(KF/Q? /UI'H(:V/QKWOIL?H!5L<^?GV,.53"\D_W:U!PARCO.MV76<759 -MIW&4;FH+XQH^\CY;J*;0Z5X(P1-RPR0,@K/)H9, AM(KTVJ4/L4$41;6+MR#(0 B>!6RKD40 -M3TGH81+>=V@N.W7><7V1$G3?'E883N=4CM0=T@(C0 8ZH!<=!:C'K#%"!E_H -MG^B+OO[>Z^CO+^F3/G&QIK1GT& L5C"\(P(M, )DH -T\(@> CFOCB3=L4WX -M$H;MU&$> CDGT5X^P1[20I _D_U$TVFHKC%H208Z0 >8*=4N#4)?%M-AQD.I -MDZ)J)6FT,1!0BB98E.Y(*E(=/U*K'_*M7U(NN(+)S^,338#O_(1.Z(0_Z(,^ -M*/T9\;O;:3H XA_9Y"&0PUA.'"?_2'EE'QL$7!K#K_K%+_(NN(+)S^,378 ' -M6!4P&,],T?P,]?DN-G4D3 8GW#EL.QJH5CBV1,)T<,)]TQ*_ -M6QI4CM1\0^E96-2.P4HK(SUH@*C0(4#4T3Y3-RB=ANH@( (Q4)<#(0(R4)G6?DMJ+P?' -M"1\BT (C4)=D3V1559XV#6CTH1CG5&&F0S4^<62JG/U$TVFH+J,'P;&SD_U$ -MTVGJ&U 2?Q(2,ZPJ3#%]TQ)#IAQ5=?O(#?'C;TH9OS?T!9U<7! BX 0A4)>J5!*RF6@8GN-. -M$ *RZN:"Z00MT%&"Z0(N0!R *IBBJ3'%O,UW71I4CM0M-?ZU)/K$M4(9N<,& -M"B^0PQG:T=:?(I/+03). ";PP2]\)N]>XC+*XG6WLQP$7!H^\DYZA*()\Z#' -M7>5[GNJRAW6T9Z/!H?/=<3H8<@;35RK(-Z#+,=@#B\=!N<=]W'N-C5*0O6J2 -M?=.IBO9L@-F:;92&'=J:C0:E/9670>5(W2$H0&XZR=HX@=N%OR=4 -M26XZV>4((>$N)=W4;=W8C994CM1LL-V,Z=U2X.,,A98,1@9U^9@,YA-Q>=Q5 -MON=UB;/)H9-.WN4QD:TH0&XZ"0(^P%$X+L;DII/6.N6UWB$H0&XZZ5$<%>;JY]U2X.,,A9917I>/&>6J%)=UB;/)H9-.WN4Q@>9JSN9NC@+DII-Q/A%S -M+NP'4?(#?%&0.ELV\T)49]'0@8DR[*E87D#Z>Z H;_KE/-1'7"P -MH7D QFS@F)V\\])@IA_!1=/G43#;WTQ.UD[U<083Z1CT,3=4Y!KMN!R.,U1Q -M YIX(R\4HCL(7%VET3]'_$3^NA^A)8J+0V*X:&:3/G%3/!!-D+@2 R&A)8I1 -M9$KB=21)8CHLPQ-RPR1<7!"N0QUFU(FR%B]P(#13 Q@FED-D@+^086:R8Q[< -M>9X*3!T$#!]D2R"]*&D906D@,ORJ7_PB[X(KF/Q? /UI'H(:V/QKWOIL?H!5 -ML<^8,_RJ7_PB[X(KF/Q?8($56($ICQ4/./Q -M!&CO;,'W_$\9/"NA2RQD#>I,VXF1HFD'I3O6<7T.@N&H-P:\Q.O'7>40/SPN -MP$M4CM1LX *\U )-\R1(*60BT )-\R2/^.L,K'QL4#"\HQ@$Y< )HVE-UFLV -M@Q >5('=AG_3_K -M%.IVQAVF3WT83N?'7>40WU& *JEE7 -(Z1+)1C5%O2R(IVI55?=.S[ @8 .# -MG5&BZ5(.ZU(ZY5(R<.S'7>40WU& *JEE7 .#[IF4'FNS -MUG*GYANOCAYT]AY.XQGL(2V%8S. CDG -M,9)SG50W@(KPHZ0#$>6M9O;P5(W2$M -M, )TH -&(JD.V\T)P;&STS]'[#J8PQ-RPR2\8?;>,?ZJ1&WJ88DUH3$GX ,G -MK/GPTS]'##U428XGP ,GK/GP R&A)8I+"EANH"QQ4RK1JX\ LE\T83H[+\#N -M[KZ%PYV/)=6H:Q!',R4L@QW/:;CG5&&F0S62!1@'61IX!L$7!OP404[5@6K+ -M@G@;HSSJH2'7SV=YKT>ISB?!L>>LU%D 1N5(S3=F?ZNNT^H@(@,AL-R7HQQ5 -M52K1NT0',:<2T]:?(I-G5DBN0^5(7?E&TNH@$@,A\+OP,3S&Y.>%\35QI*2Q -M2!VF-V04(P,A<+*6MC+2 [\&0>5(W5+CWQUETVNVI&/]41_S\NMU-! S(*,' -MD>?(#?%GIASE&1R6U$)M_2DRV3I&TNH@(@,A (LQ$ )=*E7FPA-RPR2E$OGW -MP;Z!&_I _8^49__)H9.:/P,A8#>1 B':B#C3[@1@PNU\EO=>8H;64AX4TC]' -MS)V7(0+#XP./V, $O+=E(#=, CU4*0(\H-V# U>5531])D#^./RJ7_PB[X(K -MF/S3'8(:R/SU;-TAJ('0+P6 ._V8@20GME2E0B[#PUVH1B%ZY!KZ>SV:Y1-Y -M4 8&YM3Z7Q!ZE+NJ@UJZ^51M]/D),_RJ7_PB[X(KF/P\/M$$^,Y/Z(1.^(,^ -MZ(.UA"2&5&J[P2_Z7Q >1R&3)1MT]AZ!6#+EY$I:QB]\]C.__DA'IO\%$=E- -M TV>8_'24IY(\D_^6UED -ORJ7_PB -M[X(KF/P\/M$$^,Y/Z(1.^(,^Z(/G@4QZVC][OAQN)AE3\L2N@[E2KRDBB0!;@ !;@ .CBNX@BM=@ !=@ !=@ #GB@ I@ I@ ":=QY8 -MJCQ4,Y'=H9M/A:0BU?$CM?HAW_HEY8(KF/S3'8(:R/SU;-TAJ('0+P4H@ H -M@ H@ !HB0 B@ B@ B=5[&_G[)OL::VE)N_.QR'.WI#/3U*6M(DT5EX)VGIA++@G@1 -M1'W&UDIK]'3U0<#P\7J0MQ=8IQDL,@54XH]4CM2!?=;=ZAK!P<4%$>75!5L0 -M#'MVAHY?$XU%'4VJE>E;6B,$?(X .2!_SSO#.+@M!3RO/@9 -MX3B*ER-5^9TN(RQ]@@:405^!6#*28_F=OR?]V30XYK*0 R+!X5.(5UVP!<&P -M9V>(1Y$:@K0X6RWIS>0EZ3H"(O> -M<0)O<,+_HTB=IKZ9]_!%F!QJ!RQD.I0SNZ;;A'!3G9Y3J7!W,?:2W6PR_G -M='M"0HI+PUP[K$KZ*SX!)!ND-4W;R+:$ML."ND+H9\W6;,W'+NP;%0,=]5&4 -M*E+Q!\[+WL9N_.QR'.WIC)3O_(1.Z(0�(ICQ4NS\ZH[X'%'_*M7U(NN(+) -MS^,378 '6!4P&,],T?P,]= -R- #O8-E ?W@G<]8,>V%/GQF,]8WK6(P0P8I -M!@*("#F/80:/F!=YL)*(=QY<7!#6,?RJ7_PB[X(KF/P\/M$%>(!5 8/QS!3- -MSU"?S\?33@6;W[.?CQ?'.9,$D?_=T6GJ"T\GBOH> -M6/PAW_HEY8(KF/P\/M$%>(!5 8/QS!3-SU"?3_T, @(O#68H,6^9$7LR>A!7 -M8"$P_!SSEAD2O!X@"EHPW(F=IKY0AV3U"Q\G0 8G0/: I!^7"(DT&;$$$?GW -M01!1?!+#A"3C,L0B\%$(,0)DP +SEAFQ%P,L,&^9$7LRP (NX (NH -T4)?_ -M2'EE'QN%)YV7_F;@>!"?GS#/06?O$8@E4QJDQW?^8R$P[!Q5].Y-//9&(>8R[U(4QW:S'SEAFQQ\4%4;O-0P;Y -ME3#"Z!?$6$O;#P+SEAFQQR!)-25GT& 1MK(-3, B-C=9%R;):(\H8!WSEAFQ -MQR D"CEDY1.]UD:?_P9)BG@_K"R-7S+OTRQG_4PFYC&A5#8FT3Y39S.[/=P<0$ 1INMB3R!?P40:/]41_0V6GJ"T_>,?RJ -M7_PB[X(KF/P\/M$%>(!5 8/QS!3-SU"?3_T,D@<[%U:1%,6O -MKH[^^CS,F[X9F9"QSEZC[QA^8EP^02YBTC\O\ASAPR]\9B%K1F34*9/+ ;W] -M,9 &-_'P\?FETVGJ:\#H@1Y#BK.W\[P(87],G2^&"3F/<6Z=ANI5&3MU(&G1 -M$XA!SP;ADT7PP2_Z7Q 6<_/ 02WL IY!EV0*S(I\]C/.!V(-W+Z.X_ G89T, -MXNY4W:;GL0*IMG63,W"GLT5(/9P9Q0<$P0<$ -MP0<$P0<$$>4Z ,6FITJBZ5)\0!!\0!!\0! \0.5(/9P9Q0<$P0<$P0<$$>4Z -M ,6FITH.ZU)\0!!\0! \0.5(/9P9Q0<$P0<$$>4Z ,6FITHZY5)\0! \0.5( -M/9P9I5,NQ0/#,^V<6LPX0.<%0>5(W2$M, )DH -TH -&(!5 8/QS!3-SU#2;_-))K_EF9"G[;Z%Y]7_2'DC -M',.4[O<_/3O6\?EOD*1C<'7P?@468BXU>1YR0F?O0090<_@M([.H5@;'.9,$ -MH:0?O;Y%8QWOH9ONWFDFT3ZG G,;\WQ&!?P400425"R!E=6QDQC4>;W<4;LW -M^_EXH?E*VJ41-]?CR"NJ5E4%PSM17DL6 L.E0>5('=AG?8N36&B'=K>6'[&1 -M?Q\> CF[(0(M, )DP )1K@-O( *#G5%4CM1LH -0;'HZ ,6FITJBZ5)4CM1L -MH -0;'HZ ,6FITH.ZU)4CM1LH -0;'HZ ,6FITHZY5)4CM1LH -0;'HZ ,6F -MITHR<.40WP(C0 8L$.4Z8"1W3JG"GLT<):D?1:DB -M%7_@O.QM[,;/+L?1GLY KSBJ!!N-4:&WT;M'"F!TX_"$EW:O?C=XB&I_QG$% -MPUDAQV@W._[/:&O7K\S21"#S_9!9W],773'GA-4 -MCM1LX )CH ,&D0,Z<-Q5ON5[K@-.[R ZX/21 JA4CM3#B7]4CM1LX )CH ,&D0,Z<-Q5ON5(/9SX1^5(S08N, 8ZH$\SH /'7>5[K@-0;'HZ ,6FITJB">.U -MS@8N, 8ZH$\SH /'7>5[K@-0;'HZ ,6FITH."^.US@8N, 8ZH$\SH /'7>5[ -MK@-0;'HZ ,6FITHZY5( 2.<34UZJ5E77SV<_(P(,1@:/^/D)O91TO#6; )4M4]+M?_>ZW -MP6#!H?/D[IR10B[6X4L;XR>&S?:8*_6:(A)7WUMGH/6_Q?M%&?9A'_:\8?8/ -M?#>0YV9^8MB_1YV+/]C='7_37=W771PPPI'0X5#IXS$7*AO'(6FTD3GRPC0S -MR:EM5/X@-ND39VK PUC@+Y)T7C*=V&GJB[CT3[5V @*(*(J[F9#8/*PJ+ 2[@_XKJ -M./]ZT4HSR:EAH)M/U5FR]L$+>1A^8CI&!>\#P;'E0>_!BC.9JSN9NCCG2;05/D 1$\ 5ION9M+OTVWR_8O-64'FL0$G#< -M"6H#(=W4;=U20.?2?U@$D4.(UC4P5Q" ECG64AX'+\9HKN9L[N;/H^.P;P5/ -MD 1$\ 5ION9MGCFI1>>F4DAP55F8\8>%TQC20D5R4O:Q@:38_-)@!ERR-%P> -M^=V&GJ -MJ_>\0VXZ2>< QA-RPR143.DZ7TNBSQ-RPR011.$OC3^<_/3L+XQH6T[[E02'2 -M3=W6C=W2GQ%=BLWJB-)+NXI?X5P18H ,Z#OM6\ 1)0 1?D.9KWN;0 -M+1/>#=[B3=[% 2,'59QRYH"TT'+\:N&(@#$02W2XAC\^M9BCG:R<4) -M^_G4[QK.>MYL69<5LC3,U4S+V5*H*\:^$B1QPS(+(VF \3_K)B)[$L4GP8R/ -M6@18H ,Z#OO?'=[C7=XACM[0G1,;WN$#,05EL+[>L:+9OS,?4AK1&VY",>OP -M*\97EW5:%/69/?6-4O557_58?P9:[V0?/43IQ9&_'+NP;%0/;_%&4*E+Q -M!\[+WL9N_.QR'.WI#/0YL78K 8OOEEUUH$[6L:*+6!K,!HYN#/@1NTYZTR%1 -MG"9( B/06=0SR:F?SUF=IKZ_^]5XP2Z7YD5>/).<"J3O!EL?$CL0UCR2U843 -M1.?KI# 9T -M#@(BT (C\(CDXAT*;VL=%L6[4;O-D\1BC"2^=GV1$G2__DCSKQ?N'^EO@ !O -M@ !O@ !@@@!T@ !T@ !.9.<(C04ZH..P#P4<[N%HN=U KQ#QQ^-/ -M 6#*5_F6-3(R!<["N[H6=/TQJEE)VF%8QV+&#O1L1+62=5ODET)B'']?8 1)P 0'73+P(=U& -MD 1,<-#2;_-)ED/WDS#]2NGMK!\Y49G?->=/E"5=(E#(3.5DY!#6K+([+_$1LA4XCT=N")09WE:=.DQW?.9"'*HH]<=@)D< )TSAN -MA!(+XQH6\^N/=&3L@@))X )%X +I.! B\%'8/ )DH -T\(B1?Q\> CDG\?-T -MCM!8H ,Z#OM%@ 5%, 158-W?RF&;49='PF%C@@).#MWJ)]UN7C(A)OV@;[A) -MY>;HT6MMQ!$G,9.<*@,M4 /IF%17EW41 Q@QHY]E "*#Y-&H*\8@6;0^02[> -MX6IR,XX\X9NA1Q#SAZ38O*+>+04^SE"?S\?'+NP;%0/%_E&4*E+Q!\[+WL9N -M_.QR'.WI#/3('G\\+@4^SE"8RI']NJR%D^Z%)P)FH*^EC[B\VLUQ%"(]U&D 1,4 2_"Q_YWQV=IKYTGF2 %JL@,&^9$7O' -M"1\U6A\^\3UTWL#MZV0._^KJV$;K-)UA5!_?> 9TGK[K\L-Y03). ";PP2\R -M&\/9T2_8',4E'2F_SL!'QBZ1V!W,Z:]T+OTVG[[K/Z7PAPO;8\9R8&>?X5P18H ,Z#OL]_N-H:2=U^9AVHDK16I=T#ATNZ>1= -M[E)%@ 4ZH..PW^,_CI9Y 0=U^9C1ZE$^ )=*GA=PT*78G!?JU (^P'-EX.30 -M/1/2/05JK@1- 7% 2,^02YPHA)4JV-E0 =J\"8HH'F3/G%LB\VND_^O 3OI -M=OR>+.).<^D2K;DAO!!\/?#>0IW!J\"9T?F8'ZOB,HQQ553!&8OF= -MO\)O0.=07.5M> (Z6VGN \.E(=U,\ 1.< 1*T 100.?2;_-)ED/WDS FX7U! -M;!VO!WET+FOU<09J\"8HH'F%R")#,#=9%S&%54A"U2 71N=3)MU3H.9*T 10 -MD#GL.2!C<'7RZ1PP/),'+EOC#XM%HV-5-_YT7C&@N!NSEAC,^*A%@ 4ZH..P -M/P5JK@1- 6U%QF9^7/2S01/X 1'H 1- 7% 2,^02YPHA)4:QV*<1)J\"8H -MH'F3/G%LB\WXD_\#03=5[H\/N:/@3N?H^6<+UT;0(4#PP7!M)&M(0^W59%S%2-OH#(=U,\ 1.< 1*T 10<&SO3N=07.7^N(B=*+.\DZ)E"[]B#$A( -M)MU3H.9*T 10$/^8L31-TYQE)RV9_AYT#F##(_EQ!"-BPG;2/05JK@1- 5_ -MB\W2S01/X 1'H 1- 634SSY\CM2MJ&/9C/8G/T'XC$7*AO'(6FT48YDP#2E -M0;8V@\WY#XF=IKY2_W,^*A%@ 4ZH..PSP1/X 1'H 1- -M 6U%QDL0&Z96 CF[\1PYQ)' *;.\LX@L1,#P >X$D>Z%-_RJ7_PB[X(KF/P\ -M/M$$^,Y/Z(1.^(,^Z(.9DUH&C!XUBO@(\61L15]%+6)SDW414UA^]!M'FOUM -M.H8Z3XXV$W& I!_#JL+Y\M-,1V<[1WL%+S&DL28#$02=IKX:Z^52X3N<$ -MH:0_K"SYE3"O%'Y/1P8<81(R>N)4($ ZY!HE(9NO93"F1^?CXAHLEA',2!%FL 4L,/YST);_-D $D?W* -MUK,ZW]()@Z3"7KO-,R]'!F_<,?[P'@1"9Z@G?F2J/.D3I_/GX4I:5E[LLC)T -M3A#CSR!)94G4*9) GQ-& .AR<%"X#N[A]W1!QY!TWM(_4_X@AK>:Z/02$_F! -M>_#8;!V?;R1PA=/6H:3,^*A, .AR<%"X#N[A]W1!QY!TWM*\,_A.OW-!M]3[ -MA[UT?FRI=6;,MAO6H:3,^*CFHE)R<%"X#N[A]W1!QY!TWM*E.#=9IW&4;FHE -MIW=CB') GQ-N/@5EP(<7:FQ+O7_G8F;_TOE5+>Q*^L.DOG:;X6!ZL4_Q7DY< -M[,8YU(Y#1C% XA>.D6KA)@=E!R-RXCXD=N+93U6(=QZN(43/]2FETC5T/CEG -MK:3,*&I;P *@UY:!]WO4F3[9WZ:(YR%;J.]O0.F -M1^<$H:1.IGB%X7JW)R0D$P0$T?/#>>*_SL!'QBYP!2.YBWA2C;K8K'UNKV(> -M@GD&!O23LP4L@+;4T9;_-D $D?W*UK,ZW]()@Z3"7KO-@VAH2QTD$P2FP30M -M=62G-^V/NE$Q@ /&_G[)OL::VE)N_.QR'.WI#/3.YDI:UEKL3AV_6TX,NF!, -M0^<$L>F>8_'2@D4_S70\E#H$41Z_D<38C+;4P2). ";PP2_L@NO_TOE5+>Q* -M^L.DSF;-Z>YR<&AW:S/"7OX@EAYSDW7L@K8#D>Y(*NPG 4GW#(!6 -MD<]80=#B'8(:^(1.Z(1/Z(1.*/T9P8R/"@6 +@<'A>O@'GY/%W0,2>PS&6YAQ-XSD6 -M+RU8Q"_L$HG$!!MT3A# LQO9'X@@X 1@PNU\AIR1J'7"CK:9PYY5R1$G41HC -M_#/9KTW"'OGWX2&0LQOX8V*Q)"WEB3\V(^SE\1L^@;;4P8R/<PXA/DDC=J -M0.ES-W76,?RJ7_PB[X(KF/P\/M$$^,Y/Z(1.^(,^Z(-T?FRI!4]T4P9\5HIS -MDW5WYR!%A?C"/FLM)P:R!$\LEA$LDLSOE$/M*)]!?>+#K_K%+_(NN(+)S^,3 -M38#O_(1.Z(0_Z(,^F#GO7K4J!AW%4G8< 3G+0>>0>%_:7QK9OS,?LI,/2P=; -MP ).T)9%X,02,_[KI#=\XS>"@FKY(:,G7NAA@ <"]#$5 XJ[<7*J5+O-D\38 -M'+U.T%X^07I\M[ZN(V P@'[6;,U _Z@;=5/&_G[)OL::VE)N_.QR'.WIC)0_ -MZ(,^"(/QS!3-3P5/Z(1.&/0-+=!!./Q-$6 -M;=$7;=$6S= "'80&G?)8\41*RZ=/D0@>9D?AF$"19!QG8,T>-^+OE5!V# -MZ%T.ZJ^)YD9G7 -M@50S.2[LDC5SX",;BD7JV$9*>AXB6S:]9D9R$_Z]MD19NV!^X1BI!GH&#!]T -MD!D# 21^X1BI!GIRPF9?$T>HFR7+$R19!R#&AGR1R)&W,8Q1ET)QPS)(51IR -M5Q])RAU]EAFA![(%XGSTA*!.\,((7<$9Y@\@9^NT?>!];OE -MY!HX6K4+QC2U9"$DEIUY'XG5M;PF@3EA/6/ 3Q&*HTKZ6Z1F$&&FQ[[RLCR% -MA4)X4/B%L_!/E9 88N[G"1L]5[_P,?[)X;<@!@(O#6; )4O3C! X5"3MZUW\ -MU3ZG G-XJXGK%"AA;;( 9K:? [V$LQO9'X@@D%94;DKBA<(R1B-WX!" VW48XQ!FTUVM<1<#F=4ML _<@@ 15 -M%9QVY(8>0AEGP#*.01]S0T5$LOV4KS'@R3)-)3!XPXGK=*'VMUDW[8_9?R"? -MCQ<-3,#P 3V;0;A2QL0$ET7EZ<+ T=3Q#A_),W));! +OR>1W33-F4-VICKX -MCSD:@FV,A0>%_RU^GB/H9\W5+.S9'&#H]5&4*E+Q!\[+WL9N_.QR'.WIC)0$ -M/00,+= 66($5:- ,+=#-3P5/Z(1...U"]M)@!ERR-%R9(0=KX!H^\DZVY%H_ -MS70;.I,$(0)!1U'G3@:/^(\R!S6RXS5((BA*PND7+SKOXAB*-9P'$6YR4':5 -M=2)91AWE\[7Q/[S-^4)R$$SE:4TU#UTD=A 4=>[SXEIJ-3M(@K-!<7^"5^6N -M$;U#\KHD;9/P:Q#K,6GY!B*?CQ?P5(@A-T9\0^DZK_E%&D: Y&C@F)V\D_T4 -M$^7P#@)/T$+TX=9E<)SHH1Y]$4GH4>\(L1YPXEUEFJV6W_E[HJ2JI-.>008? -M,R/SDB&E0_9/CSYEEQ7)B!U -6JTKA=5]I *"4_\%4D\0&T1CB.!Q$ 1VO - -end diff --git a/dmake/dbug/dbug/example1.c b/dmake/dbug/dbug/example1.c deleted file mode 100755 index 805b0a202872..000000000000 --- a/dmake/dbug/dbug/example1.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -main (argc, argv) -int argc; -char *argv[]; -{ - printf ("argv[0] = %d\n", argv[0]); - /* - * Rest of program - */ - printf ("== done ==\n"); -} diff --git a/dmake/dbug/dbug/example2.c b/dmake/dbug/dbug/example2.c deleted file mode 100755 index 66ee43c0ec84..000000000000 --- a/dmake/dbug/dbug/example2.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -int debug = 0; - -main (argc, argv) -int argc; -char *argv[]; -{ - /* printf ("argv = %x\n", argv) */ - if (debug) printf ("argv[0] = %d\n", argv[0]); - /* - * Rest of program - */ -#ifdef DEBUG - printf ("== done ==\n"); -#endif -} diff --git a/dmake/dbug/dbug/example3.c b/dmake/dbug/dbug/example3.c deleted file mode 100755 index 0eeb75e7f377..000000000000 --- a/dmake/dbug/dbug/example3.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -main (argc, argv) -int argc; -char *argv[]; -{ -# ifdef DEBUG - printf ("argv[0] = %d\n", argv[0]); -# endif - /* - * Rest of program - */ -# ifdef DEBUG - printf ("== done ==\n"); -# endif -} diff --git a/dmake/dbug/dbug/factorial.c b/dmake/dbug/dbug/factorial.c deleted file mode 100755 index 42a4d848014e..000000000000 --- a/dmake/dbug/dbug/factorial.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -/* User programs should use */ -#include "dbug.h" - -int factorial (value) - register int value; -{ - DBUG_ENTER ("factorial"); - DBUG_PRINT ("find", ("find %d factorial", value)); - if (value > 1) { - value *= factorial (value - 1); - } - DBUG_PRINT ("result", ("result is %d", value)); - DBUG_RETURN (value); -} diff --git a/dmake/dbug/dbug/main.c b/dmake/dbug/dbug/main.c deleted file mode 100755 index d7c4267d4767..000000000000 --- a/dmake/dbug/dbug/main.c +++ /dev/null @@ -1,27 +0,0 @@ -#include -/* User programs should use */ -#include "dbug.h" - -int main (argc, argv) - int argc; - char *argv[]; -{ - register int result, ix; - extern int factorial (), atoi (); - - DBUG_ENTER ("main"); - DBUG_PROCESS (argv[0]); - for (ix = 1; ix < argc && argv[ix][0] == '-'; ix++) { - switch (argv[ix][1]) { - case '#': - DBUG_PUSH (&(argv[ix][2])); - break; - } - } - for (; ix < argc; ix++) { - DBUG_PRINT ("args", ("argv[%d] = %s", ix, argv[ix])); - result = factorial (atoi (argv[ix])); - printf ("%d\n", result); - } - DBUG_RETURN (0); -} diff --git a/dmake/dbug/dbug/makeman.sh b/dmake/dbug/dbug/makeman.sh deleted file mode 100755 index b2aca44b8f9f..000000000000 --- a/dmake/dbug/dbug/makeman.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -gcc -o factorial main.c factorial.c dbug.c - -for i in example?.c main.c factorial.c ; -do - sed -e 's!\\!\\\\!g' $i > ${i/\.c/\.r} -done - -./factorial 1 2 3 4 5 | cat > output1.r -./factorial -\#t:o 2 3 | cat > output2.r -./factorial -\#d:t:o 3 | cat > output3.r -./factorial -\#d,result:o 4 | cat > output4.r -./factorial -\#d:f,factorial:F:L:o 3 | cat >output5.r - -#nroff -mm user.r > user.t -#groff -mm user.r > user.ps -groff -mm -rcR=0 -Tlatin1 -P -bcu user.r > dbug.txt diff --git a/dmake/dbug/dbug/readme b/dmake/dbug/dbug/readme deleted file mode 100644 index 8d7c2ed6ab13..000000000000 --- a/dmake/dbug/dbug/readme +++ /dev/null @@ -1,52 +0,0 @@ -This directory contains DBUG the "C Program Debugging Package" by Fred Fish. - -/****************************************************************************** - * * - * N O T I C E * - * * - * Copyright Abandoned, 1987, Fred Fish * - * * - * * - * This previously copyrighted work has been placed into the public * - * domain by the author and may be freely used for any purpose, * - * private or commercial. * - * * - * Because of the number of inquiries I was receiving about the use * - * of this product in commercially developed works I have decided to * - * simply make it public domain to further its unrestricted use. I * - * specifically would be most happy to see this material become a * - * part of the standard Unix distributions by AT&T and the Berkeley * - * Computer Science Research Group, and a standard part of the GNU * - * system from the Free Software Foundation. * - * * - * I would appreciate it, as a courtesy, if this notice is left in * - * all copies and derivative works. Thank you. * - * * - * The author makes no warranty of any kind with respect to this * - * product and explicitly disclaims any implied warranties of mer- * - * chantability or fitness for any particular purpose. * - * * - ****************************************************************************** - */ - -The original package is no longer mainained, but copies can found here - -or in the dbug directory of the MySQL 4.0 (and older) - -sources. - -The files found here are: - - dbug.c - runtime support routines for dbug package - dbug.h - user include file for programs using the dbug package - user.r - nroff source for the manual page. - dbug.txt - a typeset version of the manual page containing no control - characters. Generated with makeman.sh: - Copy it as dbug.1 into a directory in your search path for - man pages to be able to view it with the man command. - makeman.sh - helper script to generate the documentation - example1.c - Additional/demo sources for the documentation. - example2.c - example3.c - main.c - factorial.c diff --git a/dmake/dbug/dbug/user.r b/dmake/dbug/dbug/user.r deleted file mode 100755 index 1d58d28a8800..000000000000 --- a/dmake/dbug/dbug/user.r +++ /dev/null @@ -1,938 +0,0 @@ -.\" @(#)user.r 1.13 10/29/86 -.\" -.\" DBUG (Macro Debugger Package) nroff source -.\" -.\" nroff -mm user.r >user.t -.\" -.\" =================================================== -.\" -.\" === Some sort of black magic, but I forget... -.tr ~ -.\" === Hyphenation control (1 = on) -.\".nr Hy 1 -.\" === Force all first level headings to start on new page -.nr Ej 1 -.\" === Set for breaks after headings for levels 1-3 -.nr Hb 3 -.\" === Set for space after headings for levels 1-3 -.nr Hs 3 -.\" === Set standard indent for one/half inch -.nr Si 10 -.\" === Set page header - set date to source date -.\".PH "/DBUG User Manual//\*(DT/" -.PH "/DBUG User Manual//October 29, 1986" -.\" === Set page footer -.PF "// - % - //" -.\" === Set page offset -.\".po 0.60i -.\" === Set line length -.\".ll 6.5i -.TL -D B U G -.P 0 -C Program Debugging Package -.P 0 -by -.AU "Fred Fish" -.AF "" -.SA 1 -.\" === All paragraphs indented. -.nr Pt 1 -.AS 1 -This document introduces -.I dbug , -a macro based C debugging -package which has proven to be a very flexible and useful tool -for debugging, testing, and porting C programs. - -.P -All of the features of the -.I dbug -package can be enabled or disabled dynamically at execution time. -This means that production programs will run normally when -debugging is not enabled, and eliminates the need to maintain two -separate versions of a program. - -.P -Many of the things easily accomplished with conventional debugging -tools, such as symbolic debuggers, are difficult or impossible with this -package, and vice versa. -Thus the -.I dbug -package should -.I not -be thought of as a replacement or substitute for -other debugging tools, but simply as a useful -.I addition -to the -program development and maintenance environment. - -.AE -.MT 4 -.SK -.B -INTRODUCTION -.R - -.P -Almost every program development environment worthy of the name -provides some sort of debugging facility. -Usually this takes the form of a program which is capable of -controlling execution of other programs and examining the internal -state of other executing programs. -These types of programs will be referred to as external debuggers -since the debugger is not part of the executing program. -Examples of this type of debugger include the -.B adb -and -.B sdb -debuggers provided with the -.B UNIX\*F -.FS -UNIX is a trademark of AT&T Bell Laboratories. -.FE -operating system. - -.P -One of the problems associated with developing programs in an environment -with good external debuggers is that developed programs tend to have -little or no internal instrumentation. -This is usually not a problem for the developer since he is, -or at least should be, intimately familiar with the internal organization, -data structures, and control flow of the program being debugged. -It is a serious problem for maintenance programmers, who -are unlikely to have such familiarity with the program being -maintained, modified, or ported to another environment. -It is also a problem, even for the developer, when the program is -moved to an environment with a primitive or unfamiliar debugger, -or even no debugger. - -.P -On the other hand, -.I dbug -is an example of an internal debugger. -Because it requires internal instrumentation of a program, -and its usage does not depend on any special capabilities of -the execution environment, it is always available and will -execute in any environment that the program itself will -execute in. -In addition, since it is a complete package with a specific -user interface, all programs which use it will be provided -with similar debugging capabilities. -This is in sharp contrast to other forms of internal instrumentation -where each developer has their own, usually less capable, form -of internal debugger. -In summary, -because -.I dbug -is an internal debugger it provides consistency across operating -environments, -and because it is available to all developers it provides -consistency across all programs in the same environment. - -.P -The -.I dbug -package imposes only a slight speed penalty on executing -programs, typically much less than 10 percent, and a modest size -penalty, typically 10 to 20 percent. -By defining a specific C preprocessor symbol both of these -can be reduced to zero with no changes required to the -source code. - -.P -The following list is a quick summary of the capabilities -of the -.I dbug -package. -Each capability can be individually enabled or disabled -at the time a program is invoked by specifying the appropriate -command line arguments. -.SP 1 -.ML o 1i -.LI -Execution trace showing function level control flow in a -semi-graphically manner using indentation to indicate nesting -depth. -.LI -Output the values of all, or any subset of, key internal variables. -.LI -Limit actions to a specific set of named functions. -.LI -Limit function trace to a specified nesting depth. -.LI -Label each output line with source file name and line number. -.LI -Label each output line with name of current process. -.LI -Push or pop internal debugging state to allow execution with -built in debugging defaults. -.LI -Redirect the debug output stream to standard output (stdout) -or a named file. -The default output stream is standard error (stderr). -The redirection mechanism is completely independent of -normal command line redirection to avoid output conflicts. -.LE - -.SK -.B -PRIMITIVE DEBUGGING TECHNIQUES -.R - -.P -Internal instrumentation is already a familiar concept -to most programmers, since it is usually the first debugging -technique learned. -Typically, "print\ statements" are inserted in the source -code at interesting points, the code is recompiled and executed, -and the resulting output is examined in an attempt to determine -where the problem is. - -The procedure is iterative, with each iteration yielding more -and more output, and hopefully the source of the problem is -discovered before the output becomes too large to deal with -or previously inserted statements need to be removed. -Figure 1 is an example of this type of primitive debugging -technique. -.DS I N -.SP 2 -.so example1.r -.SP 2 -.ll -5 -.ce -Figure 1 -.ce -Primitive Debugging Technique -.ll +5 -.SP 2 -.DE - -.P -Eventually, and usually after at least several iterations, the -problem will be found and corrected. -At this point, the newly inserted print statements must be -dealt with. -One obvious solution is to simply delete them all. -Beginners usually do this a few times until they have to -repeat the entire process every time a new bug pops up. -The second most obvious solution is to somehow disable -the output, either through the source code comment facility, -creation of a debug variable to be switched on or off, or by using the -C preprocessor. -Figure 2 is an example of all three techniques. -.DS I N -.SP 2 -.so example2.r -.SP 2 -.ll -5 -.ce -Figure 2 -.ce -Debug Disable Techniques -.ll +5 -.SP 2 -.DE - -.P -Each technique has its advantages and disadvantages with respect -to dynamic vs static activation, source code overhead, recompilation -requirements, ease of use, program readability, etc. -Overuse of the preprocessor solution quickly leads to problems with -source code readability and maintainability when multiple -.B #ifdef -symbols are to be defined or undefined based on specific types -of debug desired. -The source code can be made slightly more readable by suitable indentation -of the -.B #ifdef -arguments to match the indentation of the code, but -not all C preprocessors allow this. -The only requirement for the standard -.B UNIX -C preprocessor is for the '#' character to appear -in the first column, but even this seems -like an arbitrary and unreasonable restriction. -Figure 3 is an example of this usage. -.DS I N -.SP 2 -.so example3.r -.SP 2 -.ll -5 -.ce -Figure 3 -.ce -More Readable Preprocessor Usage -.ll +5 -.SP 2 -.DE - -.SK -.B -FUNCTION TRACE EXAMPLE -.R - -.P -We will start off learning about the capabilities of the -.I dbug -package by using a simple minded program which computes the -factorial of a number. -In order to better demonstrate the function trace mechanism, this -program is implemented recursively. -Figure 4 is the main function for this factorial program. -.DS I N -.SP 2 -.so main.r -.SP 2 -.ll -5 -.ce -Figure 4 -.ce -Factorial Program Mainline -.ll +5 -.SP 2 -.DE - -.P -The -.B main -function is responsible for processing any command line -option arguments and then computing and printing the factorial of -each non-option argument. -.P -First of all, notice that all of the debugger functions are implemented -via preprocessor macros. -This does not detract from the readability of the code and makes disabling -all debug compilation trivial (a single preprocessor symbol, -.B DBUG_OFF , -forces the macro expansions to be null). -.P -Also notice the inclusion of the header file -.B dbug.h -from the local header file directory. -(The version included here is the test version in the dbug source -distribution directory). -This file contains all the definitions for the debugger macros, which -all have the form -.B DBUG_XX...XX . - -.P -The -.B DBUG_ENTER -macro informs that debugger that we have entered the -function named -.B main . -It must be the very first "executable" line in a function, after -all declarations and before any other executable line. -The -.B DBUG_PROCESS -macro is generally used only once per program to -inform the debugger what name the program was invoked with. -The -.B DBUG_PUSH -macro modifies the current debugger state by -saving the previous state and setting a new state based on the -control string passed as its argument. -The -.B DBUG_PRINT -macro is used to print the values of each argument -for which a factorial is to be computed. -The -.B DBUG_RETURN -macro tells the debugger that the end of the current -function has been reached and returns a value to the calling -function. -All of these macros will be fully explained in subsequent sections. -.P -To use the debugger, the factorial program is invoked with a command -line of the form: -.DS CB N -factorial -#d:t 1 2 3 -.DE -The -.B main -function recognizes the "-#d:t" string as a debugger control -string, and passes the debugger arguments ("d:t") to the -.I dbug -runtime support routines via the -.B DBUG_PUSH -macro. -This particular string enables output from the -.B DBUG_PRINT -macro with the 'd' flag and enables function tracing with the 't' flag. -The factorial function is then called three times, with the arguments -"1", "2", and "3". -Note that the DBUG_PRINT takes exactly -.B two -arguments, with the second argument (a format string and list -of printable values) enclosed in parenthesis. -.P -Debug control strings consist of a header, the "-#", followed -by a colon separated list of debugger arguments. -Each debugger argument is a single character flag followed -by an optional comma separated list of arguments specific -to the given flag. -Some examples are: -.DS CB N --#d:t:o --#d,in,out:f,main:F:L -.DE -Note that previously enabled debugger actions can be disabled by the -control string "-#". - -.P -The definition of the factorial function, symbolized as "N!", is -given by: -.DS CB N -N! = N * N-1 * ... 2 * 1 -.DE -Figure 5 is the factorial function which implements this algorithm -recursively. -Note that this is not necessarily the best way to do factorials -and error conditions are ignored completely. -.DS I N -.SP 2 -.so factorial.r -.SP 2 -.ll -5 -.ce -Figure 5 -.ce -Factorial Function -.ll +5 -.SP 2 -.DE - -.P -One advantage (some may not consider it so) to using the -.I dbug -package is that it strongly encourages fully structured coding -with only one entry and one exit point in each function. -Multiple exit points, such as early returns to escape a loop, -may be used, but each such point requires the use of an -appropriate -.B DBUG_RETURN -or -.B DBUG_VOID_RETURN -macro. - -.P -To build the factorial program on a -.B UNIX -system, compile and -link with the command: -.DS CB N -cc -o factorial main.c factorial.c -ldbug -.DE -The "-ldbug" argument tells the loader to link in the -runtime support modules for the -.I dbug -package. -Executing the factorial program with a command of the form: -.DS CB N -factorial 1 2 3 4 5 -.DE -generates the output shown in figure 6. -.DS I N -.SP 2 -.so output1.r -.SP 2 -.ll -5 -.ce -Figure 6 -.ce -factorial 1 2 3 4 5 -.ll +5 -.SP 2 -.DE - -.P -Function level tracing is enabled by passing the debugger -the 't' flag in the debug control string. -Figure 7 is the output resulting from the command -"factorial\ -#t:o\ 3\ 2". -.DS I N -.SP 2 -.so output2.r -.SP 2 -.ll -5 -.ce -Figure 7 -.ce -factorial -#t:o 3 2 -.ll +5 -.SP 2 -.DE - -.P -Each entry to or return from a function is indicated by '>' for the -entry point and '<' for the exit point, connected by -vertical bars to allow matching points to be easily found -when separated by large distances. - -.P -This trace output indicates that there was an initial call -to factorial from main (to compute 2!), followed by -a single recursive call to factorial to compute 1!. -The main program then output the result for 2! and called the -factorial function again with the second argument, 3. -Factorial called itself recursively to compute 2! and 1!, then -returned control to main, which output the value for 3! and exited. - -.P -Note that there is no matching entry point "main>" for the -return point "\ %s", stp, stp\ ->\ name)); -.LI DBUG_SETJMP\ -Used in place of the setjmp() function to first save the current -debugger state and then execute the standard setjmp call. -This allows to the debugger to restore it's state when the -DBUG_LONGJMP macro is used to invoke the standard longjmp() call. -Currently all instances of DBUG_SETJMP must occur within the -same function and at the same function nesting level. -.SP 1 -EX:\ DBUG_SETJMP\ (env); -.LI DBUG_LONGJMP\ -Used in place of the longjmp() function to first restore the -previous debugger state at the time of the last DBUG_SETJMP -and then execute the standard longjmp() call. -Note that currently all DBUG_LONGJMP macros restore the state -at the time of the last DBUG_SETJMP. -It would be possible to maintain separate DBUG_SETJMP and DBUG_LONGJMP -pairs by having the debugger runtime support module use the first -argument to differentiate the pairs. -.SP 1 -EX:\ DBUG_LONGJMP\ (env,val); -.LE - -.SK -.B -DEBUG CONTROL STRING -.R - -.P -The debug control string is used to set the state of the debugger -via the -.B DBUG_PUSH -macro. -This section summarizes the currently available debugger options -and the flag characters which enable or disable them. -Argument lists enclosed in '[' and ']' are optional. -.SP 2 -.BL 22 -.LI d[,keywords] -Enable output from macros with specified keywords. -A null list of keywords implies that all keywords are selected. -.LI D[,time] -Delay for specified time after each output line, to let output drain. -Time is given in tenths of a second (value of 10 is one second). -Default is zero. -.LI f[,functions] -Limit debugger actions to the specified list of functions. -A null list of functions implies that all functions are selected. -.LI F -Mark each debugger output line with the name of the source file -containing the macro causing the output. -.LI L -Mark each debugger output line with the source file line number of -the macro causing the output. -.LI n -Mark each debugger output line with the current function nesting depth. -.LI N -Sequentially number each debugger output line starting at 1. -This is useful for reference purposes when debugger output is -interspersed with program output. -.LI o[,file] -Redirect the debugger output stream to the specified file. -The default output stream is stderr. -A null argument list causes output to be redirected to stdout. -.LI p[,processes] -Limit debugger actions to the specified processes. -A null list implies all processes. -This is useful for processes which run child processes. -Note that each debugger output line can be marked with the name of -the current process via the 'P' flag. -The process name must match the argument passed to the -.B DBUG_PROCESS -macro. -.LI P -Mark each debugger output line with the name of the current process. -Most useful when used with a process which runs child processes that -are also being debugged. -Note that the parent process must arrange for the debugger control -string to be passed to the child processes. -.LI r -Used in conjunction with the -.B DBUG_PUSH -macro to reset the current -indentation level back to zero. -Most useful with -.B DBUG_PUSH -macros used to temporarily alter the -debugger state. -.LI t[,N] -Enable function control flow tracing. -The maximum nesting depth is specified by N, and defaults to -200. -.LE -.SK -.B -HINTS AND MISCELLANEOUS -.R - -.P -One of the most useful capabilities of the -.I dbug -package is to compare the executions of a given program in two -different environments. -This is typically done by executing the program in the environment -where it behaves properly and saving the debugger output in a -reference file. -The program is then run with identical inputs in the environment where -it misbehaves and the output is again captured in a reference file. -The two reference files can then be differentially compared to -determine exactly where execution of the two processes diverges. - -.P -A related usage is regression testing where the execution of a current -version is compared against executions of previous versions. -This is most useful when there are only minor changes. - -.P -It is not difficult to modify an existing compiler to implement -some of the functionality of the -.I dbug -package automatically, without source code changes to the -program being debugged. -In fact, such changes were implemented in a version of the -Portable C Compiler by the author in less than a day. -However, it is strongly encouraged that all newly -developed code continue to use the debugger macros -for the portability reasons noted earlier. -The modified compiler should be used only for testing existing -programs. - -.SK -.B -CAVEATS -.R - -.P -The -.I dbug -package works best with programs which have "line\ oriented" -output, such as text processors, general purpose utilities, etc. -It can be interfaced with screen oriented programs such as -visual editors by redefining the appropriate macros to call -special functions for displaying the debugger results. -Of course, this caveat is not applicable if the debugger output -is simply dumped into a file for post-execution examination. - -.P -Programs which use memory allocation functions other than -.B malloc -will usually have problems using the standard -.I dbug -package. -The most common problem is multiply allocated memory. -.SP 2 -.\" .DE nroff dident like this. davida 900108 -.CS - - diff --git a/dmake/dbug/getwd.c b/dmake/dbug/getwd.c deleted file mode 100644 index 56e1a03ab7ca..000000000000 --- a/dmake/dbug/getwd.c +++ /dev/null @@ -1,6 +0,0 @@ -char * -getwd(pathname) -char *pathname; -{ - return("delete this code if your getwd.c works correctly"); -} diff --git a/dmake/dbug/malloc/_changes b/dmake/dbug/malloc/_changes deleted file mode 100644 index 888a47a8dfb5..000000000000 --- a/dmake/dbug/malloc/_changes +++ /dev/null @@ -1,9 +0,0 @@ -I made the following changes to the malloc package as found in -comp.sources.unix: - - 1. created this file _changes. - 2. moved README to _readme (facilitates transfer to DOS and back to - unix) - 3. renamed testmalloc.c, malloc_chk.c, and malloc_chn.c to testmlc.c, - mlc_chk.c, and mlc_chn.c respectively. Again DOS has trouble with - long basenames in filenames. diff --git a/dmake/dbug/malloc/_readme b/dmake/dbug/malloc/_readme deleted file mode 100644 index b78b1fd6bbcd..000000000000 --- a/dmake/dbug/malloc/_readme +++ /dev/null @@ -1,133 +0,0 @@ -# (c) Copyright 1990 Conor P. Cahill. (uunet!virtech!cpcahil) -# You may copy, distribute, and use this software as long as this -# copyright statement is not removed. - -This package is a collection of routines which are a drop-in replacement -for the malloc(3), memory(3), string(3), and bstring(3) library functions. - -The purpose of these programs is to aid the development and/or debugging -of programs using these functions by providing a high level of consistancy -checking whenever a malloc pointer is used. Due to this increased -level of consistancy checking, these functions have a considerably larger -overhead than the standard functions, but the extra checking should be -well worth it in a development environment. - -To use these functions all you need to do is compile the library and -include it on your loader command line. You do not need to recompile -your code, only a relink is necessary. - -Features of this library: - - 1. The malloced area returned from each call to malloc is filled with - non-null bytes. This should catch any use of uninitialized malloc - area. The fill pattern for malloced area is 0x01. - - 2. When free is called numerous validity checks are made on the - pointer it is passed. In addition, the data in the malloc block - beyound the size requested on the initial malloc is checked to - verify that it is still filled with the original fill characters. - - This is usefull for catching things like: - - ptr = malloc(5); - ptr[5] = '\0'; - - /* - * You should not that this will be caught when it is - * freed not when it is done - */ - - And finally, the freed block is filled with a different fill pattern - so that you can easily determine if you are still using free'd space. - The fill pattern for free'd areas is 0x02. - - This is usefull for catching things like: - - ptr = malloc(20); - - bptr = ptr+10; - - /* do something usefule with bptr */ - - free(ptr); - - /* - * now try to do something useful with bptr, it should - * be trashed enough that it would cause real problems - * and when you went to debug the problem it would be - * filled with 0x02's and you would then know to look - * for something free'ing what bptr points to. - */ - - - 3. Whenever a bstring(3)/string(3)/memory(3) function is called, it's - parameters are checked as follows: - - If they point somewhere in the malloc arena - If the operation goes beyond requested malloc space - call malloc_warning() - - This is usefull for catching things like: - - ptr = malloc(5); - strcpy(ptr,"abcde"); - - - 4. Malloc_warning() and malloc_fatal() are used when an error condition - is detected. If the error is severe, malloc_fatal is called. - Malloc_warning is used otherwise. The decision about what is fatal - and what is a warning was made somewhat arbitrarily. - - Warning messages include: - - Calling free with a bad pointer - Calling a bstring/string/memory (3) function which will go beyond - the end of a malloc block (Note that the library function is - not modified to refuse the operation. If malloc warnings are - in the default IGNORE case, the operation will continue and - at some point cause a real problem). - - Fatal errors are: - - Detectable corruption to the malloc chain. - - - 5. The operations to perform when an error is detected are specified at - run time by the use of environment variables. - - MALLOC_WARN - specifies the warning error message handling - MALLOC_FATAL - specifies the fatal error handling - - - When one of these error conditions occur you will get an error - message and the handler will execute based upon what setting - is in the environment variables. Currently understood settings - are as follows: - - 0 - continue operations - 1 - drop core and exit - 2 - just exit - 3 - drop core, but continue executing. Core files will - be placed into core.[PID].[counter] i.e: core.00123.001 - 128 - dump malloc chain and continue - 129 - dump malloc chain, dump core, and exit - 130 - dump malloc chain, exit - 131 - dump malloc chain, dump core, continue processing - - - There is an additional environment variable MALLOC_ERRFILE which - is used to indicate the name of the file for error message output. - - For example, to set up the session to generate a core file for - every malloc warning, to drop core and exit on a malloc fatal, and - to log all messages to the file "malloc_log" do the following: - - MALLOC_WARN=131 - MALLOC_FATAL=1 - MALLOC_ERRFILE=malloc_log - - export MALLOC_WARN MALLOC_FATAL MALLOC_ERRFILE - - 6. The function malloc_dump() is available to dump the malloc chain whenever - you might want. It's only argument is a file descriptor to use to write - the data. Review the code if you need to know what data is printed. diff --git a/dmake/dbug/malloc/calloc.c b/dmake/dbug/malloc/calloc.c deleted file mode 100644 index 1469b200cbf2..000000000000 --- a/dmake/dbug/malloc/calloc.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include - -/* - * Function: calloc() - * - * Purpose: to allocate and nullify a data area - * - * Arguments: nelem - number of elements - * elsize - size of each element - * - * Returns: NULL - if malloc fails - * or pointer to allocated space - * - * Narrative: determine size of area to malloc - * malloc area. - * if malloc succeeds - * fill area with nulls - * return ptr to malloc'd region - */ -#ifndef lint -static char rcs_header[] = "$Id: calloc.c,v 1.2 2006-07-25 10:07:11 rt Exp $"; -#endif - -char * -calloc(nelem,elsize) - unsigned int nelem; - unsigned int elsize; -{ - char * malloc(); - char * memset(); - char * ptr; - unsigned int size; - - size = elsize * nelem; - - if( (ptr = malloc(size)) != NULL) - { - (void) memset(ptr,'\0',(int)size); - } - - return(ptr); -} - - diff --git a/dmake/dbug/malloc/debug.h b/dmake/dbug/malloc/debug.h deleted file mode 100644 index 069d1dc77639..000000000000 --- a/dmake/dbug/malloc/debug.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -/************************************************************************/ -/* */ -/* this include sets up some macro functions which can be used while */ -/* debugging the program, and then left in the code, but turned of by */ -/* just not defining "DEBUG". This way your production version of */ -/* the program will not be filled with bunches of debugging junk */ -/* */ -/************************************************************************/ -/* - * $Id: debug.h,v 1.2 2006-07-25 10:07:24 rt Exp $ - */ - -#ifdef DEBUG - -#if DEBUG == 1 /* if default level */ -#undef DEBUG -#define DEBUG 100 /* use level 100 */ -#endif - -#include - -#define DEBUG0(val,str)\ - {\ - if( DEBUG > val ) \ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,str);\ - } -#define DEBUG1(val,str,a1)\ - {\ - char _debugbuf[100];\ - if( DEBUG > val )\ - {\ - sprintf(_debugbuf,str,a1);\ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,_debugbuf);\ - }\ - } - -#define DEBUG2(val,str,a1,a2)\ - {\ - char _debugbuf[100];\ - if( DEBUG > val )\ - {\ - sprintf(_debugbuf,str,a1,a2);\ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,_debugbuf);\ - }\ - } - -#define DEBUG3(val,str,a1,a2,a3)\ - {\ - char _debugbuf[100];\ - if( DEBUG > val )\ - {\ - sprintf(_debugbuf,str,a1,a2,a3);\ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,_debugbuf);\ - }\ - } - -#define DEBUG4(val,str,a1,a2,a3,a4)\ - {\ - char _debugbuf[100];\ - if( DEBUG > val )\ - {\ - sprintf(_debugbuf,str,a1,a2,a3,a4);\ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,_debugbuf);\ - }\ - } - -#define DEBUG5(val,str,a1,a2,a3,a4,a5)\ - {\ - char _debugbuf[100];\ - if( DEBUG > val )\ - {\ - sprintf(_debugbuf,str,a1,a2,a3,a4,a5);\ - fprintf(stderr,"%s(%d): %s\n",\ - __FILE__,__LINE__,_debugbuf);\ - }\ - } - -#else - -#define DEBUG0(val,s) -#define DEBUG1(val,s,a1) -#define DEBUG2(val,s,a1,a2) -#define DEBUG3(val,s,a1,a2,a3) -#define DEBUG4(val,s,a1,a2,a3,a4) -#define DEBUG5(val,s,a1,a2,a3,a4,a5) - -#endif /* DEBUG */ - - diff --git a/dmake/dbug/malloc/dump.c b/dmake/dbug/malloc/dump.c deleted file mode 100644 index 70c8ac30c2d8..000000000000 --- a/dmake/dbug/malloc/dump.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include "malloc.h" -#include "tostring.h" - -/* - * Function: malloc_dump() - * - * Purpose: to dump a printed copy of the malloc chain and - * associated data elements - * - * Arguments: fd - file descriptor to write data to - * - * Returns: nothing of any use - * - * Narrative: Just print out all the junk - * - * Notes: This function is implemented using low level calls because - * of the likelyhood that the malloc tree is damaged when it - * is called. (Lots of things in the c library use malloc and - * we don't want to get into a catch-22). - * - */ - -#ifndef lint -static -char rcs_hdr[] = "$Id: dump.c,v 1.2 2006-07-25 10:07:38 rt Exp $"; -#endif - - -#define ERRSTR "I/O Error on malloc dump file descriptor\n" - -#define WRITEOUT(fd,str,len) if( write(fd,str,(unsigned)len) != len ) \ - { \ - (void) write(2,ERRSTR,\ - (unsigned)strlen(ERRSTR));\ - exit(120); \ - } - -void -malloc_dump(fd) - int fd; -{ - char buffer[512]; - void exit(); - int i; - extern char * malloc_data_end; - extern char * malloc_data_start; - extern struct mlist * malloc_end; - extern struct mlist malloc_start; - struct mlist * ptr; - - WRITEOUT(fd,"MALLOC CHAIN:\n",14); - WRITEOUT(fd,"-------------------- START ----------------\n",44); - - for(i=0; i < 80; i++) - { - buffer[i] = ' '; - } - - for(ptr = &malloc_start; ptr; ptr = ptr->next) - { - (void) tostring(buffer, (int)ptr, 8, B_HEX, '0'); - (void) tostring(buffer+9, (int)ptr->next, 8, B_HEX, '0'); - (void) tostring(buffer+18, (int)ptr->prev, 8, B_HEX, '0'); - (void) tostring(buffer+27, (int)ptr->flag, 10, B_HEX, '0'); - (void) tostring(buffer+38, (int)ptr->s.size, 8, B_DEC, ' '); - (void) tostring(buffer+47, (int)ptr->s.size, 8, B_HEX, '0'); - (void) tostring(buffer+57, (int)ptr->data, 8, B_HEX, '0'); - buffer[46] = '('; - buffer[55] = ')'; - buffer[65] = '\n'; - WRITEOUT(fd,buffer,66); - } - WRITEOUT(fd,"-------------------- DONE -----------------\n",44); - - WRITEOUT(fd,"Malloc start: ",19); - (void) tostring(buffer, (int) &malloc_start, 8, B_HEX, '0'); - buffer[8] = '\n'; - WRITEOUT(fd,buffer,9); - - WRITEOUT(fd,"Malloc end: ", 19); - (void) tostring(buffer, (int) malloc_end, 8, B_HEX, '0'); - buffer[8] = '\n'; - WRITEOUT(fd,buffer,9); - - WRITEOUT(fd,"Malloc data start: ", 19); - (void) tostring(buffer, (int) malloc_data_start, 8, B_HEX, '0'); - buffer[8] = '\n'; - WRITEOUT(fd,buffer,9); - - WRITEOUT(fd,"Malloc data end: ", 19); - (void) tostring(buffer, (int) malloc_data_end, 8, B_HEX, '0'); - buffer[8] = '\n'; - WRITEOUT(fd,buffer,9); - -} /* malloc_dump(... */ - - diff --git a/dmake/dbug/malloc/free.c b/dmake/dbug/malloc/free.c deleted file mode 100644 index a8fc3ca259b6..000000000000 --- a/dmake/dbug/malloc/free.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include "malloc.h" -#include "debug.h" - -/* - * Function: free() - * - * Purpose: to deallocate malloced data - * - * Arguments: ptr - pointer to data area to deallocate - * - * Returns: nothing of any value - * - * Narrative: - * verify pointer is within malloc region - * get mlist pointer from passed address - * verify magic number - * verify inuse flag - * verify pointer connections with surrounding segments - * turn off inuse flag - * verify no data overrun into non-malloced area at end of segment - * IF possible join segment with next segment - * IF possible join segment with previous segment - * Clear all data in segment (to make sure it isn't reused) - * - */ -#ifndef lint -static -char rcs_hdr[] = "$Id: free.c,v 1.2 2006-07-25 10:07:53 rt Exp $"; -#endif - -void -free(cptr) - char * cptr; -{ - char * func = "free"; - int i; - extern int malloc_checking; - extern struct mlist * malloc_end; - extern int malloc_errno; - extern char * malloc_data_end; - extern char * malloc_data_start; - void malloc_join(); - void malloc_memset(); - struct mlist * oldptr; - struct mlist * ptr; - - /* - * IF malloc chain checking is on, go do it. - */ - if( malloc_checking ) - { - (void) malloc_chain_check(1); - } - - /* - * verify that cptr is within the malloc region... - */ - if( cptr < malloc_data_start || cptr > malloc_data_end ) - { - malloc_errno = M_CODE_BAD_PTR; - malloc_warning(func); - return; - } - - /* - * convert pointer to mlist struct pointer. To do this we must - * move the pointer backwards the correct number of bytes... - */ - - ptr = (struct mlist *) (cptr - M_SIZE); - - if( (ptr->flag&M_MAGIC) != M_MAGIC ) - { - malloc_errno = M_CODE_BAD_MAGIC; - malloc_warning(func); - return; - } - - if( ! (ptr->flag & M_INUSE) ) - { - malloc_errno = M_CODE_NOT_INUSE; - malloc_warning(func); - return; - } - - if( (ptr->prev && (ptr->prev->next != ptr) ) || - (ptr->next && (ptr->next->prev != ptr) ) || - ((ptr->next == NULL) && (ptr->prev == NULL)) ) - { - malloc_errno = M_CODE_BAD_CONNECT; - malloc_warning(func); - return; - } - - ptr->flag &= ~M_INUSE; - - /* - * verify that the user did not overrun the requested number of bytes. - */ - for(i=ptr->r_size; i < ptr->s.size; i++) - { - if( ptr->data[i] != M_FILL ) - { - malloc_errno = M_CODE_OVERRUN; - malloc_warning(func); - break; - } - } - - DEBUG3(10,"pointers: prev: 0x%.7x, ptr: 0x%.7x, next: 0x%.7x", - ptr->prev, ptr, ptr->next); - - DEBUG3(10,"size: prev: %9d, ptr: %9d, next: %9d", - ptr->prev->s.size, ptr->s.size, ptr->next->s.size); - - DEBUG3(10,"flags: prev: 0x%.7x, ptr: 0x%.7x, next: 0x%.7x", - ptr->prev->flag, ptr->flag, ptr->next->flag); - - /* - * check to see if this block can be combined with the next and/or - * previous block. Since it may be joined with the previous block - * we will save a pointer to the previous block and test to verify - * if it is joined (it's next ptr will no longer point to ptr). - */ - malloc_join(ptr,ptr->next,0,0); - - oldptr = ptr->prev; - - malloc_join(ptr->prev, ptr,0,0); - - if( oldptr->next != ptr ) - { - DEBUG0(10,"Oldptr was changed"); - ptr = oldptr; - } - - /* - * fill this block with '\02's to ensure that nobody is using a - * pointer to already freed data... - */ - malloc_memset(ptr->data,M_FREE_FILL,(int)ptr->s.size); - -} - diff --git a/dmake/dbug/malloc/m_init.c b/dmake/dbug/malloc/m_init.c deleted file mode 100644 index d4fdc0788f4b..000000000000 --- a/dmake/dbug/malloc/m_init.c +++ /dev/null @@ -1,79 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include "malloc.h" - -/* - * Function: malloc_init() - * - * Purpose: to initialize the pointers and variables use by the - * malloc() debugging library - * - * Arguments: none - * - * Returns: nothing of any value - * - * Narrative: Just initialize all the needed variables. Use mallopt - * to set options taken from the environment. - * - */ -#ifndef lint -static -char rcs_hdr[] = "$Id: m_init.c,v 1.2 2006-07-25 10:08:07 rt Exp $"; -#endif - -void -malloc_init() -{ - char * cptr; - char * getenv(); - union malloptarg m; - extern char * malloc_data_end; - extern char * malloc_data_start; - extern struct mlist * malloc_end; - extern struct mlist malloc_start; - char * sbrk(); - - /* - * If already initialized... - */ - if( malloc_data_start != (char *) 0) - { - return; - } - - - malloc_data_start = sbrk(0); - malloc_data_end = malloc_data_start; - malloc_start.s.size = 0; - malloc_end = &malloc_start; - - if( (cptr=getenv("MALLOC_WARN")) != NULL ) - { - m.i = atoi(cptr); - (void) mallopt(MALLOC_WARN,m); - } - - if( (cptr=getenv("MALLOC_FATAL")) != NULL) - { - m.i = atoi(cptr); - (void) mallopt(MALLOC_FATAL,m); - } - - if( (cptr=getenv("MALLOC_CKCHAIN")) != NULL) - { - m.i = atoi(cptr); - (void) mallopt(MALLOC_CKCHAIN,m); - } - - if( (cptr=getenv("MALLOC_ERRFILE")) != NULL) - { - m.str = cptr; - (void) mallopt(MALLOC_ERRFILE,m); - } - -} - diff --git a/dmake/dbug/malloc/m_perror.c b/dmake/dbug/malloc/m_perror.c deleted file mode 100644 index b5620182ac4e..000000000000 --- a/dmake/dbug/malloc/m_perror.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ - -#ifndef lint -static -char rcsid[] = "$Id: m_perror.c,v 1.2 2006-07-25 10:08:21 rt Exp $"; -#endif - -/* - * malloc errno error strings... - */ - -char *malloc_err_strings[] = -{ - "No errors", - "Malloc chain is corrupted, pointers out of order", - "Malloc chain is corrupted, end before end pointer", - "Pointer is not within malloc area", - "Malloc region does not have valid magic number in header", - "Pointers between this segment and ajoining segments are invalid", - "Data has overrun beyond requested number of bytes", - "Data in free'd area has been modified", - "Data are is not in use (can't be freed or realloced)", - "Unable to get additional memory from the system", - "Pointer within malloc region, but outside of malloc data bounds", - (char *) 0 -}; - -/* - * Function: malloc_perror() - * - * Purpose: to print malloc_errno error message - * - * Arguments: str - string to print with error message - * - * Returns: nothing of any value - * - * Narrative: - */ -void -malloc_perror(str) - char * str; -{ - extern int malloc_errno; - register char * s; - register char * t; - - if( str && *str) - { - for(s=str; *s; s++) - { - /* do nothing */; - } - - (void) write(2,str,(unsigned)(s-str)); - (void) write(2,": ",(unsigned)2); - } - - t = malloc_err_strings[malloc_errno]; - - for(s=t; *s; s++) - { - /* do nothing */; - } - - (void) write(2,t,(unsigned)(s-t)); - - (void) write(2,"\n",(unsigned)1); -} - diff --git a/dmake/dbug/malloc/makefile b/dmake/dbug/malloc/makefile deleted file mode 100644 index 88395c7b8f6c..000000000000 --- a/dmake/dbug/malloc/makefile +++ /dev/null @@ -1,77 +0,0 @@ -# -# (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). -# You may copy, distribute, and use this software as long as this -# copyright statement is not removed. -# -# -# This is the Makefile for the malloc debugging library -# -# $Id: makefile,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $ -# -CC=cc -# for System V systems use this CFLAGS -#CFLAGS=-g -DSYS5 -# else for BSD use: -#CFLAGS=-g -LINT=lint -SHARCMD=shar -o mallocshar -l50 -x -a -n Malloclib -SHELL=/bin/sh - -LIB=libmalloc.a - -SRCS= malloc.c \ - free.c \ - realloc.c \ - calloc.c \ - string.c \ - mlc_chk.c \ - mlc_chn.c \ - memory.c \ - tostring.c \ - m_perror.c \ - m_init.c \ - mallopt.c \ - dump.c - -OBJS= malloc.o \ - free.o \ - realloc.o \ - calloc.o \ - string.o \ - mlc_chk.o \ - mlc_chn.o \ - memory.o \ - tostring.o \ - m_perror.o \ - m_init.o \ - mallopt.o \ - dump.o - -TESTS=testmlc testmem - -all: $(LIB) $(TESTS) - -clean: - rm -f $(TESTS) pgm $(LIB) *.o *.ln - -sharfile: - $(SHARCMD) Makefile README patchlevel *.[ch3] - -$(LIB): $(OBJS) - ar ru $(LIB) $(OBJS) - -if test -s /bin/ranlib; then /bin/ranlib $(LIB); else exit 0; fi - -if test -s /usr/bin/ranlib; then /usr/bin/ranlib $(LIB); else exit 0; fi - -testmlc: $(LIB) testmlc.o - $(CC) -o $@ testmlc.o $(LIB) - -testmem: $(LIB) testmem.o - $(CC) -o $@ testmem.o $(LIB) - -lint: - $(LINT) $(CFLAGS) $(SRCS) testmlc.c testmem.c - - -$(OBJS): malloc.h - -tostring.o malloc.o dump.o: tostring.h diff --git a/dmake/dbug/malloc/malloc.3 b/dmake/dbug/malloc/malloc.3 deleted file mode 100644 index f5e1d2dc0dab..000000000000 --- a/dmake/dbug/malloc/malloc.3 +++ /dev/null @@ -1,223 +0,0 @@ -.TH MALLOC 3 "" "" "1.0" -.ds ]T -.\"/* -.\" * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). -.\" * You may copy, distribute, and use this software as long as this -.\" * copyright statement is not removed. -.\" */ -.\" $Id: malloc.3,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $ -.SH NAME -malloc \t- debugging malloc library -.SH SYNOPSIS -.ft B -.nf -#include - -char * calloc(nelem,elsize); -void free(ptr); -char * malloc(size); -int malloc_chain_check(flag); -void malloc_dump(fd); -int mallopt(cmd,val) -char * realloc(ptr,size); - -int cmd,fd,flag; -unsigned elsize,nelem,size; -char * ptr; -union malloptarg val; - -.fi -.ft R -.SH DESCRIPTION -This malloc library is a replacement for the standard library to be used -during software development/debugging. See the standard malloc(3) pages -for more information on the use of the following functions: -.nf -.in +.5i -calloc(), free(), malloc(), realloc() -.in -.5i -.fi -.sp -This library differs from the standard malloc library in the -following ways: -.P -1. Each malloc segment contains a magic number so that free can -verify that the pointer passed points to a valid malloc segment. -.P -2. Each malloc segment is filled with a non-zero pattern so that code that -depends upon malloc segments being null will fail. -.P -3. The size of each segment will be at least 1 byte larger than requested -and the extra bytes will be filled with a non-zero pattern. When free is -called, it will verify that you did not go beyond the number of bytes -you asked for. -.P -4. When a segment is freed, it will be filled with a different non-zero pattern -to ensure that the program doesn't depend upon the use of already freed data. -.P -5. Whenever any of the string or memory functions (str*, b*, mem*) are -called with a pointer that is within the malloc arena, the operation is -checked to verify that it does not overrun the malloced segment. A failure -of this check is considered a "warning level error" (described later) and -is handled accordingly. -.P -7. Run time checking can include verification of the malloc chain at each -and every call to one of the malloc functions or manually by calling the -malloc_chain_check function. -.P -6. When a problem is found, the action taken is specified at runtime by -environment variables or at compile time by the use of the mallopt() -function. -.P -There are two arbitrary levels of errors, warning and fatal, that this -library will detect. They are broken down as follows: -.P -.nf -.in +.25i -Warning messages include: -.sp -.in +.5i -.ti -.25i -Calling free with a bad pointer -.br -.ti -.25i -Calling a bstring/string/memory (3) function which will go beyond -the end of a malloc block. Note that the library function is -not modified to refuse the operation. -.sp -.in -.5i -Fatal errors are: -.in +.5i -.ti -.25i -Detectable corruption to the malloc chain. -.in -.5i -.in -.25i -.P -The error handling for each level (warning or fatal) are specified using -environment variables or mallopt(). The coding for the error handling is -as follows: -.sp -.nf -.in +.5i -.ti -.25i - 0 - continue operations -.ti -.25i - 1 - drop core and exit -.ti -.25i - 2 - just exit -.ti -.25i - 3 - drop core, but continue executing. Core files will -be placed into core.[PID].[counter] i.e: core.00123.001 -.ti -.25i -128 - dump malloc chain and continue -.ti -.25i -129 - dump malloc chain, dump core, and exit -.ti -.25i -130 - dump malloc chain, exit -.ti -.25i -131 - dump malloc chain, dump core, continue processing -.in -.5i -.P -In addition error messages can be placed into an error file. -.P -\fBmalloc_opt\fP() is used to set the malloc debugging options. The -following options can be set: -.br -.sp -.in +.5i -MALLOC_WARN - set the error handling for warning level errors. \fBval.i\fP is -an integer that can contain any one of the following values: -.sp -.in +.5i -M_HANDLE_IGNORE - ignore error -.br -M_HANDLE_ABORT - drop core and exit -.br -M_HANDLE_EXIT - just exit (no core drop) -.br -M_HANDLE_CORE - drop core, but keep on going -.br -.in -.5i -.sp -In addition, M_HANDLE_DUMP may be or'd in to cause a dump of the current -malloc chain. -.br -.sp -MALLOC_FATAL - set the error handling for fatal level errors. \fBval.i\fP is -equivalent to \fBval.i\fP for MALLOC_WARN. -.br -.sp -MALLOC_ERRFILE - set the destination for malloc error messages. \fBval.str\fP -is a pointer to a character string containing the name of the file to be used -for error messages. -.br -.sp -MALLOC_CKCHAIN - set the malloc chain checking flag. If \fBval.i\fP is -non-zero, chain checking at every call to malloc is turned on. -.br -.sp -For example, to set up the session to generate a core file for -every malloc warning, to drop core and exit on a malloc fatal, and -to log all messages to the file "malloc_log" do the following: -.sp -.nf -.in +.5i -#include -malloc_opt(MALLOC_WARN,131); -malloc_opt(MALLOC_FATAL,1); -malloc_opt(MALLOC_ERRFILE,"malloc_log"); -.in -.5i -.fi -.in -.5i -.sp -\fBmalloc_opt\fP() can be used to set/alter the debugging options at any -time. -.P -\fBmalloc_dump\fP() will dump a table of the malloc arena showing all -allocated/freed segments and the first few bytes of data in each segment. -\fBfd\fP is the file descriptor to write the data to. -.P -\fBmalloc_chain_check\fP() will check the status of the malloc arena. -If \fBflag\fP is non-zero, an error found in the chain will cause a -fatal error. \fBmalloc_chain_check\fP() returns zero when there are no -problems found in the malloc chain, non-zero otherwise. -.SH "ENVIRONMENT VARIABLES" -Environment variables can be used to control error handling, error logging -and malloc chain checking at run time. The following environment variables -are used: -.P -MALLOC_WARN - specifies the error handling for warning errors -.br -MALLOC_FATAL - specifies the error handling for fatal errors -.br -MALLOC_ERRFILE - specifies the error log file for error messages. -.br -MALLOC_CKCHAIN - if 1, turns on malloc chain checking at every call to any -of the malloc functions. -.P -For example, to set up the session to generate a core file for -every malloc warning, to drop core and exit on a malloc fatal, and -to log all messages to the file "malloc_log" do the following: -.sp -.nf -.in +.5i -MALLOC_WARN=131 -MALLOC_FATAL=1 -MALLOC_ERRFILE=malloc_log - -export MALLOC_WARN MALLOC_FATAL MALLOC_ERRFILE -.in -.5i -.fi -.SH WARNINGS -This malloc library and it's associated string and memory functions are -much less efficient than the standard functions due in part to the extra -error checking. You do not want to use this library when generating a -production (i.e. releasable) version of your software. It should only -be used during development and testing. -.SH SEE ALSO -stat(2) -.SH AUTHOR -Conor P. Cahill -Virtual Technologies Incorporated -.sp -uunet!virtech!cpcahil diff --git a/dmake/dbug/malloc/malloc.c b/dmake/dbug/malloc/malloc.c deleted file mode 100644 index ff84e3efce9f..000000000000 --- a/dmake/dbug/malloc/malloc.c +++ /dev/null @@ -1,627 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include -#include "malloc.h" -#include "tostring.h" - -/* - * Function: malloc() - * - * Purpose: memory allocator - * - * Arguments: size - size of data area needed - * - * Returns: pointer to allocated area, or NULL if unable - * to allocate addtional data. - * - * Narrative: - * - */ -#ifndef lint -static -char rcs_hdr[] = "$Id: malloc.c,v 1.2 2006-07-25 10:08:36 rt Exp $"; -#endif - -extern int malloc_checking; -char * malloc_data_start; -char * malloc_data_end; -struct mlist * malloc_end; -int malloc_errfd = 2; -int malloc_errno; -int malloc_fatal_level = M_HANDLE_CORE; -struct mlist malloc_start; -int malloc_warn_level; -void malloc_memset(); - -char * -malloc(size) - unsigned int size; -{ - char * func = "malloc"; - char * getenv(); - void malloc_fatal(); - void malloc_init(); - void malloc_split(); - void malloc_warning(); - unsigned int need; - struct mlist * oldptr; - struct mlist * ptr; - char * sbrk(); - - /* - * If this is the first call to malloc... - */ - if( malloc_data_start == (char *) 0 ) - { - malloc_init(); - } - - /* - * If malloc chain checking is on, go do it. - */ - if( malloc_checking ) - { - (void) malloc_chain_check(1); - } - - /* - * always make sure there is at least on extra byte in the malloc - * area so that we can verify that the user does not overrun the - * data area. - */ - size++; - - /* - * Now look for a free area of memory of size bytes... - */ - oldptr = NULL; - for(ptr = &malloc_start; ; ptr = ptr->next) - { - /* - * Since the malloc chain is a forward only chain, any - * pointer that we get should always be positioned in - * memory following the previous pointer. If this is not - * so, we must have a corrupted chain. - */ - if( ptr ) - { - if( ptrflag & M_INUSE) != 0) ) - { - continue; - } - - /* - * if there isn't room for this block.. - */ - if( ptr && (ptr->s.size < size) ) - { - continue; - } - - /* - * If ptr is null, we have run out of memory and must sbrk more - */ - if( ptr == NULL ) - { - need = (size + M_SIZE) * (size > 10*1024 ? 1:2); - if( need < M_BLOCKSIZE ) - { - need = M_BLOCKSIZE; - } - else if( need & (M_BLOCKSIZE-1) ) - { - need &= ~(M_BLOCKSIZE-1); - need += M_BLOCKSIZE; - } - ptr = (struct mlist *) sbrk((int)need); - if( ptr == (struct mlist *) -1 ) - { - malloc_errno = M_CODE_NOMORE_MEM; - malloc_fatal(func); - } - malloc_data_end = sbrk((int)0); - - ptr->prev = oldptr; - ptr->next = (struct mlist *) 0; - ptr->s.size = need - M_SIZE; - ptr->flag = M_MAGIC; - - oldptr->next = ptr; - malloc_end = ptr; - - - } /* if( ptr ==... */ - - /* - * Now ptr points to a memory location that can store - * this data, so lets go to work. - */ - - ptr->r_size = size; /* save requested size */ - ptr->flag |= M_INUSE; - - /* - * split off unneeded data area in this block, if possible... - */ - malloc_split(ptr); - - /* - * re-adjust the requested size so that it is what the user - * actually requested... - */ - - ptr->r_size--; - - /* - * just to make sure that noone is misusing malloced - * memory without initializing it, lets set it to - * all '\01's. We call local_memset() because memset() - * may be checking for malloc'd ptrs and this isn't - * a malloc'd ptr yet. - */ - malloc_memset(ptr->data,M_FILL,(int)ptr->s.size); - - return( ptr->data); - - } /* for(... */ - -} /* malloc(... */ - -/* - * Function: malloc_split() - * - * Purpose: to split a malloc segment if there is enough room at the - * end of the segment that isn't being used - * - * Arguments: ptr - pointer to segment to split - * - * Returns: nothing of any use. - * - * Narrative: - * get the needed size of the module - * round the size up to appropriat boundry - * calculate amount of left over space - * if there is enough left over space - * create new malloc block out of remainder - * if next block is free - * join the two blocks together - * fill new empty block with free space filler - * re-adjust pointers and size of current malloc block - * - * - * - * Mod History: - * 90/01/27 cpcahil Initial revision. - */ -void -malloc_split(ptr) - struct mlist * ptr; -{ - extern struct mlist * malloc_end; - void malloc_join(); - int rest; - int size; - struct mlist * tptr; - - size = ptr->r_size; - - /* - * roundup size to the appropriate boundry - */ - - M_ROUNDUP(size); - - /* - * figure out how much room is left in the array. - * if there is enough room, create a new mlist - * structure there. - */ - - if( ptr->s.size > size ) - { - rest = ptr->s.size - size; - } - else - { - rest = 0; - } - - if( rest > (M_SIZE+M_RND) ) - { - tptr = (struct mlist *) (ptr->data+size); - tptr->prev = ptr; - tptr->next = ptr->next; - tptr->flag = M_MAGIC; - tptr->s.size = rest - M_SIZE; - - /* - * If possible, join this segment with the next one - */ - - malloc_join(tptr, tptr->next,0,0); - - if( tptr->next ) - { - tptr->next->prev = tptr; - } - - malloc_memset(tptr->data,M_FREE_FILL, (int)tptr->s.size); - - ptr->next = tptr; - ptr->s.size = size; - - if( malloc_end == ptr ) - { - malloc_end = tptr; - } - } - -} /* malloc_split(... */ - -/* - * Function: malloc_join() - * - * Purpose: to join two malloc segments together (if possible) - * - * Arguments: ptr - pointer to segment to join to. - * nextptr - pointer to next segment to join to ptr. - * - * Returns: nothing of any values. - * - * Narrative: - * - * Mod History: - * 90/01/27 cpcahil Initial revision. - */ -void -malloc_join(ptr,nextptr, inuse_override, fill_flag) - struct mlist * ptr; - struct mlist * nextptr; - int inuse_override; - int fill_flag; -{ - unsigned int newsize; - - if( ptr && ! (inuse_override || (ptr->flag & M_INUSE)) && - nextptr && ! (nextptr->flag & M_INUSE) && - ((ptr->data+ptr->s.size) == (char *) nextptr) ) - { - if( malloc_end == nextptr ) - { - malloc_end = ptr; - } - ptr->next = nextptr->next; - newsize = nextptr->s.size + M_SIZE; - - /* - * if we are to fill and this segment is in use, - * fill in with M_FILL newly added space... - */ - - if(fill_flag && (ptr->flag & M_INUSE) ) - { - malloc_memset(ptr->data+ptr->s.size, - M_FILL, (int)(nextptr->s.size + M_SIZE)); - } - - ptr->s.size += newsize; - if( ptr->next ) - { - ptr->next->prev = ptr; - } - } - -} /* malloc_join(... */ - - -/* - * The following mess is just to ensure that the versions of these functions in - * the current library are included (to make sure that we don't accidentaly get - * the libc versions. (This is the lazy man's -u ld directive) - */ - -void free(); -int strcmp(); -int memcmp(); -char * realloc(); - -void (*malloc_void_funcs[])() = -{ - free, -}; - -int (*malloc_int_funcs[])() = -{ - strcmp, - memcmp, -}; - -char * (*malloc_char_star_funcs[])() = -{ - realloc, -}; - -/* - * This is malloc's own memset which is used without checking the parameters. - */ - -void -malloc_memset(ptr,byte,len) - char * ptr; - char byte; - int len; -{ - - while(len-- > 0) - { - *ptr++ = byte; - } - -} /* malloc_memset(... */ - -/* - * Function: malloc_fatal() - * - * Purpose: to display fatal error message and take approrpriate action - * - * Arguments: funcname - name of function calling this routine - * - * Returns: nothing of any value - * - * Narrative: - * - * Notes: This routine does not make use of any libc functions to build - * and/or disply the error message. This is due to the fact that - * we are probably at a point where malloc is having a real problem - * and we don't want to call any function that may use malloc. - */ -void -malloc_fatal(funcname) - char * funcname; -{ - char errbuf[128]; - void exit(); - void malloc_err_handler(); - extern char * malloc_err_strings[]; - extern int malloc_errno; - extern int malloc_fatal_level; - char * s; - char * t; - - s = errbuf; - t = "Fatal error: "; - while( *s = *t++) - { - s++; - } - t = funcname; - while( *s = *t++) - { - s++; - } - - t = "(): "; - while( *s = *t++) - { - s++; - } - - t = malloc_err_strings[malloc_errno]; - while( *s = *t++) - { - s++; - } - - *(s++) = '\n'; - - if( write(malloc_errfd,errbuf,(unsigned)(s-errbuf)) != (s-errbuf)) - { - (void) write(2,"I/O error to error file\n",(unsigned)24); - exit(110); - } - malloc_err_handler(malloc_fatal_level); - -} /* malloc_fatal(... */ - -/* - * Function: malloc_warning() - * - * Purpose: to display warning error message and take approrpriate action - * - * Arguments: funcname - name of function calling this routine - * - * Returns: nothing of any value - * - * Narrative: - * - * Notes: This routine does not make use of any libc functions to build - * and/or disply the error message. This is due to the fact that - * we are probably at a point where malloc is having a real problem - * and we don't want to call any function that may use malloc. - */ -void -malloc_warning(funcname) - char * funcname; -{ - char errbuf[128]; - void exit(); - void malloc_err_handler(); - extern char * malloc_err_strings[]; - extern int malloc_errno; - extern int malloc_warn_level; - char * s; - char * t; - - s = errbuf; - t = "Warning: "; - while( *s = *t++) - { - s++; - } - t = funcname; - while( *s = *t++) - { - s++; - } - - t = "(): "; - while( *s = *t++) - { - s++; - } - - t = malloc_err_strings[malloc_errno]; - while( *s = *t++) - { - s++; - } - - *(s++) = '\n'; - - if( write(malloc_errfd,errbuf,(unsigned)(s-errbuf)) != (s-errbuf)) - { - (void) write(2,"I/O error to error file\n",(unsigned)24); - exit(110); - } - - malloc_err_handler(malloc_warn_level); - -} /* malloc_warning(... */ - -/* - * Function: malloc_err_handler() - * - * Purpose: to take the appropriate action for warning and/or fatal - * error conditions. - * - * Arguments: level - error handling level - * - * Returns: nothing of any value - * - * Narrative: - * - * Notes: This routine does not make use of any libc functions to build - * and/or disply the error message. This is due to the fact that - * we are probably at a point where malloc is having a real problem - * and we don't want to call any function that may use malloc. - */ -void -malloc_err_handler(level) -{ - void exit(); - void malloc_dump(); - extern int malloc_errfd; - - if( level & M_HANDLE_DUMP ) - { - malloc_dump(malloc_errfd); - } - - switch( level & ~M_HANDLE_DUMP ) - { - /* - * If we are to drop a core file and exit - */ - case M_HANDLE_ABORT: - (void) abort(); - break; - - /* - * If we are to exit.. - */ - case M_HANDLE_EXIT: - exit(200); - break; - -#ifndef __MSDOS__ - /* - * If we are to dump a core, but keep going on our merry way - */ - case M_HANDLE_CORE: - { - int pid; - - /* - * fork so child can abort (and dump core) - */ - if( (pid = fork()) == 0 ) - { - (void) write(2,"Child dumping core\n", - (unsigned)9); - (void) abort(); - } - - /* - * wait for child to finish dumping core - */ - while( wait((int *)0) != pid) - { - } - - /* - * Move core file to core.pid.cnt so - * multiple cores don't overwrite each - * other. - */ - if( access("core",0) == 0 ) - { - static int corecnt; - char filenam[32]; - filenam[0] = 'c'; - filenam[1] = 'o'; - filenam[2] = 'r'; - filenam[3] = 'e'; - filenam[4] = '.'; - (void)tostring(filenam+5,getpid(), - 5, B_DEC, '0'); - filenam[10] = '.'; - (void)tostring(filenam+11,corecnt++, - 3, B_DEC, '0'); - filenam[14] = '\0'; - (void) unlink(filenam); - if( link("core",filenam) == 0) - { - (void) unlink("core"); - } - } - } -#endif - - - /* - * If we are to just ignore the error and keep on processing - */ - case M_HANDLE_IGNORE: - break; - - } /* switch(... */ - -} /* malloc_err_handler(... */ - diff --git a/dmake/dbug/malloc/malloc.h b/dmake/dbug/malloc/malloc.h deleted file mode 100644 index ed8c34f2a333..000000000000 --- a/dmake/dbug/malloc/malloc.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -/* - * $Id: malloc.h,v 1.2 2006-07-25 10:08:50 rt Exp $ - */ -struct mlist -{ - struct mlist * next; /* next entry in chain */ - struct mlist * prev; /* prev entry in chain */ - int flag; /* inuse flag */ - unsigned int r_size; /* requested size */ - union - { - unsigned int size; /* actual size */ - double unused_just_for_alignment; - } s; - char data[4]; -}; - -#define M_SIZE ((int)(char *)((struct mlist *)0)->data) -#define M_RND 0x08 - -#define M_INUSE 0x01 -#define M_MAGIC 0x03156100 - -#define M_BLOCKSIZE (1024*8) - -#define M_FILL '\01' -#define M_FREE_FILL '\02' - -#define M_ROUNDUP(size) {\ - if( size & (M_RND-1) ) \ - { \ - size &= ~(M_RND-1); \ - size += M_RND; \ - } \ - } - -/* - * Malloc warning/fatal error handler defines... - */ -#define M_HANDLE_DUMP 0x80 /* 128 */ -#define M_HANDLE_IGNORE 0 -#define M_HANDLE_ABORT 1 -#define M_HANDLE_EXIT 2 -#define M_HANDLE_CORE 3 - -/* - * Mallopt commands and defaults - */ - -#define MALLOC_WARN 1 /* set malloc warning handling */ -#define MALLOC_FATAL 2 /* set malloc fatal handling */ -#define MALLOC_ERRFILE 3 /* specify malloc error file */ -#define MALLOC_CKCHAIN 4 /* turn on chain checking */ -union malloptarg -{ - int i; - char * str; -}; - -/* - * Malloc warning/fatal error codes - */ - -#define M_CODE_CHAIN_BROKE 1 /* malloc chain is broken */ -#define M_CODE_NO_END 2 /* chain end != endptr */ -#define M_CODE_BAD_PTR 3 /* pointer not in malloc area */ -#define M_CODE_BAD_MAGIC 4 /* bad magic number in header */ -#define M_CODE_BAD_CONNECT 5 /* chain poingers corrupt */ -#define M_CODE_OVERRUN 6 /* data overrun in malloc seg */ -#define M_CODE_REUSE 7 /* reuse of freed area */ -#define M_CODE_NOT_INUSE 8 /* pointer is not in use */ -#define M_CODE_NOMORE_MEM 9 /* no more memory available */ -#define M_CODE_OUTOF_BOUNDS 10 /* gone beyound bounds */ - -void malloc_warning(); -void malloc_fatal(); -void malloc_check_data(); -void malloc_check_str(); -void malloc_verify(); - diff --git a/dmake/dbug/malloc/mallopt.c b/dmake/dbug/malloc/mallopt.c deleted file mode 100644 index d70daf88647a..000000000000 --- a/dmake/dbug/malloc/mallopt.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include -#include "malloc.h" - -/* - * Function: mallopt() - * - * Purpose: to set options for the malloc debugging library - * - * Arguments: none - * - * Returns: nothing of any value - * - * Narrative: - * - */ - -#ifndef lint -static -char rcs_hdr[] = "$Id: mallopt.c,v 1.2 2006-07-25 10:09:05 rt Exp $"; -#endif - -int -mallopt(cmd,value) - int cmd; - union malloptarg value; -{ - int i; - extern int malloc_checking; - extern char * malloc_data_start; - extern int malloc_errfd; - extern int malloc_fatal_level; - void malloc_init(); - extern int malloc_warn_level; - register char * s; - - /* - * If not initialized... - */ - if( malloc_data_start == (char *) 0) - { - malloc_init(); - } - - - switch(cmd) - { - case MALLOC_WARN: - malloc_warn_level = value.i; - break; - - case MALLOC_FATAL: - malloc_fatal_level = value.i; - break; - - case MALLOC_CKCHAIN: - malloc_checking = value.i; - break; - - case MALLOC_ERRFILE: - - i = open(value.str,O_CREAT|O_APPEND|O_WRONLY,0666); - if( i == -1 ) - { - (void) write(2, - "Unable to open malloc error file: ", - (unsigned) 34); - for(s=value.str; *s; s++) - { - /* do nothing */; - } - (void) write(2,value.str, - (unsigned)(s-value.str)); - (void) write(2,"\n",(unsigned)1); - } - else - { - if( malloc_errfd != 2 ) - { - (void) close(malloc_errfd); - } - malloc_errfd = i; - } - - break; - - default: - return(1); - } - - return(0); -} - diff --git a/dmake/dbug/malloc/memory.c b/dmake/dbug/malloc/memory.c deleted file mode 100644 index b2087a76f5af..000000000000 --- a/dmake/dbug/malloc/memory.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ - -#ifndef lint -static -char rcs_hdr[] = "$Id: memory.c,v 1.2 2006-07-25 10:09:19 rt Exp $"; -#endif - -void malloc_check_data(); - -char * -memccpy(ptr1, ptr2, ch, len) - register char * ptr1; - register char * ptr2; - int len; - int ch; -{ - int check; - register int i; - char * rtn; - - /* - * I know that the assignment could be done in the following, but - * I wanted to perform a check before any assignment, so first I - * determine the length, check the pointers and then do the assignment. - */ - for( i=0; (i < len) && (ptr2[i] != ch); i++) - { - } - if( ptr2[i] == ch ) - { - check = i+1; - } - else - { - check = len; - } - - malloc_check_data("memccpy", ptr1, check); - malloc_check_data("memccpy", ptr2, check); - - /* - * if we found the character... - */ - - if( i < len ) - { - rtn = ptr1+i+1; - i++; - } - else - { - rtn = (char *) 0; - } - - while( i-- ) - { - *(ptr1++) = *(ptr2++); - } - - return(rtn); -} - -char * -memchr(ptr1,ch,len) - register char * ptr1; - register int ch; - int len; -{ - int i; - - for( i=0; (i < len) && (ptr1[i] != (char) ch); i++) - { - } - - malloc_check_data("memchr", ptr1, i); - - if( i < len ) - { - return( ptr1+i ); - } - else - { - return( (char *) 0); - } -} - -char * -memcpy(ptr1, ptr2, len) - register char * ptr1; - register char * ptr2; - register int len; -{ - char * rtn = ptr1; - - malloc_check_data("memcpy", ptr1, len); - malloc_check_data("memcpy", ptr2, len); - - /* - * while the normal memcpy does not guarrantee that it will - * handle overlapping memory correctly, we will try... - */ - if( ptr1 > ptr2 && ptr1 < (ptr2+len)) - { - ptr1 += (len-1); - ptr2 += (len-1); - while( len-- > 0 ) - { - *(ptr1--) = *(ptr2--); - } - } - else - { - while( len-- > 0 ) - { - *(ptr1++) = *(ptr2++); - } - } - - return(rtn); -} - -int -memcmp(ptr1, ptr2, len) - register char * ptr1; - register char * ptr2; - register int len; -{ - malloc_check_data("memcpy", ptr1, len); - malloc_check_data("memcpy", ptr2, len); - - while( --len >= 0 && (*ptr1 == *ptr2) ) - { - ptr1++; - ptr2++; - } - - /* - * If stopped by len, return zero - */ - if( len < 0 ) - { - return(0); - } - - return( *ptr1 - *ptr2 ); -} - -char * -memset(ptr1, ch, len) - register char * ptr1; - register int ch; - register int len; -{ - char * rtn = ptr1; - - malloc_check_data("memcpy", ptr1, len); - - while( len-- ) - { - *(ptr1++) = ch; - } - - return(rtn); -} - -char * -bcopy(ptr2,ptr1,len) - char * ptr2; - char * ptr1; - int len; -{ - return(memcpy(ptr1,ptr2,len)); -} - -char * -bzero(ptr1,len) - char * ptr1; - int len; -{ - return(memset(ptr1,'\0',len)); -} - -int -bcmp(ptr2, ptr1, len) - char * ptr1; - char * ptr2; - int len; -{ - return( memcmp(ptr1,ptr2,len) ); -} - diff --git a/dmake/dbug/malloc/mlc_chk.c b/dmake/dbug/malloc/mlc_chk.c deleted file mode 100644 index 08a01172cb66..000000000000 --- a/dmake/dbug/malloc/mlc_chk.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ - -#include -#include "malloc.h" -#include "debug.h" - -#ifndef lint -static -char rcs_hdr[] = "$Id: mlc_chk.c,v 1.2 2006-07-25 10:09:34 rt Exp $"; -#endif - -extern struct mlist malloc_start; -extern struct mlist * malloc_end; -extern char * malloc_data_start; -extern char * malloc_data_end; - -/* - * Function: malloc_in_arena() - * - * Purpose: to verify address is within malloc arena. - * - * Arguments: ptr - pointer to verify - * - * Returns: TRUE - if pointer is within malloc area - * FALSE - otherwise - * - * Narrative: - * IF pointer is >= malloc area start AND <= malloc area end - * return TRUE - * ELSE - * return FALSE - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - */ -int -malloc_in_arena(ptr) - char * ptr; -{ - extern char * malloc_data_start; - extern char * malloc_data_end; - int rtn = 0; - - if( ptr >= malloc_data_start && ptr <= malloc_data_end ) - { - rtn = 1; - } - - return(rtn); -} - -/* - * Function: malloc_check_str() - * - * Arguments: func - name of function calling this routine - * str - pointer to area to check - * - * Purpose: to verify that if str is within the malloc arena, the data - * it points to does not extend beyond the applicable region. - * - * Returns: Nothing of any use (function is void). - * - * Narrative: - * IF pointer is within malloc arena - * determin length of string - * call malloc_verify() to verify data is withing applicable region - * return - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - * 90/01/29 cpcahil Added code to ignore recursive calls. - */ -void -malloc_check_str(func,str) - char * func; - char * str; -{ - static int layers; - register char * s; - - if( (layers++ == 0) && malloc_in_arena(str) ) - { - for( s=str; *s; s++) - { - } - - malloc_verify(func,str,s-str+1); - } - - layers--; -} - -/* - * Function: malloc_check_strn() - * - * Arguments: func - name of function calling this routine - * str - pointer to area to check - * len - max length of string - * - * Purpose: to verify that if str is within the malloc arena, the data - * it points to does not extend beyond the applicable region. - * - * Returns: Nothing of any use (function is void). - * - * Narrative: - * IF pointer is within malloc arena - * determin length of string - * call malloc_verify() to verify data is withing applicable region - * return - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - * 90/01/29 cpcahil Added code to ignore recursive calls. - * 90/08/29 cpcahil added length (for strn* functions) - */ -void -malloc_check_strn(func,str,len) - char * func; - char * str; - int len; -{ - register int i; - static int layers; - register char * s; - - if( (layers++ == 0) && malloc_in_arena(str) ) - { - for( s=str,i=0; (i < len) && *s; s++) - { - } - - malloc_verify(func,str,s-str+1); - } - - layers--; -} - -/* - * Function: malloc_check_data() - * - * Arguments: func - name of function calling this routine - * ptr - pointer to area to check - * len - length to verify - * - * Purpose: to verify that if ptr is within the malloc arena, the data - * it points to does not extend beyond the applicable region. - * - * Returns: Nothing of any use (function is void). - * - * Narrative: - * IF pointer is within malloc arena - * call malloc_verify() to verify data is withing applicable region - * return - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - * 90/01/29 cpcahil Added code to ignore recursive calls. - */ -void -malloc_check_data(func,ptr,len) - char * func; - char * ptr; - int len; -{ - static int layers; - - if( layers++ == 0 ) - { - DEBUG3(40,"malloc_check_data(%s,0x%x,%d) called...", - func,ptr,len); - if( malloc_in_arena(ptr) ) - { - DEBUG0(10,"pointer in malloc arena, verifying..."); - malloc_verify(func,ptr,len); - } - } - - layers--; -} - -/* - * Function: malloc_verify() - * - * Arguments: func - name of function calling the malloc check routines - * ptr - pointer to area to check - * len - length to verify - * - * Purpose: to verify that the data ptr points to does not extend beyond - * the applicable malloc region. This function is only called - * if it has been determined that ptr points into the malloc arena. - * - * Returns: Nothing of any use (function is void). - * - * Narrative: - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - */ -void -malloc_verify(func,ptr,len) - char * func; - char * ptr; - int len; -{ - extern struct mlist * malloc_end; - extern int malloc_errno; - extern struct mlist malloc_start; - struct mlist * mptr; - - DEBUG3(40,"malloc_verify(%s,0x%x,%d) called...", func,ptr,len); - /* - * Find the malloc block that includes this pointer - */ - mptr = &malloc_start; - while( mptr && - ! (((char *)mptr < ptr) && ((mptr->data+mptr->s.size) > ptr) ) ) - { - mptr = mptr->next; - } - - /* - * if ptr was not in a malloc block, it must be part of - * some direct sbrk() stuff, so just return. - */ - if( ! mptr ) - { - DEBUG1(10,"ptr (0x%x) not found in malloc search", ptr); - return; - } - - /* - * Now we have a valid malloc block that contains the indicated - * pointer. We must verify that it is withing the requested block - * size (as opposed to the real block size which is rounded up to - * allow for correct alignment). - */ - - DEBUG4(60,"Checking 0x%x-0x%x, 0x%x-0x%x", - ptr, ptr+len, mptr->data, mptr->data+mptr->r_size); - - if( (ptr < mptr->data) || ((ptr+len) > (mptr->data+mptr->r_size)) ) - { - DEBUG4(0,"pointer not within region 0x%x-0x%x, 0x%x-0x%x", - ptr, ptr+len, mptr->data, mptr->data+mptr->r_size); - - malloc_errno = M_CODE_OUTOF_BOUNDS; - malloc_warning(func); - } - - return; -} - diff --git a/dmake/dbug/malloc/mlc_chn.c b/dmake/dbug/malloc/mlc_chn.c deleted file mode 100644 index 3f24333611f9..000000000000 --- a/dmake/dbug/malloc/mlc_chn.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include -#include "malloc.h" - -/* - * Function: malloc_chain_check() - * - * Purpose: to verify malloc chain is intact - * - * Arguments: todo - 0 - just check and return status - * 1 - call malloc_warn if error detected - * - * Returns: 0 - malloc chain intact & no overflows - * other - problems detected in malloc chain - * - * Narrative: - * - * Notes: If todo is non-zero the malloc_warn function, when called - * may not return (i.e. it may exit) - * - */ -#ifndef lint -static -char rcs_hdr[] = "$Id: mlc_chn.c,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $"; -#endif - - -int -malloc_chain_check(todo) - int todo; -{ - char * func = "malloc_chain_check"; - int i; - extern char * malloc_data_start; - extern char * malloc_data_end; - extern struct mlist * malloc_end; - extern int malloc_errno; - extern struct mlist malloc_start; - struct mlist * oldptr; - struct mlist * ptr; - int rtn = 0; - - oldptr = &malloc_start; - for(ptr = malloc_start.next; ; ptr = ptr->next) - { - /* - * Since the malloc chain is a forward only chain, any - * pointer that we get should always be positioned in - * memory following the previous pointer. If this is not - * so, we must have a corrupted chain. - */ - if( ptr ) - { - if(ptr < oldptr ) - { - malloc_errno = M_CODE_CHAIN_BROKE; - if( todo ) - { - malloc_fatal(func); - } - rtn++; - break; - } - oldptr = ptr; - } - else - { - if( oldptr != malloc_end ) - { - /* - * This should never happen. If it does, then - * we got a real problem. - */ - malloc_errno = M_CODE_NO_END; - if( todo ) - { - malloc_fatal(func); - } - rtn++; - } - break; - } - - /* - * verify that ptr is within the malloc region... - * since we started within the malloc chain this should never - * happen. - */ - - if( ((char *)ptr < malloc_data_start) || - ((char *)ptr > malloc_data_end) ) - { - malloc_errno = M_CODE_BAD_PTR; - if( todo ) - { - malloc_fatal(func); - } - rtn++; - break; - } - - /* - * verify magic flag is set - */ - - if( (ptr->flag&M_MAGIC) != M_MAGIC ) - { - malloc_errno = M_CODE_BAD_MAGIC; - if( todo ) - { - malloc_warning(func); - } - rtn++; - continue; - } - - /* - * verify segments are correctly linked together - */ - - if( (ptr->prev && (ptr->prev->next != ptr) ) || - (ptr->next && (ptr->next->prev != ptr) ) || - ((ptr->next == NULL) && (ptr->prev == NULL)) ) - { - malloc_errno = M_CODE_BAD_CONNECT; - if( todo ) - { - malloc_warning(func); - } - rtn++; - continue; - } - - /* - * If this segment is allocated - */ - - if( (ptr->flag & M_INUSE) != 0 ) - { - /* - * verify no overflow of data area - */ - - for(i=ptr->r_size; i < ptr->s.size; i++) - { - if( ptr->data[i] != M_FILL ) - { - malloc_errno = M_CODE_OVERRUN; - if( todo ) - { - malloc_warning(func); - } - rtn++; - break; - } - } - } - else /* it's not allocated so */ - { - /* - * verify no reuse of freed data blocks - */ - - for(i=0; i < ptr->s.size; i++) - { - if( ptr->data[i] != M_FREE_FILL ) - { - malloc_errno = M_CODE_REUSE; - if( todo ) - { - malloc_warning(func); - } - rtn++; - break; - } - } - } - - } /* for(... */ - - return(rtn); - -} /* malloc_chain_check(... */ diff --git a/dmake/dbug/malloc/patchlev b/dmake/dbug/malloc/patchlev deleted file mode 100644 index 00750edc07d6..000000000000 --- a/dmake/dbug/malloc/patchlev +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/dmake/dbug/malloc/realloc.c b/dmake/dbug/malloc/realloc.c deleted file mode 100644 index 2801cd86212d..000000000000 --- a/dmake/dbug/malloc/realloc.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include -#include "malloc.h" - -/* - * Function: realloc() - * - * Purpose: to re-allocate a data area. - * - * Arguments: cptr - pointer to area to reallocate - * size - size to change area to - * - * Returns: pointer to new area (may be same area) - * - * Narrative: verify pointer is within malloc region - * obtain mlist pointer from cptr - * verify magic number is correct - * verify inuse flag is set - * verify connection to adjoining segments is correct - * save requested size - * round-up size to appropriate boundry - * IF size is bigger than what is in this segment - * try to join next segment to this segment - * IF size is less than what is is this segment - * determine leftover amount of space - * ELSE - * allocate new segment of size bites - * IF allocation failed - * return NULL - * copy previous data to new segment - * free previous segment - * return new pointer - * split of extra space in this segment (if any) - * clear bytes beyound what they had before - * return pointer to data - */ -#ifndef lint -static -char rcs_hdr[] = "$Id: realloc.c,v 1.2 2006-07-25 10:09:48 rt Exp $"; -#endif - -char * -realloc(cptr,size) - char * cptr; - unsigned int size; -{ - void free(); - char * func = "realloc"; - int i; - char * malloc(); - extern int malloc_checking; - extern struct mlist * malloc_end; - extern int malloc_errno; - extern char * malloc_data_end; - extern char * malloc_data_start; - void malloc_join(); - void malloc_memset(); - void malloc_split(); - char * memcpy(); - char * new_cptr; - struct mlist * ptr; - int r_size; - - /* - * IF malloc chain checking is on, go do it. - */ - if( malloc_checking ) - { - (void) malloc_chain_check(1); - } - - /* - * verify that cptr is within the malloc region... - */ - if( cptr < malloc_data_start || cptr > malloc_data_end ) - { - malloc_errno = M_CODE_BAD_PTR; - malloc_warning(func); - return (NULL); - } - - /* - * convert pointer to mlist struct pointer. To do this we must - * move the pointer backwards the correct number of bytes... - */ - - ptr = (struct mlist *) (cptr - M_SIZE); - - if( (ptr->flag&M_MAGIC) != M_MAGIC ) - { - malloc_errno = M_CODE_BAD_MAGIC; - malloc_warning(func); - return(NULL); - } - - if( ! (ptr->flag & M_INUSE) ) - { - malloc_errno = M_CODE_NOT_INUSE ; - malloc_warning(func); - return(NULL); - } - - if( (ptr->prev && (ptr->prev->next != ptr) ) || - (ptr->next && (ptr->next->prev != ptr) ) || - ((ptr->next == NULL) && (ptr->prev == NULL)) ) - { - malloc_errno = M_CODE_BAD_CONNECT; - malloc_warning(func); - return(NULL); - } - - r_size = ++size; - - M_ROUNDUP(size); - - if( size > ptr->s.size ) - { - malloc_join(ptr,ptr->next,1,1); - } - - if( size > ptr->s.size ) - { - /* - * else we can't combine it, so lets allocate a new chunk, - * copy the data and free the old chunk... - */ - new_cptr = malloc(size); - - if( new_cptr == (char *) 0) - { - return(new_cptr); - } - - if( r_size < ptr->r_size ) - { - i = r_size; - } - else - { - i = ptr->r_size; - } - (void)memcpy(new_cptr,ptr->data,i); - free(cptr); - return(new_cptr); - - } /* else... */ - - /* - * save amount of real data in new segment (this will be used in the - * memset later) and then save requested size of this segment. - */ - - if( ptr->r_size < r_size ) - { - i = ptr->r_size; - } - else - { - i = r_size; - } - - ptr->r_size = r_size; - - /* - * split off extra free space at end of this segment, if possible... - */ - - malloc_split(ptr); - - malloc_memset( ptr->data+i, M_FILL, (int) (ptr->s.size - i)); - - return(ptr->data); - -} /* realloc(... */ - - diff --git a/dmake/dbug/malloc/string.c b/dmake/dbug/malloc/string.c deleted file mode 100644 index 7b92bf07ad1b..000000000000 --- a/dmake/dbug/malloc/string.c +++ /dev/null @@ -1,533 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ - -#include -#include -#include -#include "malloc.h" - -#ifndef lint -static -char rcs_hdr[] = "$Id: string.c,v 1.2 2006-07-25 10:10:03 rt Exp $"; -#endif - -int malloc_checking = 0; - -char * -strcat(str1,str2) - register char * str1; - register char * str2; -{ - char * rtn; - int len; - - /* - * check pointers agains malloc region. The malloc* functions - * will properly handle the case where a pointer does not - * point into malloc space. - */ - malloc_checking = 1; - - len = strlen(str2); - malloc_check_str("strcat", str2); - - len += strlen(str1) + 1; - malloc_checking = 0; - - malloc_check_data("strcat", str1, len); - - rtn = str1; - - while( *str1 ) - { - str1++; - } - - while( (*str1 = *str2) != '\0' ) - { - str1++; - str2++; - } - - return(rtn); -} - -char * -strdup(str1) - register char * str1; -{ - char * malloc(); - char * rtn; - register char * str2; - - malloc_check_str("strdup", str1); - - rtn = str2 = malloc((unsigned)strlen(str1)+1); - - if( rtn != (char *) 0) - { - while( (*str2 = *str1) != '\0' ) - { - str1++; - str2++; - } - } - - return(rtn); -} - -char * -strncat(str1,str2,len) - register char * str1; - register char * str2; - register int len; -{ - int len1; - int len2; - char * rtn; - - malloc_check_strn("strncat", str2, len); - - malloc_checking = 1; - - len2 = strlen(str2) + 1; - len1 = strlen(str1); - - malloc_checking = 0; - - - if( (len+1) < len2 ) - { - len1 += len + 1; - } - else - { - len1 += len2; - } - malloc_check_data("strncat", str1, len1); - - rtn = str1; - - while( *str1 ) - { - str1++; - } - - while( len-- && ((*str1++ = *str2++) != '\0') ) - { - } - - if( ! len ) - { - *str1 = '\0'; - } - - return(rtn); -} - -int -strcmp(str1,str2) - register char * str1; - register char * str2; -{ - malloc_check_str("strcmp", str1); - malloc_check_str("strcmp", str2); - - while( *str1 && (*str1 == *str2) ) - { - str1++; - str2++; - } - - - /* - * in order to deal with the case of a negative last char of either - * string when the other string has a null - */ - if( (*str2 == '\0') && (*str1 == '\0') ) - { - return(0); - } - else if( *str2 == '\0' ) - { - return(1); - } - else if( *str1 == '\0' ) - { - return(-1); - } - - return( *str1 - *str2 ); -} - -int -strncmp(str1,str2,len) - register char * str1; - register char * str2; - register int len; -{ - malloc_check_strn("strncmp", str1, len); - malloc_check_strn("strncmp", str2, len); - - while( --len >= 0 && *str1 && (*str1 == *str2) ) - { - str1++; - str2++; - } - - if( len < 0 ) - { - return(0); - } - /* - * in order to deal with the case of a negative last char of either - * string when the other string has a null - */ - if( (*str2 == '\0') && (*str1 == '\0') ) - { - return(0); - } - else if( *str2 == '\0' ) - { - return(1); - } - else if( *str1 == '\0' ) - { - return(-1); - } - - return( *str1 - *str2 ); -} - -char * -strcpy(str1,str2) - register char * str1; - register char * str2; -{ - char * rtn; - int len; - - malloc_checking = 1; - len = strlen(str2) + 1; - malloc_checking = 0; - - malloc_check_data("strcpy", str1, len); - malloc_check_data("strcpy", str2, len); - - rtn = str1; - - while( (*str1++ = *str2++) != '\0') - { - } - - return(rtn); -} - -char * -strncpy(str1,str2,len) - register char * str1; - register char * str2; - register int len; -{ - extern int malloc_checking; - char * rtn; - - malloc_check_data("strncpy", str1, len); - malloc_check_strn("strncpy", str2, len); - - rtn = str1; - - while((len-- > 0) && (*str1++ = *str2++) != '\0') - { - } - while( (len-- > 0) ) - { - *str1++ = '\0'; - } - - return(rtn); -} - -int -strlen(str1) - register char * str1; -{ - register char * s; - - if(! malloc_checking ) - { - malloc_check_str("strlen", str1); - } - - for( s = str1; *s; s++) - { - } - - return( s - str1 ); -} - -char * -strchr(str1,c) - register char * str1; - register int c; -{ - malloc_check_str("strchr", str1); - - while( *str1 && (*str1 != (char) c) ) - { - str1++; - } - - if(*str1 != (char) c) - { - str1 = (char *) 0; - } - - return(str1); -} - -char * -strrchr(str1,c) - register char * str1; - register int c; -{ - register char * rtn = (char *) 0; - - malloc_check_str("strrchr", str1); - - while( *str1 ) - { - if(*str1 == (char) c ) - { - rtn = str1; - } - str1++; - } - - if( *str1 == (char) c) - { - rtn = str1; - } - - return(rtn); -} - -char * -index(str1,c) - char * str1; - char c; -{ - return( strchr(str1,c) ); -} - -char * -rindex(str1,c) - char * str1; - char c; -{ - return( strrchr(str1,c) ); -} - -char * -strpbrk(str1,str2) - register char * str1; - register char * str2; -{ - register char * tmp; - - malloc_check_str("strpbrk", str1); - malloc_check_str("strpbrk", str2); - - while(*str1) - { - for( tmp=str2; *tmp && *tmp != *str1; tmp++) - { - } - if( *tmp ) - { - break; - } - str1++; - } - - if( ! *str1 ) - { - str1 = (char *) 0; - } - - return(str1); -} - -int -strspn(str1,str2) - register char * str1; - register char * str2; -{ - register char * tmp; - char * orig = str1; - - malloc_check_str("strspn", str1); - malloc_check_str("strspn", str2); - - while(*str1) - { - for( tmp=str2; *tmp && *tmp != *str1; tmp++) - { - } - if(! *tmp ) - { - break; - } - str1++; - } - - return( (int) (str1 - orig) ); -} - -int -strcspn(str1,str2) - register char * str1; - register char * str2; -{ - register char * tmp; - char * orig = str1; - - malloc_check_str("strcspn", str1); - malloc_check_str("strcspn", str2); - - while(*str1) - { - for( tmp=str2; *tmp && *tmp != *str1; tmp++) - { - } - if( *tmp ) - { - break; - } - str1++; - } - - return( (int) (str1 - orig) ); -} - -/* - * strtok() source taken from that posted to comp.lang.c by Chris Torek - * in Jan 1990. - */ - -/* - * Copyright (c) 1989 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms are permitted - * provided that the above copyright notice and this paragraph are - * duplicated in all such forms and that any documentation, - * advertising materials, and other materials related to such - * distribution and use acknowledge that the software was developed - * by the University of California, Berkeley. The name of the - * University may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - */ - -/* - * Get next token from string s (NULL on 2nd, 3rd, etc. calls), - * where tokens are nonempty strings separated by runs of - * chars from delim. Writes NULs into s to end tokens. delim need not - * remain constant from call to call. - * - * Modified by cpc: changed variable names to conform with naming - * conventions used in rest of code. Added malloc pointer - * check calls. - */ -char * -strtok(str1, str2) - char * str1; - char * str2; -{ - static char * last; - char * strtoken(); - - if( str1 ) - { - malloc_check_str("strtok", str1); - last = str1; - } - malloc_check_str("strtok", str2); - - return (strtoken(&last, str2, 1)); -} - - -/* - * Get next token from string *stringp, where tokens are (possibly empty) - * strings separated by characters from delim. Tokens are separated - * by exactly one delimiter iff the skip parameter is false; otherwise - * they are separated by runs of characters from delim, because we - * skip over any initial `delim' characters. - * - * Writes NULs into the string at *stringp to end tokens. - * delim will usually, but need not, remain constant from call to call. - * On return, *stringp points past the last NUL written (if there might - * be further tokens), or is NULL (if there are definitely no more tokens). - * - * If *stringp is NULL, strtoken returns NULL. - */ -char * -strtoken(stringp, delim, skip) - register char **stringp; - register char *delim; - int skip; -{ - register char *s; - register char *spanp; - register int c, sc; - char *tok; - - if ((s = *stringp) == NULL) - return (NULL); - - if (skip) { - /* - * Skip (span) leading delimiters (s += strspn(s, delim)). - */ - cont: - c = *s; - for (spanp = delim; (sc = *spanp++) != 0;) { - if (c == sc) { - s++; - goto cont; - } - } - if (c == 0) { /* no token found */ - *stringp = NULL; - return (NULL); - } - } - - /* - * Scan token (scan for delimiters: s += strcspn(s, delim), sort of). - * Note that delim must have one NUL; we stop if we see that, too. - */ - for (tok = s;;) { - c = *s++; - spanp = delim; - do { - if ((sc = *spanp++) == c) { - if (c == 0) - s = NULL; - else - s[-1] = 0; - *stringp = s; - return (tok); - } - } while (sc != 0); - } - /* NOTREACHED */ -} - diff --git a/dmake/dbug/malloc/testmem.c b/dmake/dbug/malloc/testmem.c deleted file mode 100644 index 46fba912f8c0..000000000000 --- a/dmake/dbug/malloc/testmem.c +++ /dev/null @@ -1,646 +0,0 @@ -/* - * This stuff is all stolen (with permission, since it was in the public - * domain) from Henry Spencer's string and memory library. Thanks Henry. - */ - -/* - * Test program for string(3) routines. - * - * Note that at least one Bell Labs implementation of the string - * routines flunks a couple of these tests -- the ones which test - * behavior on "negative" characters. - */ - -#include -#include - -char * index(); -char * rindex(); - -#define STREQ(a, b) (strcmp((a), (b)) == 0) - -char *it = ""; /* Routine name for message routines. */ -int waserror = 0; /* For exit status. */ - -char uctest[] = "\004\203"; /* For testing signedness of chars. */ -int charsigned; /* Result. */ - -/* - - check - complain if condition is not true - */ -void -check(thing, number) -int thing; -int number; /* Test number for error message. */ -{ - if (!thing) { - printf("%s flunked test %d\n", it, number); - waserror = 1; - } -} - -/* - - equal - complain if first two args don't strcmp as equal - */ -void -equal(a, b, number) -char *a; -char *b; -int number; /* Test number for error message. */ -{ - check(a != NULL && b != NULL && STREQ(a, b), number); -} - -char one[50]; -char two[50]; - -#ifdef UNIXERR -#define ERR 1 -#endif -#ifdef BERKERR -#define ERR 1 -#endif -#ifdef ERR -int f; -extern char *sys_errlist[]; -extern int sys_nerr; -extern int errno; -#endif - -/* ARGSUSED */ -main(argc, argv) -int argc; -char *argv[]; -{ - /* - * First, establish whether chars are signed. - */ - if (uctest[0] < uctest[1]) - charsigned = 0; - else - charsigned = 1; - - /* - * Then, do the rest of the work. Split into two functions because - * some compilers get unhappy about a single immense function. - */ - first(); - second(); - - exit((waserror) ? 1 : 0); -} - -first() -{ - /* - * Test strcmp first because we use it to test other things. - */ - it = "strcmp"; - check(strcmp("", "") == 0, 1); /* Trivial case. */ - check(strcmp("a", "a") == 0, 2); /* Identity. */ - check(strcmp("abc", "abc") == 0, 3); /* Multicharacter. */ - check(strcmp("abc", "abcd") < 0, 4); /* Length mismatches. */ - check(strcmp("abcd", "abc") > 0, 5); - check(strcmp("abcd", "abce") < 0, 6); /* Honest miscompares. */ - check(strcmp("abce", "abcd") > 0, 7); - check(strcmp("a\203", "a") > 0, 8); /* Tricky if char signed. */ - if (charsigned) /* Sign-bit comparison. */ - check(strcmp("a\203", "a\003") < 0, 9); - else - check(strcmp("a\203", "a\003") > 0, 9); - check(strcmp("a", "a\203") < 0, 10); /* Tricky if char signed. */ - - /* - * Test strcpy next because we need it to set up other tests. - */ - it = "strcpy"; - check(strcpy(one, "abcd") == one, 1); /* Returned value. */ - equal(one, "abcd", 2); /* Basic test. */ - - (void) strcpy(one, "x"); - equal(one, "x", 3); /* Writeover. */ - equal(one+2, "cd", 4); /* Wrote too much? */ - - (void) strcpy(two, "hi there"); - (void) strcpy(one, two); - equal(one, "hi there", 5); /* Basic test encore. */ - equal(two, "hi there", 6); /* Stomped on source? */ - - (void) strcpy(one, ""); - equal(one, "", 7); /* Boundary condition. */ - - /* - * strcat - */ - it = "strcat"; - (void) strcpy(one, "ijk"); - check(strcat(one, "lmn") == one, 1); /* Returned value. */ - equal(one, "ijklmn", 2); /* Basic test. */ - - (void) strcpy(one, "x"); - (void) strcat(one, "yz"); - equal(one, "xyz", 3); /* Writeover. */ - equal(one+4, "mn", 4); /* Wrote too much? */ - - (void) strcpy(one, "gh"); - (void) strcpy(two, "ef"); - (void) strcat(one, two); - equal(one, "ghef", 5); /* Basic test encore. */ - equal(two, "ef", 6); /* Stomped on source? */ - - (void) strcpy(one, ""); - (void) strcat(one, ""); - equal(one, "", 7); /* Boundary conditions. */ - (void) strcpy(one, "ab"); - (void) strcat(one, ""); - equal(one, "ab", 8); - (void) strcpy(one, ""); - (void) strcat(one, "cd"); - equal(one, "cd", 9); - - /* - * strncat - first test it as strcat, with big counts, then - * test the count mechanism. - */ - it = "strncat"; - (void) strcpy(one, "ijk"); - check(strncat(one, "lmn", 99) == one, 1); /* Returned value. */ - equal(one, "ijklmn", 2); /* Basic test. */ - - (void) strcpy(one, "x"); - (void) strncat(one, "yz", 99); - equal(one, "xyz", 3); /* Writeover. */ - equal(one+4, "mn", 4); /* Wrote too much? */ - - (void) strcpy(one, "gh"); - (void) strcpy(two, "ef"); - (void) strncat(one, two, 99); - equal(one, "ghef", 5); /* Basic test encore. */ - equal(two, "ef", 6); /* Stomped on source? */ - - (void) strcpy(one, ""); - (void) strncat(one, "", 99); - equal(one, "", 7); /* Boundary conditions. */ - (void) strcpy(one, "ab"); - (void) strncat(one, "", 99); - equal(one, "ab", 8); - (void) strcpy(one, ""); - (void) strncat(one, "cd", 99); - equal(one, "cd", 9); - - (void) strcpy(one, "ab"); - (void) strncat(one, "cdef", 2); - equal(one, "abcd", 10); /* Count-limited. */ - - (void) strncat(one, "gh", 0); - equal(one, "abcd", 11); /* Zero count. */ - - (void) strncat(one, "gh", 2); - equal(one, "abcdgh", 12); /* Count and length equal. */ - - /* - * strncmp - first test as strcmp with big counts, then test - * count code. - */ - it = "strncmp"; - check(strncmp("", "", 99) == 0, 1); /* Trivial case. */ - check(strncmp("a", "a", 99) == 0, 2); /* Identity. */ - check(strncmp("abc", "abc", 99) == 0, 3); /* Multicharacter. */ - check(strncmp("abc", "abcd", 99) < 0, 4); /* Length unequal. */ - check(strncmp("abcd", "abc", 99) > 0, 5); - check(strncmp("abcd", "abce", 99) < 0, 6); /* Honestly unequal. */ - check(strncmp("abce", "abcd", 99) > 0, 7); - check(strncmp("a\203", "a", 2) > 0, 8); /* Tricky if '\203' < 0 */ - if (charsigned) /* Sign-bit comparison. */ - check(strncmp("a\203", "a\003", 2) < 0, 9); - else - check(strncmp("a\203", "a\003", 2) > 0, 9); - check(strncmp("abce", "abcd", 3) == 0, 10); /* Count limited. */ - check(strncmp("abce", "abc", 3) == 0, 11); /* Count == length. */ - check(strncmp("abcd", "abce", 4) < 0, 12); /* Nudging limit. */ - check(strncmp("abc", "def", 0) == 0, 13); /* Zero count. */ - - /* - * strncpy - testing is a bit different because of odd semantics - */ - it = "strncpy"; - check(strncpy(one, "abc", 4) == one, 1); /* Returned value. */ - equal(one, "abc", 2); /* Did the copy go right? */ - - (void) strcpy(one, "abcdefgh"); - (void) strncpy(one, "xyz", 2); - equal(one, "xycdefgh", 3); /* Copy cut by count. */ - - (void) strcpy(one, "abcdefgh"); - (void) strncpy(one, "xyz", 3); /* Copy cut just before NUL. */ - equal(one, "xyzdefgh", 4); - - (void) strcpy(one, "abcdefgh"); - (void) strncpy(one, "xyz", 4); /* Copy just includes NUL. */ - equal(one, "xyz", 5); - equal(one+4, "efgh", 6); /* Wrote too much? */ - - (void) strcpy(one, "abcdefgh"); - (void) strncpy(one, "xyz", 5); /* Copy includes padding. */ - equal(one, "xyz", 7); - equal(one+4, "", 8); - equal(one+5, "fgh", 9); - - (void) strcpy(one, "abc"); - (void) strncpy(one, "xyz", 0); /* Zero-length copy. */ - equal(one, "abc", 10); - - (void) strncpy(one, "", 2); /* Zero-length source. */ - equal(one, "", 11); - equal(one+1, "", 12); - equal(one+2, "c", 13); - - (void) strcpy(one, "hi there"); - (void) strncpy(two, one, 9); - equal(two, "hi there", 14); /* Just paranoia. */ - equal(one, "hi there", 15); /* Stomped on source? */ - - /* - * strlen - */ - it = "strlen"; - check(strlen("") == 0, 1); /* Empty. */ - check(strlen("a") == 1, 2); /* Single char. */ - check(strlen("abcd") == 4, 3); /* Multiple chars. */ - - /* - * strchr - */ - it = "strchr"; - check(strchr("abcd", 'z') == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(strchr(one, 'c') == one+2, 2); /* Basic test. */ - check(strchr(one, 'd') == one+3, 3); /* End of string. */ - check(strchr(one, 'a') == one, 4); /* Beginning. */ - check(strchr(one, '\0') == one+4, 5); /* Finding NUL. */ - (void) strcpy(one, "ababa"); - check(strchr(one, 'b') == one+1, 6); /* Finding first. */ - (void) strcpy(one, ""); - check(strchr(one, 'b') == NULL, 7); /* Empty string. */ - check(strchr(one, '\0') == one, 8); /* NUL in empty string. */ - - /* - * index - just like strchr - */ - it = "index"; - check(index("abcd", 'z') == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(index(one, 'c') == one+2, 2); /* Basic test. */ - check(index(one, 'd') == one+3, 3); /* End of string. */ - check(index(one, 'a') == one, 4); /* Beginning. */ - check(index(one, '\0') == one+4, 5); /* Finding NUL. */ - (void) strcpy(one, "ababa"); - check(index(one, 'b') == one+1, 6); /* Finding first. */ - (void) strcpy(one, ""); - check(index(one, 'b') == NULL, 7); /* Empty string. */ - check(index(one, '\0') == one, 8); /* NUL in empty string. */ - - /* - * strrchr - */ - it = "strrchr"; - check(strrchr("abcd", 'z') == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(strrchr(one, 'c') == one+2, 2); /* Basic test. */ - check(strrchr(one, 'd') == one+3, 3); /* End of string. */ - check(strrchr(one, 'a') == one, 4); /* Beginning. */ - check(strrchr(one, '\0') == one+4, 5); /* Finding NUL. */ - (void) strcpy(one, "ababa"); - check(strrchr(one, 'b') == one+3, 6); /* Finding last. */ - (void) strcpy(one, ""); - check(strrchr(one, 'b') == NULL, 7); /* Empty string. */ - check(strrchr(one, '\0') == one, 8); /* NUL in empty string. */ - - /* - * rindex - just like strrchr - */ - it = "rindex"; - check(rindex("abcd", 'z') == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(rindex(one, 'c') == one+2, 2); /* Basic test. */ - check(rindex(one, 'd') == one+3, 3); /* End of string. */ - check(rindex(one, 'a') == one, 4); /* Beginning. */ - check(rindex(one, '\0') == one+4, 5); /* Finding NUL. */ - (void) strcpy(one, "ababa"); - check(rindex(one, 'b') == one+3, 6); /* Finding last. */ - (void) strcpy(one, ""); - check(rindex(one, 'b') == NULL, 7); /* Empty string. */ - check(rindex(one, '\0') == one, 8); /* NUL in empty string. */ -} - -second() -{ - /* - * strpbrk - somewhat like strchr - */ - it = "strpbrk"; - check(strpbrk("abcd", "z") == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(strpbrk(one, "c") == one+2, 2); /* Basic test. */ - check(strpbrk(one, "d") == one+3, 3); /* End of string. */ - check(strpbrk(one, "a") == one, 4); /* Beginning. */ - check(strpbrk(one, "") == NULL, 5); /* Empty search list. */ - check(strpbrk(one, "cb") == one+1, 6); /* Multiple search. */ - (void) strcpy(one, "abcabdea"); - check(strpbrk(one, "b") == one+1, 7); /* Finding first. */ - check(strpbrk(one, "cb") == one+1, 8); /* With multiple search. */ - check(strpbrk(one, "db") == one+1, 9); /* Another variant. */ - (void) strcpy(one, ""); - check(strpbrk(one, "bc") == NULL, 10); /* Empty string. */ - check(strpbrk(one, "") == NULL, 11); /* Both strings empty. */ - -#if 0 - /* - * strstr - somewhat like strchr - */ - it = "strstr"; - check(strstr("abcd", "z") == NULL, 1); /* Not found. */ - check(strstr("abcd", "abx") == NULL, 2); /* Dead end. */ - (void) strcpy(one, "abcd"); - check(strstr(one, "c") == one+2, 3); /* Basic test. */ - check(strstr(one, "bc") == one+1, 4); /* Multichar. */ - check(strstr(one, "d") == one+3, 5); /* End of string. */ - check(strstr(one, "cd") == one+2, 6); /* Tail of string. */ - check(strstr(one, "abc") == one, 7); /* Beginning. */ - check(strstr(one, "abcd") == one, 8); /* Exact match. */ - check(strstr(one, "abcde") == NULL, 9); /* Too long. */ - check(strstr(one, "de") == NULL, 10); /* Past end. */ - check(strstr(one, "") == one+4, 11); /* Finding empty. */ - (void) strcpy(one, "ababa"); - check(strstr(one, "ba") == one+1, 12); /* Finding first. */ - (void) strcpy(one, ""); - check(strstr(one, "b") == NULL, 13); /* Empty string. */ - check(strstr(one, "") == one, 14); /* Empty in empty string. */ - (void) strcpy(one, "bcbca"); - check(strstr(one, "bca") == one+2, 15); /* False start. */ - (void) strcpy(one, "bbbcabbca"); - check(strstr(one, "bbca") == one+1, 16); /* With overlap. */ -#endif - - /* - * strspn - */ - it = "strspn"; - check(strspn("abcba", "abc") == 5, 1); /* Whole string. */ - check(strspn("abcba", "ab") == 2, 2); /* Partial. */ - check(strspn("abc", "qx") == 0, 3); /* None. */ - check(strspn("", "ab") == 0, 4); /* Null string. */ - check(strspn("abc", "") == 0, 5); /* Null search list. */ - - /* - * strcspn - */ - it = "strcspn"; - check(strcspn("abcba", "qx") == 5, 1); /* Whole string. */ - check(strcspn("abcba", "cx") == 2, 2); /* Partial. */ - check(strcspn("abc", "abc") == 0, 3); /* None. */ - check(strcspn("", "ab") == 0, 4); /* Null string. */ - check(strcspn("abc", "") == 3, 5); /* Null search list. */ - - /* - * strtok - the hard one - */ - it = "strtok"; - (void) strcpy(one, "first, second, third"); - equal(strtok(one, ", "), "first", 1); /* Basic test. */ - equal(one, "first", 2); - equal(strtok((char *)NULL, ", "), "second", 3); - equal(strtok((char *)NULL, ", "), "third", 4); - check(strtok((char *)NULL, ", ") == NULL, 5); - (void) strcpy(one, ", first, "); - equal(strtok(one, ", "), "first", 6); /* Extra delims, 1 tok. */ - check(strtok((char *)NULL, ", ") == NULL, 7); - (void) strcpy(one, "1a, 1b; 2a, 2b"); - equal(strtok(one, ", "), "1a", 8); /* Changing delim lists. */ - equal(strtok((char *)NULL, "; "), "1b", 9); - equal(strtok((char *)NULL, ", "), "2a", 10); - (void) strcpy(two, "x-y"); - equal(strtok(two, "-"), "x", 11); /* New string before done. */ - equal(strtok((char *)NULL, "-"), "y", 12); - check(strtok((char *)NULL, "-") == NULL, 13); - (void) strcpy(one, "a,b, c,, ,d"); - equal(strtok(one, ", "), "a", 14); /* Different separators. */ - equal(strtok((char *)NULL, ", "), "b", 15); - equal(strtok((char *)NULL, " ,"), "c", 16); /* Permute list too. */ - equal(strtok((char *)NULL, " ,"), "d", 17); - check(strtok((char *)NULL, ", ") == NULL, 18); - check(strtok((char *)NULL, ", ") == NULL, 19); /* Persistence. */ - (void) strcpy(one, ", "); - check(strtok(one, ", ") == NULL, 20); /* No tokens. */ - (void) strcpy(one, ""); - check(strtok(one, ", ") == NULL, 21); /* Empty string. */ - (void) strcpy(one, "abc"); - equal(strtok(one, ", "), "abc", 22); /* No delimiters. */ - check(strtok((char *)NULL, ", ") == NULL, 23); - (void) strcpy(one, "abc"); - equal(strtok(one, ""), "abc", 24); /* Empty delimiter list. */ - check(strtok((char *)NULL, "") == NULL, 25); - (void) strcpy(one, "abcdefgh"); - (void) strcpy(one, "a,b,c"); - equal(strtok(one, ","), "a", 26); /* Basics again... */ - equal(strtok((char *)NULL, ","), "b", 27); - equal(strtok((char *)NULL, ","), "c", 28); - check(strtok((char *)NULL, ",") == NULL, 29); - equal(one+6, "gh", 30); /* Stomped past end? */ - equal(one, "a", 31); /* Stomped old tokens? */ - equal(one+2, "b", 32); - equal(one+4, "c", 33); - - /* - * memcmp - */ - it = "memcmp"; - check(memcmp("a", "a", 1) == 0, 1); /* Identity. */ - check(memcmp("abc", "abc", 3) == 0, 2); /* Multicharacter. */ - check(memcmp("abcd", "abce", 4) < 0, 3); /* Honestly unequal. */ - check(memcmp("abce", "abcd", 4) > 0, 4); - check(memcmp("alph", "beta", 4) < 0, 5); - if (charsigned) /* Sign-bit comparison. */ - check(memcmp("a\203", "a\003", 2) < 0, 6); - else - check(memcmp("a\203", "a\003", 2) > 0, 6); - check(memcmp("abce", "abcd", 3) == 0, 7); /* Count limited. */ - check(memcmp("abc", "def", 0) == 0, 8); /* Zero count. */ - - /* - * memchr - */ - it = "memchr"; - check(memchr("abcd", 'z', 4) == NULL, 1); /* Not found. */ - (void) strcpy(one, "abcd"); - check(memchr(one, 'c', 4) == one+2, 2); /* Basic test. */ - check(memchr(one, 'd', 4) == one+3, 3); /* End of string. */ - check(memchr(one, 'a', 4) == one, 4); /* Beginning. */ - check(memchr(one, '\0', 5) == one+4, 5); /* Finding NUL. */ - (void) strcpy(one, "ababa"); - check(memchr(one, 'b', 5) == one+1, 6); /* Finding first. */ - check(memchr(one, 'b', 0) == NULL, 7); /* Zero count. */ - check(memchr(one, 'a', 1) == one, 8); /* Singleton case. */ - (void) strcpy(one, "a\203b"); - check(memchr(one, 0203, 3) == one+1, 9); /* Unsignedness. */ - - /* - * memcpy - * - * Note that X3J11 says memcpy must work regardless of overlap. - * The SVID says it might fail. - */ - it = "memcpy"; - check(memcpy(one, "abc", 4) == one, 1); /* Returned value. */ - equal(one, "abc", 2); /* Did the copy go right? */ - - (void) strcpy(one, "abcdefgh"); - (void) memcpy(one+1, "xyz", 2); - equal(one, "axydefgh", 3); /* Basic test. */ - - (void) strcpy(one, "abc"); - (void) memcpy(one, "xyz", 0); - equal(one, "abc", 4); /* Zero-length copy. */ - - (void) strcpy(one, "hi there"); - (void) strcpy(two, "foo"); - (void) memcpy(two, one, 9); - equal(two, "hi there", 5); /* Just paranoia. */ - equal(one, "hi there", 6); /* Stomped on source? */ - - (void) strcpy(one, "abcdefgh"); - (void) memcpy(one+1, one, 9); - equal(one, "aabcdefgh", 7); /* Overlap, right-to-left. */ - - (void) strcpy(one, "abcdefgh"); - (void) memcpy(one+1, one+2, 7); - equal(one, "acdefgh", 8); /* Overlap, left-to-right. */ - - (void) strcpy(one, "abcdefgh"); - (void) memcpy(one, one, 9); - equal(one, "abcdefgh", 9); /* 100% overlap. */ - - /* - * memccpy - first test like memcpy, then the search part - * - * The SVID, the only place where memccpy is mentioned, says - * overlap might fail, so we don't try it. Besides, it's hard - * to see the rationale for a non-left-to-right memccpy. - */ - it = "memccpy"; - check(memccpy(one, "abc", 'q', 4) == NULL, 1); /* Returned value. */ - equal(one, "abc", 2); /* Did the copy go right? */ - - (void) strcpy(one, "abcdefgh"); - (void) memccpy(one+1, "xyz", 'q', 2); - equal(one, "axydefgh", 3); /* Basic test. */ - - (void) strcpy(one, "abc"); - (void) memccpy(one, "xyz", 'q', 0); - equal(one, "abc", 4); /* Zero-length copy. */ - - (void) strcpy(one, "hi there"); - (void) strcpy(two, "foo"); - (void) memccpy(two, one, 'q', 9); - equal(two, "hi there", 5); /* Just paranoia. */ - equal(one, "hi there", 6); /* Stomped on source? */ - - (void) strcpy(one, "abcdefgh"); - (void) strcpy(two, "horsefeathers"); - check(memccpy(two, one, 'f', 9) == two+6, 7); /* Returned value. */ - equal(one, "abcdefgh", 8); /* Source intact? */ - equal(two, "abcdefeathers", 9); /* Copy correct? */ - - (void) strcpy(one, "abcd"); - (void) strcpy(two, "bumblebee"); - check(memccpy(two, one, 'a', 4) == two+1, 10); /* First char. */ - equal(two, "aumblebee", 11); - check(memccpy(two, one, 'd', 4) == two+4, 12); /* Last char. */ - equal(two, "abcdlebee", 13); - (void) strcpy(one, "xyz"); - check(memccpy(two, one, 'x', 1) == two+1, 14); /* Singleton. */ - equal(two, "xbcdlebee", 15); - - /* - * memset - */ - it = "memset"; - (void) strcpy(one, "abcdefgh"); - check(memset(one+1, 'x', 3) == one+1, 1); /* Return value. */ - equal(one, "axxxefgh", 2); /* Basic test. */ - - (void) memset(one+2, 'y', 0); - equal(one, "axxxefgh", 3); /* Zero-length set. */ - - (void) memset(one+5, 0, 1); - equal(one, "axxxe", 4); /* Zero fill. */ - equal(one+6, "gh", 5); /* And the leftover. */ - - (void) memset(one+2, 010045, 1); - equal(one, "ax\045xe", 6); /* Unsigned char convert. */ - - /* - * bcopy - much like memcpy - * - * Berklix manual is silent about overlap, so don't test it. - */ - it = "bcopy"; - (void) bcopy("abc", one, 4); - equal(one, "abc", 1); /* Simple copy. */ - - (void) strcpy(one, "abcdefgh"); - (void) bcopy("xyz", one+1, 2); - equal(one, "axydefgh", 2); /* Basic test. */ - - (void) strcpy(one, "abc"); - (void) bcopy("xyz", one, 0); - equal(one, "abc", 3); /* Zero-length copy. */ - - (void) strcpy(one, "hi there"); - (void) strcpy(two, "foo"); - (void) bcopy(one, two, 9); - equal(two, "hi there", 4); /* Just paranoia. */ - equal(one, "hi there", 5); /* Stomped on source? */ - - /* - * bzero - */ - it = "bzero"; - (void) strcpy(one, "abcdef"); - bzero(one+2, 2); - equal(one, "ab", 1); /* Basic test. */ - equal(one+3, "", 2); - equal(one+4, "ef", 3); - - (void) strcpy(one, "abcdef"); - bzero(one+2, 0); - equal(one, "abcdef", 4); /* Zero-length copy. */ - - /* - * bcmp - somewhat like memcmp - */ - it = "bcmp"; - check(bcmp("a", "a", 1) == 0, 1); /* Identity. */ - check(bcmp("abc", "abc", 3) == 0, 2); /* Multicharacter. */ - check(bcmp("abcd", "abce", 4) != 0, 3); /* Honestly unequal. */ - check(bcmp("abce", "abcd", 4) != 0, 4); - check(bcmp("alph", "beta", 4) != 0, 5); - check(bcmp("abce", "abcd", 3) == 0, 6); /* Count limited. */ - check(bcmp("abc", "def", 0) == 0, 8); /* Zero count. */ - -#ifdef ERR - /* - * strerror - VERY system-dependent - */ - it = "strerror"; - f = open("/", 1); /* Should always fail. */ - check(f < 0 && errno > 0 && errno < sys_nerr, 1); - equal(strerror(errno), sys_errlist[errno], 2); -#ifdef UNIXERR - equal(strerror(errno), "Is a directory", 3); -#endif -#ifdef BERKERR - equal(strerror(errno), "Permission denied", 3); -#endif -#endif -} diff --git a/dmake/dbug/malloc/testmlc.c b/dmake/dbug/malloc/testmlc.c deleted file mode 100644 index 16e11736cc18..000000000000 --- a/dmake/dbug/malloc/testmlc.c +++ /dev/null @@ -1,176 +0,0 @@ -/* NOT copyright by SoftQuad Inc. -- msb, 1988 */ -#ifndef lint -static char *SQ_SccsId = "@(#)mtest3.c 1.2 88/08/25"; -#endif -#include -/* -** looptest.c -- intensive allocator tester -** -** Usage: looptest -** -** History: -** 4-Feb-1987 rtech!daveb -*/ - -# ifdef SYS5 -# define random rand -# else -# include -# endif - -# include -# include -# include - -# define MAXITER 1000000 /* main loop iterations */ -# define MAXOBJS 1000 /* objects in pool */ -# define BIGOBJ 90000 /* max size of a big object */ -# define TINYOBJ 80 /* max size of a small object */ -# define BIGMOD 100 /* 1 in BIGMOD is a BIGOBJ */ -# define STATMOD 10000 /* interation interval for status */ - -main( argc, argv ) -int argc; -char **argv; -{ - register int **objs; /* array of objects */ - register int *sizes; /* array of object sizes */ - register int n; /* iteration counter */ - register int i; /* object index */ - register int size; /* object size */ - register int r; /* random number */ - - int objmax; /* max size this iteration */ - int cnt; /* number of allocated objects */ - int nm = 0; /* number of mallocs */ - int nre = 0; /* number of reallocs */ - int nal; /* number of allocated objects */ - int nfre; /* number of free list objects */ - long alm; /* memory in allocated objects */ - long frem; /* memory in free list */ - long startsize; /* size at loop start */ - long endsize; /* size at loop exit */ - long maxiter = 0; /* real max # iterations */ - - extern char end; /* memory before heap */ - char *calloc(); - char *malloc(); - char *sbrk(); - long atol(); - -# ifndef SYS5 - /* your milage may vary... */ - vadvise( VA_ANOM ); -# endif - - if (argc > 1) - maxiter = atol (argv[1]); - if (maxiter <= 0) - maxiter = MAXITER; - - printf("MAXITER %d MAXOBJS %d ", maxiter, MAXOBJS ); - printf("BIGOBJ %d, TINYOBJ %d, nbig/ntiny 1/%d\n", - BIGOBJ, TINYOBJ, BIGMOD ); - fflush( stdout ); - - if( NULL == (objs = (int **)calloc( MAXOBJS, sizeof( *objs ) ) ) ) - { - fprintf(stderr, "Can't allocate memory for objs array\n"); - exit(1); - } - - if( NULL == ( sizes = (int *)calloc( MAXOBJS, sizeof( *sizes ) ) ) ) - { - fprintf(stderr, "Can't allocate memory for sizes array\n"); - exit(1); - } - - /* as per recent discussion on net.lang.c, calloc does not - ** necessarily fill in NULL pointers... - */ - for( i = 0; i < MAXOBJS; i++ ) - objs[ i ] = NULL; - - startsize = sbrk(0) - &end; - printf( "Memory use at start: %d bytes\n", startsize ); - fflush(stdout); - - printf("Starting the test...\n"); - fflush(stdout); - for( n = 0; n < maxiter ; n++ ) - { - if( !(n % STATMOD) ) - { - printf("%d iterations\n", n); - fflush(stdout); - } - - /* determine object of interst and it's size */ - - r = random(); - objmax = ( r % BIGMOD ) ? TINYOBJ : BIGOBJ; - size = r % objmax; - i = r % (MAXOBJS - 1); - - /* either replace the object of get a new one */ - - if( objs[ i ] == NULL ) - { - objs[ i ] = (int *)malloc( size ); - nm++; - } - else - { - /* don't keep bigger objects around */ - if( size > sizes[ i ] ) - { - objs[ i ] = (int *)realloc( objs[ i ], size ); - nre++; - } - else - { - free( objs[ i ] ); - objs[ i ] = (int *)malloc( size ); - nm++; - } - } - - sizes[ i ] = size; - if( objs[ i ] == NULL ) - { - printf("\nCouldn't allocate %d byte object!\n", - size ); - break; - } - } /* for() */ - - printf( "\n" ); - cnt = 0; - for( i = 0; i < MAXOBJS; i++ ) - if( objs[ i ] ) - cnt++; - - printf( "Did %d iterations, %d objects, %d mallocs, %d reallocs\n", - n, cnt, nm, nre ); - printf( "Memory use at end: %d bytes\n", sbrk(0) - &end ); - fflush( stdout ); - - /* free all the objects */ - for( i = 0; i < MAXOBJS; i++ ) - if( objs[ i ] != NULL ) - free( objs[ i ] ); - - endsize = sbrk(0) - &end; - printf( "Memory use after free: %d bytes\n", endsize ); - fflush( stdout ); - - if( startsize != endsize ) - printf("startsize %d != endsize %d\n", startsize, endsize ); - - free( objs ); - free( sizes ); - - malloc_dump(2); - exit( 0 ); -} - diff --git a/dmake/dbug/malloc/tostring.c b/dmake/dbug/malloc/tostring.c deleted file mode 100644 index e3bc9990271d..000000000000 --- a/dmake/dbug/malloc/tostring.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -#include "tostring.h" - -/* - * Function: tostring() - * - * Purpose: to convert an integer to an ascii display string - * - * Arguments: buf - place to put the - * val - integer to convert - * len - length of output field (0 if just enough to hold data) - * base - base for number conversion (only works for base <= 16) - * fill - fill char when len > # digits - * - * Returns: length of string - * - * Narrative: IF fill character is non-blank - * Determine base - * If base is HEX - * add "0x" to begining of string - * IF base is OCTAL - * add "0" to begining of string - * - * While value is greater than zero - * use val % base as index into xlation str to get cur char - * divide val by base - * - * Determine fill-in length - * - * Fill in fill chars - * - * Copy in number - * - * - * Mod History: - * 90/01/24 cpcahil Initial revision. - */ - -#ifndef lint -static -char rcs_hdr[] = "$Id: tostring.c,v 1.2 2006-07-25 10:10:17 rt Exp $"; -#endif - -#define T_LEN 10 - -int -tostring(buf,val,len,base,fill) - int base; - char * buf; - char fill; - int len; - int val; - -{ - char * bufstart = buf; - int i = T_LEN; - char * xbuf = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - char tbuf[T_LEN]; - - /* - * if we are filling with non-blanks, make sure the - * proper start string is added - */ - if( fill != ' ' ) - { - switch(base) - { - case B_HEX: - *(buf++) = '0'; - *(buf++) = 'x'; - if( len ) - { - len -= 2; - } - break; - case B_OCTAL: - *(buf++) = fill; - if( len ) - { - len--; - } - break; - default: - break; - } - } - - while( val > 0 ) - { - tbuf[--i] = xbuf[val % base]; - val = val / base; - } - - if( len ) - { - len -= (T_LEN - i); - - if( len > 0 ) - { - while(len-- > 0) - { - *(buf++) = fill; - } - } - else - { - /* - * string is too long so we must truncate - * off some characters. We do this the easiest - * way by just incrementing i. This means the - * most significant digits are lost. - */ - while( len++ < 0 ) - { - i++; - } - } - } - - while( i < T_LEN ) - { - *(buf++) = tbuf[i++]; - } - - return( (int) (buf - bufstart) ); - -} /* tostring(... */ - diff --git a/dmake/dbug/malloc/tostring.h b/dmake/dbug/malloc/tostring.h deleted file mode 100644 index ccde36db4173..000000000000 --- a/dmake/dbug/malloc/tostring.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * (c) Copyright 1990 Conor P. Cahill (uunet!virtech!cpcahil). - * You may copy, distribute, and use this software as long as this - * copyright statement is not removed. - */ -/* - * $Id: tostring.h,v 1.2 2006-07-25 10:10:32 rt Exp $ - */ -#define B_BIN 2 -#define B_DEC 10 -#define B_HEX 16 -#define B_OCTAL 8 - diff --git a/dmake/dbug/readme b/dmake/dbug/readme deleted file mode 100644 index 15efc00a7edc..000000000000 --- a/dmake/dbug/readme +++ /dev/null @@ -1,13 +0,0 @@ -This directory contains two public domain debugging packages. - - 1. Fred Fishes DEBUG macros. - 2. Connor P. Cahills malloc library. - -Descriptions of both can be found in their respective sub-directories. dbug -for the DEBUG macros and malloc for the malloc library. I have left the -malloc distribution intact as it comes from the net except for the changes -noted in the _changes file. - -I thank the authors for making them available for others to use. - --dennis diff --git a/dmake/depcomp b/dmake/depcomp deleted file mode 100755 index 04701da536f3..000000000000 --- a/dmake/depcomp +++ /dev/null @@ -1,530 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2005-07-09.11 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dmake/dmake.c b/dmake/dmake.c deleted file mode 100644 index ddfe3a88ad06..000000000000 --- a/dmake/dmake.c +++ /dev/null @@ -1,963 +0,0 @@ -/* $RCSfile: dmake.c,v $ --- $Revision: 1.13 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:28:04 $ --- --- SYNOPSIS --- The main program. --- --- DESCRIPTION --- --- dmake [-#dbug_string] [ options ] --- [ macro definitions ] [ target ... ] --- --- This file contains the main command line parser for the --- make utility. The valid flags recognized are as follows: --- --- -f file - use file as the makefile --- -C file - duplicate console output to file (MSDOS only) --- -K file - .KEEP_STATE file --- -#dbug_string - dump out debugging info, see below --- -v[cdfimrtw] - verbose, print what we are doing, as we do it --- -m[trae] - measure timing information --- --- options: (can be catenated, ie -irn == -i -r -n) --- --- -A - enable AUGMAKE special target mapping --- -B - enable non-use of TABS to start recipe lines --- -c - use non-standard comment scanning --- -d - do not use directory cache --- -i - ignore errors --- -n - trace and print, do not execute commands --- -t - touch, update dates without executing commands --- -T - do not apply transitive closure on inference rules --- -r - don't use internal rules --- -s - do your work silently --- -S - force Sequential make, overrides -P --- -q - check if target is up to date. Does not --- do anything. Returns 0 if up to date, -1 --- otherwise. --- -p - print out a version of the makefile --- -P# - set value of MAXPROCESS --- -E - define environment strings as macros --- -e - as -E but done after parsing makefile --- -u - force unconditional update of target --- -k - make all independent targets even if errors --- -V - print out this make version number --- -M - Microsoft make compatibility, (* disabled *) --- -h - print out usage info --- -x - export macro defs to environment --- -X - ignore #! lines found in makefile --- --- NOTE: - #ddbug_string is only availabe for versions of dmake that --- have been compiled with -DDBUG switch on. Not the case for --- distributed versions. Any such versions must be linked --- together with a version of Fred Fish's debug code. --- --- NOTE: - in order to compile the code the include file stddef.h --- must be shipped with the bundled code. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* Set this flag to one, and the global variables in vextern.h will not - * be defined as 'extern', instead they will be defined as global vars - * when this module is compiled. */ -#define _DEFINE_GLOBALS_ 1 - -#include "extern.h" /* this includes config.h */ -#include "sysintf.h" - -#ifndef MSDOS -#define USAGE \ -"Usage:\n%s [-P#] [-{f|K} file] [-{w|W} target ...] [macro[!][[*][+][:]]=value ...]\n" -#define USAGE2 \ -"%s [-v[cdfimrtw]] [-m[trae]] [-ABcdeEghiknpqrsStTuVxX] [target ...]\n" -#else -#define USAGE \ -"Usage:\n%s [-P#] [-{f|C|K} file] [-{w|W} target ...] [macro[!][[*][+][:]]=value ...]\n" -#define USAGE2 \ -"%s [-v[cdfimrtw]] [-m[trae]] [-ABcdeEghiknpqrsStTuVxX] [target ...]\n" -#endif - -/* We don't use va_end at all, so define it out so that it doesn't produce - * lots of "Value not used" warnings. */ -#ifdef va_end -#undef va_end -#endif -#define va_end(expand_to_null) - -/* Make certain that ARG macro is correctly defined. */ -#ifdef ARG -#undef ARG -#endif -#define ARG(a,b) a b - -static char *sccid = "Copyright (c) 1990,...,1997 by WTI Corp."; -static char _warn = TRUE; /* warnings on by default */ - -static void _do_VPATH(); -static void _do_ReadEnvironment(); -#if !defined(__GNUC__) && !defined(__IBMC__) -static void _do_f_flag ANSI((char, char *, char **)); -#else -static void _do_f_flag ANSI((int, char *, char **)); -#endif - -PUBLIC int -main(argc, argv) -int argc; -char **argv; -{ -#ifdef MSDOS - char* std_fil_name = NIL(char); -#endif - - char* fil_name = NIL(char); - char* state_name = NIL(char); - char* whatif = NIL(char); - char* cmdmacs; - char* targets; - STRINGPTR cltarget = NIL(STRING); /* list of targets from command line. */ - STRINGPTR cltarget_first = NIL(STRING); /* Pointer to first element. */ - FILE* mkfil; - int ex_val; - int m_export; - - /* Uncomment the following line to pass commands to the DBUG engine - * before the command line switches (-#..) are evaluated. */ - /* - DB_PUSH("d,path"); - */ - DB_ENTER("main"); - - /* Initialize Global variables to their default values */ - Prolog(argc, argv); - /* Set internal macros to their initial values, some are changed - * later again by Make_rules() that parses the values from ruletab.c. */ - Create_macro_vars(); - Catch_signals(Quit); - - /* This macro is only defined for some OSs, see sysintf.c for details * - * and NULL if undefined. */ - Def_macro("ABSMAKECMD", AbsPname, M_PRECIOUS|M_NOEXPORT|M_EXPANDED ); - - Def_macro( "MAKECMD", Pname, M_PRECIOUS|M_NOEXPORT|M_EXPANDED ); - Pname = Basename(Pname); - - DB_PROCESS(Pname); - (void) setvbuf(stdout, NULL, _IOLBF, BUFSIZ); /* stdout line buffered */ - - Continue = FALSE; - Comment = FALSE; - Get_env = FALSE; - Force = FALSE; - Target = FALSE; - If_expand = FALSE; - Listing = FALSE; - Readenv = FALSE; - Rules = TRUE; - Trace = FALSE; - Touch = FALSE; - Check = FALSE; - Microsoft = FALSE; - Makemkf = FALSE; - UseWinpath= FALSE; - No_exec = FALSE; - m_export = FALSE; - cmdmacs = NIL(char); - targets = NIL(char); - Is_exec_shell = FALSE; - Shell_exec_target = NIL(CELL); - stdout_redir = NIL(FILE); - - /* Get fd for for @@-recipe silencing. */ - if( (zerofd = open(NULLDEV, O_WRONLY)) == -1 ) - Fatal( "Error opening %s !", NULLDEV ); - - Verbose = V_NOFLAG; - Measure = M_NOFLAG; - Transitive = TRUE; - Nest_level = 0; - Line_number = 0; - Suppress_temp_file = FALSE; - Skip_to_eof = FALSE; - - while( --argc > 0 ) { - register char *p; - char *q; - - if( *(p = *++argv) == '-' ) { - if( p[1] == '\0' ) Fatal("Missing option letter"); - - /* copy options to Buffer for $(MFLAGS), strip 'f' and 'C'*/ - q = strchr(Buffer, '\0'); - while (*p != '\0') { - char c = (*q++ = *p++); - if( c == 'f' || c == 'C' ) q--; - } - - if( *(q-1) == '-' ) - q--; - else - *q++ = ' '; - - *q = '\0'; - - for( p = *argv+1; *p; p++) switch (*p) { - case 'f': - _do_f_flag( 'f', *++argv, &fil_name ); argc--; - break; - -#if defined(MSDOS) && !defined(OS2) - case 'C': - _do_f_flag( 'C', *++argv, &std_fil_name ); argc--; - Hook_std_writes( std_fil_name ); - break; -#endif - - case 'K': - _do_f_flag( 'K', *++argv, &state_name ); argc--; - Def_macro(".KEEP_STATE", state_name, M_EXPANDED|M_PRECIOUS); - break; - - case 'W': - case 'w': { - CELLPTR wif; - _do_f_flag( 'w', *++argv, &whatif ); argc--; - wif = Def_cell(whatif); - wif->ce_attr |= A_WHATIF; - whatif = NIL(char); - - if ( *p == 'W') - break; - } - /*FALLTHRU*/ - - case 'n': - Trace = TRUE; - break; - - case 'k': Continue = TRUE; break; - case 'c': Comment = TRUE; break; - case 'p': Listing = TRUE; break; - case 'r': Rules = FALSE; break; - case 't': Touch = TRUE; break; - case 'q': Check = TRUE; break; - case 'u': Force = TRUE; break; - case 'x': m_export = TRUE; break; - case 'X': No_exec = TRUE; break; - case 'T': Transitive = FALSE; break; - case 'e': Get_env = 'e'; break; - case 'E': Get_env = 'E'; break; - - case 'V': Version(); Quit(0); break; - case 'A': Def_macro("AUGMAKE", "y", M_EXPANDED); break; - case 'B': Def_macro(".NOTABS", "y", M_EXPANDED); break; - case 'i': Def_macro(".IGNORE", "y", M_EXPANDED); break; - case 's': Def_macro(".SILENT", "y", M_EXPANDED); break; - case 'S': Def_macro(".SEQUENTIAL", "y", M_EXPANDED); break; - case 'g': Def_macro(".IGNOREGROUP","y", M_EXPANDED); break; - case 'd': Def_macro(".DIRCACHE",NIL(char),M_EXPANDED); break; - - case 'v': - if( p[-1] != '-' ) Usage(TRUE); - while( p[1] ) switch( *++p ) { - case 'c': Verbose |= V_DIR_CACHE; break; - case 'd': Verbose |= V_DIR_SET; break; - case 'f': Verbose |= V_FILE_IO; break; - case 'i': Verbose |= V_INFER; break; - case 'm': Verbose |= V_MAKE; break; - case 'r': Verbose |= V_FORCEECHO; break; - case 't': Verbose |= V_LEAVE_TMP; break; - case 'w': Verbose |= V_WARNALL; break; - - default: Usage(TRUE); break; - } - if( !Verbose ) Verbose = V_ALL; - if( Verbose & V_FORCEECHO ) { - HASHPTR hp; - /* This cleans the .SILENT setting */ - hp = Def_macro(".SILENT", "", M_EXPANDED); - /* This overrides the bitmask for further occurences of - * .SILENT to "no bits allowed", see bit variables in the - * set_macro_value() definition in dag.c. - * The bitmask is already set by Create_macro_vars() in - * imacs.c and is overridden for the V_FORCEECHO case. */ - hp->MV_MASK = A_DEFAULT; - } - break; - - case 'm': - if( p[-1] != '-' ) Usage(TRUE); - while( p[1] ) switch( *++p ) { - case 't': Measure |= M_TARGET; break; - case 'r': Measure |= M_RECIPE; break; - case 'a': Measure |= M_ABSPATH; break; - case 'e': Measure |= M_SHELLESC; break; - - default: Usage(TRUE); break; - } - if( !Measure ) Measure = M_TARGET; - break; - - case 'P': - if( p[1] ) { - /* Only set MAXPROCESS if -S flag is *not* used. */ - if( !(Glob_attr & A_SEQ) ) { - Def_macro( "MAXPROCESS", p+1, M_MULTI|M_EXPANDED ); - } - p += strlen(p)-1; - } - else - Fatal( "Missing number for -P flag" ); - break; - -#ifdef DBUG - case '#': - DB_PUSH(p+1); - p += strlen(p)-1; - break; -#endif - - case 'h': Usage(FALSE); break; - case 0: break; /* lone - */ - default: Usage(TRUE); break; - } - } - else if( (q = strchr(p, '=')) != NIL(char) ) { - cmdmacs = DmStrAdd( cmdmacs, DmStrDup2(p), TRUE ); - /* Macros defined on the command line are marked precious. - * FIXME: The exception for += appears to be bogus. */ - Parse_macro( p, (q[-1]!='+')?M_PRECIOUS:M_DEFAULT ); - } - else { - /* Remember the targets from the command line. */ - register STRINGPTR nsp; - - targets = DmStrAdd( targets, DmStrDup(p), TRUE ); - - TALLOC(nsp, 1, STRING); - nsp->st_string = DmStrDup( p ); - nsp->st_next = NIL(STRING); - - if(cltarget != NIL(STRING) ) - cltarget->st_next = nsp; - else - cltarget_first = nsp; - - cltarget = nsp; - } - } - - Def_macro( "MAKEMACROS", cmdmacs, M_PRECIOUS|M_NOEXPORT ); - Def_macro( "MAKETARGETS", targets, M_PRECIOUS|M_NOEXPORT ); - if( cmdmacs != NIL(char) ) FREE(cmdmacs); - if( targets != NIL(char) ) FREE(targets); - - Def_macro( "MFLAGS", Buffer, M_PRECIOUS|M_NOEXPORT ); - Def_macro( "%", "$@", M_PRECIOUS|M_NOEXPORT ); - - if( *Buffer ) Def_macro( "MAKEFLAGS", Buffer+1, M_PRECIOUS|M_NOEXPORT ); - - _warn = FALSE; /* disable warnings for builtin rules */ - Target = TRUE; /* make sure we don't mark any of the default rules as - * potential targets. */ - Make_rules(); /* Parse the strings stored in Rule_tab. */ - _warn = TRUE; - - /* If -r was not given find and parse startup-makefile. */ - if( Rules ) - { - char *fname = NIL(char); - - /* Search_file() also checks the environment variable. */ - if( (mkfil=Search_file("MAKESTARTUP", &fname)) != NIL(FILE) ) - { - Parse(mkfil); - Def_macro( "MAKESTARTUP", fname, M_EXPANDED|M_MULTI|M_FORCE ); - } - else - Fatal( "Configuration file `%s' not found", fname ); - if ( fname != NIL(char)) { FREE( fname ); fname = NIL(char); } - } - - /* Define the targets set on the command line now. */ - Target = FALSE; /* Will be set to TRUE when the default targets are set. */ - for( cltarget = cltarget_first; cltarget != NIL(STRING); ) { - CELLPTR cp; - STRINGPTR nta = cltarget->st_next; - - Add_prerequisite(Targets, cp = Def_cell(cltarget->st_string), - FALSE, FALSE); - cp->ce_flag |= F_TARGET; - cp->ce_attr |= A_FRINGE; - Target = TRUE; - - FREE(cltarget->st_string); - FREE(cltarget); - cltarget = nta; - } - - if( Get_env == 'E' ) _do_ReadEnvironment(); - - /* Search for and parse user makefile. */ - if( fil_name != NIL(char) ) - mkfil = Openfile( fil_name, FALSE, TRUE ); - else { - /* Search .MAKEFILES dependent list looking for a makefile. - */ - register CELLPTR cp; - - cp = Def_cell( ".MAKEFILES" ); - mkfil = TryFiles(cp->CE_PRQ); - } - - if( mkfil != NIL(FILE) ) { - char *f = Filename(); - char *p; - - if( strcmp(f, "stdin") == 0 ) f = "-"; - Def_macro( "MAKEFILE", p = DmStrAdd( "-f", f, FALSE ), M_PRECIOUS|M_NOEXPORT ); FREE(p); - Parse( mkfil ); - } - else if( !Rules ) - Fatal( "No `makefile' present" ); - - if( Nest_level ) Fatal( "Missing .END for .IF" ); - if( Get_env == 'e' ) _do_ReadEnvironment(); - - _do_VPATH(); /* kludge it up with .SOURCE */ - - if( Listing ) Dump(); /* print out the structures */ - if( Trace ) Glob_attr &= ~A_SILENT; /* make sure we see the trace */ - - if( !Target ) - Fatal( "No target" ); - else { - Test_circle( Root, TRUE ); - Check_circle_dfa(); - } - - if( m_export ) { - int i; - - for( i=0; iht_flag & M_NOEXPORT) && hp->ht_value != NIL(char) ) - if( Write_env_string(hp->ht_name, hp->ht_value) != 0 ) - Warning( "Could not export %s", hp->ht_name ); - hp = hp->ht_next; - } - } - } - - if( Buffer != NIL(char) ) {FREE( Buffer ); Buffer = NIL(char);} - if( Trace ) Def_macro(".SEQUENTIAL", "y", M_EXPANDED); - - ex_val = Make_targets(); - - Clear_signals(); - - /* Close fd for for @@-recipe silencing. */ - if( close(zerofd) ) - Fatal( "Error closing %s !", NULLDEV ); - Epilog(ex_val); /* Does not return -- EVER */ - return 0; -} - - -static void -_do_f_flag( flag, name, fname ) -char flag; -char *name; -char **fname; -{ - if( *fname == NIL(char) ) { - if( name != NIL(char) ) { - *fname = name; - } else - Fatal("No file name for -%c", flag); - } else - Fatal("Only one `-%c file' allowed", flag); -} - - -static void -_do_ReadEnvironment() -{ - t_attr saveattr = Glob_attr; - - Glob_attr |= A_SILENT; - ReadEnvironment(); - Glob_attr = saveattr; -} - - -static void -_do_VPATH() -{ - HASHPTR hp; - char *_rl[2]; - extern char **Rule_tab; - - hp = GET_MACRO("VPATH"); - if( hp == NIL(HASH) ) return; - - _rl[0] = ".SOURCE :^ $(VPATH:s/:/ /)"; - _rl[1] = NIL(char); - - Rule_tab = _rl; - Parse( NIL(FILE) ); -} - - -/* The file table and pointer to the next FREE slot for use by both - Openfile and Closefile. Each open stacks the new file onto the open - file stack, and a corresponding close will close the passed file, and - return the next file on the stack. The maximum number of nested - include files is limited by the value of MAX_INC_DEPTH */ - -static struct { - FILE *file; /* file pointer */ - char *name; /* name of file */ - int numb; /* line number */ -} ftab[ MAX_INC_DEPTH ]; - -static int next_file_slot = 0; - -/* Set the proper macro value to reflect the depth of the .INCLUDE directives - * and the name of the file we are reading. - */ -static void -_set_inc_depth() -{ - char buf[10]; - sprintf( buf, "%d", next_file_slot ); - Def_macro( "INCDEPTH", buf, M_MULTI|M_NOEXPORT ); - Def_macro( "INCFILENAME", - next_file_slot ? ftab[next_file_slot-1].name : "", - M_MULTI|M_NOEXPORT|M_EXPANDED ); -} - - -PUBLIC FILE * -Openfile(name, mode, err)/* -=========================== - This routine opens a file for input or output depending on mode. - If the file name is `-' then it returns standard input. - The file is pushed onto the open file stack. */ -char *name; -int mode; -int err; -{ - FILE *fil; - - DB_ENTER("Openfile"); - - if( name == NIL(char) || !*name ) { - if( !err ) - DB_RETURN(NIL(FILE)); - else - Fatal( "Openfile: NIL filename" ); - } - - if( next_file_slot == MAX_INC_DEPTH ) - Fatal( "Too many open files. Max nesting level is %d.", MAX_INC_DEPTH); - - DB_PRINT( "io", ("Opening file [%s], in slot %d", name, next_file_slot) ); - - if( strcmp("-", name) == 0 ) { - name = "stdin"; - fil = stdin; - } - else - fil = fopen( name, mode ? "w":"r" ); - - if( Verbose & V_FILE_IO ) - printf( "%s: Openning [%s] for %s", Pname, name, mode?"write":"read" ); - - if( fil == NIL(FILE) ) { - if( Verbose & V_FILE_IO ) printf( " (fail)\n" ); - if( err ) - Fatal( mode ? "Cannot open file %s for write" : "File %s not found", - name ); - } - else { - if( Verbose & V_FILE_IO ) printf( " (success)\n" ); - ftab[next_file_slot].file = fil; - ftab[next_file_slot].numb = Line_number; - ftab[next_file_slot++].name = DmStrDup(name); - Line_number = 0; - _set_inc_depth(); - } - - DB_RETURN(fil); -} - - -PUBLIC FILE * -Closefile()/* -============= - This routine is used to close the last file opened. This forces make - to open files in a last open first close fashion. It returns the - file pointer to the next file on the stack, and NULL if the stack is empty.*/ -{ - DB_ENTER("Closefile"); - - if( !next_file_slot ) - DB_RETURN( NIL(FILE) ); - - if( ftab[--next_file_slot].file != stdin ) { - DB_PRINT( "io", ("Closing file in slot %d", next_file_slot) ); - - if( Verbose & V_FILE_IO ) - printf( "%s: Closing [%s]\n", Pname, ftab[next_file_slot].name ); - - fclose( ftab[next_file_slot].file ); - FREE( ftab[next_file_slot].name ); - } - - _set_inc_depth(); - - if( next_file_slot > 0 ) { - Line_number = ftab[next_file_slot].numb; - DB_RETURN( ftab[next_file_slot-1].file ); - } - else - Line_number = 0; - - DB_RETURN( NIL(FILE) ); -} - - -PUBLIC FILE * -Search_file( macname, rname ) -char *macname; -char **rname; -{ - HASHPTR hp; - FILE *fil = NIL(FILE); - char *fname = NIL(char); - char *ename = NIL(char); - - /* order of precedence is: - * - * MACNAME from command line (precious is marked) - * ... via MACNAME:=filename definition. - * MACNAME from environment - * MACNAME from builtin rules (not precious) - */ - - if( (hp = GET_MACRO(macname)) != NIL(HASH) ) { - /* Only expand if needed. */ - if( hp->ht_flag & M_EXPANDED ) { - ename = fname = DmStrDup(hp->ht_value); - } else { - ename = fname = Expand(hp->ht_value); - } - - if( hp->ht_flag & M_PRECIOUS ) fil = Openfile(fname, FALSE, FALSE); - } - - if( fil == NIL(FILE) ) { - fname=Expand(Read_env_string(macname)); - if( (fil = Openfile(fname, FALSE, FALSE)) != NIL(FILE) ) FREE(ename); - } - - if( fil == NIL(FILE) && hp != NIL(HASH) ) { - if ( fname != NIL(char) ) { FREE(fname); fname = NIL(char); } - fil = Openfile(fname=ename, FALSE, FALSE); - } - - if( rname ) *rname = fname; - - return(fil); -} - - -PUBLIC char * -Filename()/* -============ - Return name of file on top of stack */ -{ - return( next_file_slot==0 ? NIL(char) : ftab[next_file_slot-1].name ); -} - - -PUBLIC int -Nestlevel()/* -============= - Return the file nesting level */ -{ - return( next_file_slot ); -} - - -PUBLIC FILE * -TryFiles(lp)/* -============== - Try to open a makefile, try to make it if needed and return a - filepointer to the first successful found or generated file. - The function returns NIL(FILE) if nothing was found. */ -LINKPTR lp; -{ - FILE *mkfil = NIL(FILE); - - if( lp != NIL(LINK) ) { - int s_n, s_t, s_q; - - s_n = Trace; - s_t = Touch; - s_q = Check; - - Trace = Touch = Check = FALSE; - /* We are making a makefile. Wait for it. */ - Makemkf = Wait_for_completion = TRUE; - mkfil = NIL(FILE); - - for(; lp != NIL(LINK) && mkfil == NIL(FILE); lp=lp->cl_next) { - if( lp->cl_prq->ce_attr & A_FRINGE ) continue; - - mkfil = Openfile( lp->cl_prq->CE_NAME, FALSE, FALSE ); - - /* Note that no error handling for failed Make() calls is possible - * as expected errors (no rule to make the makefile) or unexpected - * errors both return -1. */ - if( mkfil == NIL(FILE) && Make(lp->cl_prq, NIL(CELL)) != -1 ) { - mkfil = Openfile( lp->cl_prq->CE_NAME, FALSE, FALSE ); - /* Remove flags that indicate that the target was already made. - * This is also needed to avoid conflicts with the circular - * dependency check in rulparse(), see issues 62118 and 81296 - * for details. */ - Unmake(lp->cl_prq); - } - } - - Trace = s_n; - Touch = s_t; - Check = s_q; - Makemkf = Wait_for_completion = FALSE; - } - - return(mkfil); -} - - -/* -** print error message from variable arg list -*/ - -static int errflg = TRUE; -static int warnflg = FALSE; - -static void -errargs(fmt, args) -char *fmt; -va_list args; -{ - int warn = _warn && warnflg && !(Glob_attr & A_SILENT); - - if( errflg || warn ) { - char *f = Filename(); - - fprintf( stderr, "%s: ", Pname ); - if( f != NIL(char) ) fprintf(stderr, "%s: line %d: ", f, Line_number); - - if( errflg ) - fprintf(stderr, "Error: -- "); - else if( warn ) - fprintf(stderr, "Warning: -- "); - - vfprintf( stderr, fmt, args ); - putc( '\n', stderr ); - if( errflg && !Continue ) Quit(0); - } -} - - -/* -** Print error message and abort -*/ -PUBLIC void -#ifndef __MWERKS__ -Fatal(ARG(char *,fmt), ARG(va_alist_type,va_alist)) -#else -Fatal(char * fmt, ...) -#endif -DARG(char *,fmt) -DARG(va_alist_type,va_alist) -{ - va_list args; - - va_start(args, fmt); - Continue = FALSE; - errargs(fmt, args); - va_end(args); -} - -/* -** error message and exit (unless -k) -*/ -PUBLIC void -#ifndef __MWERKS__ -Error(ARG(char *,fmt), ARG(va_alist_type,va_alist)) -#else -Error(char * fmt, ...) -#endif -DARG(char *,fmt) -DARG(va_alist_type,va_alist) -{ - va_list args; - - va_start(args, fmt); - errargs(fmt, args); - va_end(args); -} - - -/* -** non-fatal message -*/ -PUBLIC void -#ifndef __MWERKS__ -Warning(ARG(char *,fmt), ARG(va_alist_type,va_alist)) -#else -Warning(char * fmt , ...) -#endif -DARG(char *,fmt) -DARG(va_alist_type,va_alist) -{ - va_list args; - - va_start(args, fmt); - warnflg = TRUE; - errflg = FALSE; - errargs(fmt, args); - errflg = TRUE; - warnflg = FALSE; - va_end(args); -} - - -PUBLIC void -No_ram() -{ - Fatal( "No more memory" ); -} - - -PUBLIC void -Usage( eflag ) -int eflag; -{ - register char *p; - char *fill; - - fill = DmStrDup(Pname); - for(p=fill; *p; p++) *p=' '; - - if( eflag ) { - fprintf(stderr, USAGE, Pname); - fprintf(stderr, USAGE2, fill); - } - else { - printf(USAGE, Pname); - printf(USAGE2, fill); - puts(" -P# - set max number of child processes for parallel make"); - puts(" -f file - use file as the makefile"); -#ifdef MSDOS - puts(" -C [+]file - duplicate console output to file, ('+' => append)"); -#endif - puts(" -K file - use file as the .KEEP_STATE file"); - puts(" -w target - show what you would do if 'target' were out of date"); - puts(" -W target - rebuild pretending that 'target' is out of date"); - puts(" -v[cdfimrtw] - verbose, indicate what we are doing, (-v => -vcdfimrtw)"); - puts(" c => dump directory cache info only" ); - puts(" d => dump change of directory info only" ); - puts(" f => dump file open/close info only" ); - puts(" i => dump inference information only" ); - puts(" m => dump make of target information only" ); - puts(" r => Force output of recipe lines and warnings," ); - puts(" overrides -s" ); - puts(" t => keep temporary files when done" ); - puts(" w => issue non-essential warnings\n" ); - - puts(" -m[trae] - Measure timing information, (-m => -mt)"); - puts(" t => display the start and end time of each target" ); - puts(" r => display the start and end time of each recipe" ); - puts(" a => display the target as an absolute path" ); - puts(" e => display the timing of shell escape macros\n" ); - - puts("Options: (can be catenated, ie -irn == -i -r -n)"); - puts(" -A - enable AUGMAKE special target mapping"); - puts(" -B - enable the use of spaces instead of tabs to start recipes"); - puts(" -c - use non standard comment scanning"); - puts(" -d - do not use directory cache"); - puts(" -E - define environment strings as macros"); - puts(" -e - same as -E but done after parsing makefile"); - puts(" -g - disable the special meaning of [ ... ] for group recipes"); - puts(" -h - print out usage info"); - puts(" -i - ignore errors"); - puts(" -k - make independent targets, even if errors"); - puts(" -n - trace and print, do not execute commands"); - puts(" -p - print out a version of the makefile"); - puts(" -q - check if target is up to date. Does not do"); - puts(" anything. Returns 0 if up to date, 1 otherwise"); - puts(" -r - don't use internal rules"); - puts(" -s - do your work silently"); - puts(" -S - disable parallel (force sequential) make, overrides -P"); - puts(" -t - touch, update time stamps without executing commands"); - puts(" -T - do not apply transitive closure on inference rules"); - puts(" -u - force unconditional update of target"); - puts(" -V - print out version number"); - puts(" -x - export macro values to environment"); - puts(" -X - ignore #! lines at start of makefile"); - } - - Quit(0); -} - - -PUBLIC void -Version() -{ - extern char **Rule_tab; - char **p; - - printf("%s - Version %s (%s)\n", Pname, VERSION, BUILDINFO); - printf("%s\n\n", sccid); - - puts("Default Configuration:"); - for (p=Rule_tab; *p != NIL(char); p++) - printf("\t%s\n", *p); - - printf("\n"); - -#if defined(HAVE_SPAWN_H) || defined(__CYGWIN__) - /* Only systems that have spawn ar concerned whether spawn or fork/exec - * are used. */ -#if ENABLE_SPAWN - printf("Subprocesses are executed using: spawn.\n\n"); -#else - printf("Subprocesses are executed using: fork/exec.\n\n"); -#endif -#endif - - printf("Please read the NEWS file for the latest release notes.\n"); -} diff --git a/dmake/dmake.h b/dmake/dmake.h deleted file mode 100644 index 457031fdb50d..000000000000 --- a/dmake/dmake.h +++ /dev/null @@ -1,230 +0,0 @@ -/* RCS $Id: dmake.h,v 1.8 2007-10-15 15:38:34 ihi Exp $ --- --- SYNOPSIS --- Global defines for dmake. --- --- DESCRIPTION --- All the interesting bits and flags that dmake uses are defined here. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_INCLUDED_ -#define _DMAKE_INCLUDED_ - -#define MAX_INC_DEPTH 10 /* max of ten nested include files */ -#define MAX_COND_DEPTH 20 /* max nesting level of conditionals */ -#define ERROR_EXIT_VALUE 255 /* return code of aborted make */ -#define CONTINUATION_CHAR '\\' /* line continuation \ */ -#define DEF_ESCAPE_CHAR '\\' /* escape char for used chars */ -#define ESCAPE_CHAR *Escape_char -#define COMMENT_CHAR '#' /* start of comment chars */ -#define TGT_DEP_SEP ':' /* separator for targets and dependents */ -#define CONDSTART '.' /* start of conditional token eg .IF */ -#define DEF_MAKE_PNAME "dmake"/* default name to use as name of make */ - - -/* ............... Hashing function constants ......................... */ -#define HASH_TABLE_SIZE 200 /* See hash.c for description */ - - -/* Bit flags for cells and macro definitions. */ -#define M_DEFAULT 0x0000 /* default flag value */ -#define M_MARK 0x0001 /* mark for circularity checks */ -#define M_PRECIOUS 0x0002 /* keep macro, same as A_PRE... */ -#define M_MULTI 0x0004 /* multiple redefinitions ok! */ -#define M_EXPANDED 0x0008 /* macro has been assigned after - * being completely expanded */ -#define M_USED 0x0010 /* macro has been used in the - * makefile. (From another macro - * or target definition.) */ -#define M_LITERAL 0x0020 /* don't strip w/s on macro def */ -#define M_NOEXPORT 0x0040 /* don't export macro for -x */ -#define M_FORCE 0x0080 /* Force a macro redefinition */ -#define M_PUSH 0x0100 /* Push previous macro defintn */ -#define M_INIT 0x0200 /* Macro is defined initially or - * an empty macro implicitly - * defined when expanding it. */ -#define M_VAR_BIT 0x1000 /* macro bit variable */ -#define M_VAR_CHAR 0x2000 /* macro char variable */ -#define M_VAR_STRING 0x4000 /* macro string variable */ -#define M_VAR_INT 0x8000 /* macro integer variable */ - -#define M_VAR_MASK 0xf000 /* macro variable mask */ - - - -/* Global and target attribute flag definitions. - * If you change the values of these or re-order them make appropriate changes - * in dmdump.c so that the output of dmake -p matches the attribute info for a - * target. */ - -#define A_DEFAULT 0x00000 /* default flag value */ -#define A_PRECIOUS 0x00001 /* object is precious */ -#define A_SILENT 0x00002 /* don't echo commands */ -#define A_LIBRARY 0x00004 /* target is an archive */ -#define A_EPILOG 0x00008 /* insert shell epilog code */ -#define A_PROLOG 0x00010 /* insert shell prolog code */ -#define A_IGNORE 0x00020 /* ignore errors */ -#define A_SYMBOL 0x00040 /* lib member is a symbol */ -#define A_NOINFER 0x00080 /* no trans closure from cell */ -#define A_UPDATEALL 0x00100 /* all targets of rule modified */ -#define A_SEQ 0x00200 /* sequential make attribute */ -/* Reuse the sequential flag to signal Wait_for_completion to Do_cmnd() - * and related methods of executing a sub process. */ -#define A_WFC A_SEQ -#define A_SETDIR 0x00400 /* cd to dir when making target */ -#define A_SHELL 0x00800 /* run the recipe using a shell */ -#define A_SWAP 0x01000 /* Use swap on MSDOS */ -/* Reuse A_SWAP for the .WINPATH attribute to convert cygwin POSIX paths - * into DOS style paths. */ -#define A_WINPATH 0x01000 /* Enable dos paths on cygwin */ -#define A_MKSARGS 0x02000 /* use MKS argument swapping */ -#define A_PHONY 0x04000 /* .PHONY attribute */ -#define A_NOSTATE 0x08000 /* don't track state for me */ -#define A_IGNOREGROUP 0x10000 /* Ignore group recipe */ -#define A_EXECUTE 0x20000 /* execute this recipe under -n */ -#define A_ERRREMOVE 0x40000 /* remove this target if error */ -#define MAX_ATTR A_ERRREMOVE /* highest valid attribute */ -#define A_LIBRARYM 0x80000 /* target is an archive member */ -#define A_FRINGE 0x100000 /* cell is on the fringe */ -#define A_COMPOSITE 0x200000 /* member of lib(targ) name */ -#define A_FFNAME 0x400000 /* if set, free ce_fname in stat*/ -#define A_UPDATED 0x800000 /* Used to mark cell as updated */ -#define A_ROOT 0x01000000 /* True if it is a root prereq */ -#define A_GROUP 0x02000000 /* True if rule is to be a group*/ -#define A_WHATIF 0x04000000 /* used for WHATIF tests */ -#define A_POOL 0x08000000 /* used for directory pool */ -#define A_ERROR 0x10000000 /* used to halt construction */ -#define A_FIRST 0x20000000 /* used for .INCLUDE termination*/ -#define A_SHELLESC 0x40000000 /* used for shell escape target */ -#define A_MUTE 0x80000000 /* silence a recipe line */ - - -/* Global and target bit flag definitions */ - -#define F_DEFAULT 0x0000 /* default flag value */ -#define F_MARK 0x0001 /* circularity check mark */ -#define F_MULTI 0x0002 /* multiple rules for target */ -#define F_SINGLE 0x0004 /* exec recipes for each out of - * date prerequisite (! ruleop) */ -#define F_TARGET 0x0008 /* is set if a rule for a target exists. - * Prerequisites do not necessarily need - * to have a rule, in which case F_TARGET - * is not set. */ -#define F_RULES 0x0010 /* indicates target has rules */ -#define F_GROUP 0x0020 /* indicates that rules are to */ - /* fed to the shell as a group */ - -#define F_TRANS 0x0040 /* same as F_STAT not used tgthr*/ -#define F_STAT 0x0040 /* target already stated */ -#define F_VISITED 0x0080 /* Used for two different purposes: - make.c: Mark that a target is scheduled - to be made. - rulparse.c: Detect circular - dependencies. */ -#define F_SPECIAL 0x0100 /* marks a special target */ -#define F_DFA 0x0200 /* bit for marking added DFA */ -#define F_EXPLICIT 0x0400 /* explicit target in makefile */ -#define F_PERCENT 0x0800 /* marks a target as a % rule */ -#define F_REMOVE 0x1000 /* marks an intermediate target */ -#define F_MAGIC 0x2000 /* marks a magic target */ -#define F_INFER 0x4000 /* target is result of inference*/ -#define F_MADE 0x8000 /* target is currently made */ - - -/* Definitions for the Parser states */ -#define NORMAL_SCAN 0 /* normal processing state */ -#define RULE_SCAN 1 /* scan of rule text */ - -/* definitions for macro operator types */ -#define M_OP_EQ 1 /* macro operation is '=' 0000 0001 */ -#define M_OP_CL 3 /* macro operation is ':=' 0000 0011 */ -#define M_OP_PL 5 /* macro operation is '+=' 0000 0101 */ -#define M_OP_DF 9 /* macro operation is '*=' 0000 1001 */ -#define M_OP_PLCL 7 /* macro operation is '+:=' 0000 0111 */ -#define M_OP_DFCL 11 /* macro operation is '*:=' 0000 1011 */ -#define M_OP_CM 17 /* macro operation is '?=' 0001 0001 */ -#define M_OP_SI 32 /* macro operation is '!' 0010 ---- */ - -/* definitions for rule operator types */ -#define R_OP_CL 1 /* rule operation is ':' */ -#define R_OP_DCL 2 /* rule operation is '::' */ -#define R_OP_BG 4 /* rule operation is ':!' */ -#define R_OP_UP 8 /* rule operation is ':^' */ -#define R_OP_MI 16 /* rule operation is ':-' */ -#define R_OP_OR 32 /* rule operation is ':|' */ - -/* definitions for modifier application in Apply_modifiers in expand.c */ -#define SUFFIX_FLAG 1 /* defines for macro modifier code */ -#define DIRECTORY_FLAG 2 -#define FILE_FLAG 4 -#define WHOLENAME_FLAGS 7 -#define TOLOWER_FLAG 8 -#define TOUPPER_FLAG 16 -#define INFNAME_FLAG 32 -#define JUST_FIRST_FLAG 64 -#define NORMPATH_FLAG 128 - -/* special target definitions for use inside dmake */ -#define ST_IF 1 -#define ST_ELSE 2 -#define ST_END 3 -#define ST_REST 4 /* remaining special targets */ -#define ST_INCLUDE 5 -#define ST_SOURCE 7 -#define ST_EXPORT 8 -#define ST_IMPORT 9 -#define ST_ELIF 10 -#define ST_KEEP 11 -#define ST_EXIT 12 -#define ST_IFEQ 13 -#define ST_IFNEQ 14 - -/* Flags for controling use of -v switch */ -#define V_NOFLAG 0x00 /* V_NONE is used in MinGW w32api/oleauto.h */ -#define V_LEAVE_TMP 0x01 -#define V_DIR_SET 0x02 -#define V_DIR_CACHE 0x04 -#define V_INFER 0x08 -#define V_MAKE 0x10 -#define V_FILE_IO 0x20 -#define V_WARNALL 0x40 -#define V_FORCEECHO 0x80 -#define V_ALL (V_LEAVE_TMP | V_DIR_SET | V_INFER | V_MAKE |\ - V_FILE_IO | V_DIR_CACHE | V_WARNALL | V_FORCEECHO) - -/* Flags for controling use of -m switch */ -#define M_NOFLAG 0x00 -#define M_TARGET 0x01 -#define M_RECIPE 0x02 -#define M_ABSPATH 0x04 -#define M_SHELLESC 0x08 -#define M_ALL (M_TARGET | M_RECIPE | M_ABSPATH | M_SHELLESC) - -/* Macro definitions for use inside dmake */ -#define SET_TOKEN(A, B) (A)->tk_str = (B);\ - (A)->tk_cchar = *(B);\ - (A)->tk_quote = 1; - -#define CLEAR_TOKEN(A) *(A)->tk_str = (A)->tk_cchar -#define GET_MACRO(A) Get_name(A, Macs, FALSE) -#define iswhite(C) ((C == ' ') || (C == '\t')) -#define STOBOOL(A) (A && ((*A | 0x20) == 'y')) - -#endif - diff --git a/dmake/dmakeroot.h.in b/dmake/dmakeroot.h.in deleted file mode 100644 index fe597de2378a..000000000000 --- a/dmake/dmakeroot.h.in +++ /dev/null @@ -1,6 +0,0 @@ - /* dmakeroot.h - * - * This is a generated file. Please modify `configure.in' - */ - -@DMAKEROOT_H_LINE1@ diff --git a/dmake/dmdump.c b/dmake/dmdump.c deleted file mode 100644 index 631359758a05..000000000000 --- a/dmake/dmdump.c +++ /dev/null @@ -1,287 +0,0 @@ -/* RCS $Id: dmdump.c,v 1.4 2007-06-12 06:05:11 obo Exp $ --- --- SYNOPSIS --- Dump the internal dag to stdout. --- --- DESCRIPTION --- This file contains the routine that is called to dump a version of --- the digested makefile to the standard output. May be useful perhaps --- to the ordinary user, and invaluable for debugging make. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -#define M_TEST (M_PRECIOUS | M_VAR_MASK) - -static void dump_name ANSI((CELLPTR, int, int)); -static void dump_normal_target ANSI((CELLPTR, CELLPTR, int)); -static void dump_prerequisites ANSI((LINKPTR, CELLPTR, int, int, int)); -static void dump_conditionals ANSI((CELLPTR,STRINGPTR,int,int)); -static void dump_macro ANSI((HASHPTR, int)); - - -PUBLIC void -Dump()/* -======== Dump onto standard output the digested makefile. Note that - the form of the dump is not representative of the contents - of the original makefile contents at all */ -{ - HASHPTR hp; - int i; - - DB_ENTER( "Dump" ); - - puts( "# Dump of dmake macro variables:" ); - for( i=0; iht_next ) { - int flag = hp->ht_flag; - dump_macro(hp, flag); - } - - puts( "\n#====================================" ); - puts( "# Dump of targets:\n" ); - - for( i=0; iht_next ) - if( !(hp->CP_OWNR->ce_flag & F_PERCENT) ) { - if( hp->CP_OWNR == Root ) - puts( "# ******* ROOT TARGET ********" ); - if (Targets->ce_prq && hp->CP_OWNR == Targets->ce_prq->cl_prq) - puts( "# ******* FIRST USER DEFINED TARGET ******" ); - dump_normal_target( hp->CP_OWNR,NIL(CELL),hp->CP_OWNR->ce_flag); - } - - puts( "\n#====================================" ); - puts( "# Dump of inference graph\n" ); - - for( i=0; iht_next ) - if( (hp->CP_OWNR->ce_flag & F_PERCENT) && - !(hp->CP_OWNR->ce_flag & F_MAGIC) ) - dump_normal_target(hp->CP_OWNR,NIL(CELL),hp->CP_OWNR->ce_flag); - - DB_VOID_RETURN; -} - - - -PUBLIC void -Dump_recipe( sp )/* -=================== - Given a string pointer print the recipe line out */ -STRINGPTR sp; -{ - char *st; - char *nl; - - if( sp == NIL(STRING) ) return; - - putchar( '\t' ); - if( sp->st_attr & A_SILENT ) putchar( '@' ); - if( sp->st_attr & A_IGNORE ) putchar( '-' ); - if( sp->st_attr & A_SHELL ) putchar( '+' ); - if( sp->st_attr & A_SWAP ) putchar( '%' ); - - st = sp->st_string; - for( nl=strchr(st,'\n'); nl != NIL( char); nl=strchr(st,'\n') ) { - *nl = '\0'; - printf( "%s\\\n", st ); - *nl = '\n'; - st = nl+1; - } - printf( "%s\n", st ); -} - - -static char *_attrs[] = { ".PRECIOUS", ".SILENT", ".LIBRARY", - ".EPILOG", ".PROLOG", ".IGNORE", ".SYMBOL", ".NOINFER", - ".UPDATEALL", ".SEQUENTIAL", ".SETDIR=", ".USESHELL", -#if defined(MSDOS) - ".SWAP", -#else -# if defined(__CYGWIN__) - ".WINPATH", -# else - "- unused -", -# endif -#endif - ".MKSARGS", - ".PHONY", ".NOSTATE", ".IGNOREGROUP", ".EXECUTE", ".ERRREMOVE" }; - -static void -dump_normal_target( cp, namecp, flag )/* -======================================== - Dump in makefile like format the dag information */ -CELLPTR cp; -CELLPTR namecp; -int flag; -{ - register STRINGPTR sp; - t_attr attr; - unsigned int k; - - DB_ENTER( "dump_normal_target" ); - - if(!(cp->ce_flag & F_TARGET) && !cp->ce_attr && !cp->ce_prq) { - DB_VOID_RETURN; - } - - if(cp->ce_set && cp->ce_set != cp) { - DB_VOID_RETURN; - } - - if( cp->ce_flag & F_MULTI ) { - /* recursively print multi or %-targets. */ - int tflag = cp->ce_prq->cl_prq->ce_flag; - if( !(cp->ce_flag & F_PERCENT) ) tflag |= F_MULTI; - dump_conditionals(cp, cp->ce_cond, TRUE, TRUE); - putchar('\n'); - -#ifdef DBUG - /* Output also master targtet. (Only in debug builds) */ - printf("Master name(s) (DBUG build): "); - dump_name(cp, FALSE, TRUE ); - putchar('\n'); -#endif - - /* %-targets set namecp (3rd parameter) to NULL so that the next - * recursive dump_normal_target() prints the name of cp->ce_prq->cl_prq - * instead of cp. This should be the same unless CeMeToo(cp) points - * to a cell that is the head of an .UPDATEALL list. */ - dump_prerequisites(cp->ce_prq,(cp->ce_flag&F_PERCENT)?NIL(CELL):cp, - FALSE, TRUE, tflag); - } - else { - dump_name(namecp?namecp:cp, FALSE, TRUE ); - - for( k=0, attr=1; attr <= MAX_ATTR; attr <<= 1, k++ ) - if( cp->ce_attr & attr ) { - printf( "%s%s ", _attrs[k], - (attr != A_SETDIR) ? "" : (cp->ce_dir?cp->ce_dir:"") ); - } - - putchar( ':' ); - - if( flag & F_MULTI ) putchar( ':' ); - if( flag & F_SINGLE ) putchar( '!' ); - putchar( ' ' ); - - dump_prerequisites( cp->ce_prq, NIL(CELL), FALSE, FALSE, F_DEFAULT); - dump_prerequisites( cp->ce_indprq, NIL(CELL),TRUE, FALSE, F_DEFAULT); - - putchar( '\n' ); - if( cp->ce_flag & F_GROUP ) puts( "[" ); - for( sp = cp->ce_recipe; sp != NIL(STRING); sp = sp->st_next ) - Dump_recipe( sp ); - if( cp->ce_flag & F_GROUP ) { - puts( "]" ); - putchar( '\n' ); - } - dump_conditionals(cp, cp->ce_cond, flag&F_MULTI, FALSE); - putchar('\n'); - } - - DB_VOID_RETURN; -} - - -static void -dump_conditionals( cp, sp, multi, global ) -CELLPTR cp; -STRINGPTR sp; -int multi; -int global; -{ - if (sp) { - dump_name(cp, FALSE, TRUE); - printf(".%sCONDITIONALS %s\n", global?"GLOBAL":"",multi?"::":":"); - - while(sp) { - printf("\t%s\n",sp->st_string); - sp=sp->st_next; - } - } -} - - -static void -dump_macro(hp, flag) -HASHPTR hp; -int flag; -{ - printf( "%s ", hp->ht_name ); - if(flag & M_EXPANDED) - putchar( ':' ); - - printf( "= " ); - if(hp->ht_value != NIL(char)) - printf( "%s",hp->ht_value ); - - if(flag & M_PRECIOUS) - printf( "\t # PRECIOUS " ); - - putchar( '\n' ); -} - - -static void -dump_prerequisites( lp, namecp, quote, recurse, flag )/* -======================================================== - Dump as prerequisites if recurse is FALSE or as targets - if recurse is TRUE. (For F_MULTI/F_PERCENT targets.) */ -LINKPTR lp; -CELLPTR namecp; -int quote; -int recurse; -int flag; -{ - for( ; lp; lp=lp->cl_next ) - if( recurse ) - dump_normal_target(lp->cl_prq, namecp, flag); - else if( lp->cl_prq ) - dump_name(lp->cl_prq, quote, FALSE); -} - - -static void -dump_name( cp, quote, all )/* -============================= - Prints out the first or all (if all is TRUE) names of an lcell list. - If quote is true enclose in ' quotes, if quote - is FALSE and the name includes a space enclose in " quotes. */ -CELLPTR cp; -int quote; -int all; -{ - LINKPTR lp; - char qc = '\''; - - for(lp=CeMeToo(cp);lp;lp=lp->cl_next) { - if( !quote && strchr(lp->cl_prq->CE_NAME,' ') != NIL(char)) { - quote = TRUE; - qc = '"'; - } - - if (quote) putchar(qc); - printf( "%s", lp->cl_prq->CE_NAME ); - if (quote) putchar(qc); - putchar(' '); - if (!all) break; - } -} diff --git a/dmake/dmstring.c b/dmake/dmstring.c deleted file mode 100644 index 9659fc406768..000000000000 --- a/dmake/dmstring.c +++ /dev/null @@ -1,300 +0,0 @@ -/* RCS $Id: dmstring.c,v 1.2 2007-01-18 09:29:40 vg Exp $ --- --- SYNOPSIS --- String handling code --- --- DESCRIPTION --- Routines to handle string manipulation. This code is not specific --- to dmake and has/and will be used in other programs. The string --- "" is considered the NULL string, if NIL(char) is received instead --- undefined results may occurr. (In reality NIL(char) is checked for --- but in general it is not safe to assume NIL(char) == NULL) --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC char * -DmStrJoin( src, data, n, fr )/* -=============================== - Join data to src according to value of n. - - n = -1 - return strcat( src, data ) - n >= 0 - return strncat( src, data, n ) - - FREE original src if fr == TRUE, else leave it alone */ - -char *src; -char *data; -int n; -int fr; -{ - char *t; - int l; - int flag = FALSE; - - DB_ENTER( "DmStrJoin" ); - - if( src == NIL(char) ) { src = ""; flag = TRUE; } - if( data == NIL(char) ) data = ""; - DB_PRINT( "str", ("Joining [%s] [%s] %d", src, data, n) ); - - if( n == -1 ) n = strlen( data ); - - l = strlen( src ) + n + 1; - if( (t = MALLOC( l, char )) == NIL(char) ) No_ram(); - - strcpy( t, src ); - if (n) strncat( t, data, n ); - t[ l-1 ] = '\0'; - - if( !flag && fr ) FREE( src ); - - DB_PRINT( "str", ("Result [%s]", t) ); - DB_RETURN( t ); -} - - - - -PUBLIC char * -DmStrAdd( src, data, fr )/* -=========================== - append data to src with space in between if src is not NIL(char) or "" - and free both src and data if fr == TRUE, otherwise leave them be */ - -char *src; -char *data; -int fr; -{ - char *t; - int l; - int sflag; - int dflag; - - DB_ENTER( "DmStrAdd" ); - - sflag = dflag = fr; - - if( src == NIL(char) ) { src = ""; sflag = FALSE; } - if( data == NIL(char) ) { data = ""; dflag = FALSE; } - DB_PRINT( "str", ("Adding [%s] [%s] %d", src, data, fr) ); - - l = strlen(src) + strlen(data) + 1; - if( *src ) l++; - - if( (t = MALLOC( l, char )) == NIL(char) ) No_ram(); - - strcpy( t, src ); - - if( *data ) - { - if( *src ) strcat( t, " " ); - strcat( t, data ); - } - - if( sflag ) FREE( src ); - if( dflag ) FREE( data ); - - DB_PRINT( "str", ("Result [%s]", t) ); - DB_RETURN( t ); -} - - - -PUBLIC char * -DmStrApp( src1, src2 )/* -======================== - Append two strings together, and return the result with a space between - the two strings. FREE the first string if it is not NIL and always - leave the second string be. */ -char *src1; -char *src2; -{ - src2 = DmStrAdd( src1, src2, FALSE ); - if( src1 != NIL(char) ) FREE( src1 ); - return( src2 ); -} - - -PUBLIC char * -DmStrDup( str )/* -================= Duplicate the contents of a string, by using malloc */ -char *str; -{ - char *t; - - if( str == NIL(char) ) return( NIL(char) ); - - if( (t = MALLOC( strlen( str )+1, char )) == NIL(char) ) No_ram(); - strcpy( t, str ); - - return( t ); -} - - - -PUBLIC char * -DmStrDup2( str )/* -================== - This function is used solely to properly quote command line arguments when - they are reinserted int MAKEMACROS so that they can be used further in - a processing line. */ -char *str; -{ - char *t; - size_t size; - size_t alloced; - char *tmp; - char *dest; - int seen_equal = 0; - - if(str == NIL(char)) return(NIL(char)); - size = strlen(str) + 1; - alloced = size + 2; /* for two quotes */ - - for(tmp = str; *tmp; tmp++) - if(*tmp == '"') - alloced++; - - if((t = MALLOC(alloced, char)) == NIL(char)) No_ram(); - - for(tmp = str, dest = t; *tmp; tmp++, dest++) { - if(*tmp == '=' && !seen_equal) { - seen_equal = 1; - *dest++ = *tmp; - *dest = '"'; - continue; - } - if(*tmp == '"') - *dest++ = '\\'; - *dest = *tmp; - } - - if(!seen_equal) - Fatal("DmStrDup2 invoked without argument of form x=y\n"); - - *dest++ = '"'; - *dest = 0; - - return t; -} - - - -PUBLIC char * -DmStrPbrk( s1, s2 )/* -==================== - find first occurence of char in s2 in string s1. - Returns a pointer to the first occurrence. NOTE '\0' is considered part - of s2 and a pointer to it is returned if no other chars match. */ - -char *s1; -char *s2; -{ - register char *t; - - if( s1 == NIL(char) || s2 == NIL(char) ) return( "" ); - - for( t=s1; *t && (strchr( s2, *t ) == NIL(char)); t++ ); - return( t ); -} - - - - -PUBLIC char * -DmStrSpn( s1, s2 )/* -==================== - return pointer to first char in s1 that does not belong to s2. - Returns the pointer if match found, else returns pointer to null char - in s1. (ie. "" ) */ - -char *s1; -char *s2; -{ - register char *t; - - if( s1 == NIL(char) || s2 == NIL(char) ) return( "" ); - - for( t=s1; *t && (strchr( s2, *t ) != NIL(char)); t++ ); - return( t ); -} - - - - -PUBLIC char * -DmStrStr( s1, s2 )/* -==================== find first occurrence in s1 of s2 */ -char *s1; -char *s2; -{ - register char *s; - register char *p; - register char *r; - - if( s1 != NIL(char) && s2 != NIL(char) ) - for( s=s1; *s; s++ ) - if( *s == *s2 ) - { - for( r=s+1, p = s2+1; *p && (*r == *p); r++, p++ ); - if( !*p ) return( s ); - } - - return( NIL(char) ); -} - - - -PUBLIC char * -DmSubStr( s, e )/* -================== - Return the string between the two pointers s and e, not including the - char that e points to. NOTE: This routine assumes that s and e point - into the same string. */ - -char *s; -char *e; -{ - char save; - int len = e-s; - - if( len < 0 || len > strlen(s) ) - Fatal( "Internal Error: SubStr fails consistency test" ); - - save = *e; - *e = '\0'; - s = DmStrDup( s ); - *e = save; - - return( s ); -} - - -/* Provide "missing" string function. */ -#ifndef HAVE_STRLWR -char * -strlwr(char *s) -{ - char *p; - for(p=s; *p; p++ ) - *p = tolower(*p); - return s; -} -#endif diff --git a/dmake/dstdarg.h b/dmake/dstdarg.h deleted file mode 100644 index f0dc760b5db4..000000000000 --- a/dmake/dstdarg.h +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: dstdarg.h,v 1.1.1.1 2000-09-22 15:33:25 hr Exp $ --- --- SYNOPSIS --- --- DESCRIPTION --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#include - -#define ARG(a,b) a - -#if __STDC__ || defined(__TURBOC__) || defined(__IBMC__) -# define va_alist_type ... -# ifdef va_alist -# undef va_alist -# endif -# define va_alist -# define DARG(a,b) -#else -# ifdef va_alist -# define va_alist_type int -# define DARG(a,b) a b; -# else -# define va_alist_type ... -# define va_alist -# define DARG(a,b) -# endif -#endif diff --git a/dmake/expand.c b/dmake/expand.c deleted file mode 100644 index 50bbbdc46760..000000000000 --- a/dmake/expand.c +++ /dev/null @@ -1,1204 +0,0 @@ -/* $RCSfile: expand.c,v $ --- $Revision: 1.8 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:38:46 $ --- --- SYNOPSIS --- Macro expansion code. --- --- DESCRIPTION --- --- This routine handles all the necessary junk that deals with macro --- expansion. It understands the following syntax. If a macro is --- not defined it expands to NULL, and {} are synonyms for (). --- --- $$ - expands to $ --- {{ - expands to { --- }} - expands to } --- $A - expands to whatever the macro A is defined as --- $(AA) - expands to whatever the macro AA is defined as --- $($(A)) - represents macro indirection --- <+...+> - get mapped to $(mktmp ...) --- --- following macro is recognized --- --- string1{ token_list }string2 --- --- and expands to string1 prepended to each element of token_list and --- string2 appended to each of the resulting tokens from the first --- operation. If string2 is of the form above then the result is --- the cross product of the specified (possibly modified) token_lists. --- --- The folowing macro modifiers are defined and expanded: --- --- $(macro:modifier_list:modifier_list:...) --- --- where modifier_list a combination of: --- --- D or d - Directory portion of token including separator --- F or f - File portion of token including suffix --- B or b - basename portion of token not including suffix --- E or e - Suffix portion of name --- L or l - translate to lower case --- U or u - translate to upper case --- I or i - return inferred names --- N or n - return normalized paths --- 1 - return the first white space separated token --- --- or a single one of: --- M or m - map escape codes --- S or s - pattern substitution (simple) --- T or t - for tokenization --- ^ - prepend a prefix to each token --- + - append a suffix to each token --- --- NOTE: Modifiers are applied once the macro value has been found. --- Thus the construct $($(test):s/joe/mary/) is defined and --- modifies the value of $($(test)) --- --- Also the construct $(m:d:f) is not the same as $(m:df) --- the first applies d to the value of $(m) and then --- applies f to the value of that whereas the second form --- applies df to the value of $(m). --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* Microsoft BRAINDAMAGE ALERT!!!! - * This #ifdef is here only to satisfy stupid bugs in MSC5.0 and MSC5.1 - * it isn't needed for anything else. It turns loop optimization off. */ -#if defined(_MSV_VER) && _MSC_VER < 600 -#include "optoff.h" -#endif - -static char* _scan_macro ANSI((char*, char**, int)); -static char* _scan_brace ANSI((char*, char**, int*)); -static char* _cross_prod ANSI((char*, char*)); - -#if !defined(__GNUC__) && !defined(__IBMC__) -static char* _scan_ballanced_parens ANSI((char*, char)); -#else -static char* _scan_ballanced_parens ANSI((char*, int)); -#endif - - -PUBLIC char * -Expand( src )/* -=============== - This is the driver routine for the expansion, it identifies non-white - space tokens and gets the ScanToken routine to figure out if they should - be treated in a special way. */ - -char *src; /* pointer to source string */ -{ - char *tmp; /* pointer to temporary str */ - char *res; /* pointer to result string */ - char *start; /* pointer to start of token */ - - DB_ENTER( "Expand" ); - DB_PRINT( "exp", ("Expanding [%s]", src) ); - - res = DmStrDup( "" ); - if( src == NIL(char) ) DB_RETURN( res ); - - while( *src ) { - char *ks, *ke; - - /* Here we find the next non white space token in the string - * and find it's end, with respect to non-significant white space. */ - -#if !defined( _MPW) && !defined(__EMX__) - start = DmStrSpn( src, " \t\n" ); -#else - start = DmStrSpn( src, " \t\r\n" ); -#endif - - res = DmStrJoin( res, src, start-src, TRUE ); - if( !(*start) ) break; - - /* START <+...+> KLUDGE */ - if( (ks=DmStrStr(start,"<+")) != NIL(char) - && (ke=DmStrStr(ks,"+>")) != NIL(char) ) { - char *t1, *t2; - - res = DmStrJoin( res, t2=Expand(t1=DmSubStr(start,ks)), -1, TRUE); - FREE(t1); FREE(t2); - - t1 = DmSubStr(ks+2, ke+1); t1[ke-ks-2] = ')'; - t2 = DmStrJoin( "$(mktmp ", t1, -1,FALSE); - FREE(t1); - res = DmStrJoin( res, t1=Expand(t2), -1, TRUE); - FREE(t1); FREE(t2); - src = ke+2; - } - /* END <+...+> KLUDGE */ - else { - res = DmStrJoin( res, tmp = ScanToken(start,&src,TRUE), -1, TRUE ); - FREE( tmp ); - } - } - - DB_PRINT( "exp", ("Returning [%s]", res) ); - DB_RETURN( res ); -} - - -PUBLIC char * -Apply_edit( src, pat, subst, fr, anchor )/* -=========================================== - Take the src string and apply the pattern substitution. ie. look for - occurrences of pat in src and replace each occurrence with subst. This is - NOT a regular expressions pattern substitution, it's just not worth it. - - if anchor == TRUE then the src pattern match must be at the end of a token. - ie. this is for SYSV compatibility and is only used for substitutions of - the caused by $(macro:pat=sub). So if src = "fre.o.k june.o" then - $(src:.o=.a) results in "fre.o.k june.a", and $(src:s/.o/.a) results in - "fre.a.k june.a" */ - -char *src; /* the source string */ -char *pat; /* pattern to find */ -char *subst; /* substitute string */ -int fr; /* if TRUE free src */ -int anchor; /* if TRUE anchor */ -{ - char *res; - char *p; - char *s; - int l; - - DB_ENTER( "Apply_edit" ); - - /* do nothing if pat is NULL or pat and subst are equal */ - if( !*pat || !strcmp(pat,subst) ) DB_RETURN( src ); - - DB_PRINT( "mod", ("Source str: [%s]", src) ); - DB_PRINT( "mod", ("Replacing [%s], with [%s]", pat, subst) ); - - /* FIXME: This routine is used frequently and has room for optimizations */ - s = src; - l = strlen( pat ); - if( (p = DmStrStr( s, pat )) != NIL(char) ) { - res = DmStrDup( "" ); - do { - if( anchor ) - if( !*(p+l) || (strchr(" \t", *(p+l)) != NIL(char)) ) - res = DmStrJoin( DmStrJoin(res,s,p-s,TRUE), subst, -1, TRUE ); - else - res = DmStrJoin( res, s, p+l-s, TRUE ); - else - res = DmStrJoin( DmStrJoin(res,s,p-s,TRUE), subst, -1, TRUE ); - - s = p + l; - } - while( (p = DmStrStr( s, pat )) != NIL(char) ); - - res = DmStrJoin( res, s, -1, TRUE ); - if( fr ) FREE( src ); - } - else - res = src; - - - DB_PRINT( "mod", ("Result [%s]", res) ); - DB_RETURN( res ); -} - - -PUBLIC void -Map_esc( tok )/* -================ - Map an escape sequence and replace it by it's corresponding character - value. It is assumed that tok points at the initial \, the esc - sequence in the original string is replaced and the value of tok - is not modified. */ -char *tok; -{ - if( strchr( "\"\\vantbrf01234567", tok[1] ) ) { - size_t len; - switch( tok[1] ) { - case 'a' : *tok = 0x07; break; - case 'b' : *tok = '\b'; break; - case 'f' : *tok = '\f'; break; - case 'n' : *tok = '\n'; break; - case 'r' : *tok = '\r'; break; - case 't' : *tok = '\t'; break; - case 'v' : *tok = 0x0b; break; - case '\\': *tok = '\\'; break; - case '\"': *tok = '\"'; break; - - default: { - register int i = 0; - register int j = 0; - for( ; i<2 && isdigit(tok[2]); i++ ) { - j = (j << 3) + (tok[1] - '0'); - len = strlen(tok+2)+1; - memmove( tok+1, tok+2, len ); - } - j = (j << 3) + (tok[1] - '0'); - *tok = j; - } - } - len = strlen(tok+2)+1; - memmove( tok+1, tok+2, len ); - } -} - - -PUBLIC char* -Apply_modifiers( mod, src )/* -============================= - This routine applies the appropriate modifiers to the string src - and returns the proper result string */ - -int mod; -char *src; -{ - char *s; - char *e; - char *res; - TKSTR str; - - DB_ENTER( "Apply_modifiers" ); - - if ( mod & INFNAME_FLAG ) { - SET_TOKEN( &str, src ); - e = NIL(char); - - while( *(s = Get_token( &str, "", FALSE )) != '\0' ) { - HASHPTR hp; - - if ( (hp = Get_name(normalize_path(s), Defs, FALSE)) != NIL(HASH) - && hp->CP_OWNR - && hp->CP_OWNR->ce_fname - ) { - res = hp->CP_OWNR->ce_fname; - } - else - res = s; - - if(str.tk_quote == 0) { - /* Add leading quote. */ - e = DmStrApp(e, "\""); - e = DmStrJoin(e, res, -1, TRUE); - /* Append the trailing quote. */ - e = DmStrJoin(e, "\"", 1, TRUE); - } else { - e = DmStrApp(e, res); - } - - } - - FREE(src); - src = e; - mod &= ~INFNAME_FLAG; - } - - if ( mod & NORMPATH_FLAG ) { - e = exec_normpath(src); - - FREE(src); - src = e; - mod &= ~NORMPATH_FLAG; - } - - if(mod & (TOLOWER_FLAG|TOUPPER_FLAG) ) { - int lower; - lower = mod & TOLOWER_FLAG; - - for (s=src; *s; s++) - if ( isalpha(*s) ) - *s = ((lower) ? tolower(*s) : toupper(*s)); - - mod &= ~(TOLOWER_FLAG|TOUPPER_FLAG); - } - - if (mod & JUST_FIRST_FLAG) { - SET_TOKEN(&str, src); - if ((s = Get_token(&str,"",FALSE)) != '\0') { - /* Recycle the quote at the beginning. */ - if(str.tk_quote == 0) { - s--; - } - e = DmStrDup(s); - /* Add trailing quote. */ - if(str.tk_quote == 0) { - e = DmStrJoin(e, "\"", 1, TRUE); - } - - CLEAR_TOKEN(&str); - FREE(src); - src = e; - } - else { - CLEAR_TOKEN(&str); - } - mod &= ~JUST_FIRST_FLAG; - } - - if( !mod || mod == (SUFFIX_FLAG | DIRECTORY_FLAG | FILE_FLAG) ) - DB_RETURN( src ); - - SET_TOKEN( &str, src ); - DB_PRINT( "mod", ("Source string [%s]", src) ); - res = DmStrDup(""); - - while( *(s = Get_token( &str, "", FALSE )) != '\0' ) { - char *tokstart = s; - - /* search for the directory portion of the filename. If the - * DIRECTORY_FLAG is set, then we want to keep the directory portion - * othewise throw it away and blank out to the end of the token */ - - if( (e = Basename(s)) != s) { - if( !(mod & DIRECTORY_FLAG) ) { - /* Move the basename to the start. */ - size_t len = strlen(e)+1; - memmove(s, e, len); - } - else - s = e; - } - /* s now points to the start of the basename. */ - - - /* search for the suffix, if there is none, treat it as a NULL suffix. - * if no file name treat it as a NULL file name. same copy op as - * for directory case above */ - - e = strrchr( s, '.' ); /* NULL suffix if e=0 */ - if( e == NIL(char) ) e = s+strlen(s); - - if( !(mod & FILE_FLAG) ) { - /* Move the suffix to the start. */ - size_t len = strlen(e)+1; - memmove(s, e, len); - } - else - s = e; - - /* s now points to the start of the suffix. */ - - - /* The last and final part. This is the suffix case, if we don't want - * it then just erase it. */ - - if( s != NIL(char) ) - if( !(mod & SUFFIX_FLAG) && s != str.tk_str ) - *s = '\0'; - - - /* only keep non-empty tokens. (This also discards empty quoted "" - * tokens.) */ - if( strlen(tokstart) ) { - /* Recycle the quote at the beginning. */ - if(str.tk_quote == 0) { - tokstart--; - } - res = DmStrApp(res, tokstart); - /* Add trailing quote. */ - if(str.tk_quote == 0) { - res = DmStrJoin(res, "\"", 1, TRUE); - } - } - } - - FREE(src); - src = res; - - - DB_PRINT( "mod", ("Result string [%s]", src) ); - DB_RETURN( src ); -} - - -PUBLIC char* -Tokenize( src, separator, op, mapesc )/* -======================================== - Tokenize the input of src and join each token found together with - the next token separated by the separator string. - - When doing the tokenization, , , , and \ all - constitute white space. */ - -char *src; -char *separator; -char op; -int mapesc; -{ - TKSTR tokens; - char *tok; - char *res; - int first = (op == 't' || op == 'T'); - - DB_ENTER( "Tokenize" ); - - /* map the escape codes in the separator string first */ - if ( mapesc ) - for(tok=separator; (tok = strchr(tok,ESCAPE_CHAR)) != NIL(char); tok++) - Map_esc( tok ); - - DB_PRINT( "exp", ("Separator [%s]", separator) ); - - /* By default we return an empty string */ - res = DmStrDup( "" ); - - /* Build the token list */ - SET_TOKEN( &tokens, src ); - while( *(tok = Get_token( &tokens, "", FALSE )) != '\0' ) { - char *x; - - if( first ) { - FREE( res ); - res = DmStrDup( tok ); - first = FALSE; - } - else if (op == '^') { - res = DmStrAdd(res, DmStrJoin(separator, tok, -1, FALSE), TRUE); - } - else if (op == '+') { - res = DmStrAdd(res, DmStrJoin(tok, separator, -1, FALSE), TRUE); - } - else { - res = DmStrJoin(res, x =DmStrJoin(separator, tok, -1, FALSE), - -1, TRUE); - FREE( x ); - } - - DB_PRINT( "exp", ("Tokenizing [%s] --> [%s]", tok, res) ); - } - - FREE( src ); - DB_RETURN( res ); -} - - -static char* -_scan_ballanced_parens(p, delim) -char *p; -char delim; -{ - int pcount = 0; - int bcount = 0; - - if ( p ) { - do { - if (delim) - if( !(bcount || pcount) && *p == delim) { - return(p); - } - - if ( *p == '(' ) pcount++; - else if ( *p == '{' ) bcount++; - else if ( *p == ')' && pcount ) pcount--; - else if ( *p == '}' && bcount ) bcount--; - - p++; - } - while (*p && (pcount || bcount || delim)); - } - - return(p); -} - - -PUBLIC char* -ScanToken( s, ps, doexpand )/* -============================== - This routine scans the token characters one at a time and identifies - macros starting with $( and ${ and calls _scan_macro to expand their - value. the string1{ token_list }string2 expansion is also handled. - In this case a temporary result is maintained so that we can take it's - cross product with any other token_lists that may possibly appear. */ - -char *s; /* pointer to start of src string */ -char **ps; /* pointer to start pointer */ -int doexpand; -{ - char *res; /* pointer to result */ - char *start; /* pointer to start of prefix */ - int crossproduct = 0; /* if 1 then computing X-prod */ - - start = s; - res = DmStrDup( "" ); - while( 1 ) { - switch( *s ) { - /* Termination, We halt at seeing a space or a tab or end of string. - * We return the value of the result with any new macro's we scanned - * or if we were computing cross_products then we return the new - * cross_product. - * NOTE: Once we start computing cross products it is impossible to - * stop. ie. the semantics are such that once a {} pair is - * seen we compute cross products until termination. */ - - case ' ': - case '\t': - case '\n': - case '\r': - case '\0': - { - char *tmp; - - *ps = s; - if( !crossproduct ) - tmp = DmStrJoin( res, start, (s-start), TRUE ); - else - { - tmp = DmSubStr( start, s ); - tmp = _cross_prod( res, tmp ); - } - return( tmp ); - } - - case '$': - case '{': - { - /* Handle if it's a macro or if it's a {} construct. - * The results of a macro expansion are handled differently based - * on whether we have seen a {} beforehand. */ - - char *tmp; - tmp = DmSubStr( start, s ); /* save the prefix */ - - if( *s == '$' ) { - start = _scan_macro( s+1, &s, doexpand ); - - if( crossproduct ) { - res = _cross_prod( res, DmStrJoin( tmp, start, -1, TRUE ) ); - } - else { - res = DmStrJoin(res,tmp=DmStrJoin(tmp,start,-1,TRUE),-1,TRUE); - FREE( tmp ); - } - FREE( start ); - } - else if( strchr("{ \t",s[1]) == NIL(char) ){ - int ok; - start = _scan_brace( s+1, &s, &ok ); - - if( ok ) { - if ( crossproduct ) { - res = _cross_prod(res,_cross_prod(tmp,start)); - } - else { - char *freeres; - res = Tokenize(start, - freeres=DmStrJoin(res,tmp,-1,TRUE), - '^', FALSE); - FREE(freeres); - FREE(tmp); - } - crossproduct = TRUE; - } - else { - res =DmStrJoin(res,tmp=DmStrJoin(tmp,start,-1,TRUE),-1,TRUE); - FREE( start ); - FREE( tmp ); - } - } - else { /* handle the {{ case */ - res = DmStrJoin( res, start, (s-start+1), TRUE ); - s += (s[1]=='{')?2:1; - FREE( tmp ); - } - - start = s; - } - break; - - case '}': - if( s[1] != '}' ) { - /* error malformed macro expansion */ - s++; - } - else { /* handle the }} case */ - res = DmStrJoin( res, start, (s-start+1), TRUE ); - s += 2; - start = s; - } - break; - - default: s++; - } - } -} - - -static char* -_scan_macro( s, ps, doexpand )/* -================================ - This routine scans a macro use and expands it to the value. It - returns the macro's expanded value and modifies the pointer into the - src string to point at the first character after the macro use. - The types of uses recognized are: - - $$ and $ - expands to $ - $(name) - expands to value of name - ${name} - same as above - $($(name)) - recurses on macro names (any level) - and - $(func[,args ...] [data]) - and - $(name:modifier_list:modifier_list:...) - - see comment for Expand for description of valid modifiers. - - NOTE that once a macro name bounded by ( or { is found only - the appropriate terminator (ie. ( or } is searched for. */ - -char *s; /* pointer to start of src string */ -char **ps; /* pointer to start pointer */ -int doexpand; /* If TRUE enables macro expansion */ -{ - char sdelim; /* start of macro delimiter */ - char edelim; /* corresponding end macro delim */ - char *start; /* start of prefix */ - char *macro_name; /* temporary macro name */ - char *recurse_name; /* recursive macro name */ - char *result; /* result for macro expansion */ - int bflag = 0; /* brace flag, ==0 => $A type macro */ - int done = 0; /* != 0 => done macro search */ - int lev = 0; /* brace level */ - int mflag = 0; /* != 0 => modifiers present in mac */ - int fflag = 0; /* != 0 => GNU style function */ - HASHPTR hp; /* hash table pointer for macros */ - - DB_ENTER( "_scan_macro" ); - - /* Check for $ at end of line, or $ followed by white space */ - /* FIXME: Shouldn't a single '$' be an error? */ - if( !*s || strchr(" \t", *s) != NIL(char)) { - *ps = s; - DB_RETURN( DmStrDup("") ); - } - - if( *s == '$' ) { /* Take care of the simple $$ case. */ - *ps = s+1; - DB_RETURN( DmStrDup("$") ); - } - - sdelim = *s; /* set and remember start/end delim */ - if( sdelim == '(' ) - edelim = ')'; - else - edelim = '}'; - - start = s; /* build up macro name, find its end */ - while( !done ) { - switch( *s ) { - case '(': /* open macro brace */ - case '{': - if( *s == sdelim ) { - lev++; - bflag++; - } - break; - - case ':': /* halt at modifier */ - if( lev == 1 && !fflag && doexpand ) { - done = TRUE; - mflag = 1; - } - else if( !lev ) /* must be $: */ - Fatal( "Syntax error in macro [$%s]. A colon [:] cannot be a macro name.\n", start ); - - /* continue if a colon is found but lev > 1 */ - break; - - case '\n': /* Not possible because of the - * following case. */ - Fatal( "DEBUG: No standalone '\n' [%s].\n", start ); - break; - - case '\\': /* Transform \ -> ' '. */ - if( s[1] != '\n' ) { - done = !lev; - break; - } else { - size_t len; - s[1] = ' '; - len = strlen(s+1)+1; - memmove( s, s+1, len ); - } - /*FALLTHRU*/ - case ' ': - case '\t': - if ( lev == 1 ) fflag = 1; - break; - - case '\0': /* check for null */ - *ps = s; - done = TRUE; - if( lev ) { /* catch $( or ${ without closing bracket */ - Fatal( "Syntax error in macro [$%s]. The closing bracket [%c] is missing.\n", start, edelim ); - } else - Fatal( "DEBUG: This cannot occur! [%s].\n", start ); - break; - - case ')': /* close macro brace */ - case '}': - if( !lev ) /* A closing bracket without an .. */ - Fatal("Syntax error in macro [$%s]. Closing bracket [%c] cannot be a macro name.\n", start, *s ); - else if( *s == edelim ) --lev; - /*FALLTHRU*/ - - default: /* Done when lev == 0. This means either no */ - done = !lev; /* opening bracket (single letter macro) or */ - /* a fully enclosed $(..) or ${..} macro */ - /* was found. */ - } - s++; - } - - /* Check if this is a $A type macro. If so then we have to - * handle it a little differently. */ - if( bflag ) - macro_name = DmSubStr( start+1, s-1 ); - else - macro_name = DmSubStr( start, s ); - - /* If we don't have to expand the macro we're done. */ - if (!doexpand) { - *ps = s; - DB_RETURN(macro_name); - } - - /* Check to see if the macro name contains spaces, if so then treat it - * as a GNU style function invocation and call the function mapper to - * deal with it. We do not call the function expander if the function - * invocation begins with a '$' */ - if( fflag && *macro_name != '$' ) { - result = Exec_function(macro_name); - } - else { - /* Check if the macro is a recursive macro name, if so then - * EXPAND the name before expanding the value */ - if( strchr( macro_name, '$' ) != NIL(char) ) { - recurse_name = Expand( macro_name ); - FREE( macro_name ); - macro_name = recurse_name; - } - - /* Code to do value expansion goes here, NOTE: macros whose assign bit - is one have been evaluated and assigned, they contain no further - expansions and thus do not need their values expanded again. */ - - if( (hp = GET_MACRO( macro_name )) != NIL(HASH) ) { - if( hp->ht_flag & M_MARK ) - Fatal( "Detected circular macro [%s]", hp->ht_name ); - - if( !(hp->ht_flag & M_EXPANDED) ) { - hp->ht_flag |= M_MARK; - result = Expand( hp->ht_value ); - hp->ht_flag ^= M_MARK; - } - else if( hp->ht_value != NIL(char) ) - result = DmStrDup( hp->ht_value ); - else - result = DmStrDup( "" ); - - } - else { - /* The use of an undefined macro implicitly defines it but - * leaves its value to NIL(char). */ - hp = Def_macro( macro_name, NIL(char), M_EXPANDED ); - /* Setting M_INIT assures that this macro is treated unset like - * default internal macros. (Necessary for *= and *:=) */ - hp->ht_flag |= M_INIT; - - result = DmStrDup( "" ); - } - /* Mark macros as used only if we are not expanding them for - * the purpose of a .IF test, so we can warn about redef after use*/ - if( !If_expand ) hp->ht_flag |= M_USED; - - } - - if( mflag ) { - char separator; - int modifier_list = 0; - int aug_mod = FALSE; - char *pat1; - char *pat2; - char *p; - - /* We are inside of a macro expansion. The "build up macro name, - * find its while loop above should have caught all \ and - * converted them to a real space. Let's verify this. */ - for( p=s; *p && *p != edelim && *p; p++ ) { - if( p[0] == '\\' && p[1] == '\n' ) { - size_t len; - p[1] = ' '; - len = strlen(p+1)+1; - memmove( p, p+1, len ); - } - } - if( !*p ) - Fatal( "Syntax error in macro modifier pattern [$%s]. The closing bracket [%c] is missing.\n", start, edelim ); - - /* Yet another brain damaged AUGMAKE kludge. We should accept the - * AUGMAKE bullshit of $(f:pat=sub) form of macro expansion. In - * order to do this we will forgo the normal processing if the - * AUGMAKE solution pans out, otherwise we will try to process the - * modifiers ala dmake. - * - * So we look for = in modifier string. - * If found we process it and not do the normal stuff */ - - for( p=s; *p && *p != '=' && *p != edelim; p++ ); - - if( *p == '=' ) { - char *tmp; - - pat1 = Expand(tmp = DmSubStr(s,p)); FREE(tmp); - s = p+1; - p = _scan_ballanced_parens(s+1, edelim); - - if ( !*p ) { - Fatal( "Incomplete macro expression [%s]", s ); - p = s+1; - } - pat2 = Expand(tmp = DmSubStr(s,p)); FREE(tmp); - - result = Apply_edit( result, pat1, pat2, TRUE, TRUE ); - FREE( pat1 ); - FREE( pat2 ); - s = p; - aug_mod = TRUE; - } - - if( !aug_mod ) - while( *s && *s != edelim ) { /* while not at end of macro */ - char switch_char; - - switch( switch_char = *s++ ) { - case '1': modifier_list |= JUST_FIRST_FLAG; break; - - case 'b': - case 'B': modifier_list |= FILE_FLAG; break; - - case 'd': - case 'D': modifier_list |= DIRECTORY_FLAG; break; - - case 'f': - case 'F': modifier_list |= FILE_FLAG | SUFFIX_FLAG; break; - - case 'e': - case 'E': modifier_list |= SUFFIX_FLAG; break; - - case 'l': - case 'L': modifier_list |= TOLOWER_FLAG; break; - - case 'i': - case 'I': modifier_list |= INFNAME_FLAG; break; - - case 'u': - case 'U': modifier_list |= TOUPPER_FLAG; break; - - case 'm': - case 'M': - if( modifier_list || ( (*s != edelim) && (*s != ':') ) ) { - Warning( "Map escape modifier must appear alone, ignored"); - modifier_list = 0; - } - else { - /* map the escape codes in the separator string first */ - for(p=result; (p = strchr(p,ESCAPE_CHAR)) != NIL(char); p++) - Map_esc( p ); - } - /* find the end of the macro spec, or the start of a new - * modifier list for further processing of the result */ - - for( ; (*s != edelim) && (*s != ':') && *s; s++ ); - if( !*s ) - Fatal( "Syntax error in macro. [$%s].\n", start ); - if( *s == ':' ) s++; - break; - - case 'n': - case 'N': modifier_list |= NORMPATH_FLAG; break; - - case 'S': - case 's': - if( modifier_list ) { - Warning( "Edit modifier must appear alone, ignored"); - modifier_list = 0; - } - else { - separator = *s++; - for( p=s; *p != separator && *p; p++ ); - - if( !*p ) - Fatal( "Syntax error in subst macro. [$%s].\n", start ); - else { - char *t1, *t2; - pat1 = DmSubStr( s, p ); - for(s=p=p+1; (*p != separator) && *p; p++ ); - /* Before the parsing fixes in iz36027 the :s macro modifier - * erroneously worked with patterns with missing pattern - * separator, i.e. $(XXX:s#pat#sub). This is an error because - * it prohibits the use of following macro modifiers. - * I.e. $(XXX:s#pat#sub:u) falsely replaces with "sub:u". - * ??? Remove this special case once OOo compiles without - * any of this warnings. */ - if( !*p ) { - if( *(p-1) == edelim ) { - p--; - Warning( "Syntax error in subst macro. Bracket found, but third delimiter [%c] missing in [$%s].\n", separator, start ); - } - else { - Fatal( "Syntax error in subst macro. Third delimiter [%c] missing in [$%s].\n", separator, start ); - } - } - pat2 = DmSubStr( s, p ); - t1 = Expand(pat1); FREE(pat1); - t2 = Expand(pat2); FREE(pat2); - result = Apply_edit( result, t1, t2, TRUE, FALSE ); - FREE( t1 ); - FREE( t2 ); - } - s = p; - } - /* find the end of the macro spec, or the start of a new - * modifier list for further processing of the result */ - - for( ; (*s != edelim) && (*s != ':') && *s; s++ ); - if( !*s ) - Fatal( "Syntax error in macro. [$%s].\n", start ); - if( *s == ':' ) s++; - break; - - case 'T': - case 't': - case '^': - case '+': - if( modifier_list ) { - Warning( "Tokenize modifier must appear alone, ignored"); - modifier_list = 0; - } - else { - separator = *s++; - - if( separator == '$' ) { - p = _scan_ballanced_parens(s,'\0'); - - if ( *p ) { - char *tmp; - pat1 = Expand(tmp = DmSubStr(s-1,p)); - FREE(tmp); - result = Tokenize(result, pat1, switch_char, TRUE); - FREE(pat1); - } - else { - Warning( "Incomplete macro expression [%s]", s ); - } - s = p; - } - else if ( separator == '\"' ) { - /* we change the semantics to allow $(v:t")") */ - for (p = s; *p && *p != separator; p++) - if (*p == '\\') - if (p[1] == '\\' || p[1] == '"') - p++; - - if( *p == 0 ) - Fatal( "Unterminated separator string" ); - else { - pat1 = DmSubStr( s, p ); - result = Tokenize( result, pat1, switch_char, TRUE); - FREE( pat1 ); - } - s = p; - } - else { - Warning( - "Separator must be a quoted string or macro expression"); - } - - /* find the end of the macro spec, or the start of a new - * modifier list for further processing of the result */ - - for( ; (*s != edelim) && (*s != ':'); s++ ); - if( *s == ':' ) s++; - } - break; - - case ':': - if( modifier_list ) { - result = Apply_modifiers( modifier_list, result ); - modifier_list = 0; - } - break; - - default: - Warning( "Illegal modifier in macro, ignored" ); - break; - } - } - - if( modifier_list ) /* apply modifier */ - result = Apply_modifiers( modifier_list, result ); - - s++; - } - - *ps = s; - FREE( macro_name ); - DB_RETURN( result ); -} - - -static char* -_scan_brace( s, ps, flag )/* -============================ - This routine scans for { token_list } pairs. It expands the value of - token_list by calling Expand on it. Token_list may be anything at all. - Note that the routine count's ballanced parentheses. This means you - cannot have something like { fred { joe }, if that is what you really - need the write it as { fred {{ joe }, flag is set to 1 if all ok - and to 0 if the braces were unballanced. */ - -char *s; -char **ps; -int *flag; -{ - char *t; - char *start; - char *res; - int lev = 1; - int done = 0; - - DB_ENTER( "_scan_brace" ); - - start = s; - while( !done ) - switch( *s++ ) { - case '{': - if( *s == '{' ) break; /* ignore {{ */ - lev++; - break; - - case '}': - if( *s == '}' ) break; /* ignore }} */ - if( lev ) - if( --lev == 0 ) done = TRUE; - break; - - case '$': - if( *s == '{' || *s == '}' ) { - if( (t = strchr(s,'}')) != NIL(char) ) - s = t; - s++; - } - break; - - case '\0': - if( lev ) { - done = TRUE; - s--; - /* error malformed macro expansion */ - } - break; - } - - start = DmSubStr( start, (lev) ? s : s-1 ); - - if( lev ) { - /* Braces were not ballanced so just return the string. - * Do not expand it. */ - - res = DmStrJoin( "{", start, -1, FALSE ); - *flag = 0; - } - else { - *flag = 1; - res = Expand( start ); - - if( (t = DmStrSpn( res, " \t" )) != res ) { - size_t len = strlen(t)+1; - memmove( res, t, len ); - } - } - - FREE( start ); /* this is ok! start is assigned a DmSubStr above */ - *ps = s; - - DB_RETURN( res ); -} - - -static char* -_cross_prod( x, y )/* -===================== - Given two strings x and y compute the cross-product of the tokens found - in each string. ie. if x = "a b" and y = "c d" return "ac ad bc bd". - - NOTE: buf will continue to grow until it is big enough to handle - all cross product requests. It is never freed! (maybe I - will fix this someday) */ - -char *x; -char *y; -{ - static char *buf = NULL; - static int buf_siz = 0; - char *brkx; - char *brky; - char *cy; - char *cx; - char *res; - int i; - - if( *x && *y ) { - res = DmStrDup( "" ); cx = x; - while( *cx ) { - cy = y; - brkx = DmStrPbrk( cx, " \t\n" ); - if( (brkx-cx == 2) && *cx == '\"' && *(cx+1) == '\"' ) cx = brkx; - - while( *cy ) { - brky = DmStrPbrk( cy, " \t\n" ); - if( (brky-cy == 2) && *cy == '\"' && *(cy+1) == '\"' ) cy = brky; - i = brkx-cx + brky-cy + 2; - - if( i > buf_siz ) { /* grow buf to the correct size */ - if( buf != NIL(char) ) FREE( buf ); - if( (buf = MALLOC( i, char )) == NIL(char)) No_ram(); - buf_siz = i; - } - - strncpy( buf, cx, (i = brkx-cx) ); - buf[i] = '\0'; - if (brky-cy > 0) strncat( buf, cy, brky-cy ); - buf[i+(brky-cy)] = '\0'; - strcat( buf, " " ); - res = DmStrJoin( res, buf, -1, TRUE ); - cy = DmStrSpn( brky, " \t\n" ); - } - cx = DmStrSpn( brkx, " \t\n" ); - } - - FREE( x ); - res[ strlen(res)-1 ] = '\0'; - } - else - res = DmStrJoin( x, y, -1, TRUE ); - - FREE( y ); - return( res ); -} diff --git a/dmake/extern.h b/dmake/extern.h deleted file mode 100644 index 4149fe7b14b8..000000000000 --- a/dmake/extern.h +++ /dev/null @@ -1,192 +0,0 @@ -/* $RCSfile: extern.h,v $ --- $Revision: 1.13 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:28:27 $ --- --- SYNOPSIS --- External declarations for dmake functions. --- --- DESCRIPTION --- ANSI is a macro that allows the proper handling of ANSI style --- function declarations. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef EXTERN_h -#define EXTERN_h - -/* For MSVC++ needs to include windows.h first to avoid problems with - * type redefinitions. Include it also for MinGW for consistency. */ -#if defined(__MINGW32__) || defined(_MSC_VER) -#include -#endif - -#include "config.h" - -/* Define this for the RS/6000 if it breaks something then we have to put a - * #ifdef around it. */ -#if defined(rs6000) -#define _POSIX_SOURCE -#endif - -#include -#ifdef HAVE_LIMITS_H -# include -#endif -#include -#ifdef HAVE_UNISTD_H -# include -#endif -#include -#include -#ifdef HAVE_FCNTL_H -# include -#endif - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#if HAVE_SYS_TYPES_H -# include -#else -# include -#endif -#if HAVE_SYS_STAT_H -# include -#endif -#if HAVE_UTIME_H -# include -#endif - -#define DMPVOID void * - -#include -#include "itypes.h" -#include "stdmacs.h" -#include "alloc.h" -#include "db.h" -#include "dstdarg.h" -#include "dmake.h" -#include "struct.h" -#include "vextern.h" -#include "public.h" - -/* Include this last as it invalidates some functions that are defined - * externally above and turns them into no-ops. Have to do this after - * the extern declarations however. */ -#include "posix.h" - - - -/* Common declarations - * =================== - * are better made here then in local public.h. So far dmake didn't follow - * this strategy but new functions will be added here. */ - -/* Use our own implementation if no library function is present. */ -#ifndef HAVE_STRLWR -/* from dmstring.c */ -char *strlwr(char *p); -#endif - -/* from function.c */ -char *exec_normpath(char *args); - -/* from make.c */ -void Unmake(CELLPTR cp); - -/* from path.c */ -void Clean_path(char *path); -char *normalize_path(char *path); - -/* from sysintf.c */ -/* cygdospath()/DO_WINPATH() are only needed for the .WINPATH attribute - * on cygwin. */ -#if __CYGWIN__ -char *cygdospath(char *src, int winpath); -# define DO_WINPATH(p) cygdospath(p, UseWinpath) -#else -# define DO_WINPATH(p) p -#endif - - -/* Define some usefull macros. This is done here and not in config.h - * to keep this changes usefull even when not using the autotools based - * build, i.e. using config.h files that are local to the architecture. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(OS2) || defined(__EMX__) -# define HAVE_DRIVE_LETTERS 1 -#endif - -#if defined(_WIN32) || defined(MSDOS) || defined(OS2) && !defined(__CYGWIN__) -# define NULLDEV "NUL" -#else -# define NULLDEV "/dev/null" -#endif - -/* For MSVC 6.0 and newer and MinGW use the CreateProcess() function. */ -#if defined(__MINGW32__) || defined(_MSC_VER) && _MSC_VER >= 1200 -# define USE_CREATEPROCESS 1 -#else -/* #undef USE_CREATEPROCESS */ -#endif - -/* CreateProcess() is spawn-like. */ -#if ENABLE_SPAWN && ( HAVE_SPAWN_H || __CYGWIN__ || __EMX__) || defined(USE_CREATEPROCESS) -# define USE_SPAWN 1 -#else -/* #undef USE_SPAWN */ -#endif - -/* Work around some of the functions that may or may not exist */ -#if ! HAVE_TZSET -#if HAVE_SETTZ -# define tzset() settz() -#else -# warn "tzset is not supported, null out" -# define tzset() -#endif -#endif - -/* Get the working directory fall back code */ -#if ! HAVE_GETCWD -#if HAVE_GETWD -# define getcwd(buf,len) getwd(buf) -#else -# error "You have no supported way of getting working directory" -#endif -#endif - -/* If setvbuf is not available set output to unbuffered */ -#if ! HAVE_SETVBUF -# define setvbuf(fp,bp,type,len) setbuf(fp,NULL) -#endif - -/* coreleft is used in some debug macros. Only Turbo C seems to provide - * this function. Define it here so that the code compiles. */ -#ifdef DBUG -#define coreleft() 0L -#endif - -#endif diff --git a/dmake/function.c b/dmake/function.c deleted file mode 100644 index cd86810849e5..000000000000 --- a/dmake/function.c +++ /dev/null @@ -1,726 +0,0 @@ -/* $RCSfile: function.c,v $ --- $Revision: 1.12 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:28:45 $ --- --- SYNOPSIS --- GNU style functions for dmake. --- --- DESCRIPTION --- All GNU style functions understood by dmake are implemented in this --- file. Currently the only such function is $(mktmp ...) which is --- not part of GNU-make is an extension provided by dmake. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -static char *_exec_mktmp ANSI((char *, char *, char *)); -static char *_exec_subst ANSI((char *, char *, char *)); -static char *_exec_iseq ANSI((char *, char *, char *, int)); -static char *_exec_sort ANSI((char *)); -static char *_exec_echo ANSI((char *)); -static char *_exec_uniq ANSI((char *)); -static char *_exec_shell ANSI((char *, int)); -static char *_exec_call ANSI((char *, char *)); -static char *_exec_assign ANSI((char *)); -static char *_exec_foreach ANSI((char *, char *, char *)); -static char *_exec_andor ANSI((char *, int)); -static char *_exec_not ANSI((char *)); -static int _mystrcmp ANSI((const DMPVOID, const DMPVOID)); - - -PUBLIC char * -Exec_function(buf)/* -==================== - Execute the function given by the value of args. - - So far mktmp is the only valid function, anything else elicits and error - message. It is my hope to support the GNU style functions in this portion - of the code at some time in the future. */ -char *buf; -{ - char *fname; - char *args; - char *mod1; - char *mod2 = NIL(char); - int mod_count = 0; - char *res = NIL(char); - - /* This must succeed since the presence of ' ', \t or \n is what - * determines if this function is called in the first place. - * Unfortunately this prohibits the use of whitespaces in parameters - * for macro functions. */ - /* ??? Using ScanToken to find the next ' ', \t or \n and discarding - * the returned, evaluated result is a misuse of that function. */ - FREE(ScanToken(buf, &args, FALSE)); - fname = DmSubStr(buf, args); - /* args points to the whitespace after the found token, this leads - * to leading whitespaces. */ - if( *args ) { - args = DmStrSpn(args," \t"); /* strip whitespace before */ - if( *args ) { /* ... and after value */ - char *q; - for(q=args+strlen(args)-1; ((*q == ' ')||(*q == '\t')); q--); - *++q = '\0'; - } - } - - /* ??? Some function macros expect comma seperated parameters, but - * no decent parser is included. The desirable solution would be - * to parse fname for the correct number of parameters in fname - * when a function is recognized. We only count the parameters - * at the moment. Note "" is a valid parameter. */ - if( (mod1 = strchr(fname,',')) != NIL(char) ){ - *mod1 = '\0'; - mod1++; - mod_count++; - - if( (mod2 = strchr(mod1,',')) != NIL(char) ){ - *mod2 = '\0'; - mod2++; - mod_count++; - } - } - - /* ??? At the moment only the leading part of fname compared if it - * matches a known function macro. For example assignXXX or even - * assign,,,, is also erroneously accepted. */ - switch( *fname ) { - case 'a': - if(strncmp(fname,"assign",6) == 0) - res = _exec_assign(args); - else if(strncmp(fname,"and",3) == 0) - res = _exec_andor(args, TRUE); - else - res = _exec_call(fname,args); - break; - - case 'e': - if(strncmp(fname,"eq",2) == 0) - if( mod_count == 2 ) - res = _exec_iseq(mod1,mod2,args,TRUE); - else - Fatal( "Two comma-seperated arguments expected in [%s].\n", buf ); - else if (strncmp(fname,"echo",4) == 0) - res = _exec_echo(args); - else - res = _exec_call(fname,args); - break; - - case 'f': - if(strncmp(fname,"foreach",7) == 0) - if( mod_count == 2 ) - res = _exec_foreach(mod1,mod2,args); - else - Fatal( "Two comma-seperated arguments expected in [%s].\n", buf ); - else - res = _exec_call(fname,args); - break; - - case 'm': - if(strncmp(fname,"mktmp",5) == 0) - if( mod_count < 3 ) - res = _exec_mktmp(mod1,mod2,args); - else - Fatal( "Maximal two comma-seperated arguments expected in [%s].\n", buf ); - else - res = _exec_call(fname,args); - break; - - case 'n': - if( strncmp(fname,"null", 4) == 0 ) - res = _exec_iseq(mod1,NIL(char),args,TRUE); - else if (strncmp(fname,"nil",3) == 0 ) { - FREE(Expand(args)); - res = DmStrDup(""); - } - else if (strncmp(fname,"not",3) == 0 ) - res = _exec_not(args); - else if (strncmp(fname,"normpath",8) == 0 ) { - char *eargs = Expand(args); - - if( mod_count == 0 ) { - res = exec_normpath(eargs); - } - else if( mod_count == 1 ) { - char *para = Expand(mod1); - int tmpUseWinpath = UseWinpath; - - if( !*para || strcmp(para, "\"\"") == 0 ) { - UseWinpath = FALSE; - } else { - UseWinpath = TRUE; - } - res = exec_normpath(eargs); - UseWinpath = tmpUseWinpath; - FREE(para); - } - else - Fatal( "One or no comma-seperated arguments expected in [%s].\n", buf ); - - FREE(eargs); - } - else - res = _exec_call(fname,args); - break; - - case '!': - if(strncmp(fname,"!null",5) == 0) - res = _exec_iseq(mod1,NIL(char),args,FALSE); - else if(strncmp(fname,"!eq",3) ==0) - if( mod_count == 2 ) - res = _exec_iseq(mod1,mod2,args,FALSE); - else - Fatal( "Two comma-seperated arguments expected in [%s].\n", buf ); - else - res = _exec_call(fname,args); - break; - - case 'o': - if(strncmp(fname,"or",2) == 0) - res = _exec_andor(args, FALSE); - else - res = _exec_call(fname,args); - break; - - case 's': - if(strncmp(fname,"sort",4) == 0) - res = _exec_sort(args); - else if(strncmp(fname,"shell",5)==0) - if( mod_count == 0 ) { - res = _exec_shell(args, FALSE); - } - else if( mod_count == 1 ) { - char *emod = Expand(mod1); - if(strncmp(emod,"expand",7)==0) - res = _exec_shell(args, TRUE); - else - Fatal( "Unknown argument [%s] to shell in [%s].\n", emod, buf ); - FREE(emod); - } - else - Fatal( "One or no comma-seperated arguments expected in [%s].\n", buf ); - else if(strncmp(fname,"strip",5)==0) - res = Tokenize(Expand(args)," ",'t',TRUE); - else if(strncmp(fname,"subst",5)==0) { - if( mod_count == 2 ) - res = _exec_subst(mod1,mod2,args); - else - Fatal( "Two comma-seperated arguments expected in [%s].\n", buf ); - } - else - res = _exec_call(fname,args); - break; - - case 'u': - if(strncmp(fname,"uniq",4) == 0) - res = _exec_uniq(args); - else - res = _exec_call(fname,args); - break; - - default: - res = _exec_call(fname,args); - } - - if( res == NIL(char) ) res = DmStrDup(""); - - FREE(fname); - return(res); -} - - -static char * -_exec_assign( macrostring ) -char *macrostring; -{ - if ( !Parse_macro(macrostring, M_MULTI|M_FORCE) ) { - Error( "Dynamic macro assignment failed, while making [%s]\n", - Current_target ? Current_target->CE_NAME : "NIL"); - return(DmStrDup("")); - } - - return(DmStrDup(LastMacName)); -} - - -static char * -_exec_echo(data) -char *data; -{ - return(DmStrDup(DmStrSpn(data," \t"))); -} - - -static char * -_exec_call( var, list )/* -========================= - Return the (recursively expanded) value of macro var. Expand list and - discard the result. -*/ -char *var; /* Name of the macro (until first whitespace). */ -char *list; /* Rest data (after the whitespace). */ -{ - char *res = NIL(char); - - /* the argument part is expanded. */ - FREE(Expand(list)); - - /* Prepend '$(' and append ')' so that Expand will return the value - * of the 'var' macro. */ - var = DmStrJoin(DmStrJoin("$(",var,-1,FALSE),")",-1,TRUE); - res = Expand(var); - - FREE(var); - return(res); -} - - -static char * -_exec_foreach( var, list, data ) -char *var; -char *list; -char *data; -{ - char *res = NIL(char); - char *s; - TKSTR tk; - HASHPTR hp; - - var = Expand(var); - list = Expand(list); - - data = DmStrSpn(data," \t\n"); - SET_TOKEN(&tk,list); - /* push previous macro definition and redefine. */ - hp = Def_macro(var,"",M_MULTI|M_NOEXPORT|M_FORCE|M_PUSH); - - while( *(s=Get_token(&tk, "", FALSE)) != '\0' ) { - Def_macro(var,s,M_MULTI|M_NOEXPORT|M_FORCE); - res = DmStrAdd(res,Expand(data),TRUE); - } - - CLEAR_TOKEN(&tk); - Pop_macro(hp); /* Get back old macro definition. */ - FREE(hp->ht_name); - if(hp->ht_value) FREE(hp->ht_value); - FREE(hp); - FREE(var); - FREE(list); - - return(res); -} - - -static char * -_exec_mktmp( file, text, data ) -char *file; -char *text; -char *data; -{ - char *tmpname; - char *name; - FILE *tmpfile = NIL(FILE); - - /* This is only a test of the recipe line so prevent the tempfile side - * effects. */ - if( Suppress_temp_file ) return(NIL(char)); - - name = Current_target ? Current_target->CE_NAME:"makefile text"; - - if( file && *file ) { - /* Expand the file parameter to mktmp if present. */ - tmpname = Expand(file); - - if( *tmpname ) { -#ifdef HAVE_MKSTEMP - /* Only use umask if we are also using mkstemp - this basically - * avoids using the incompatible implementation from MSVC. */ - mode_t mask; - - /* Create tempfile with 600 permissions. */ - mask = umask(0066); -#endif - - if( (tmpfile = fopen(tmpname, "w")) == NIL(FILE) ) - Open_temp_error( tmpname, name ); -#ifdef HAVE_MKSTEMP - umask(mask); -#endif - - Def_macro("TMPFILE", tmpname, M_EXPANDED|M_MULTI); - Link_temp( Current_target, tmpfile, tmpname ); - - /* Don't free tmpname if it is used. It is stored in a FILELIST - * member in Link_temp() and freed by Unlink_temp_files(). */ - } - else - FREE(tmpname); - } - - /* If file expanded to a non empty value tmpfile is already opened, - * otherwise open it now. */ - if( !tmpfile ) - tmpfile = Start_temp( "", Current_target, &tmpname ); - - /* If the text parameter is given return its expanded value - * instead of the used filename. */ - if( !text || !*text ) { - /* tmpname is freed by Unlink_temp_files(). */ - text = DmStrDup(DO_WINPATH(tmpname)); - } - else { - text = Expand(text); - } - - data = Expand(data); - - Append_line( data, TRUE, tmpfile, name, FALSE, FALSE ); - Close_temp( Current_target, tmpfile ); - FREE(data); - - return( text ); -} - - -static char * -_exec_iseq( lhs, rhs, data, eq ) -char *lhs; -char *rhs; -char *data; -int eq; -{ - char *l = Expand(lhs); - char *r = Expand(rhs); - char *i = DmStrSpn(data, " \t\n"); - char *e = strchr(i, ' '); - char *res = NIL(char); - int val = strcmp(l,r); - - if( (!val && eq) || (val && !eq) ) { - if( e != NIL(char) ) *e = '\0'; - res = Expand(i); - } - else if( e != NIL(char) ) { - e = DmStrSpn(e," \t\n"); - if( *e ) res = Expand(e); - } - - FREE(l); - FREE(r); - return(res); -} - - -static char * -_exec_sort( args ) -char *args; -{ - char *res = NIL(char); - char *data = Expand(args); - char **tokens; - char *p; - char *white = " \t\n"; - int j; - int i; - - for(i=0,p=DmStrSpn(data,white);*p;p=DmStrSpn(DmStrPbrk(p,white),white),i++); - - if( i != 0 ) { - TALLOC(tokens, i, char *); - - for( i=0,p=DmStrSpn(data,white); *p; p=DmStrSpn(p,white),i++){ - tokens[i] = p; - p = DmStrPbrk(p,white); - if( *p ) *p++ = '\0'; - } - - qsort( tokens, i, sizeof(char *), _mystrcmp ); - - for( j=0; j buffer && *(p-1) == '\r') - *(p-1) = '\0'; - res = DmStrApp(res,buffer); - } - } - - fclose(stdout_redir); - Remove_file(tmpnm); - FREE(tmpnm); - FREE(buffer); - - stdout_redir = old_stdout_redir; - - if ( expand ) { - char *exp_res; - exp_res = Expand(res); - FREE(res); - res = exp_res; - } - - return(res); -} - - -static char * -_exec_andor( args, doand ) -char *args; -int doand; -{ - char *next; - char *p; - char *white = " \t\n"; - int res=doand; - - args = DmStrSpn(args,white); - do { - p=ScanToken(args, &next, TRUE); - - if (doand ? !*p : *p) { - res = !doand; - FREE(p); - break; - } - - FREE(p); - } - while (*(args=DmStrSpn(next,white))); - - return(res ? DmStrDup("t") : DmStrDup("")); -} - - -static char * -_exec_not( args ) -char *args; -{ - char *white = " \t\n"; - char *p=Expand(args); - int res = (*DmStrSpn(p,white) == '\0'); - - FREE(p); - return(res ? DmStrDup("t") : DmStrDup("")); -} - - -char * -exec_normpath( args )/* -======================= - Normalize token-wise. The normalised filenames are returned in a new - string, the original string is not freed. Quoted tokens remain quoted - after the normalizaton. */ -char *args; -{ - TKSTR str; - char *s, *res; - - /* This honors .WINPATH . */ - SET_TOKEN( &str, args ); - res = NIL(char); - while( *(s = Get_token( &str, "", FALSE )) != '\0' ) { - if(str.tk_quote == 0) { - /* Add leading quote. */ - res = DmStrApp(res, "\""); - res = DmStrJoin(res, DO_WINPATH(normalize_path(s)), -1, TRUE); - /* Append the trailing quote. */ - res = DmStrJoin(res, "\"", 1, TRUE); - } else { - res = DmStrApp(res, DO_WINPATH(normalize_path(s))); - } - } - return res; -} diff --git a/dmake/getinp.c b/dmake/getinp.c deleted file mode 100644 index 5445193d1a90..000000000000 --- a/dmake/getinp.c +++ /dev/null @@ -1,848 +0,0 @@ -/* RCS $Id: getinp.c,v 1.10 2007-10-15 15:39:23 ihi Exp $ --- --- SYNOPSIS --- Handle reading of input. --- --- DESCRIPTION --- The code in this file reads the input from the specified stream --- into the provided buffer of size Buffer_size. In doing so it deletes --- comments. Comments are delimited by the #, and --- character sequences. An exception is \# which --- is replaced by # in the input. Line continuations are signalled --- at the end of a line and are recognized inside comments. --- The line continuation is always <\>. --- --- If the file to read is NIL(FILE) then the Get_line routine returns the --- next rule from the builtin rule table (Rule_tab from ruletab.c) if --- there is one. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -#define IS_WHITE(A) ((A == ' ') || (A == '\t') || (A == '\n') || (A == '\r')) -#define SCAN_WHITE(A) \ - while( IS_WHITE(*A) ) A++; - -static int _is_conditional ANSI((char*)); -static int _handle_conditional ANSI((int, TKSTRPTR)); - -static int rule_ind = 0; /* index of rule when reading Rule_tab */ -static int skip = FALSE; /* if true the skip input */ - -int partcomp( char* lhs, int opcode ); -int parse_complex_expression( char *expr, char **expr_end, int opcode ); - - -PUBLIC int -Get_line( buf, fil )/* -====================== - Read a line of input from the file stripping off comments. The routine - returns TRUE if EOF. If fil equals NIL(FILE) then the next line from - *Rule_tab[] is used. Rule_tab is either the buildin rule table or points - to the current environment (used by ReadEnvironment()). - The function returns TRUE if the input file/buffer was read to the end - and FALSE otherwise. */ -char *buf; -FILE *fil; -{ - extern char **Rule_tab; - register char *p; - register char *c; - char *q; - char *buf_org; - static int ignore = FALSE; - int cont = FALSE; - int pos = 0; - int res = 0; - register char *tmp = NIL(char); - - DB_ENTER( "Get_line" ); - - if( Skip_to_eof ) { - Skip_to_eof = FALSE; - rule_ind = 0; - - if( Verbose & V_MAKE ) - Warning("Ignoring remainder of file %s", Filename()); - - DB_RETURN(TRUE); - } - - if( fil == NIL(FILE) ) { - /* Reading the internal rule table. Set rule_ind to zero after the - * last entry so that ReadEnvironment() works as expected every time. */ - - while( (p = Rule_tab[ rule_ind++ ]) != NIL(char) ) - /* The last test in this if *p != '~', handles the environment - * passing conventions used by MKS to pass arguments. We want to - * skip those environment entries. Also CYGWIN likes to export '!' - * prefixed environment variables that cause severe pain, axe them too */ - if( !Readenv || (Readenv && (strchr(p,'=') != NIL(char)) && *p!='~' && *p!='!')){ - strcpy( buf, p ); - - DB_PRINT( "io", ("Returning [%s]", buf) ); - DB_RETURN( FALSE ); - } - - rule_ind = 0; - - DB_PRINT( "io", ("Done Ruletab") ); - DB_RETURN( TRUE ); - } - - buf_org = buf; - -do_again: - do { - p = buf+pos; - /* fgets() reads at most one less than Buffer_size-pos characters. */ - if(feof( fil ) || (fgets( p, Buffer_size-pos, fil ) == NIL(char))) - DB_RETURN( TRUE ); - -#ifdef _MPW - if ( p[0] == 10 && p[1] == COMMENT_CHAR) - p[0] = ' '; -#endif - - Line_number++; - - /* Set q to the last char in p before the \n\0. */ - q = p+strlen(p)-2; - if( q >= p ) { /* Only check for special cases if p points - * to a non-empty line. */ - - /* ignore each RETURN at the end of a line before any further - * processing */ - if( q[0] == '\r' && q[1] == '\n' ) { - q[0] = '\n'; - q[1] = '\0'; - q--; - } - /* you also have to deal with END_OF_FILE chars to process raw - * DOS-Files. Normally they are the last chars in file, but after - * working on these file with vi, there is an additional NEWLINE - * after the last END_OF_FILE. So if the second last char in the - * actual line is END_OF_FILE, you can skip the last char. Then - * you can search the line back until you find no more END_OF_FILE - * and nuke each you found by string termination. */ - if( q[0] == '\032' ) - q--; - while( q[1] == '\032' ) { - q[1] = '\0'; - q--; - } - - /* ignore input if ignore flag set and line ends in a continuation - character. */ - - if( ignore ) { - if( q[0] != CONTINUATION_CHAR || q[1] != '\n' ) ignore = FALSE; - *p = '\0'; - continue; - } - - /* If a comment is found the line does not end in \n anymore. */ - c = Do_comment(p, &q, Group || (*buf == '\t') || (Notabs && *buf ==' ')); - - /* Does the end of the line end in a continuation sequence? */ - - if( (q[0] == CONTINUATION_CHAR) && (q[1] == '\n')) { - /* If the continuation was at the end of a comment then ignore the - * next input line, (or lines until we get one ending in just ) - * else it's a continuation, so build the input line from several - * text lines on input. The maximum size of this is governened by - * Buffer_size */ - if( q != p && q[-1] == CONTINUATION_CHAR ) { - size_t len = strlen(q+1)+1; - memmove( q, q+1, len ); - q--; - cont = FALSE; - } - else if( c != NIL(char) ) - ignore = TRUE; - else - cont = TRUE; /* Keep the \. */ - } - else { - cont = FALSE; - } - - q = ( c == NIL(char) ) ? q+2 : c; - } - else { /* empty line or "" */ - cont = FALSE; - ignore = FALSE; - q = p+strlen(p); /* strlen(p) is 1 or 0 */ - } - - pos += q-p; - } - while( (cont || !*buf) && (pos < Buffer_size-1) ); - - if( pos >= Buffer_size-1 ) - Fatal( "Input line too long, increase MAXLINELENGTH" ); - - /* Lines that had comments don't contain \n anymore. */ - /* ??? Continued lines that are followed by an empty or comment only - * line will end in \. */ - if( (q > p) && (buf[ pos-1 ] == '\n') ) - buf[ --pos ] = '\0'; /* Remove the final \n. */ - - /* STUPID AUGMAKE uses "include" at the start of a line as - * a signal to include a new file, so let's look for it. - * if we see it replace it by .INCLUDE: and stick this back - * into the buffer. We also allow GNU make if[n]eq/else/endif. - * - * These substitutions are made only if we are not parsing a group - * recipe. */ - if( (p = DmStrSpn(buf, " \t\r\n")) == NIL(char) ) - p = buf; - - if (!Group) { - if( !strncmp( "include", p, 7 ) && - (p[7] == ' ' || p[7] == '\t') ) - tmp = DmStrJoin( ".INCLUDE:", p+7, -1, FALSE ); - else if( !strncmp( "ifeq", p, 4 ) && - (p[4] == ' ' || p[4] == '\t') ) - tmp = DmStrJoin( ".IFEQ", p+4, -1, FALSE ); - else if( !strncmp( "ifneq", p, 5 ) && - (p[5] == ' ' || p[5] == '\t') ) - tmp = DmStrJoin( ".IFNEQ", p+5, -1, FALSE ); - else if( !strncmp( "elif", p, 4 ) && - (p[4] == ' ' || p[4] == '\t') ) - tmp = DmStrJoin( ".ELIF", p+4, -1, FALSE ); - else if( !strncmp( "else", p, 4 ) && - (p[4] == ' ' || p[4] == '\t' || p[4] == '\0') ) - tmp = DmStrJoin( ".ELSE", p+4, -1, FALSE ); - else if( !strncmp( "endif", p, 5 ) && - (p[5] == ' ' || p[5] == '\t' || p[5] == '\0') ) - tmp = DmStrJoin( ".END", p+5, -1, FALSE ); - } - - if( tmp != NIL(char)) { - strcpy( buf, tmp ); - FREE( tmp ); - tmp = NIL(char); - } - - /* Now that we have the next line of input to make, we should check to - * see if it is a conditional expression. If it is then process it, - * otherwise pass it on to the parser. */ - - if( *(p = DmStrSpn(buf, " \t\r\n")) == CONDSTART ) { - TKSTR token; - - SET_TOKEN( &token, p ); - - p = Get_token( &token, "", FALSE ); - - if( (res = _is_conditional(p)) != 0 ) /* ignore non-control special */ - { /* targets */ - res = _handle_conditional( res, &token ); - skip = TRUE; - } - else { - CLEAR_TOKEN( &token ); - res = TRUE; - } - } - - if( skip ) { - buf = buf_org; /* ignore line just read in */ - pos = 0; - skip = res; - goto do_again; - } - - DB_PRINT( "io", ("Returning [%s]", buf) ); - DB_RETURN( FALSE ); -} - - -PUBLIC char * -Do_comment(str, pend, keep)/* -============================= - Search the input string looking for comment chars. If it contains - comment chars then NUKE the remainder of the line, if the comment - char is preceeded by \ then shift the remainder of the line left - by one char. */ -char *str; -char **pend; -int keep; -{ - char *c = str; - - while( (c = strchr(c, COMMENT_CHAR)) != NIL(char) ) { - if( Comment || State == NORMAL_SCAN ) - if( c != str && c[-1] == ESCAPE_CHAR ) { - size_t len = strlen(c)+1; - memmove( c-1, c, len ); /* copy it left, due to \# */ - if( pend ) (*pend)--; /* shift tail pointer left */ - } - else { - /* Check/execute if shebang command is present. */ - if( !No_exec - && c == str - && c[1] == '!' - && Line_number == 1 - && Nestlevel() == 1 ) { - char *cmnd; - - cmnd = Expand(c+2); - cmnd[strlen(cmnd)-1] = '\0'; /* strip last newline */ - Current_target = Root; -#if defined(MSDOS) - Swap_on_exec = TRUE; -#endif - Wait_for_completion = TRUE; - Do_cmnd(&cmnd, FALSE, TRUE, Current_target, A_DEFAULT, TRUE); -#if defined(MSDOS) - Swap_on_exec = FALSE; -#endif - Wait_for_completion = FALSE; - FREE(cmnd); - } - - *c = '\0'; /* a true comment so break */ - break; - } - else { - if( keep ) - c = NIL(char); - else - *c = '\0'; - - break; - } - } - - return(c); -} - - -PUBLIC char * -Get_token( string, brk, anchor )/* -================================== - Return the next token in string. - - Returns empty string when no more tokens in string. - brk is a list of chars that also cause breaks in addition to space and - tab, but are themselves returned as tokens. if brk is NULL then the - remainder of the line is returned as a single token. - - 'anchor' if 1, says break on chars in the brk list, but only if - the entire token begins with the first char of the brk list, if - 0 then any char of brk will cause a break to occurr. - - If 'anchor' is 2, then break only seeing the first char in the break - list allowing only chars in the break list to form the prefix. */ - -TKSTRPTR string; -char *brk; -int anchor; -{ - register char *s; - register char *curp = 0; - register char *t; - int done = FALSE; - char space[100]; - - DB_ENTER( "Get_token" ); - - s = string->tk_str; /* Get string parameters */ - *s = string->tk_cchar; /* ... and strip leading w/s */ - - SCAN_WHITE( s ); - - DB_PRINT( "tok", ("What's left [%s]", s) ); - - if( !*s ) { - DB_PRINT( "tok", ("Returning NULL token") ); - DB_RETURN( "" ); - } - - - /* Build the space list. space contains all those chars that may possibly - * cause breaks. This includes the brk list as well as white space. */ - - if( brk != NIL(char) ) { - strcpy( space, " \t\r\n" ); - strcat( space, brk ); - } - else { - space[0] = 0xff; /* a char we know will not show up */ - space[1] = 0; - } - - - /* Handle processing of quoted tokens. Note that this is disabled if - * brk is equal to NIL */ - - while( *s == '\"' && ((brk != NIL(char)) || !string->tk_quote) ) { - s++; - if( string->tk_quote ) { - curp = s-1; - do { curp = strchr( curp+1, '\"' ); } - while( (curp != NIL(char)) && (*(curp+1) == '\"')); - - if( curp == NIL(char) ) Fatal( "Unmatched quote in token" ); - string->tk_quote = !string->tk_quote; - - /* Check for "" case, and if found ignore it */ - if( curp == s ) continue; - goto found_token; - } - else - SCAN_WHITE( s ); - - string->tk_quote = !string->tk_quote; - } - - - /* Check for a token break character at the beginning of the token. - * If found return the next set of break chars as a token. */ - - if( anchor == 2 && brk != NIL(char) ) { - curp = s; - while( *curp && (strchr(brk,*curp)!=NIL(char)) && (*curp!=*brk) ) curp++; - done = (*brk == *curp++); - } - else if( (brk != NIL(char)) && (strchr( brk, *s ) != NIL(char)) ) { - curp = DmStrSpn( s, brk ); - done = (anchor == 0) ? TRUE : - ((anchor == 1)?(*s == *brk) : (*brk == curp[-1])); - } - - - /* Scan for the next token in the list and return it less the break char - * that was used to terminate the token. It will possibly be returned in - * the next call to Get_token */ - - if( !done ) { - SCAN_WHITE( s ); - - t = s; - do { - done = TRUE; - curp = DmStrPbrk(t, space); - - if( anchor && *curp && !IS_WHITE( *curp ) ) - if( ((anchor == 1)?*curp:DmStrSpn(curp,brk)[-1]) != *brk ) { - t++; - done = FALSE; - } - } - while( !done ); - - if( (curp == s) && (strchr(brk, *curp) != NIL(char)) ) curp++; - } - -found_token: - string->tk_str = curp; - string->tk_cchar = *curp; - *curp = '\0'; - - DB_PRINT( "tok", ("Returning [%s]", s) ); - DB_RETURN( s ); -} - - -static int -_is_conditional( tg )/* -======================= - Look at tg and return it's value if it is a conditional identifier - otherwise return 0. */ -char *tg; -{ - DB_ENTER( "_is_conditional" ); - - tg++; - switch( *tg ) - { - case 'I': - if( !strcmp( tg, "IF" )) DB_RETURN( ST_IF ); - else if( !strcmp( tg, "IFEQ" )) DB_RETURN( ST_IFEQ ); - else if( !strcmp( tg, "IFNEQ" )) DB_RETURN( ST_IFNEQ ); - break; - - case 'E': - if( !strcmp( tg, "END" )) DB_RETURN( ST_END ); - else if( !strcmp( tg, "ENDIF")) DB_RETURN( ST_END ); - else if( !strcmp( tg, "ELSE" )) DB_RETURN( ST_ELSE ); - else if( !strcmp( tg, "ELIF" )) DB_RETURN( ST_ELIF ); - break; - } - - DB_RETURN( 0 ); -} - - - -#define SEEN_END 0x00 -#define SEEN_IF 0x01 -#define SEEN_ELSE 0x02 -#define SEEN_ELIF 0x04 - -#define ACCEPT_IF 0x10 -#define ACCEPT_ELIF 0x20 - -static int -_handle_conditional( opcode, tg ) - int opcode; - TKSTRPTR tg; -{ - static short action[MAX_COND_DEPTH]; - static char ifcntl[MAX_COND_DEPTH]; - char *cst; - char *lhs, *expr, *expr_end; - char *lop; - int result; - - DB_ENTER( "_handle_conditional" ); - - switch( opcode ) { - case ST_ELIF: - if( !(ifcntl[Nest_level] & SEEN_IF) || (ifcntl[Nest_level]&SEEN_ELSE) ) - Fatal(".ELIF without a preceeding .IF" ); - /*FALLTHRU*/ - - case ST_IF: - case ST_IFEQ: - case ST_IFNEQ: - if( opcode != ST_ELIF && (Nest_level+1) == MAX_COND_DEPTH ) - Fatal( ".IF .ELSE ... .END nesting too deep" ); - - If_expand = TRUE; - expr = Expand( Get_token( tg, NIL(char), FALSE )); - If_expand = FALSE; - - /* Remove CONTINUATION_CHAR and replace with " " so that line - * continuations are recognized as whitespace. */ - for( cst=strchr(expr,CONTINUATION_CHAR); cst != NIL(char); cst=strchr(cst,CONTINUATION_CHAR) ) - if( cst[1] == '\n' ) { - *cst = ' '; - cst[1] = ' '; - } - else - cst++; - - lhs = expr; - SCAN_WHITE( lhs ); - - /* Parse the expression and get its logical result */ - if ( ((lop = DmStrStr(lhs, "||" )) != NIL(char)) || ((lop = DmStrStr(lhs, "&&" )) != NIL(char)) ) - result = parse_complex_expression( lhs, &expr_end, opcode ); - else - result = partcomp( lhs, opcode ); - - if( expr != NIL(char) ) FREE( expr ); - - if( opcode != ST_ELIF ) { - Nest_level++; - action[Nest_level] = 1; - } - ifcntl[Nest_level] |= (opcode==ST_ELIF)?SEEN_ELIF:SEEN_IF; - - if( result ) { - if( !(ifcntl[Nest_level] & (ACCEPT_IF|ACCEPT_ELIF)) ) { - action[ Nest_level ] = action[ Nest_level-1 ]; - ifcntl[Nest_level] |= (opcode==ST_ELIF)?ACCEPT_ELIF:ACCEPT_IF; - } - else - action[Nest_level] = 1; - } - else - action[Nest_level] = 1; - break; - - case ST_ELSE: - if( Nest_level <= 0 ) Fatal( ".ELSE without .IF" ); - if( ifcntl[Nest_level] & SEEN_ELSE ) - Fatal( "Missing .IF or .ELIF before .ELSE" ); - - if( ifcntl[Nest_level] & (ACCEPT_IF|ACCEPT_ELIF) ) - action[Nest_level] = 1; - else if( action[ Nest_level-1 ] != 1 ) - action[ Nest_level ] ^= 0x1; /* flip between 0 and 1 */ - - ifcntl[Nest_level] |= SEEN_ELSE; - break; - - case ST_END: - ifcntl[Nest_level] = SEEN_END; - Nest_level--; - if( Nest_level < 0 ) Fatal( "Unmatched .END[IF]" ); - break; - } - - DB_RETURN( action[ Nest_level ] ); -} - -/* uncomment to turn on expression debug statements */ -/*#define PARSE_DEBUG */ -#define PARSE_SKIP_WHITE(A) while( *A && ((*A==' ') || (*A=='\t')) ) A++; - -#define OP_NONE 0 -#define OP_AND 1 -#define OP_OR 2 - -static int n = 1; - -int parse_complex_expression( char *expr, char **expr_end, int opcode ) -{ - char *p = expr; - char *term_start = p; - char *term_end; - int local_term; - char *part; - int term_result = FALSE; - int final_result = TRUE; - unsigned int term_len; - unsigned int last_op = OP_NONE; - - #ifdef PARSE_DEBUG - printf( "%d: parse_complex_expression( %s ): Opcode: %d\n", n, expr, opcode ); - #endif - - while ( 1 ) - { - /* A new sub-expression */ - local_term = TRUE; - if ( *p == '(' ) - { - n++; - term_result = parse_complex_expression( p+1, &p, opcode ); - n--; - PARSE_SKIP_WHITE( p ); - term_start = p; - term_end = p; - local_term = FALSE; - } - else - term_end = p; - - /* Lets do an operation!! */ - if ( !(*p) /* at the end of the entire line */ - || ((*p == '&') && (*(p+1) && (*(p+1)=='&'))) /* found an && */ - || ((*p == '|') && (*(p+1) && (*(p+1)=='|'))) /* found an || */ - || (*p == ')') ) /* at the end of our term */ - { - /* Grab the sub-expression if we parsed it. Otherwise, - * it was a () subexpression and we don't need to evaluate - * it since that was already done. - */ - if ( local_term == TRUE ) - { - /* Back up 1 to the end of the actual term */ - term_end--; - - /* Evaluate the term */ - PARSE_SKIP_WHITE( term_start ); - term_len = term_end - term_start + 1; - part = MALLOC( term_len + 1, char ); - strncpy( part, term_start, term_len ); - *(part+term_len) = '\0'; - #ifdef PARSE_DEBUG - printf( "%d: evaling '%s'\n", n, part ); - #endif - term_result = partcomp( part, opcode ); - #ifdef PARSE_DEBUG - printf( "%d: evaled, result %d\n", n, term_result ); - #endif - FREE( part ); - } - - /* Do the actual logical operation using the _preceding_ - * logical operator, NOT the one we just found. - */ - if ( last_op == OP_AND ) - final_result = final_result && term_result; - else if ( last_op == OP_OR ) - final_result = final_result || term_result; - else - final_result = term_result; - #ifdef PARSE_DEBUG - printf( "%d: final_result:%d\n", n, final_result ); - #endif - - /* If we're not at the end of the line, just keep going */ - if ( *p ) - { - /* Recognize the operator we just found above */ - if ( *p == '&' ) - last_op = OP_AND; - else if ( *p == '|' ) - last_op = OP_OR; - if ( *p != ')' ) - p += 2; - - /* Get the start of the next term */ - PARSE_SKIP_WHITE( p ); - term_start = p; - - /* If this is the close of a term, we are done and return - * to our caller. - */ - if ( *p == ')' ) - { - p++; - break; - } - } - else break; /* At end of line, all done */ - } - else if ( local_term == TRUE ) p++; /* Advance to next char in expression */ - } - *expr_end = p; - - #ifdef PARSE_DEBUG - printf( "%d: done, returning '%s', result %d\n", n, *expr_end, final_result ); - #endif - return( final_result ); -} - - -int partcomp( char* lhs, int opcode ) -{ - - char *tok, *rhs, *op = 0; - int result, opsind; - const int localopscount=4; - char* localops[] = { "==", "!=", "<=", ">=" }; - int lint, rint; - -#define EQUAL 0 -#define NOTEQUAL 1 -#define LESS_EQUAL 2 -#define GREATER_EQUAL 3 - - #ifdef PARSE_DEBUG - printf( "eval: %s\n", lhs); - #endif - - opsind = 0; - if( opcode == ST_IFEQ || opcode == ST_IFNEQ ) - { - /* IF[N]EQ syntax is: .IF[N]EQ <1> <2> - * Here, step over first argument and get to <2> if it exists. - */ - for( op = lhs; ((*op)&&(*op != ' ')&&(*op != '\t')); op++ ); - if( *op ) op++; /* position op at start of <2> */ - else op = NIL(char); /* only 1 argument given */ - } - else - { - /* Find which logical operator we are to use for this expression, - * and jump to it */ - while ( (opsind < localopscount) && ((op = DmStrStr(lhs, localops[opsind])) == NIL(char)) ) - opsind++; - - #ifdef PARSE_DEBUG - printf(" found op %d: %s\n", opsind, localops[opsind]); - #endif - } - - /* If the opcode was IFEQ or IFNEQ and only 1 argument was given, - * or an unknown logical operator was encountered, - * return false if argument is empty string, true if !empty - */ - if( op == NIL(char) ) - result = (*lhs != '\0'); - else - { - /* Make both characters of the operation the same, replacing the = in op[1] - * Its easier to deal with this way??? - */ - if( opcode != ST_IFEQ && opcode != ST_IFNEQ ) - op[1] = op[0]; - - #ifdef PARSE_DEBUG - printf(" op:%s\n", op); - #endif - - /* Isolate the left half of the expression */ - if( lhs != op ) - { - for( tok = op-1; (tok != lhs) && ((*tok == ' ')||(*tok == '\t')); tok-- ); - tok[1] = '\0'; - } - else - lhs = NIL(char); /* Left hand side is empty. */ - - /* Jump over the operation so we can grab the right half of the expression */ - if( opcode == ST_IFEQ || opcode == ST_IFNEQ ) - op--; - else - op++; - - /* Isolate the right half of the expression */ - rhs = DmStrSpn( op+1, " \t" ); - if( !*rhs ) rhs = NIL(char); - - #ifdef PARSE_DEBUG - printf(" lhs:%s, rhs:%s\n", lhs, rhs); - #endif - - /* Do the actual logical operation on the expression */ - if ( opsind > NOTEQUAL ) - { - switch( opsind ) - { - case LESS_EQUAL: - case GREATER_EQUAL: - /* Ignore quotes around the arguments */ - if ( lhs && lhs[0] == '"' ) lhs++; - if ( rhs && rhs[0] == '"' ) rhs++; - - /* Empty strings evaluate to zero. */ - lint = lhs ? atoi( lhs ) : 0; - rint = rhs ? atoi( rhs ) : 0; - result = ( lint >= rint ) ? TRUE : FALSE; - if ( opsind == LESS_EQUAL && lint != rint ) - result = !result; - break; - default: - result = FALSE; - } - } - else - { - /* Use a simple string compare to determine equality */ - if( (rhs == NIL(char)) || (lhs == NIL(char)) ) - result = (rhs == lhs) ? TRUE : FALSE; - else - { - /* String off whitespace at the end of the right half of the expression */ - tok = rhs + strlen( rhs ); - for( tok=tok-1; (tok != lhs) && ((*tok == ' ')||(*tok == '\t')); tok--); - tok[1] = '\0'; - - result = (strcmp( lhs, rhs ) == 0) ? TRUE : FALSE; - } - - if( *op == '!' || opcode == ST_IFNEQ ) result = !result; - } - } - - #ifdef PARSE_DEBUG - printf("partresult %d\n\n",result); - #endif - return result; -} - diff --git a/dmake/hash.c b/dmake/hash.c deleted file mode 100644 index a172995656ba..000000000000 --- a/dmake/hash.c +++ /dev/null @@ -1,54 +0,0 @@ -/* RCS $Id: hash.c,v 1.2 2006-09-25 09:39:55 vg Exp $ --- --- SYNOPSIS --- Hashing function for hash tables. --- --- DESCRIPTION --- Hash an identifier. The hashing function works by computing the sum --- of each char and the previous hash value multiplied by 129. Finally the --- length of the identifier is added in. This way the hash depends on the --- chars as well as the length, and appears to be sufficiently unique, --- and is FAST to COMPUTE, unlike the previous hash function... --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC uint16 -Hash( id, phv )/* -================= - This function computes the identifier's hash value and returns the hash - value modulo the key size as well as the full hash value. The reason - for returning both is so that hash table searches can be sped up. You - compare hash keys instead and compare strings only for those whose 32-bit - hash keys match. (not many) */ - -char *id; /* value */ -uint32 *phv; /* key */ -{ - register char *p = id; - register uint32 hash = (uint32) 0; - - while( *p ) hash = (hash << 7) + hash + (uint32) (*p++); - *phv = hash = hash + (uint32) (p-id); - - /* return an index (for Macs[]) where all keys with the same remainder - * after integer division with HASH_TABLE_SIZE are stored. */ - return( (uint16) (hash % HASH_TABLE_SIZE) ); -} - diff --git a/dmake/imacs.c b/dmake/imacs.c deleted file mode 100644 index 4b30f2803d52..000000000000 --- a/dmake/imacs.c +++ /dev/null @@ -1,206 +0,0 @@ -/* RCS $Id: imacs.c,v 1.9 2008-03-05 18:29:01 kz Exp $ --- --- SYNOPSIS --- Define default internal macros. --- --- DESCRIPTION --- This file adds to the internal macro tables the set of default --- internal macros, and for those that are accessible internally via --- variables creates these variables, and initializes them to point --- at the default values of these macros. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -static void _set_int_var ANSI((char *, char *, int, int *)); -static void _set_string_var ANSI((char *, char *, int, char **)); -static void _set_bit_var ANSI((char *, char *, int)); - - -PUBLIC void -Make_rules()/* -============== - Parse the strings stored in Rule_tab (from ruletab.c). */ -{ - Parse(NIL(FILE)); -} - - -#define M_FLAG M_DEFAULT | M_EXPANDED - -/* -** Add to the macro table all of the internal macro variables plus -** create secondary variables which will give access to their values -** easily, both when needed and when the macro value is modified. -** The latter is accomplished by providing a flag in the macro and a field -** which gives a pointer to the value if it is a char or string macro value -** and a mask representing the bit of the global flag register that is affected -** by this macro's value. -*/ -PUBLIC void -Create_macro_vars() -{ - static char* switchar; - static char* version; - char swchar[2]; - char buf[20]; - - swchar[0] = Get_switch_char(), swchar[1] = '\0'; - _set_string_var("SWITCHAR", swchar, M_PRECIOUS, &switchar); - if (*swchar == '/') - DirSepStr = "\\"; - else -#if (_MPW) - DirSepStr = ":"; -#elif defined( __EMX__BACKSLASH) - /* Use '\' for OS/2 port. */ - DirSepStr = "\\"; -#else - DirSepStr = "/"; -#endif - _set_string_var("DIRSEPSTR", DirSepStr, M_DEFAULT,&DirSepStr); - _set_string_var("DIRBRKSTR", DirBrkStr, M_DEFAULT, &DirBrkStr); - swchar[0] = DEF_ESCAPE_CHAR, swchar[1] = '\0'; - _set_string_var(".ESCAPE_PREFIX", swchar, M_FLAG, &Escape_char); - - /* Each one the following attributes corresponds to a bit of - * Glob_attr. */ - _set_bit_var(".SILENT", "", A_SILENT ); - _set_bit_var(".IGNORE", "", A_IGNORE ); - _set_bit_var(".PRECIOUS", "", A_PRECIOUS); - _set_bit_var(".EPILOG", "", A_EPILOG ); - _set_bit_var(".PROLOG", "", A_PROLOG ); - _set_bit_var(".NOINFER", "", A_NOINFER ); - _set_bit_var(".SEQUENTIAL","",A_SEQ ); - _set_bit_var(".USESHELL", "", A_SHELL ); - /* .SWAP (MSDOS) and .WINPATH (cygwin) share the same bit. */ - _set_bit_var(".SWAP", "", A_SWAP ); - _set_bit_var(".WINPATH", "", A_WINPATH ); - _set_bit_var(".MKSARGS", "", A_MKSARGS ); - _set_bit_var(".IGNOREGROUP","",A_IGNOREGROUP); - - Glob_attr = A_DEFAULT; /* set all flags to NULL */ - - _set_string_var("SHELL", "", M_DEFAULT, &Shell ); - _set_string_var("SHELLFLAGS", " ", M_DEFAULT, &Shell_flags ); - _set_string_var("SHELLCMDQUOTE","", M_DEFAULT, &Shell_quote ); - _set_string_var("GROUPSHELL", "", M_DEFAULT, &GShell ); - _set_string_var("GROUPFLAGS", " ", M_DEFAULT, &GShell_flags); - _set_string_var("SHELLMETAS", "", M_DEFAULT, &Shell_metas ); - _set_string_var("GROUPSUFFIX", "", M_DEFAULT, &Grp_suff ); - _set_string_var("AUGMAKE",NIL(char), M_DEFAULT, &Augmake ); - _set_string_var("OOODMAKEMODE", "", M_DEFAULT, &OOoDmMode ); - _set_string_var(".KEEP_STATE", "", M_DEFAULT, &Keep_state ); - _set_string_var(".NOTABS", "", M_MULTI, &Notabs ); - _set_string_var(".DIRCACHE", "y", M_DEFAULT, &UseDirCache ); - -#if CASE_INSENSITIVE_FS -#define DIRCACHERESPCASEDEFAULT "" -#else -#define DIRCACHERESPCASEDEFAULT "y" -#endif - _set_string_var(".DIRCACHERESPCASE", DIRCACHERESPCASEDEFAULT, M_DEFAULT, &DcacheRespCase); - - _set_string_var("MAKEDIR",Get_current_dir(),M_PRECIOUS|M_NOEXPORT, - &Makedir_macval); - Makedir = DmStrDup(Makedir_macval); /* Later done by Def_macro(). */ - _set_string_var("MAKEVERSION", VERSION, M_PRECIOUS, &version); - _set_string_var("PWD", Makedir, M_PRECIOUS|M_NOEXPORT, &Pwd_macval); - Pwd = DmStrDup(Pwd_macval); /* Later done by Def_macro(). */ - _set_string_var("TMD", ".", M_PRECIOUS|M_NOEXPORT, &Tmd_macval); - Tmd = DmStrDup(Tmd_macval); /* Later done by _set_tmd(). */ - - Def_macro("NULL", "", M_PRECIOUS|M_NOEXPORT|M_FLAG); - - /* Initialize a macro that contains a space. As leading and trailing - * spaces are stripped by Def_macro a little cheating is necessary. */ - _set_string_var("SPACECHAR", "x", M_PRECIOUS|M_NOEXPORT|M_FLAG, &Spacechar ); - Spacechar[0] = ' '; - - _set_int_var( "MAXLINELENGTH", "0", M_DEFAULT|M_NOEXPORT, &Buffer_size ); - _set_int_var( "PREP", "0", M_DEFAULT, &Prep ); - (void) Def_macro("MAXLINELENGTH", "1024", M_FLAG | M_DEFAULT); - - /* MAXPROCESSLIMIT is overwritten by the ruletab.c settings. Set its - * initial value high so that it allows MAXPROCESS to be changed - * from the command line. */ - _set_int_var( "MAXPROCESSLIMIT", "100", M_DEFAULT|M_NOEXPORT,&Max_proclmt ); -#if defined(USE_CREATEPROCESS) - /* Set the OS early enough. */ - Max_proclmt = MAXIMUM_WAIT_OBJECTS; -#endif - _set_int_var( "MAXPROCESS", "1", M_DEFAULT|M_NOEXPORT, &Max_proc ); - sprintf(buf,"%d",NAME_MAX); - _set_int_var( "NAMEMAX", buf, M_DEFAULT|M_NOEXPORT, &NameMax); -} - - -/* -** Define an integer variable value, and set up the macro. -*/ -static void -_set_int_var(name, val, flag, var) -char *name; -char *val; -int flag; -int *var; -{ - HASHPTR hp; - - hp = Def_macro(name, val, M_FLAG | flag); - hp->ht_flag |= M_VAR_INT | M_MULTI | M_INIT; - hp->MV_IVAR = var; - *var = atoi(val); -} - - -/* -** Define a string variables value, and set up the macro. -*/ -static void -_set_string_var(name, val, flag, var) -char *name; -char *val; -int flag; -char **var; -{ - HASHPTR hp; - - hp = Def_macro(name, val, M_FLAG | flag); - hp->ht_flag |= M_VAR_STRING | M_MULTI | M_INIT; - hp->MV_SVAR = var; - *var = hp->ht_value; -} - - -/* Define a bit variable value, and set up the macro. Each of the bits - * corresponds to an attribute bit of Glob_attr. */ -static void -_set_bit_var(name, val, mask) -char *name; -char *val; -int mask; -{ - HASHPTR hp; - - hp = Def_macro(name, val, M_FLAG); - hp->ht_flag |= M_VAR_BIT | M_MULTI | M_INIT; - hp->MV_MASK = mask; - hp->MV_BVAR = &Glob_attr; -} diff --git a/dmake/infer.c b/dmake/infer.c deleted file mode 100644 index 02682bc16f19..000000000000 --- a/dmake/infer.c +++ /dev/null @@ -1,909 +0,0 @@ -/* $RCSfile: infer.c,v $ --- $Revision: 1.8 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:39:49 $ --- --- SYNOPSIS --- Infer how to make a target. --- --- DESCRIPTION --- This file contains the code to infer a recipe, and possibly some new --- prerequisites for a target which dmake does not know how to make, or --- has no explicit recipe. --- --- The inference fails if no path through the inference graph can be --- found by which we can make the target. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* attributes that get transfered from the % start cell to the inferred - * cells. */ - -#define A_TRANSFER (A_EPILOG | A_PRECIOUS | A_SILENT | A_SHELL | A_SETDIR |\ - A_SEQ | A_LIBRARY | A_IGNORE | A_PROLOG | A_SWAP |\ - A_PHONY | A_NOSTATE ) - - -/* Define local static functions */ -static DFALINKPTR dfa_subset ANSI((DFALINKPTR, DFASETPTR)); -static void free_dfas ANSI((DFALINKPTR)); -static int count_dots ANSI((char *)); -static char * buildname ANSI((char *, char *, char *)); -static void free_icells ANSI((void)); -static ICELLPTR union_iset ANSI((ICELLPTR, ICELLPTR)); -static ICELLPTR add_iset ANSI((ICELLPTR,ICELLPTR,CELLPTR,DFALINKPTR, - CELLPTR,int,int,char *,char *, int)); -static ICELLPTR derive_prerequisites ANSI((ICELLPTR, ICELLPTR *)); -static char * dump_inf_chain ANSI((ICELLPTR, int, int)); - -#ifdef DBUG -static void _dump_dfa_stack ANSI((DFALINKPTR, DFASETPTR)); -static void _dump_iset ANSI(( char *, ICELLPTR )); -#endif - - -PUBLIC void -Infer_recipe( cp, setdirroot )/* -================================ - Perform a breadth-first search of the inference graph and return if - possible an inferred set of prerequisites for making the current target. */ -CELLPTR cp; -CELLPTR setdirroot; -{ - ICELLPTR nomatch, match; - - DB_ENTER("Infer_recipe"); - - if( cp->ce_attr & A_NOINFER ) {DB_VOID_RETURN;} - - DB_PRINT("inf", ("Inferring rule for [%s]", cp->CE_NAME)); - - match = NIL(ICELL); - { - char *tmp; - nomatch = add_iset( NIL(ICELL), NIL(ICELL), NIL(CELL), NIL(DFALINK), - setdirroot, Prep+count_dots(cp->CE_NAME), 0, - tmp = DmStrDup(cp->CE_NAME), NIL(char), - cp->ce_time != (time_t)0L); - FREE(tmp); - } - - /* Make sure we try whole heartedly to infer at least one suffix */ - if( nomatch->ic_dmax == 0 ) ++nomatch->ic_dmax; - - DB_EXECUTE( "inf", _dump_iset("nomatch",nomatch); ); - - /* If nomatch is non-empty there was no match with an existing - * prerrequisite, try to derive one. */ - while( nomatch != NIL(ICELL) ) { - ICELLPTR new_nomatch = NIL(ICELL); - ICELLPTR ic, pmatch, mmatch; - CELLPTR prereq; - - for( ic=nomatch; ic != NIL(ICELL); ic=ic->ic_next ) { - int ipush = FALSE; - - if( ic->ic_dir ) ipush = Push_dir(ic->ic_dir, ic->ic_name, FALSE); - match = union_iset(match, derive_prerequisites(ic, &new_nomatch)); - if( ipush ) Pop_dir(FALSE); - } - - DB_EXECUTE( "inf", _dump_iset("match",match); ); - DB_EXECUTE( "inf", _dump_iset("nomatch",new_nomatch); ); - - /* We have now deduced the two sets MATCH and NOMATCH. MATCH holds the - * set of edges that we encountered that matched. If this set is empty - * then we can apply transitive closure (if enabled) to the elements of - * NOMATCH to see if we can find some other method to make the target. - * - * If MATCH is non-empty, we have found a method for making the target. - * It is the shortest method for doing so (ie. uses fewest number of - * steps). If MATCH contains more than one element then we have a - * possible ambiguity. - */ - if( match == NIL(ICELL) ) { - nomatch = new_nomatch; - - /* Skip the rest and try one level deeper. */ - if( Transitive ) continue; - - goto all_done; - } - - /* Ok, we have a set of possible matches in MATCH, we should check the - * set for ambiguity. If more than one inference path exists of the - * same depth, then we may issue an ambiguous inference error message. - * - * The message is suppressed if MATCH contains two elements and one of - * them is the empty-prerequisite-rule. In this case we ignore the - * ambiguity and take the rule that infers the prerequisite. - * - * Also if there are any chains that rely on a non-existant prerequisite - * that may get made because it has a recipe then we prefer any that - * rely on existing final prerequisites over those that we have to make. - */ - - /* Split out those that have to be made from those that end in - * prerequisites that already exist. */ - pmatch = mmatch = NIL(ICELL); - for(; match; match = ic ) { - /* This loop checks all possible matches. */ - DB_PRINT("inf", ("Target [%s] : prerequisite [%s]", - match->ic_meta->CE_NAME, match->ic_name)); - - ic = match->ic_next; - match->ic_next = NIL(ICELL); - - if( match->ic_exists ) - pmatch = union_iset(pmatch, match); - else - mmatch = union_iset(mmatch, match); - } - - /* Prefer %-targets with existing prerequisites. */ - if( pmatch ) - match = pmatch; - else - match = mmatch; - - /* Make sure it is unique. It would be easy to check - * match->ic_meta->ce_prq for existence and prefer no prerequisites - * over prerequisites that are present, but we are currently not - * doing it. */ - if( match->ic_next != NIL(ICELL) ) { - int count = 1; - - Warning( "Ambiguous inference chains for target '%s'", cp->CE_NAME ); - for( ic=match; ic; ic=ic->ic_next ) - (void) dump_inf_chain(ic, TRUE, count++); - Warning( "First matching rule is chosen."); - } - - /* MATCH now points at the derived prerequisite chain(s). We must now - * take cp, and construct the correct graph so that the make may - * proceed. */ - - /* The folowing shows only the first element, i.e. the last matching - * recipe that was found. */ - if( Verbose & V_INFER ) { - char *tmp = dump_inf_chain(match, TRUE, FALSE); - printf("%s: Inferring prerequistes and recipes using:\n%s: ... %s\n", - Pname, Pname, tmp ); - FREE(tmp); - } - - pmatch = NIL(ICELL); - prereq = NIL(CELL); - - /* This loop treats the inferred targets last to first. */ - while( match ) { - CELLPTR infcell=NIL(CELL); - - /* Compute the inferred prerequisite first. */ - if( match->ic_name ) { - if( match->ic_meta ) - infcell = Def_cell( match->ic_name ); - else - infcell = cp; - - infcell->ce_flag |= F_TARGET; - - if( infcell != cp ) { - infcell->ce_flag |= F_INFER|F_REMOVE; - DB_PRINT("remove", ("Mark for deletion [%s]", - infcell->CE_NAME)); - } - - if( !match->ic_flag ) - infcell->ce_attr |= A_NOINFER; - } - - /* Add global prerequisites from previous rule if there are any and - * the recipe. */ - if( pmatch ) { - CELLPTR imeta = pmatch->ic_meta; - LINKPTR lp; - - DB_PRINT("inf", ("%%-target [%s] - infered target [%s]\n", - imeta->CE_NAME, infcell->CE_NAME)); - - infcell->ce_per = pmatch->ic_dfa->dl_per; - infcell->ce_attr |= (imeta->ce_attr & A_TRANSFER); - - /* The .PHONY mechanism relies on having phony targets not - * being STATed and having a zero time stamp. While inferring - * the this target it might have been created and stated - * therefore these values need to be reset. */ - if( infcell->ce_attr & A_PHONY ){ - infcell->ce_time = 0L; - infcell->ce_flag &= ~F_STAT; - } - - if( !(infcell->ce_flag & F_RULES) ) { - infcell->ce_flag |= (imeta->ce_flag&(F_SINGLE|F_GROUP))|F_RULES; - infcell->ce_recipe = imeta->ce_recipe; - } - - /* Add any conditional macro definitions that may be associated - * with the inferred cell. */ - if (imeta->ce_cond != NIL(STRING)) { - STRINGPTR sp,last; - - last = infcell->ce_cond; - for(sp=imeta->ce_cond; sp; sp=sp->st_next) { - STRINGPTR new; - TALLOC(new, 1, STRING); - new->st_string = DmStrDup(sp->st_string); - if(last) - last->st_next = new; - else - infcell->ce_cond = new; - last = new; - } - } - - pmatch->ic_dfa->dl_per = NIL(char); - - /* If infcell already had a .SETDIR directory set then modify it - * based on whether it was the original cell or some intermediary. */ - if( imeta->ce_dir ) { - if( infcell->ce_dir && infcell == cp ) { - /* cp->ce_dir was set and we have pushed the directory prior - * to calling this routine. - * We build a new path by appending imeta->ce_dir to the - * current directory of the original cell. - * We should therefore pop it and push the new concatenated - * directory required by the inference. - * This leaks memory as cp->ce_dir is not freed before - * setting the new the new infcell->ce_dir value but as - * the pointer could be a `A_POOL` member we accept this. */ - infcell->ce_dir = DmStrDup(Build_path(infcell->ce_dir, - imeta->ce_dir)); - } - else { - /* Inherit a copy of the .SETDIR value. Use a copy because - * the original could have been freed in the meantime - * in Make() by the FREE() before _pool_lookup(). This can - * also leak if infcell->ce_dir was set before. */ - infcell->ce_dir = DmStrDup(imeta->ce_dir); - } - } - - for( lp=imeta->ce_indprq; lp != NIL(LINK); lp=lp->cl_next ) { - char *name = lp->cl_prq->CE_NAME; - CELLPTR tcp; - - name = buildname( cp->CE_NAME, name, infcell->ce_per ); - tcp = Def_cell( name ); - tcp->ce_flag |= F_REMOVE; - Add_prerequisite( infcell, tcp, FALSE, FALSE ); - - if( Verbose & V_INFER ) - printf( "%s: Inferred indirect prerequisite [%s]\n", - Pname, name ); - FREE(name); - } - } - - /* Add the previous cell as the prerequisite */ - if( prereq ) - (Add_prerequisite(infcell,prereq,FALSE,FALSE))->cl_flag |=F_TARGET; - - pmatch = match; /* Previous member in inference chain ... */ - prereq = infcell; /* is a prerequisite to the next match. */ - /* ip->ic_parent is the next target in the inference chain to be - * build. If it is empty we are done. */ - match = match->ic_parent; - } - - DB_PRINT("inf", ("Terminated due to a match")); - break; - } - - all_done: - free_icells(); - - DB_VOID_RETURN; -} - - -static ICELLPTR -derive_prerequisites( ic, nnmp )/* -=================================== - Take a cell and derive a set of prerequisites from the cell. Categorize - them into those that MATCH (ie. those that we found in the file system), - and those that do not match NOMATCH that we may possibly have a look at - later. When we process the next level of the breadth-first search. - - Once MATCH is non-empty we will stop inserting elements into NOMATCH - since we know that either MATCH is successful and unique or it will - issue an ambiguity error. We will never go on to look at elements - in NOMATCH after wards. */ -ICELLPTR ic; -ICELLPTR *nnmp; -{ - ICELLPTR match = NIL(ICELL); - DFALINKPTR pdfa; - DFALINKPTR dfas; - - DB_ENTER("derive_prerequisites"); - - DB_PRINT("inf", ("for [%s]\n", ic->ic_name)); - - /* If none of the inference nodes match then forget about the inference. - * The user did not tell us how to make such a target. We also stop the - * Inference if the new set of DFA's is a proper subset of a previous - * subset and it's PREP counts exceed the value of Prep. - */ - dfas = dfa_subset( Match_dfa(ic->ic_name), &ic->ic_dfastack ); - - DB_EXECUTE("inf", _dump_dfa_stack(dfas, &ic->ic_dfastack); ); - - /* Ok, we have nothing here to work with so return an empty cell. */ - if( dfas == NIL(DFALINK) ) { - DB_PRINT( "mem", ("%s:<- mem %ld",ic->ic_name, (long)coreleft())); - DB_PRINT( "inf", ("<<< Exit, no dfas, cp = %04x", NIL(CELL)) ); - DB_RETURN( NIL(ICELL) ); - } - - /* Save the dfas, we are going to use on the stack for this cell. */ - ic->ic_dfastack.df_set = dfas; - - /* Run through the %-meta cells, build the prerequisite cells. For each - * %-meta go through it's list of edges and try to use each in turn to - * deduce a likely prerequisite. We perform a breadth-first search - * matching the first path that results in a unique method for making the - * target. */ - for( pdfa = dfas; pdfa != NIL(DFALINK); pdfa = pdfa->dl_next ) { - LINK tl; - LINKPTR edge; - CELLPTR pmeta; - - pmeta = pdfa->dl_meta; - DB_PRINT( "inf", ("Using dfa: [%s]", pmeta->CE_NAME) ); - - /* If the %-meta is a singleton meta then deal with it differently from - * the case when it is a bunch of %-meta's found on the original entries - * prerequisite list. */ - if( pmeta->ce_flag & F_MULTI ) - edge = pmeta->ce_prq; - else { - tl.cl_prq = pmeta; - tl.cl_next = NIL(LINK); - edge = &tl; - } - - /* Now run through the list of prerequisite edge's for the %-meta. */ - for( ; edge != NIL(LINK); edge = edge->cl_next ) { - HASHPTR thp = 0; /* temporary hash table pointer */ - HASH iprqh; /* hash cell for new prerequisite */ - CELL iprq; /* inferred prerequisite to look for */ - CELLPTR idirroot; /* Inferred prerequisite root */ - CELLPTR nidirroot; /* Inferred prerequisite root */ - STRINGPTR ircp = 0; /* Inferred prerequisites recipe */ - char *idir; /* directory to CD to. */ - int ipush = 0; /* flag for push on inferred prereq */ - char *name = NIL(char); /* prerequisite name */ - CELLPTR meta = edge->cl_prq; - int dmax_fix; - int trans; - int noinf; - int exists; - - /* Name of the prerequisite, can be empty. */ - if( meta->ce_prq ) - name = meta->ce_prq->cl_prq->CE_NAME; - - DB_PRINT( "inf", ("Trying edge from [%s] to [%s] for [%s]", - meta->CE_NAME, name?name:"(nil)", ic->ic_name) ); - - /* Set the temp CELL used for building prerequisite candidates to - * all zero so that we don't have to keep initializing all the - * fields. */ - { - register char *s = (char *) &iprq; - register int n = sizeof(CELL); - while( n ) { *s++ = '\0'; n--; } - } - - nidirroot = idirroot = ic->ic_setdirroot; - iprq.ce_name = &iprqh; - - if( name ) { - /* Build the prerequisite name from the %-meta prerequisite given - * for the %-meta rule. */ - iprqh.ht_name = buildname( ic->ic_name, name, pdfa->dl_per ); - if((dmax_fix = (count_dots(name)-count_dots(meta->CE_NAME))) < 0) - dmax_fix = 0; - - if( !strcmp(ic->ic_name, iprqh.ht_name) || - (count_dots(iprqh.ht_name) > ic->ic_dmax + dmax_fix) ) { - FREE( iprqh.ht_name ); - continue; - } - - DB_PRINT( "inf", ("Checking prerequisite [%s]", iprqh.ht_name) ); - - /* See if the prerequisite CELL has been previously defined. If - * it has, then make a copy of it into iprq, and use it to try - * the inference. We make the copy so that we don't modify the - * stat of the inferred cell if the inference fails. - */ - thp = Get_name( iprqh.ht_name, Defs, FALSE ); - if(thp != NIL(HASH)) { - iprq = *thp->CP_OWNR; - /* Check if a recipe for this target exists. Targets with F_MULTI - * set need each cell checked for existing recipes. - */ - if( iprq.ce_flag & F_MULTI ) { - /* Walk through all cells of this target. */ - LINKPTR mtcp = iprq.ce_prq; - ircp = NIL(STRING); - for( ; mtcp != NIL(LINK); mtcp = mtcp->cl_next ) { - /* If a recipe is found stop searching and set ircp to that result. - * ircp is not used but only checked if it is set. - */ - if( mtcp->cl_prq->ce_recipe != NIL(STRING) ) { - ircp = mtcp->cl_prq->ce_recipe; - break; - } - } - } - else - ircp = iprq.ce_recipe; - } - else - ircp = NIL(STRING); - } - else - iprqh.ht_name = NIL(char); - - - /* If the %-meta has a .SETDIR set then we change to the new - * directory prior to performing the stat of the new prerequisite. - * If the change of directory fails then the rule is droped from - * further consideration. - */ - if( iprq.ce_dir ) { - if( (ipush = Push_dir(iprq.ce_dir, iprqh.ht_name, TRUE)) != 0 ) { - nidirroot = thp->CP_OWNR; - idir = Pwd; - } - else { - if( iprqh.ht_name ) FREE( iprqh.ht_name ); - continue; - } - } - else - idir = NIL(char); - - - /* Stat the inferred prerequisite. - */ - if( name ) { - if( Verbose & V_INFER ) - printf( "%s: Trying prerequisite [%s] for [%s]\n", Pname, - iprqh.ht_name, ic->ic_name ); - - /* irpq is a temporary target cell, a stat will not be remembered. */ - if( !(iprq.ce_flag & F_STAT) ) Stat_target(&iprq, FALSE, FALSE); - } - - - /* If the STAT succeeded or if the prerequisite has a recipe for - * making it then it's a match and a candidate for getting infered. - * Otherwise it is not a match, and we cannot yet tell if it is - * going to be a successful path to follow, so we save it for - * later consideration. - */ - noinf = ((Glob_attr)&A_NOINFER); - if( meta->ce_prq ) - noinf |= ((meta->ce_prq->cl_prq->ce_attr)&A_NOINFER); - trans = Transitive || !noinf; - - /* If no prereq is given treat it as if it is existing. */ - exists = (iprq.ce_time != (time_t)0L) || (name == NIL(char)); - - if( exists || (ircp != NIL(STRING)) || !name ) { - match = add_iset( match, ic, meta, pdfa, idirroot, ic->ic_dmax, - trans, iprq.ce_name->ht_name, idir, exists ); - DB_PRINT("inf",("Added to MATCH %s",iprq.ce_name->ht_name)); - } - else if( !noinf && match == NIL(ICELL) ) { - *nnmp = add_iset( *nnmp, ic, meta, pdfa, nidirroot, ic->ic_dmax, - trans, iprq.ce_name->ht_name, idir, exists ); - DB_PRINT("inf",("Added to NOMATCH %s",iprq.ce_name->ht_name)); - } - - /* If we pushed a directory for the inferred prerequisite then - * pop it. - */ - if( ipush ) Pop_dir(FALSE); - if( iprqh.ht_name ) FREE(iprqh.ht_name); - } - } - - DB_RETURN(match); -} - - -static char * -buildname( tg, meta, per )/* -============================ - Replace '%' with per in meta. Expand the result and return it. */ -char *tg; /* Current target name. */ -char *meta; -char *per; -{ - char *name; - - name = Apply_edit( meta, "%", per, FALSE, FALSE ); - /* Handle infered dynamic prerequisites. */ - if( strchr(name, '$') ) { - HASHPTR m_at; - char *tmp; - - /* Set $@ so that a Expand() can use it and remove it afterwards. */ - /* Is $@ already expanded? FIXME: Remove this check later. */ - if( *DmStrPbrk( tg, "${}" ) != '\0' ) - Fatal("$@ [%s] not fully expanded!", tg); - m_at = Def_macro( "@", DO_WINPATH(tg), M_MULTI|M_EXPANDED ); - tmp = Expand( name ); - - if( m_at->ht_value != NIL(char) ) { - FREE( m_at->ht_value ); - m_at->ht_value = NIL(char); - } - - /* Free name if Apply_edit() did something. */ - if( name != meta ) FREE( name ); - name = tmp; - } - else if( name == meta ) - name = DmStrDup( name ); - - return(name); -} - - -static DFALINKPTR -dfa_subset( pdfa, stack )/* -============================ - This is the valid DFA subset computation. Whenever a CELL has a Match_dfa - subset computed this algorithm is run to see if any of the previously - computed sets on the DFA stack are proper subsets of the new set. If they - are, then any elements of the matching subset whose Prep counts exceed - the allowed maximum given by Prep are removed from the computed DFA set, - and hence from consideration, thereby cutting off the cycle in the - inference graph. */ -DFALINKPTR pdfa; -register DFASETPTR stack; -{ - register DFALINKPTR element; - DFALINKPTR nelement; - - DB_ENTER( "dfa_subset" ); - - DB_PRINT("inf",("Computing DFA subset, PREP = %d",Prep)); - DB_EXECUTE("inf", _dump_dfa_stack(pdfa, stack); ); - - for(; pdfa != NIL(DFALINK) && stack != NIL(DFASET); stack = stack->df_next) { - int subset = TRUE; - - for( element=stack->df_set; subset && element != NIL(DFALINK); - element=element->dl_next ) { - register DFALINKPTR subel; - - for( subel = pdfa; - subel != NIL(DFALINK) && (subel->dl_meta != element->dl_meta); - subel = subel->dl_next ); - - DB_PRINT("inf",("Looking for %s, (%s)",element->dl_meta->CE_NAME, - (subel != NIL(DFALINK))?"succ":"fail")); - - if( (subset = (subel != NIL(DFALINK))) != 0 ) - element->dl_member = subel; - } - - if( subset ) - for( element=stack->df_set; element != NIL(DFALINK); - element=element->dl_next ) { - DFALINKPTR mem = element->dl_member; - int npr = element->dl_prep + 1; - - if( npr > Prep ) - mem->dl_delete++; - else - mem->dl_prep = npr; - } - } - - for( element = pdfa; element != NIL(DFALINK); element = nelement ) { - nelement = element->dl_next; - - if( element->dl_delete ) { - /* A member of the subset has a PREP count equal to PREP, so - * it should not be considered further in the inference, hence - * we remove it from the doubly linked set list */ - if( element == pdfa ) - pdfa = element->dl_next; - else - element->dl_prev->dl_next = element->dl_next; - - if( element->dl_next != NIL(DFALINK) ) - element->dl_next->dl_prev = element->dl_prev; - - DB_PRINT("inf", ("deleting dfa [%s]", element->dl_meta->CE_NAME)); - FREE( element->dl_per ); - FREE( element ); - } - } - - DB_RETURN( pdfa ); -} - - - -static void -free_dfas( chain )/* -===================== - Free the list of DFA's constructed by Match_dfa, and linked together by - LINK cells. FREE the % value as well, as long as it isn't NIL. */ -DFALINKPTR chain; -{ - register DFALINKPTR tl; - - DB_ENTER( "free_dfas" ); - - for( tl=chain; tl != NIL(DFALINK); chain = tl ) { - tl = tl->dl_next; - - DB_PRINT( "inf", ("Freeing DFA [%s], %% = [%s]", chain->dl_meta->CE_NAME, - chain->dl_per) ); - - if( chain->dl_per != NIL(char) ) FREE( chain->dl_per ); - FREE( chain ); - } - - DB_VOID_RETURN; -} - - -static int -count_dots( name )/* -=====================*/ -char *name; -{ - register char *p; - register int i = 0; - - for( p = name; *p; p++ ) if(*p == '.') i++; - - return( i ); -} - - -static ICELLPTR _icells = NIL(ICELL); -#ifdef DBUG -static int _icell_cost = 0; -#endif - -static ICELLPTR -add_iset( iset, parent, meta, dfa, setdirroot, dmax, noinf, name, dir, exists) -ICELLPTR iset; -ICELLPTR parent; -CELLPTR meta; -DFALINKPTR dfa; -CELLPTR setdirroot; -int dmax; -int noinf; -char *name; -char *dir; -int exists; -{ - ICELLPTR icell; - - DB_ENTER("add_iset"); - TALLOC(icell, 1, ICELL); - - DB_EXECUTE("inf", _icell_cost+=(sizeof(ICELL)+strlen(dir?dir:"")+strlen(name?name:"")+2);); - - icell->ic_meta = meta; - icell->ic_dfa = dfa; - icell->ic_setdirroot = setdirroot; - - if( parent ) icell->ic_dfastack.df_next = &parent->ic_dfastack; - - icell->ic_dmax = dmax; - icell->ic_dir = DmStrDup(dir); - icell->ic_name = DmStrDup(name); - icell->ic_parent = parent; - icell->ic_next = iset; - icell->ic_flag = noinf; - icell->ic_exists = exists; - - icell->ic_link = _icells; - _icells = icell; - - DB_RETURN(icell); -} - - -static void -free_icells() -{ - register ICELLPTR ic; - - DB_ENTER("free_icells"); - - for( ; _icells; _icells = ic ) { - ic = _icells->ic_link; - - free_dfas(_icells->ic_dfastack.df_set); - if( _icells->ic_dir ) FREE(_icells->ic_dir); - if( _icells->ic_name) FREE(_icells->ic_name); - FREE(_icells); - } - - DB_PRINT("inf",("Used %d memory for icells",_icell_cost)); - DB_EXECUTE("inf", _icell_cost=0; ); - - DB_VOID_RETURN; -} - - -static ICELLPTR -union_iset( iset, uset ) -ICELLPTR iset; -ICELLPTR uset; -{ - register ICELLPTR ic; - - if( iset == NIL(ICELL) ) return(uset); - - for( ic=iset; ic->ic_next != NIL(ICELL); ic=ic->ic_next ); - ic->ic_next = uset; - - return(iset); -} - - -static char * -dump_inf_chain( ip, flag, print )/* -=================================== -Return string with infered prerequisites. -flag == TRUE adds the top of the chain. -print == TRUE prints to screen with number "print" and returns NULL. */ -ICELLPTR ip; -int flag; -int print; -{ - char *tmp; - - if( ip == NIL(ICELL) ) return(NIL(char)); - - /* ip->ic_parent is the target to be build after ip. */ - tmp = dump_inf_chain(ip->ic_parent, FALSE, FALSE); - - if( ip->ic_meta ) { - tmp = DmStrJoin(tmp, "(", -1, TRUE); - tmp = DmStrJoin(tmp, ip->ic_meta->CE_NAME, -1, TRUE); - - if( ip->ic_dir && !*ip->ic_dir ) { - tmp = DmStrJoin(tmp, "[", -1, TRUE); - if( strncmp(Makedir,ip->ic_dir, strlen(Makedir)) ) - tmp = DmStrJoin(tmp, ip->ic_dir, -1, TRUE); - else - tmp = DmStrJoin(tmp, ip->ic_dir+strlen(Makedir)+1, -1, TRUE); - tmp = DmStrJoin(tmp, "]", -1, TRUE); - } - tmp = DmStrJoin(tmp, (ip->ic_name)?") -->":")", -1, TRUE); - } - - if( ip->ic_name ) tmp = DmStrApp( tmp, ip->ic_name ); - - if( flag && ip->ic_meta->ce_prq) { - tmp = DmStrJoin(tmp, "(", -1, TRUE); - tmp = DmStrJoin(tmp, ip->ic_meta->ce_prq->cl_prq->CE_NAME, -1, TRUE); - tmp = DmStrJoin(tmp, ")", -1, TRUE); - } - - if( print ) { - fprintf( stderr, "%s: %2d. %s\n", Pname, print, tmp ); - FREE(tmp); - tmp = NIL(char); - } - - return(tmp); -} - - -#ifdef DBUG -static void -_dump_dfa_stack(dfas, dfa_stack) -DFALINKPTR dfas; -DFASETPTR dfa_stack; -{ - register DFALINKPTR pdfa; - char *tmp = NIL(char); - DFASETPTR ds; - - for( pdfa = dfas; pdfa != NIL(DFALINK); pdfa = pdfa->dl_next ) - tmp = DmStrApp( tmp, pdfa->dl_meta->CE_NAME ); - - tmp = DmStrApp( tmp, ":: {" ); - for( ds = dfa_stack; ds != NIL(DFASET); ds = ds->df_next ) { - tmp = DmStrApp( tmp, "[" ); - for( pdfa = ds->df_set; pdfa != NIL(DFALINK); pdfa = pdfa->dl_next ) - tmp = DmStrApp( tmp, pdfa->dl_meta->CE_NAME ); - tmp = DmStrApp( tmp, "]" ); - } - tmp = DmStrApp( tmp, "}" ); - - printf( "DFA set and stack contents:\n%s\n", tmp ); - FREE(tmp); -} - - -static void -_dump_iset( name, iset ) -char *name; -ICELLPTR iset; -{ - int cell = 0; - - printf( "**** ISET for %s\n", name ); - for( ; iset != NIL(ICELL); iset = iset->ic_next ){ - printf( "cell %d\n", cell++ ); - if( iset->ic_meta ) - printf( "edge: %s --> %s\n", iset->ic_meta->CE_NAME, - iset->ic_meta->ce_prq ? - iset->ic_meta->ce_prq->cl_prq->CE_NAME : - "(nil)" ); - else - printf( "edge: (nil)\n" ); - - if( iset->ic_dfa ) - printf( "dfa: %s\n", iset->ic_dfa->dl_meta->CE_NAME ); - else - printf( "dfa: (nil)\n" ); - - printf( "sdr: %p\n", iset->ic_setdirroot ); - _dump_dfa_stack(iset->ic_dfastack.df_set, &iset->ic_dfastack); - - printf( "dmax: %d\n", iset->ic_dmax ); - printf( "name: %s\n", iset->ic_name ); - printf( "dir: %s\n", iset->ic_dir?iset->ic_dir:"(nil)" ); - - printf( "parent: " ); - if( iset->ic_parent ) - if( iset->ic_parent->ic_meta ) - printf( "%s --> %s\n", - iset->ic_parent->ic_meta->CE_NAME, - iset->ic_parent->ic_meta->ce_prq ? - iset->ic_parent->ic_meta->ce_prq->cl_prq->CE_NAME : - "(nil)" ); - else - printf( "(nil)\n" ); - else - printf( "(nil)\n" ); - } - printf( "==================================\n" ); -} -#endif diff --git a/dmake/install-sh b/dmake/install-sh deleted file mode 100755 index 4d4a9519eaf8..000000000000 --- a/dmake/install-sh +++ /dev/null @@ -1,323 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2005-05-14.22 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dmake/itypes.h b/dmake/itypes.h deleted file mode 100644 index 86f7b54a5d65..000000000000 --- a/dmake/itypes.h +++ /dev/null @@ -1,82 +0,0 @@ -/* RCS $Id: itypes.h,v 1.3 2004-04-21 14:10:32 svesik Exp $ --- --- SYNOPSIS --- Type declarations for common types --- --- DESCRIPTION --- portable type declarations. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - - -#ifndef ITYPES_h -#define ITYPES_h - -#ifndef HAVE_INT8 - typedef unsigned char uint8; -#endif - -#ifndef HAVE_INT8 - typedef signed char int8; -#endif - -#if SIZEOF_SHORT == 2 -# ifndef HAVE_UINT16 - typedef unsigned short uint16; -# endif - -# ifndef HAVE_INT16 - typedef short int16; -# endif - -#elif SIZEOF_INT == 2 - -# ifndef HAVE_UNIT16 - typedef unsigned int uint16; -# endif - -# ifndef HAVE_INT16 - typedef int int16; -# endif -#else -# ifndef HAVE_INT16 -# error "No 2 byte type, you lose." -# endif -#endif -#if SIZEOF_INT == 4 -# ifndef HAVE_UINT32 - typedef unsigned int uint32; -# endif -# ifndef HAVE_INT32 - typedef int int32; -# endif -#elif SIZEOF_LONG == 4 -# ifndef HAVE_UINT32 - typedef unsigned long uint32; -# endif -# ifndef HAVE_INT32 - typedef long int32; -# endif -#else -# ifndef HAVE_INT32 -# error "No 4 byte type, you lose." -# endif -#endif - -#endif - diff --git a/dmake/mac/arlib.c b/dmake/mac/arlib.c deleted file mode 100644 index 2f06bca68f9e..000000000000 --- a/dmake/mac/arlib.c +++ /dev/null @@ -1,56 +0,0 @@ -/* RCS $Id: arlib.c,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $ --- --- SYNOPSIS --- Library access code. --- --- DESCRIPTION --- This implementation uses the library timestamp inplace of the --- library member timestamp. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC time_t -seek_arch(name, lib) -char* name; -char* lib; -{ - static int warned = FALSE; - - if (!warned && !(Glob_attr&A_SILENT)) - warned = TRUE, - Warning("Can't extract library member timestamp;\n\ - using library timestamp instead."); - return (Do_stat(lib, NULL, NULL, TRUE)); -} - -PUBLIC int -touch_arch(name, lib) -char* name; -char* lib; -{ - static int warned = FALSE; - - if (!warned && !(Glob_attr&A_SILENT)) - warned = TRUE, - Warning("Can't update library member timestamp;\n\ - touching library instead."); - return (Do_touch(lib, NULL, NULL)); -} - diff --git a/dmake/mac/bogus.c b/dmake/mac/bogus.c deleted file mode 100644 index efd7d39b9470..000000000000 --- a/dmake/mac/bogus.c +++ /dev/null @@ -1,99 +0,0 @@ -/* RCS $Id: bogus.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Write the shell of subroutines we can't or don't --- need to implement --- --- DESCRIPTION --- dmake uses a couple of functions which I am either unable to figure out --- how to implement or which are not needed. The shells of these routines --- are in this file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - - -/* - * tzset() is a Microsoft "extension" to ANSI C. It sets global - * variables telling if we are in dayling savings time, the time - * zone, and difference between the current time and GMT. - * None of these globals are used by dmake, so this routine is - * not needed - */ -PUBLIC void -tzset () -{ -} - - - -/* - * Add an environmental variable that child processes can use. - * Since MPW currently doesn't allow child processes, this isn't - * needed. - */ -PUBLIC int -putenv (char *pEnvString) -{ - return (0); -} - - - -/* - * Execute a child process. This may be able to be done with - * the MPW system() call someday, but cannot be done currently. - */ -PUBLIC int -runargv (CELLPTR target, int ignore, int, - int last, int shell, char *pCmd) -{ - static int warned = FALSE; - - if (!warned && !(Glob_attr & A_SILENT)) { - warned = TRUE; - Fatal ("Can't execute any targets: use '-n' option."); - } /* if */ - - return (0); -} /* int runargv () */ - - - -/* - * Wait for the child process to complete. Only needed to be implemented - * if we could executing multiple processes at once. - */ -PUBLIC int -Wait_for_child(int abort_flg, int pid) -{ - return (1); -} - - - -/* - * Do any cleanup for any processes when we quit. - */ -PUBLIC void -Clean_up_processes() -{ -} diff --git a/dmake/mac/config.mk b/dmake/mac/config.mk deleted file mode 100644 index 2a6806cff159..000000000000 --- a/dmake/mac/config.mk +++ /dev/null @@ -1,44 +0,0 @@ -# This is an OS Mac specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# - -STARTUPFILE = :$(OS):startup.mk - -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) :$(OBJDIR):{$(<:f)} -LDARGS = $(LDFLAGS) -o $@ $(LDOBJS) $(LDLIBS) - -# Debug flags -DB_CFLAGS = -sym on -DB_LDFLAGS = -sym on -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -sym off -NDB_LDFLAGS = -sym off -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I :$(OS) -d _MPW -s $(<:b) -LDFLAGS += -w -c 'MPS ' -t MPST - -# Since we writing out what files we want to execute, we can't use .SETDIR -# to specify the files to compile in the Mac directory. -# Instead, we copy the files to the (top-level) current directory and compile -# them there. -%.c : ":$(OS):%.c" - duplicate -y $< $@ - -# Common Mac source files. -OS_SRC = arlib.c bogus.c dirbrk.c directry.c environ.c main.c rmprq.c \ - ruletab.c tempnam.c tomacfil.c -.IF $(SHELL) != mwp - .SETDIR=$(OS) : $(OS_SRC) -.ENDIF -SRC += $(OS_SRC) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) diff --git a/dmake/mac/dirbrk.c b/dmake/mac/dirbrk.c deleted file mode 100644 index c584ad22cad1..000000000000 --- a/dmake/mac/dirbrk.c +++ /dev/null @@ -1,42 +0,0 @@ -/* RCS $Id: dirbrk.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Define the directory separator string. --- --- DESCRIPTION --- Define this string for any character that may appear in a path name --- and can be used as a directory separator. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* mac only uses ':' */ -char* DirBrkStr = ":"; - -/* -** Return TRUE if the name is the full specification of a path name to a file -** starting at the root of the file system, otherwise return FALSE -*/ -PUBLIC int -If_root_path(name) -char *name; -{ - return( (strchr(name, ':') != NIL(char)) && - (name[0] != ':') ); -} diff --git a/dmake/mac/directry.c b/dmake/mac/directry.c deleted file mode 100644 index b1d452d073ba..000000000000 --- a/dmake/mac/directry.c +++ /dev/null @@ -1,264 +0,0 @@ -/* RCS $Id: directry.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Fake directory and file functions for the Mac --- --- DESCRIPTION --- This file contains implementations for some ANSI standard routines dmake --- uses which are not otherwise available for the mac. --- --- Assume we are using at least 128K ROMS. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include -#include -#include -/* - * We now include LowMem.h instead of SysEqu.h as LowMem.h is what Apple recommends - * we use. - */ -#include -#include "extern.h" - - - -/* - * Implementation of stat function for dmake on the mac. - * - * Many fields aren't filled in, and the times are seconds from 1/1//1904, - * but it should be enough for dmake (I think we only need st_mtime and - * st_mode's S_IFDIR set correctly). - */ -PUBLIC int -stat(pPath, pStat) -char *pPath; -struct stat *pStat; -{ - CInfoPBRec infoPB; - OSErr err; - int retVal; - - infoPB.hFileInfo.ioCompletion = NULL; - infoPB.hFileInfo.ioNamePtr = c2pstr (pPath); - infoPB.hFileInfo.ioVRefNum = 0; - infoPB.hFileInfo.ioFDirIndex = 0; - infoPB.hFileInfo.ioDirID = 0; - err = PBGetCatInfo(&infoPB, FALSE); - p2cstr ((StringPtr) pPath); - - if (err == noErr) { - pStat->st_mtime = (time_t) infoPB.hFileInfo.ioFlMdDat; - pStat->st_ctime = (time_t) infoPB.hFileInfo.ioFlCrDat; - pStat->st_mode = S_IREAD | S_IEXEC; - - /* If it is a directory ... */ - if (infoPB.hFileInfo.ioFlAttrib & 0x10) { - pStat->st_size = infoPB.dirInfo.ioDrNmFls; - pStat->st_mode |= S_IFDIR; - } else { - pStat->st_size = infoPB.hFileInfo.ioFlLgLen; - pStat->st_mode |= S_IFREG; - } /* if ... else */ - - /* If it is writeable */ - if ((infoPB.hFileInfo.ioFlAttrib & 0x1) == 0) { - pStat->st_mode |= S_IWRITE; - } /* if */ - - retVal = 0; - - } else { - retVal = -1; - } /* if ... else */ - - return (retVal); -} /* PUBLIC int stat () */ - - - -/* - * Return the current working directory, or NULL if there is an error. - */ -PUBLIC char * -getcwd(char *pPath, size_t pathSize) -{ - DirInfo dirInfo; - OSErr err; - Str255 dirName; - char *pBeginName; - char *pC; - size_t len; - size_t spaceForColon; - - /* Set up the info for the PBGetCatInfo() calls */ - dirInfo.ioCompletion = NULL; - dirInfo.ioNamePtr = dirName; - dirInfo.ioVRefNum = 0; - dirInfo.ioFDirIndex = -1; - dirInfo.ioDrDirID = 0; - pBeginName = pPath + pathSize - 1; - spaceForColon = 0; /* Make sure we don't have an end colon on the name */ - - /* - * Keep going up the directory path until the end is reached or an error - * occurs. Ideally, we would check for errors at every level and stop - * when we received an fnfErr (File Not Found), but it appears that there - * are some problems with network volumes. (During testing, I received - * a paramErr (No Default Volume) beyond the top level.) Thus, to keep it - * simple, I assume any error past the first directory indicates we have - * seen all directories. - */ - while (TRUE) { - err = PBGetCatInfo ((CInfoPBPtr) &dirInfo, FALSE); - len = ((size_t)(unsigned char) dirName[0]); - if ((err == noErr) && (len < pBeginName - pPath)) { - p2cstr (dirName); - pBeginName -= len + spaceForColon; - strcpy (pBeginName, (char *)dirName); - /* Note that strcpy() adds the '\0' at the end of - the first directory for us */ - if (spaceForColon == 1) { - pBeginName[len] = ':'; - } else { - /* The end of the string shouldn't have a ':' */ - spaceForColon = 1; - } /* if */ - - /* Set up for the next call to PBGetCatInfo() with - the parent's directory ID */ - dirInfo.ioDrDirID = dirInfo.ioDrParID; - - } else if (spaceForColon == 1) { - /* We got past the top-level directory */ - break; - - } else { - /* We either have an error when looking at the first directory - or have run out of room. */ - return (NULL); - } /* if ... elses */ - } /* while */ - - /* Now copy the directory string to the beginning of the path string. - (It's possible the directory already starts at the beginning of the - string, but this is unlikely and doesn't hurt anything if it does, - so we don't bother to check for it.) */ - pC = pPath; - while ((*(pC++) = *(pBeginName++)) != '\0') - ; - - return (pPath); -} /* PUBLIC char *getcwd () */ - - - -/* - * Change the directory to a new default directory. - * - * Return 0 if successful, or -1 if there is an error. - */ -PUBLIC int -chdir(char *pPath) -{ - WDPBRec WDPB; - VolumeParam vParam; - OSErr err; - int result; - char *pC; - char c; - - /* Set up the directory */ - c2pstr (pPath); - WDPB.ioCompletion = NULL; - WDPB.ioNamePtr = (unsigned char *)pPath; - WDPB.ioVRefNum = 0; - WDPB.ioWDProcID = 0; - WDPB.ioWDDirID = 0; - err = PBOpenWD (&WDPB, FALSE); - /* Restore path to a C-type string in case the caller wants - to use it after this call. */ - p2cstr ((unsigned char *)pPath); - if (err != noErr) { - return (-1); - } /* if */ - - /* Set up the volume if necessary */ - if (*pPath != ':') { - for (pC = pPath + 1; (*pC != ':') && (*pC != '\0'); ++pC) - ; - c = *pC; - *pC = '\0'; - vParam.ioCompletion = NULL; - vParam.ioNamePtr = c2pstr (pPath); - vParam.ioVRefNum = WDPB.ioVRefNum; - err = PBSetVol ((ParmBlkPtr) &vParam, FALSE); - p2cstr ((unsigned char *)pPath); - *pC = c; - result = ((err == noErr) ? 0 : -1); - - } else { - result = 0; - } /* if ... else */ - - return (result); -} /* PUBLIC int chdir () */ - - - -/* - * Change the modification time for the file to the current time. - * - * The normal version of utime can set the modification time to any - * time, this function aborts the function if this is tried. - * - * We return 0 if the modification time was updated and -1 if there - * was an error. - */ -PUBLIC int -utime(char *pPath, time_t *pTimes) -{ - CInfoPBRec infoPB; - OSErr err; - - if (pTimes != NULL) { - Fatal ("SUBROUTINE SHORTCOMING: utime cannot take a utimbuf struct"); - } /* if */ - - /* Get the old info */ - infoPB.hFileInfo.ioCompletion = NULL; - infoPB.hFileInfo.ioNamePtr = c2pstr (pPath); - infoPB.hFileInfo.ioVRefNum = 0; - infoPB.hFileInfo.ioFDirIndex = 0; - infoPB.hFileInfo.ioDirID = 0; - err = PBGetCatInfo (&infoPB, FALSE); - if (err != noErr) { - p2cstr ((StringPtr) pPath); - return (-1); - } /* if */ - - /* Change the modification time and set the new info */ - GetDateTime (&(infoPB.hFileInfo.ioFlMdDat)); - infoPB.hFileInfo.ioDirID = 0; - err = PBSetCatInfo (&infoPB, FALSE); - p2cstr ((StringPtr) pPath); - return ((err == noErr) ? 0 : -1); -} /* PUBLIC int utime () */ diff --git a/dmake/mac/dompwmak b/dmake/mac/dompwmak deleted file mode 100644 index c71ed12ca16d..000000000000 --- a/dmake/mac/dompwmak +++ /dev/null @@ -1,67 +0,0 @@ -newfolder objects -c -I. -I :mac -d _MPW -s infer -sym off -o :objects:infer.c.o infer.c -c -I. -I :mac -d _MPW -s make -sym off -o :objects:make.c.o make.c -c -I. -I :mac -d _MPW -s stat -sym off -o :objects:stat.c.o stat.c -c -I. -I :mac -d _MPW -s expand -sym off -o :objects:expand.c.o expand.c -c -I. -I :mac -d _MPW -s dmstring -sym off -o :objects:dmstring.c.o dmstring.c -c -I. -I :mac -d _MPW -s hash -sym off -o :objects:hash.c.o hash.c -c -I. -I :mac -d _MPW -s dag -sym off -o :objects:dag.c.o dag.c -c -I. -I :mac -d _MPW -s dmake -sym off -o :objects:dmake.c.o dmake.c -c -I. -I :mac -d _MPW -s path -sym off -o :objects:path.c.o path.c -c -I. -I :mac -d _MPW -s imacs -sym off -o :objects:imacs.c.o imacs.c -c -I. -I :mac -d _MPW -s sysintf -sym off -o :objects:sysintf.c.o sysintf.c -c -I. -I :mac -d _MPW -s parse -sym off -o :objects:parse.c.o parse.c -c -I. -I :mac -d _MPW -s getinp -sym off -o :objects:getinp.c.o getinp.c -c -I. -I :mac -d _MPW -s quit -sym off -o :objects:quit.c.o quit.c -c -I. -I :mac -d _MPW -s state -sym off -o :objects:state.c.o state.c -c -I. -I :mac -d _MPW -s basename -sym off -o :objects:basename.c.o basename.c -c -I. -I :mac -d _MPW -s dmdump -sym off -o :objects:dmdump.c.o dmdump.c -c -I. -I :mac -d _MPW -s macparse -sym off -o :objects:macparse.c.o macparse.c -c -I. -I :mac -d _MPW -s rulparse -sym off -o :objects:rulparse.c.o rulparse.c -c -I. -I :mac -d _MPW -s percent -sym off -o :objects:percent.c.o percent.c -c -I. -I :mac -d _MPW -s function -sym off -o :objects:function.c.o function.c -duplicate -y :mac:arlib.c arlib.c -c -I. -I :mac -d _MPW -s arlib -sym off -o :objects:arlib.c.o arlib.c -delete arlib.c -duplicate -y :mac:bogus.c bogus.c -c -I. -I :mac -d _MPW -s bogus -sym off -o :objects:bogus.c.o bogus.c -delete bogus.c -duplicate -y :mac:dirbrk.c dirbrk.c -c -I. -I :mac -d _MPW -s dirbrk -sym off -o :objects:dirbrk.c.o dirbrk.c -delete dirbrk.c -duplicate -y :mac:directry.c directry.c -c -I. -I :mac -d _MPW -s directry -sym off -o :objects:directry.c.o directry.c -delete directry.c -duplicate -y :mac:environ.c environ.c -c -I. -I :mac -d _MPW -s environ -sym off -o :objects:environ.c.o environ.c -delete environ.c -duplicate -y :mac:main.c main.c -c -I. -I :mac -d _MPW -s main -sym off -o :objects:main.c.o main.c -delete main.c -duplicate -y :mac:rmprq.c rmprq.c -c -I. -I :mac -d _MPW -s rmprq -sym off -o :objects:rmprq.c.o rmprq.c -delete rmprq.c -duplicate -y :mac:ruletab.c ruletab.c -c -I. -I :mac -d _MPW -s ruletab -sym off -o :objects:ruletab.c.o ruletab.c -delete ruletab.c -duplicate -y :mac:tempnam.c tempnam.c -c -I. -I :mac -d _MPW -s tempnam -sym off -o :objects:tempnam.c.o tempnam.c -delete tempnam.c -duplicate -y :mac:tomacfil.c tomacfil.c -c -I. -I :mac -d _MPW -s tomacfil -sym off -o :objects:tomacfil.c.o tomacfil.c -delete tomacfil.c -Set p1 ":objects:infer.c.o :objects:make.c.o :objects:stat.c.o :objects:expand.c.o" -Set p2 ":objects:dmstring.c.o :objects:hash.c.o :objects:dag.c.o :objects:dmake.c.o" -Set p3 ":objects:path.c.o :objects:imacs.c.o :objects:sysintf.c.o :objects:parse.c.o" -Set p4 ":objects:getinp.c.o :objects:quit.c.o :objects:state.c.o :objects:basename.c.o" -Set p5 ":objects:dmdump.c.o :objects:macparse.c.o :objects:rulparse.c.o" -Set p6 ":objects:percent.c.o :objects:function.c.o :objects:arlib.c.o :objects:bogus.c.o" -Set p7 ":objects:dirbrk.c.o :objects:directry.c.o :objects:environ.c.o :objects:main.c.o" -Set p8 ":objects:rmprq.c.o :objects:ruletab.c.o :objects:tempnam.c.o" -Set p9 ":objects:tomacfil.c.o Micah:MPW:Libraries:CLibraries:CSANELib.o" -Set p10 "Micah:MPW:Libraries:CLibraries:Math.o" -Set p11 "Micah:MPW:Libraries:CLibraries:StdCLib.o" -Set p12 "Micah:MPW:Libraries:Libraries:Runtime.o" -Set p13 "Micah:MPW:Libraries:Libraries:Interface.o Micah:MPW:Libraries:Libraries:Toollibs.o" -link -w -c 'MPS ' -t MPST -sym off -o dmake {p1} {p2} {p3} {p4} {p5} {p6} {p7} {p8} {p9} {p10} {p11} {p12} {p13} -duplicate :mac:startup.mk startup.mk diff --git a/dmake/mac/environ.c b/dmake/mac/environ.c deleted file mode 100644 index b9bd6d014da9..000000000000 --- a/dmake/mac/environ.c +++ /dev/null @@ -1,231 +0,0 @@ -/* RCS $Id: environ.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Set up and free for environ --- --- DESCRIPTION --- This file contains routines that will fill in and dispose of the --- list of environmental variables in the environ global variable. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* The char used to replace the equal signs in environmental variable names. */ -const char kEqualReplace = '_'; - -/* Maximum size of a "name=value" environmental string, including the ending '\0'. - Larger environmental variables will be clipped before dmake sees them. - (Caution: When I tested the program, the Mac or dmake trashed memory - when environmental variables of >4K were read in. I looked around a bit - and couldn't find out the exact cause, so I simply made this variable. - The memory trashing may be related to the value for MAXLINELENGTH.) */ -const int kMaxEnvLen = 1024; - - -/* The list of environmental variables in the form "name=value". - (Once make_env() has been called.) */ -char **environ = NULL; - -/* Characters replaced during make_env() */ -struct ReplaceChar { - char *fpPos; - char fC; - struct ReplaceChar *fpNext; -}; /* struct ReplaceChar */ -struct ReplaceChar *gpReplaceList = NULL; - - -void AddReplace (char *pReplacePos); - - - -/* - * Set up the environmental variables in a format used by - * the environ global variable. - * - * environ has already been set to main's envp argument when - * this suboroutine is called. We assume that envp is a copy - * MPW makes for this process' use alone, so we can modify it - * below. - */ -PUBLIC void -make_env() -{ - char **ppCurEnv; - char *pCurPos; -#if 0 - char **ppMacEnv; - char *pMacPos; - - if (!gMECalled) { - gMECalled = TRUE; - -environ = MALLOC (1, char *); -*environ = NULL; -#endif -#if 0 -{ - int numenv; - int len; - int firstnil; - - numenv = 1; - ppMacEnv = environ; - while (*(ppMacEnv++) != NULL) { - ++numenv; - } /* while */ - - ppMacEnv = environ; - if ((environ = MALLOC (numenv, char *)) == NULL) { - No_ram (); - } /* if */ - -numenv = 80; - for (ppCurEnv = environ; (numenv-- > 0) && (*ppMacEnv != NULL); ++ppCurEnv, ++ppMacEnv) { - pMacPos = *ppMacEnv; - len = strlen (pMacPos) + 1; - len += strlen (pMacPos + len) + 1; -#define MAXLEN 4098 -if (len > MAXLEN) len = MAXLEN; - if ((*ppCurEnv = MALLOC (len, char)) == NULL) { - No_ram (); - } /* if */ - - firstnil = TRUE; - for (pCurPos = *ppCurEnv; ((pCurPos - *ppCurEnv) < MAXLEN - 1); ++pCurPos, ++pMacPos) { - if (*pMacPos == '=') { - *pCurPos = gEqualReplace; - - } else if (*pMacPos == '\0') { - if (firstnil) { - *pCurPos = '='; - firstnil = FALSE; - } else { - *pCurPos = *pMacPos; - break; - } /* if ... else */ - - } else { - *pCurPos = *pMacPos; - } /* if ... elses */ - } /* for */ -firstnil = FALSE; - } /* for */ - *ppCurEnv = NULL; -} -#endif -{ - int firstnil; - - /* Get rid of any equal signs in any environmental name, and put - equal signs between the names and their values */ - for (ppCurEnv = environ; *ppCurEnv != NULL; ++ppCurEnv) { - - firstnil = TRUE; - for (pCurPos = *ppCurEnv; - ((pCurPos - *ppCurEnv < kMaxEnvLen - 1) && - ((*pCurPos != '\0') || firstnil)); - ++pCurPos) { - if (*pCurPos == '=') { - AddReplace (pCurPos); - *pCurPos = kEqualReplace; - - } else if (*pCurPos == '\0') { - AddReplace (pCurPos); - *pCurPos = '='; - firstnil = FALSE; - } /* if ... else if */ - } /* for */ - - /* If the environtmental variable was too large ... */ - if (*pCurPos != '\0') { - AddReplace (pCurPos); - *pCurPos = '\0'; - if (firstnil) { - AddReplace (--pCurPos); - *pCurPos = '='; - } /* if */ - } /* if */ - } /* for */ -} -#if 0 - } /* if */ -#endif -} /* PUBLIC void make_env () */ - - -/* - * The character at pReplacePos is about to be replaced. Remember the - * old value so we can restore it when we're done. - */ -void AddReplace (char *pReplacePos) { - struct ReplaceChar *pReplaceChar; - - if ((pReplaceChar = MALLOC (1, struct ReplaceChar)) == NULL) { - No_ram (); - } /* if */ - pReplaceChar->fpPos = pReplacePos; - pReplaceChar->fC = *pReplacePos; - pReplaceChar->fpNext = gpReplaceList; - gpReplaceList = pReplaceChar; -} /* void AddReplace () */ - - -/* - * Restore the old environmental variables to the way they looked before - * the make_env() call, on the unlikely chance that something else will look - * at our copy of the environmental variables during the program execution. - * - */ -PUBLIC void -free_env() -{ - struct ReplaceChar *pReplaceChar; - - while (gpReplaceList != NULL) { - pReplaceChar = gpReplaceList; - gpReplaceList = pReplaceChar->fpNext; - - *(pReplaceChar->fpPos) = pReplaceChar->fC; - - FREE (pReplaceChar); - } /* while */ - -#if 0 - char **ppCurEnv; - char *pCurPos; - - if (!gFECalled) { - gFECalled = TRUE; - -//FREE (environ); -environ = NULL; -#endif -#if 0 - /* Restore the environment list to what it was before we - read it in. */ - for (ppCurEnv = environ; *ppCurEnv != NULL; ++ppCurEnv) { - for (pCurPos = *ppCurEnv; *pCurPos != '='; ++pCurPos) - ; - *pCurPos = '\0'; - } /* for */ - } /* if */ -#endif -} /* PUBLIC void free_env () */ diff --git a/dmake/mac/eold.c b/dmake/mac/eold.c deleted file mode 100644 index 5c389c5851db..000000000000 --- a/dmake/mac/eold.c +++ /dev/null @@ -1,119 +0,0 @@ -/* RCS $Id: eold.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Set up and free for environ --- --- DESCRIPTION --- This file contains routines that will fill in and dispose of the --- list of environmental variables in the environ global variable. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - -/* - * Keep track of any environmental variables that have '='s in their - * name. - */ -struct EqualPos { - char *fpPos; - struct equalsign *fpNext; -} /* struct EqualPos */ - -struct EqualPos *gpEqualList; - -/* - * The character used to replae the equal signs. - */ -const char gEqualReplace = '_'; - - - -/* - * Set up the environmental variables in a format used by - * the environ global variable. - * - * environ has already been set to main's envp argument when - * this suboroutine is called. - */ -void main_env () { - char **ppCurEnv; - char *pCurPos; - struct equalpos *pNewEqual; - - gpEqualList = NULL; - - for (ppCurEnv = environ; *ppCurEnv != NULL; ++ppCurEnv) { - for (pCurPos = *ppCurEnv; *pCurPos != '\0'; ++pCurPos) { - if (*pCurPos == '=') { - if ((pNewEqual = - (struct EqualPos *) malloc (sizeof (struct EqualPos))) == - NULL) { - fputs ("Out of Memory", stderr); - exit (EXIT_FAILURE); - } /* if */ - pNewEqual->fpPos = pCurPos; - pNewEqual->fpNext = gpEqualList; - gpEqualList = pNewEqual; - - *pCurPos = gEqualReplace; - } /* if */ - } /* for */ - - *pCurPos = '='; - } /* for */ -} /* void main_env () */ - - - -/* - * Reset the environmental variables so they look like they did - * before the main_env() call. - * - * environ has already been set to main's envp argument when - * this suboroutine is called. - */ -void main_env () { - char **ppCurEnv; - char *pCurPos; - struct equalpos *pNewEqual; - - gpEqualList = NULL; - - for (ppCurEnv = environ; *ppCurEnv != NULL; ++ppCurEnv) { - for (pCurPos = *ppCurEnv; *pCurPos != '\0'; ++pCurPos) { - if (*pCurPos == '=') { - if ((pNewEqual = - (struct EqualPos *) malloc (sizeof (struct EqualPos))) == - NULL) { - fputs ("Out of Memory", stderr); - exit (EXIT_FAILURE); - } /* if */ - pNewEqual->fpPos = pCurPos; - pNewEqual->fpNext = gpEqualList; - gpEqualList = pNewEqual; - - *pCurPos = gEqualReplace; - } /* if */ - } /* for */ - - *pCurPos = '='; - } /* for */ -} /* void main_env () */ diff --git a/dmake/mac/main.c b/dmake/mac/main.c deleted file mode 100644 index ab97476d4237..000000000000 --- a/dmake/mac/main.c +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: main.c,v 1.3 2003-03-25 14:02:21 hr Exp $ --- --- SYNOPSIS --- The real main function --- --- DESCRIPTION --- In order to get the third argument to main(), which is a list of --- environmental variables, we have #defined main to dmakemain, --- and put the real main here. --- --- The environmental variables are placed in the environ global variable --- and set up for processing by dmake in make_env(). --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - - -/* - * Put envp in environ and call dmake's main(). - */ -#undef main -void main(int argc, char **argv, char **envp) { - environ = envp; - dmakemain (argc, argv); -} /* void main () */ diff --git a/dmake/mac/make.sh b/dmake/mac/make.sh deleted file mode 100644 index fc2b8db02b0f..000000000000 --- a/dmake/mac/make.sh +++ /dev/null @@ -1,107 +0,0 @@ -# -# $Id: make.sh,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ -# -# This MPW script builds the dmake executable using the Metroworks PPC compiler -# and linker. The resulting dmake binary will only run on the PPC platform. -# -# To execute this script, you will need the following tools: -# - MacOS 8 or later -# - CodeWarrior for MacOS Release 5 or later -# -# To run this script, you need to open the MPW Shell that is bundled with CodeWarrior. -# If you have another instance of MPW installed other than the one bundled with -# CodeWarrior, you may encounter problems. Once you open the MPW Shell that is bundled -# with CodeWarrior, you will need to set MPW's working directory to the "dmake" -# directory (the directory above the directory that this script is in). Then, execute -# this script from the MPW Worksheet by typing the following command: -# -# :mac:make.sh -# -set Exit 1 -if ( "{0}" != ':mac:make.sh' ) - Echo "You cannot run this script from the current directory." - Echo "To run this script, you need to be in the ¶"dmake¶" directory and then" - Echo "execute the following command: ¶":mac:make.sh¶"" - Exit -end -if ( ! `Exists -d objects` ) - NewFolder :objects -end -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle infer.c -Move -y infer.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle make.c -Move -y make.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle stat.c -Move -y stat.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle expand.c -Move -y expand.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmstring.c -Move -y dmstring.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle hash.c -Move -y hash.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dag.c -Move -y dag.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmake.c -Move -y dmake.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle path.c -Move -y path.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle imacs.c -Move -y imacs.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle sysintf.c -Move -y sysintf.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle parse.c -Move -y parse.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle getinp.c -Move -y getinp.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle quit.c -Move -y quit.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle state.c -Move -y state.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmdump.c -Move -y dmdump.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle macparse.c -Move -y macparse.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle rulparse.c -Move -y rulparse.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle percent.c -Move -y percent.c.o :objects -# Note that function.c needs to have __useAppleExts__ defined. Otherwise, it won't link. -MWCPPC -o : -ansi off -I :mac -d _MPW -d __useAppleExts__ -sym off -proto ignoreoldstyle function.c -Move -y function.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:arlib.c -Move -y arlib.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:bogus.c -Move -y bogus.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:dirbrk.c -Move -y dirbrk.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:directry.c -Move -y directry.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:environ.c -Move -y environ.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:main.c -Move -y main.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:rmprq.c -Move -y rmprq.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:ruletab.c -Move -y ruletab.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:tempnam.c -Move -y tempnam.c.o :objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:tomacfil.c -Move -y tomacfil.c.o :objects -MWLinkPPC -w -c 'MPS ' -t MPST -sym off -xm m -o dmake :objects:infer.c.o :objects:make.c.o ¶ - :objects:stat.c.o :objects:expand.c.o :objects:dmstring.c.o :objects:hash.c.o ¶ - :objects:dag.c.o :objects:dmake.c.o :objects:path.c.o :objects:imacs.c.o ¶ - :objects:sysintf.c.o :objects:parse.c.o :objects:getinp.c.o :objects:quit.c.o ¶ - :objects:state.c.o :objects:dmdump.c.o :objects:macparse.c.o :objects:rulparse.c.o ¶ - :objects:percent.c.o :objects:function.c.o :objects:arlib.c.o :objects:bogus.c.o ¶ - :objects:dirbrk.c.o :objects:directry.c.o :objects:environ.c.o :objects:main.c.o ¶ - :objects:rmprq.c.o :objects:ruletab.c.o :objects:tempnam.c.o :objects:tomacfil.c.o ¶ - "{SharedLibraries}StdCLib" ¶ - "{SharedLibraries}InterfaceLib" ¶ - "{PPCLibraries}StdCRuntime.o" ¶ - "{PPCLibraries}PPCCRuntime.o" ¶ - "{PPCLibraries}PPCToolLibs.o" -if ( `Exists -f :startup:config.mk` ) - SetFile -a l :startup:config.mk -end -Duplicate -y :mac:template.mk :startup:config.mk diff --git a/dmake/mac/make_mac.sh b/dmake/mac/make_mac.sh deleted file mode 100644 index 9e6c4cc54949..000000000000 --- a/dmake/mac/make_mac.sh +++ /dev/null @@ -1,105 +0,0 @@ -# -# $Id: make_mac.sh,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $ -# -# This MPW script builds the dmake executable using the Metroworks PPC compiler -# and linker. The resulting dmake binary will only run on the PPC platform. -# -# To execute this script, you will need the following tools: -# - MacOS 8 or later -# - CodeWarrior for MacOS Release 5 or later -# -# To run this script, you need to open the MPW Shell that is bundled with CodeWarrior. -# If you have another instance of MPW installed other than the one bundled with -# CodeWarrior, you may encounter problems. Once you open the MPW Shell that is bundled -# with CodeWarrior, you will need to set MPW's working directory to the "dmake" -# directory (the directory above the directory that this script is in). Then, execute -# this script from the MPW Worksheet by typing the following command: -# -# :mac:make_mac.sh -# -set Exit 1 -if ( "{0}" != ':mac:make_mac.sh' ) - Echo "You cannot run this script from the current directory." - Echo "To run this script, you need to be in the ¶"dmake¶" directory and then" - Echo "execute the following command: ¶":mac:make_mac.sh¶"" - Exit -end -if ( ! `Exists -d objects` ) - NewFolder objects -end -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle infer.c -Move -y infer.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle make.c -Move -y make.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle stat.c -Move -y stat.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle expand.c -Move -y expand.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmstring.c -Move -y dmstring.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle hash.c -Move -y hash.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dag.c -Move -y dag.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmake.c -Move -y dmake.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle path.c -Move -y path.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle imacs.c -Move -y imacs.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle sysintf.c -Move -y sysintf.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle parse.c -Move -y parse.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle getinp.c -Move -y getinp.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle quit.c -Move -y quit.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle state.c -Move -y state.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle dmdump.c -Move -y dmdump.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle macparse.c -Move -y macparse.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle rulparse.c -Move -y rulparse.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle percent.c -Move -y percent.c.o objects -# Note that function.c needs to have __useAppleExts__ defined. Otherwise, it won't link. -MWCPPC -o : -ansi off -I :mac -d _MPW -d __useAppleExts__ -sym off -proto ignoreoldstyle function.c -Move -y function.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:arlib.c -Move -y arlib.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:bogus.c -Move -y bogus.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:dirbrk.c -Move -y dirbrk.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:directry.c -Move -y directry.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:environ.c -Move -y environ.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:main.c -Move -y main.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:rmprq.c -Move -y rmprq.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:ruletab.c -Move -y ruletab.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:tempnam.c -Move -y tempnam.c.o objects -MWCPPC -o : -ansi off -I :mac -d _MPW -sym off -proto ignoreoldstyle :mac:tomacfil.c -Move -y tomacfil.c.o objects -MWLinkPPC -w -c 'MPS ' -t MPST -sym off -xm m -o dmake :objects:infer.c.o :objects:make.c.o ¶ - :objects:stat.c.o :objects:expand.c.o :objects:dmstring.c.o :objects:hash.c.o ¶ - :objects:dag.c.o :objects:dmake.c.o :objects:path.c.o :objects:imacs.c.o ¶ - :objects:sysintf.c.o :objects:parse.c.o :objects:getinp.c.o :objects:quit.c.o ¶ - :objects:state.c.o :objects:dmdump.c.o :objects:macparse.c.o :objects:rulparse.c.o ¶ - :objects:percent.c.o :objects:function.c.o :objects:arlib.c.o :objects:bogus.c.o ¶ - :objects:dirbrk.c.o :objects:directry.c.o :objects:environ.c.o :objects:main.c.o ¶ - :objects:rmprq.c.o :objects:ruletab.c.o :objects:tempnam.c.o :objects:tomacfil.c.o ¶ - "{SharedLibraries}StdCLib" ¶ - "{SharedLibraries}InterfaceLib" ¶ - "{PPCLibraries}StdCRuntime.o" ¶ - "{PPCLibraries}PPCCRuntime.o" ¶ - "{PPCLibraries}PPCToolLibs.o" -SetFile -a l :startup:config.mk -Duplicate -y :mac:template.mk :startup:config.mk diff --git a/dmake/mac/public.h b/dmake/mac/public.h deleted file mode 100644 index 9404c0e4d40c..000000000000 --- a/dmake/mac/public.h +++ /dev/null @@ -1,173 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:42:19 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -//void tzset () {}/PUBLIC int putenv (char *pEnvString) {return (0); }/ ANSI(()); -void tzset ANSI(()); -int Wait_for_child ANSI((int ,int )); -void Clean_up_processes ANSI(()); -int If_root_path ANSI((char *)); -int stat ANSI((char *, struct stat *)); -char *getcwd ANSI((char *,size_t )); -int chdir ANSI((char *)); -int utime ANSI((char *,time_t *)); -void make_env ANSI(()); -void free_env ANSI(()); -void Remove_prq ANSI((CELLPTR)); -char *tempnam ANSI((char *,char *)); - -#endif diff --git a/dmake/mac/rmprq.c b/dmake/mac/rmprq.c deleted file mode 100644 index 424b9a060009..000000000000 --- a/dmake/mac/rmprq.c +++ /dev/null @@ -1,38 +0,0 @@ -/* RCS $Id: rmprq.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Remove prerequisites code. --- --- DESCRIPTION --- This code is different for The Mac and for UNIX and parallel make --- architectures since the parallel case requires the rm's to be --- run in parallel, whereas The Mac guarantees to run them sequentially. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC void -Remove_prq( tcp ) -CELLPTR tcp; -{ - tcp->ce_flag &= ~(F_MADE|F_VISITED); - tcp->ce_time = 0L; - - Make( tcp, tcp ); -} diff --git a/dmake/mac/ruletab.c b/dmake/mac/ruletab.c deleted file mode 100644 index 520e2089201e..000000000000 --- a/dmake/mac/ruletab.c +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.2 2006-04-20 12:05:16 hr Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -static char *_rules[] = { - "MAXLINELENGTH := 4094", - "MAXPROCESSLIMIT := 1", - "MAXPROCESS := 1", - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk Makefile makefile", - ".SOURCE : .NULL", -#include "startup.h" - 0 }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/mac/startup.h b/dmake/mac/startup.h deleted file mode 100644 index f4d18a5d6506..000000000000 --- a/dmake/mac/startup.h +++ /dev/null @@ -1,28 +0,0 @@ -/* RCS $Id: startup.h,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Default value of MAKESTARTUP. --- --- DESCRIPTION --- Default value is used if the environment variable is not --- defined. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"MAKESTARTUP := $(DMAKEROOT):startup.mk", - diff --git a/dmake/mac/sysintf.h b/dmake/mac/sysintf.h deleted file mode 100644 index 717b968041b1..000000000000 --- a/dmake/mac/sysintf.h +++ /dev/null @@ -1,41 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.2 2007-01-18 09:33:25 vg Exp $ --- --- SYNOPSIS --- Assorted bits of system interface --- --- DESCRIPTION --- This file is used to abstract away some of the functions in --- sysintf.c. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define Hook_std_writes(A) -#define GETPID 1 - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** Mac interface standard items -*/ -#define getswitchar() '-' diff --git a/dmake/mac/template.mk b/dmake/mac/template.mk deleted file mode 100644 index 0cf10289c826..000000000000 --- a/dmake/mac/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= mac - OSRELEASE *:= - OSENVIRONMENT *:= diff --git a/dmake/mac/tempnam.c b/dmake/mac/tempnam.c deleted file mode 100644 index ee86ccb6a0a2..000000000000 --- a/dmake/mac/tempnam.c +++ /dev/null @@ -1,65 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Fake tempnam function for the mac --- --- DESCRIPTION --- Get a temporary file name. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - - -#include "extern.h" -#include -#include - - - -/* - * Try to open a temporary file in the given directory (if non-NULL) - * with the given prefix (if non-NULL). - * - * We ignore the directory argument. - */ -PUBLIC char * -tempnam(char *pDir, char * pPrefix) -{ - char *pName; - char *pFullName; - - pName = tmpnam ((char *) NULL); - - /* Assume that if the name returned by tmpnam is not being used, - the name with the prefix is also not being used. */ - pFullName = MALLOC (((pPrefix != NULL) ? strlen (pPrefix) : 0) + - strlen (pName) + 1, char); - - /* Copy in the name if we successfully allocated space for it. */ - if (pFullName != NULL) { - if (pPrefix != NULL) { - strcpy (pFullName, pPrefix); - } else { - *pFullName = '\0'; - } /* if ... else */ - - strcat (pFullName, pName); - } /* if */ - - return (pFullName); -} /* PUBLIC char *tempnam () */ diff --git a/dmake/mac/tomacfil.c b/dmake/mac/tomacfil.c deleted file mode 100644 index d5f1ea72a496..000000000000 --- a/dmake/mac/tomacfil.c +++ /dev/null @@ -1,38 +0,0 @@ -/* RCS $Id: tomacfil.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Routines to change unix file names to mac file names --- --- DESCRIPTION --- Dmake sometimes assumes that files have '/' as a directory parameter in some makefiles. --- This works, even on DOS, but not on the Mac. In fact, on the Mac, you can't even do a --- a simple switch of ':' for '/' because all other the Mac has decided to reverse the use --- of a first-character directory delimiter to mean a relative path rather than absolute path. --- (i.e., ':test:b' means directory test is relative to the current directory, rather than --- a top-level directory. Thus, this file attempts to do the directory conversion behind --- the back of the rest of the program. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* This file no longer contains an override to the fopen() function as we now accept only - * Mac style path names - */ -#include - -#include "extern.h" diff --git a/dmake/macparse.c b/dmake/macparse.c deleted file mode 100644 index 88db1230ec84..000000000000 --- a/dmake/macparse.c +++ /dev/null @@ -1,232 +0,0 @@ -/* RCS $Id: macparse.c,v 1.3 2007-10-15 15:40:02 ihi Exp $ --- --- SYNOPSIS --- Parse a macro definition --- --- DESCRIPTION --- This file contains the code that parses a macro definition --- stored in a buffer. If the string in buffer is not a valid --- macro definition the routie Parse_macro returns 0, otherwise it --- returns 1 to indicate success. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC int -Parse_macro( buffer, flag )/* -============================= - Parse the string in buffer and define it as a macro if it is a valid macro. - Note especially the string .SETDIR= since it is an attribute, but looks a - lot like a macro definition. This would not be a problem if make used - white space as token separators, since this is not the case we must do - something about it. */ -char *buffer; -int flag; -{ - char *result; /* temporary pointer for strings */ - TKSTR input; /* place to scan the buffer from */ - HASHPTR hv; /* pointer to hash table value */ - int operator; /* what macro operator do we have */ - char *tok1; /* temporary place to keep a token */ - char *tok2; /* temporary place to keep a token */ - int toklen; /* length of a token */ - - DB_ENTER( "Parse_macro" ); - - SET_TOKEN( &input, buffer ); - tok1 = Get_token( &input, "=+:*!?", 0 ); - - operator=Macro_op(tok1); - if( operator ) { - CLEAR_TOKEN( &input ); - Error( "Assignment without macro name: [%s].", buffer ); - DB_RETURN( 1 ); - } - - tok1 = DmStrDup(tok1); - tok2 = Get_token( &input, "=+:*!?", 2 ); - if( !(operator = Macro_op(tok2)) || !strcmp(tok1,".SETDIR") ) { - CLEAR_TOKEN( &input ); - FREE(tok1); - DB_RETURN(0); - } - - tok2 = Expand(tok1); FREE(tok1); tok1 = tok2; - if ( !(toklen = strlen(tok1)) ) { - Warning( "Empty macro name after expansion: [%s].", buffer ); - } - - /* Catch illegal single character macro names. */ - if ( toklen == 1 && strchr("{()}", tok1[0]) ) { - CLEAR_TOKEN( &input ); - Fatal( "Syntax error in macro assignment [%s]. The following characters cannot be used as single letter macro names: '{()}'.", buffer ); - } - - /* Catch ':' in macro names. */ - if ( strchr(tok1, ':') ) { - CLEAR_TOKEN( &input ); - Fatal( "Syntax error in macro assignment [%s]. The character ':' is not allowed in macro names.", buffer ); - } - - tok2 = Get_token(&input, NIL( char ), FALSE); - - /* Make sure we can force the assignment. */ - if ( operator & M_OP_SI ) { - flag |= M_FORCE|M_MULTI; - operator &= ~M_OP_SI; - } - - switch( operator ) { - case M_OP_PLCL: - tok2 = Expand( tok2 ); - /* Fall thru */ - - case M_OP_PL: - /* Add to an existing macro, if it is not defined, though, then - * just define a new macro */ - - if( (hv = GET_MACRO(tok1)) == NIL(HASH) || hv->ht_value == NIL(char) ) - Def_macro( tok1, tok2, flag ); - else { - result = DmStrAdd( hv->ht_value, tok2, FALSE ); - Def_macro( tok1, result, flag ); - FREE( result ); - } - if( operator == M_OP_PLCL ) FREE(tok2); - break; - - case M_OP_DF: - /* *= */ - /* internal default macros or initialized empty macros set M_INIT. */ - if( (hv = GET_MACRO(tok1)) != NIL(HASH) && !(hv->ht_flag & M_INIT) ) - break; - /* else FALLTHRU */ - - case M_OP_EQ: - Def_macro( tok1, tok2, flag ); - break; - - case M_OP_DFCL: - /* *:= */ - /* internal default macros or initialized empty macros set M_INIT. */ - if( (hv = GET_MACRO(tok1)) != NIL(HASH) && !(hv->ht_flag & M_INIT) ) - break; - /* else FALLTHRU */ - - case M_OP_CL: - tok2 = Expand( tok2 ); - Def_macro( tok1, tok2, M_EXPANDED | flag ); - FREE( tok2 ); - break; - - case M_OP_CM:{ - CELLPTR cp; - STRINGPTR sp; - - if (flag & M_PUSH) { - Error("Nested conditional definition [%s ?= %s] ignored", - tok1, tok2); - } - else { - cp = Def_cell(tok1); - if (cp->ce_flag & F_MULTI) { - LINKPTR lp; - for(lp=cp->ce_prq; lp->cl_next; lp=lp->cl_next); - cp = lp->cl_prq; - } - TALLOC(sp,1,STRING); - sp->st_string = DmStrDup(tok2); - sp->st_next = cp->ce_cond; - cp->ce_cond = sp; - - tok1 = NIL(char); - } - } - break; - } - - if (tok1) { - if ( LastMacName != NIL(char) ) - FREE( LastMacName ); - - LastMacName = tok1; - } - - DB_RETURN( 1 ); -} - - - -PUBLIC int -Macro_op( op )/* -================ - Check the passed in op string and map it to one of the macro operators */ -char *op; -{ - int ret = 0; - DB_ENTER( "macro_op" ); - - if ( *op == '!' ) { - ret = M_OP_SI; - op++; - } - - switch( *op ) { - case '=': ret |= M_OP_EQ; break; - case ':': ret |= M_OP_CL; op++; break; - - case '+': - op++; - if( *op == ':' ) { - ret |= M_OP_PLCL; - op++; - } - else { - ret |= M_OP_PL; - } - break; - - case '*': - op++; - if( *op == ':' ) { - ret |= M_OP_DFCL; - op++; - } - else { - ret |= M_OP_DF; - } - break; - - case '?': - ret |= M_OP_CM; - op++; - break; - } - - if( *op != '=' ) - ret = 0; - else { - op++; - - if( *op != '\0' ) - ret = 0; - } - - DB_RETURN( ret ); -} diff --git a/dmake/make.bat b/dmake/make.bat deleted file mode 100755 index a0e3fdea8bcf..000000000000 --- a/dmake/make.bat +++ /dev/null @@ -1,273 +0,0 @@ -echo off -cls -rem *** This is the make batchfile that is used under MSDOS to make the -rem *** first version of dmake. It isn't pretty but it does work, assuming -rem *** the compilers have been correctly setup. See the warning below -rem *** concerning tlink, if you are building any of the Borland compiler -rem *** versions. -rem - -if %0%1 == %0 goto error -if %1 == tcc20swp goto mktccswp - -if %1 == bcc30swp goto mkbcc30swp -if %1 == bcc40swp goto mkbcc40swp -if %1 == bcc45swp goto mkbcc45swp -if %1 == bcc50swp goto mkbcc50swp - -if %1 == msc51 goto mkms51 -if %1 == msc51swp goto mkms51swp -if %1 == msc60 goto mkms60 -if %1 == msc60swp goto mkms60swp - -if %1 == win95-bcc50 goto mkw32b50 -if %1 == win95-vpp40 goto mkw32vp40 - -rem label the possible DOS variations for dmake here. -:error -echo MSDOS: You must specify 'make target' where target is one of: -echo ------------- -echo tcc20swp - Turbo C 2.0 compile of swapping dmake.. - -echo bcc30swp - Borland C++ 3.0 compile of swapping dmake. -echo bcc40swp - Borland C++ 4.0 compile of swapping dmake. -echo bcc45swp - Borland C++ 4.5 compile of swapping dmake. -echo bcc50swp - Borland C++ 5.0 compile of swapping dmake. - -echo msc51 - Microsoft C 5.1 compile. -echo msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake. -echo msc60 - Microsoft C 6.0 compile. -echo msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake. - -echo win95-bcc50 - Borland C++ 5.0 32-bit compile of dmake. -echo win95-vpp40 - Microsoft VC++ 4.0 32-bit compile of dmake. -goto end - -rem This is the script that makes dmake using Microsoft C 5.1 -:mkms51 -msdos\microsft\msc51\mk.bat -goto end - -:mkms51swp -msdos\microsft\msc51\mkswp.bat -goto end - -rem This is the script that makes dmake using Microsoft C 6.0 -:mkms60 -msdos\microsft\msc60\mk.bat -goto end - -:mkms60swp -msdos\microsft\msc60\mkswp.bat -goto end - -:mkw32vp40 -win95\microsft\vpp40\mk.bat -goto end - -rem This is the script that makes dmake using Turbo C 2.0 or higher. -:mktcc -cls -echo WARNING: -echo The default response files: -echo msdos\borland\tcc20\obj.rsp -echo msdos\borland\tcc20\lib.rsp -echo contain absolute paths to TURBO-C runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Turbo-C before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\tcc20\mk.bat -goto end - -:mktccswp -cls -echo WARNING: -echo The default response files: -echo msdos\borland\tcc20\objswp.rsp -echo msdos\borland\tcc20\libswp.rsp -echo contain absolute paths to TURBO-C runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Turbo-C before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\tcc20\mkswp.bat -goto end - -rem This is the script that makes dmake using Borland C++ 3.0. -:mkbcc30 -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc30\obj.rsp -echo msdos\borland\bcc30\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc30\mk.bat -goto end - -:mkbcc30swp -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc30\objswp.rsp -echo msdos\borland\bcc30\libswp.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc30\mkswp.bat -goto end - -rem This is the script that makes dmake using Borland C++ 4.0. -:mkbcc40 -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc40\obj.rsp -echo msdos\borland\bcc40\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc40\mk.bat -goto end - -:mkbcc40swp -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc40\objswp.rsp -echo msdos\borland\bcc40\libswp.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc40\mkswp.bat -goto end - -rem This is the script that makes dmake using Borland C++ 4.5. -:mkbcc45 -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc45\obj.rsp -echo msdos\borland\bcc45\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc45\mk.bat -goto end - -:mkbcc45swp -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc45\objswp.rsp -echo msdos\borland\bcc45\libswp.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc45\mkswp.bat -goto end - -rem This is the script that makes dmake using Borland C++ 5.0. -:mkbcc50 -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc50\obj.rsp -echo msdos\borland\bcc50\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc50\mk.bat -goto end - -:mkbcc50swp -cls -echo WARNING: -echo The default response files: -echo msdos\borland\bcc50\objswp.rsp -echo msdos\borland\bcc50\libswp.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -msdos\borland\bcc50\mkswp.bat -goto end - -rem This is the script that makes 32-bit dmake using Borland C++ 5.0. -:mkw32b50 -cls -echo WARNING: -echo The default response files: -echo win95\borland\bcc50\obj.rsp -echo win95\borland\bcc50\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -win95\borland\bcc50\mk.bat -goto end - -rem All done! -:end diff --git a/dmake/make.c b/dmake/make.c deleted file mode 100644 index 67af0653d35f..000000000000 --- a/dmake/make.c +++ /dev/null @@ -1,1774 +0,0 @@ -/* $RCSfile: make.c,v $ --- $Revision: 1.12 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:29:19 $ --- --- SYNOPSIS --- Perform the update of all outdated targets. --- --- DESCRIPTION --- This is where we traverse the make graph looking for targets that --- are out of date, and we try to infer how to make them if we can. --- The usual make macros are understood, as well as some new ones: --- --- $$ - expands to $ --- $@ - full target name --- $* - target name with no suffix, same as $(@:db) --- or, the value of % in % meta rule recipes --- $? - list of out of date prerequisites --- $< - all prerequisites associated with rules line --- $& - all prerequisites associated with target --- $> - library name for target (if any) --- $^ - out of date prerequisites taken from value of $< --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" -#include "sysintf.h" - -typedef struct cell { - char *datum; - struct cell *next; - size_t len; -} LISTCELL, *LISTCELLPTR; - -typedef struct { - LISTCELLPTR first; - LISTCELLPTR last; - size_t len; -} LISTSTRING, *LISTSTRINGPTR; - - -static void _drop_mac ANSI((HASHPTR)); -static void _set_recipe ANSI((char*, int)); -static void _set_tmd ANSI(()); -static void _append_file ANSI((STRINGPTR, FILE*, char*, int)); -static LINKPTR _dup_prq ANSI((LINKPTR)); -static LINKPTR _expand_dynamic_prq ANSI(( LINKPTR, LINKPTR, char * )); -static char* _prefix ANSI((char *, char *)); -static char* _pool_lookup ANSI((char *)); -static int _explode_graph ANSI((CELLPTR, LINKPTR, CELLPTR)); - - -#define RP_GPPROLOG 0 -#define RP_RECIPE 1 -#define RP_GPEPILOG 2 -#define NUM_RECIPES 3 - -static STRINGPTR _recipes[NUM_RECIPES]; -static LISTCELLPTR _freelist=NULL; - -static LISTCELLPTR -get_cell() -{ - LISTCELLPTR cell; - - if (!_freelist) { - if ((cell=MALLOC(1,LISTCELL)) == NULL) - No_ram(); - } - else { - cell = _freelist; - _freelist = cell->next; - } - - return(cell); -} - - -static void -free_cell(LISTCELLPTR cell) -{ - cell->next = _freelist; - _freelist = cell; -} - - -static void -free_list(LISTCELLPTR c) -{ - if(c) { - free_list(c->next); - free_cell(c); - } -} - - -static void -list_init(LISTSTRINGPTR s) -{ - s->first = NULL; - s->last = NULL; - s->len = 0; -} - - -static void -list_add(LISTSTRINGPTR s, char *str) -{ - LISTCELLPTR p; - int l; - - if ((l = strlen(str)) == 0) - return; - - p = get_cell(); - p->datum = str; - p->next = NULL; - p->len = l; - - if(s->first == NULL) - s->first = p; - else - s->last->next = p; - - s->last = p; - s->len += l+1; -} - - -static char * -gen_path_list_string(LISTSTRINGPTR s)/* -======================================= - Take a list of filepaths and create a string from it separating - the filenames by a space. - This function honors the cygwin specific .WINPATH attribute. */ -{ - LISTCELLPTR next, cell; - int len; - int slen, slen_rest; - char *result; - char *p, *tpath; - - if( (slen_rest = slen = s->len) == 0) - return(NIL(char)); - - /* reserve enough space to hold the concated original filenames. */ - if((p = result = MALLOC(slen, char)) == NULL) No_ram(); - - for (cell=s->first; cell; cell=next) { -#if !defined(__CYGWIN__) - tpath = cell->datum; - len=cell->len; -#else - /* For cygwin with .WINPATH set the lenght of the converted - * filepaths might be longer. Extra checking is needed ... */ - tpath = DO_WINPATH(cell->datum); - if( tpath == cell->datum ) { - len=cell->len; - } - else { - /* ... but only if DO_WINPATH() did something. */ - len = strlen(tpath); - } - if( len >= slen_rest ) { - /* We need more memory. As DOS paths are usually shorter than the - * original cygwin POSIX paths (exception mounted paths) this should - * rarely happen. */ - int p_offset = p - result; - /* Get more than needed. */ - slen = slen + len - slen_rest + 128; - if((result = realloc( result, slen ) ) == NULL) - No_ram(); - p = result + p_offset; - } -#endif - - memcpy((void *)p, (void *)tpath, len); - p += len; - *p++ = ' '; - -#if defined(__CYGWIN__) - /* slen_rest is only used in the cygwin / .WINPATH case. */ - slen_rest = slen - (p - result); -#endif - - next = cell->next; - free_cell(cell); - } - - *--p = '\0'; - list_init(s); - - return(result); -} - - -PUBLIC int -Make_targets()/* -================ - Actually go and make the targets on the target list */ -{ - LINKPTR lp; - int done = 0; - - DB_ENTER( "Make_targets" ); - - Read_state(); - _set_recipe( ".GROUPPROLOG", RP_GPPROLOG ); - _set_recipe( ".GROUPEPILOG", RP_GPEPILOG ); - - /* Prevent recipe inference for .ROOT */ - if ( Root->ce_recipe == NIL(STRING) ) { - TALLOC( Root->ce_recipe, 1, STRING ); - Root->ce_recipe->st_string = ""; - } - - /* Prevent recipe inference for .TARGETS */ - if ( Targets->ce_recipe == NIL(STRING) ) { - TALLOC( Targets->ce_recipe, 1, STRING ); - Targets->ce_recipe->st_string = ""; - } - - /* Make sure that user defined targets are marked as root targets */ - for( lp = Targets->ce_prq; lp != NIL(LINK); lp = lp->cl_next ) - lp->cl_prq->ce_attr |= A_ROOT; - - while( !done ) { - int rval; - - if( (rval = Make(Root, NIL(CELL))) == -1 ) - DB_RETURN(1); - else - done = Root->ce_flag & F_MADE; - - if( !rval && !done ) Wait_for_child( FALSE, -1 ); - } - - for( lp = Targets->ce_prq; lp != NIL(LINK); lp = lp->cl_next ) { - CELLPTR tgt = lp->cl_prq; - if( !(tgt->ce_attr & A_UPDATED) - && (Verbose & V_MAKE) ) - printf( "`%s' is up to date\n", tgt->CE_NAME ); - } - - DB_RETURN( 0 ); -} - - - -PUBLIC int -Make( cp, setdirroot )/* -======================== - Make target cp. Make() is also called on prerequisites that have no rule - associated (F_TARGET is not set) to verify that they exist. */ -CELLPTR cp; -CELLPTR setdirroot; -{ - register LINKPTR dp, prev,next; - register CELLPTR tcp; - CELLPTR nsetdirroot; - char *name, *lib; - HASHPTR m_at, m_q, m_b, m_g, m_l, m_bb, m_up; - LISTSTRING all_list, imm_list, outall_list, inf_list; - char *all = NIL(char); - char *inf = NIL(char); - char *outall = NIL(char); - char *imm = NIL(char); - int rval = 0; /* 0==ready, 1==target still running, -1==error */ - int push = 0; - int made = F_MADE; - int ignore; - time_t otime = (time_t) 1L; /* Hold time of newest prerequisite. */ - int mark_made = FALSE; - -#if defined(__CYGWIN__) - /* static variable to hold .WINPATH status of previously made target. - * 0, 1 are .WINPATH states, -1 indicates the first target. */ - static int prev_winpath_attr = -1; -#endif - - DB_ENTER( "Make" ); - DB_PRINT( "mem", ("%s:-> mem %ld", cp->CE_NAME, (long) coreleft()) ); - - /* Initialize the various temporary storage */ - m_q = m_b = m_g = m_l = m_bb = m_up = NIL(HASH); - list_init(&all_list); - list_init(&imm_list); - list_init(&outall_list); - list_init(&inf_list); - - if (cp->ce_set && cp->ce_set != cp) { - if( Verbose & V_MAKE ) - printf( "%s: Building .UPDATEALL representative [%s]\n", Pname, - cp->ce_set->CE_NAME ); - cp = cp->ce_set; - } - - /* If we are supposed to change directories for this target then do so. - * If we do change dir, then modify the setdirroot variable to reflect - * that fact for all of the prerequisites that we will be making. */ - - nsetdirroot = setdirroot; - ignore = (((cp->ce_attr|Glob_attr)&A_IGNORE) != 0); - - /* Set the UseWinpath variable to reflect the (global/local) .WINPATH - * attribute. The variable is used by DO_WINPATH() and in some other - * places. */ - UseWinpath = (((cp->ce_attr|Glob_attr)&A_WINPATH) != 0); - - /* m_at needs to be defined before going to a "stop_making_it" where - * a _drop_mac( m_at ) would try to free it. */ - /* FIXME: m_at can most probably not be changed before the next - * Def_macro("@", ...) command. Check if both this and the next - * call are needed. */ - m_at = Def_macro("@", DO_WINPATH(cp->ce_fname), M_MULTI); - - if( cp->ce_attr & A_SETDIR ) { - /* Change directory only if the previous .SETDIR is a different - * directory from the current one. ie. all cells with the same .SETDIR - * attribute are assumed to come from the same directory. */ - - if( (setdirroot == NIL(CELL) || setdirroot->ce_dir != cp->ce_dir) && - (push = Push_dir(cp->ce_dir,cp->CE_NAME,ignore)) != 0 ) - setdirroot = cp; - } - - DB_PRINT( "mem", ("%s:-A mem %ld", cp->CE_NAME, (long) coreleft()) ); - - /* FIXME: F_MULTI targets don't have cp->ce_recipe set but the recipes - * are known nevertheless. It is not necessary to infer them. - * If (cp->ce_flag & F_MULTI) is true the recipes of the corresponding - * subtargets can be used. */ - if( cp->ce_recipe == NIL(STRING) ) { - char *dir = cp->ce_dir; - - if( Verbose & V_MAKE ) - printf( "%s: Infering prerequisite(s) and recipe for [%s]\n", Pname, - cp->CE_NAME ); - - Infer_recipe( cp, setdirroot ); - - /* See if the directory has changed, if it has then make sure we - * push it. */ - if( dir != cp->ce_dir ) { - if( push ) Pop_dir(FALSE); - push = Push_dir( cp->ce_dir, cp->CE_NAME, ignore ); - setdirroot = cp; - } - } - - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp = dp->cl_prq; - if( push ) { - /* If we changed the directory because of .SETDIR write Pwd into - * tcp->ce_dir so that it holds an absolute path. */ - if( !(tcp->ce_attr & A_POOL) && tcp->ce_dir ) FREE( tcp->ce_dir ); - tcp->ce_dir = _pool_lookup(Pwd); - tcp->ce_attr |= A_SETDIR|A_POOL; - } - tcp->ce_setdir = nsetdirroot; - } - - DB_PRINT( "mem", ("%s:-A mem %ld", cp->CE_NAME, (long) coreleft()) ); - /* If we have not yet statted the target then do so. */ - if( !(cp->ce_flag & F_STAT) && !(cp->ce_attr&A_PHONY) ) { - if (cp->ce_parent && (cp->ce_parent->ce_flag & F_MULTI)) { - /* Inherit the stat info from the F_MULTI parent. */ - cp->ce_time = cp->ce_parent->ce_time; - cp->ce_flag |= F_STAT; - /* Propagate the A_PRECIOUS attribute from the parent. */ - cp->ce_attr |= cp->ce_parent->ce_attr & A_PRECIOUS; - } - else { - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp = dp->cl_prq; - /* Check if target already exists. */ - Stat_target( tcp, 1, FALSE ); - - if( tcp->ce_time != (time_t)0L ) { - /* File exists so don't remove it later. */ - tcp->ce_attr |= A_PRECIOUS; - } - - if( Verbose & V_MAKE ) - printf("%s: Time stamp of [%s] is %ld\n",Pname,tcp->CE_NAME, - tcp->ce_time); - } - } - } - - DB_PRINT( "make", ("(%s, %ld, 0x%08x, 0x%04x)", cp->CE_NAME, - cp->ce_time, cp->ce_attr, cp->ce_flag) ); - - /* Handle targets without rule and without existing file. */ - if( !(cp->ce_flag & F_TARGET) && (cp->ce_time == (time_t) 0L) ) { - if( Makemkf ) { - rval = -1; - goto stop_making_it; - } - else if( cp->ce_prq != NIL(LINK) - || (STOBOOL(Augmake) && (cp->ce_flag&F_EXPLICIT))) - /* Assume an empty recipe for a target that we have run inference on - * but do not have a set of rules for but for which we have inferred - * a list of prerequisites. */ - cp->ce_flag |= F_RULES; - else - Fatal( "`%s' not found, and can't be made", cp->CE_NAME ); - } - - DB_PRINT( "mem", ("%s:-A mem %ld", cp->CE_NAME, (long) coreleft()) ); - - /* set value of $* if we have not infered a recipe, in this case $* is - * the same as $(@:db), this allows us to be compatible with BSD make */ - if( cp->ce_per == NIL(char) ) cp->ce_per = "$(@:db)"; - - /* Search the prerequisite list for dynamic prerequisites and if we find - * them copy the list of prerequisites for potential later re-use. */ - if ( cp->ce_prqorg == NIL(LINK) ) { - for( dp = cp->ce_prq; dp != NIL(LINK); dp = dp->cl_next ) - if ( strchr(dp->cl_prq->CE_NAME, '$') != NULL ) - break; - - if (dp != NIL(LINK)) { - cp->ce_prqorg = _dup_prq(cp->ce_prq); - } - } - - /* Define $@ macro. The only reason for defining it here (that I see ATM) - * is that $@ is already defined in conditional macros. */ - /* FIXME: check if both this and the previous Def_macro("@", ...) call - * are needed. */ - m_at = Def_macro("@", DO_WINPATH(cp->ce_fname), M_MULTI); - - /* Define conditional macros if any, note this is done BEFORE we process - * prerequisites for the current target. Thus the making of a prerequisite - * is done using the current value of the conditional macro. */ - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp=dp->cl_prq; - if (tcp->ce_cond != NIL(STRING)) { - STRINGPTR sp; - - tcp->ce_pushed = NIL(HASH); - for(sp=tcp->ce_cond; sp; sp=sp->st_next) { - if(Parse_macro(sp->st_string,M_MULTI|M_PUSH)) { - HASHPTR hp; - - hp = GET_MACRO(LastMacName); - hp->ht_link = tcp->ce_pushed; - tcp->ce_pushed = hp; - } - else { - Error("Invalid conditional macro expression [%s]",sp->st_string); - } - } - } - } - - /* First round, will be repeated a second time below. */ - for( prev=NULL,dp=cp->ce_prq; dp != NIL(LINK); prev=dp, dp=next ) { - int seq; - - /* This loop executes Make() to build prerequisites if needed. - * The only macro that needs to be reset after a Make() was executed - * is $@ as it might be used when expanding potential dynamic - * prerequisites. As UseWinpath is a global variable we also - * need to restore it. */ - if (m_at->ht_value == NIL(char)) { - /* This check effectively tests if Make() was run before because - * Make() frees all dynamic macro values at the end. */ - UseWinpath = (((cp->ce_attr|Glob_attr)&A_WINPATH) != 0); - m_at = Def_macro("@", DO_WINPATH(cp->ce_fname), M_MULTI); - } - - /* Make the prerequisite, note that if the current target has the - * .LIBRARY attribute set we pass on to the prerequisite the .LIBRARYM - * attribute and pass on the name of the current target as the library - * name, and we take it away when we are done. */ - next = dp->cl_next; - - tcp = dp->cl_prq; - if( Verbose & V_MAKE ) - printf("Checking prerequisite [%s]\n", tcp->CE_NAME); - - seq = (((cp->ce_attr | Glob_attr) & A_SEQ) != 0); - - /* This checks if this prerequisite is still in the making, if yes - * come back later. */ - if( tcp->ce_flag & F_VISITED ) { - /* Check if this currently or fully made target has the same - * .SETDIR setting. If yes, continue if it was made or come - * back later otherwise. */ - if( _explode_graph(tcp, dp, setdirroot) == 0 ) { - /* didn't blow it up so see if we need to wait for it. */ - if( tcp->ce_flag & F_MADE ) { - /* Target was made. */ - continue; - } - else - /* Target is still in the making ... */ - goto stop_making_it; - } - else - /* Use the new prerequisite with the new .SETDIR value. */ - tcp = dp->cl_prq; - } - - /* If the previous target (prereq) is not yet ready return if - * seq is TRUE. */ - if( seq && !made ) goto stop_making_it; - - /* Expand dynamic prerequisites. The F_MARK flag is guarging against - * possible double expandion of dynamic prerequisites containing more - * than one prerequisite. */ - /* A new A_DYNAMIC attribute could save a lot of strchr( ,'$') calls. */ - if ( tcp && !(tcp->ce_flag & F_MARK) && strchr(tcp->CE_NAME, '$') ) { - /* Replace this dynamic prerequisite with the the real prerequisite, - * and add the additional prerequisites if there are more than one.*/ - - name = Expand( tcp->CE_NAME ); - if( strcmp(name,cp->CE_NAME) == 0 ) - Fatal("Detected circular dynamic dependency; generated '%s'",name); - - /* Call helper for dynamic prerequisite expansion to replace the - * prerequisite with the expanded version and add the new - * prerequisites, if the macro expanded to more than one, after - * the current list element. */ - dp = _expand_dynamic_prq( cp->ce_prq, dp, name ); - FREE( name ); - - /* _expand_dynamic_prq() probably changed dp->cl_prq. */ - tcp = dp->cl_prq; - if ( tcp ) { - next = dp->cl_next; - } - } - - /* Dynamic expansion results in a NULL cell only when the the new - * prerequisite is already in the prerequisite list or empty. In this - * case delete the cell and continue. */ - if ( tcp == NIL(CELL) ) { - FREE(dp); - if ( prev == NIL(LINK) ) { - cp->ce_prq = next; - dp = NULL; /* dp will be the new value of prev. */ - } - else { - prev->cl_next = next; - dp = prev; - } - continue; - } - - /* Clear F_MARK flag that could have been set by _expand_dynamic_prq(). */ - tcp->ce_flag &= ~(F_MARK); - - if( cp->ce_attr & A_LIBRARY ) { - tcp->ce_attr |= A_LIBRARYM; - tcp->ce_lib = cp->ce_fname; - } - - /* Propagate the parent's F_REMOVE and F_INFER flags to the - * prerequisites. */ - tcp->ce_flag |= cp->ce_flag & (F_REMOVE|F_INFER); - - /* Propagate parents A_ROOT attribute to a child if the parent is a - * F_MULTI target. */ - if( (cp->ce_flag & F_MULTI) && (cp->ce_attr & A_ROOT) ) - tcp->ce_attr |= A_ROOT; - - tcp->ce_parent = cp; - rval |= Make(tcp, setdirroot); - - if( cp->ce_attr & A_LIBRARY ) - tcp->ce_attr ^= A_LIBRARYM; - - /* Return on error or if Make() is still running and A_SEQ is set. - * (All F_MULTI targets have the A_SEQ attribute.) */ - if( rval == -1 || (seq && (rval==1)) ) - goto stop_making_it; - - /* If tcp is ready, set made = F_MADE. */ - made &= tcp->ce_flag & F_MADE; - } - - - /* Do the loop again. We are most definitely going to make the current - * cell now. NOTE: doing this loop here also results in a reduction - * in peak memory usage by the algorithm. */ - - for( dp = cp->ce_prq; dp != NIL(LINK); dp = dp->cl_next ) { - int tgflg; - tcp = dp->cl_prq; - if( tcp == NIL(CELL) ) - Fatal("Internal Error: Found prerequisite list cell without prerequisite!"); - - name = tcp->ce_fname; - - /* make certain that all prerequisites are made prior to advancing. */ - if( !(tcp->ce_flag & F_MADE) ) goto stop_making_it; - - /* If the target is a library, then check to make certain that a member - * is newer than an object file sitting on disk. If the disk version - * is newer then set the time stamps so that the archived member is - * replaced. */ - if( cp->ce_attr & A_LIBRARY ) - if( tcp->ce_time <= cp->ce_time ) { - time_t mtime = Do_stat( name, tcp->ce_lib, NIL(char *), FALSE ); - if( mtime < tcp->ce_time ) tcp->ce_time = cp->ce_time+1L; - } - - /* Set otime to the newest time stamp of all prereqs or 1 if there - * are no prerequisites. */ - if( tcp->ce_time > otime ) otime = tcp->ce_time; - - list_add(&all_list, name); - if( (tgflg = (dp->cl_flag & F_TARGET)) != 0 ) - list_add(&inf_list, name); - - if((cp->ce_timece_time) || ((tcp->ce_flag & F_TARGET) && Force)) { - list_add(&outall_list, name); - if( tgflg ) - list_add(&imm_list, name); - } - } - - /* If we are building a F_MULTI target inherit the time from - * its children. */ - if( (cp->ce_flag & F_MULTI) ) - cp->ce_time = otime; - - /* All prerequisites are made, now make the current target. */ - - /* Restore UseWinpath and $@ if needed, see above for an explanation. */ - if (m_at->ht_value == NIL(char)) { - /* This check effectively tests if Make() was run before because - * Make() frees all dynamic macro values at the end. */ - UseWinpath = (((cp->ce_attr|Glob_attr)&A_WINPATH) != 0); - m_at = Def_macro("@", DO_WINPATH(cp->ce_fname), M_MULTI); - } - - /* Create a string with all concatenate filenames. The function - * respects .WINPATH. Note that gen_path_list_string empties its - * parameter :( */ - all = gen_path_list_string(&all_list); - imm = gen_path_list_string(&imm_list); - outall = gen_path_list_string(&outall_list); - inf = gen_path_list_string(&inf_list); - - DB_PRINT( "mem", ("%s:-C mem %ld", cp->CE_NAME, (long) coreleft()) ); - DB_PRINT( "make", ("I make '%s' if %ld > %ld", cp->CE_NAME, otime, - cp->ce_time) ); - - if( Verbose & V_MAKE ) { - printf( "%s: >>>> Making ", Pname ); - /* Also print the F_MULTI master target. */ - if( cp->ce_flag & F_MULTI ) - printf( "(::-\"master\" target) " ); - if( cp->ce_count != 0 ) - printf( "[%s::{%d}]\n", cp->CE_NAME, cp->ce_count ); - else - printf( "[%s]\n", cp->CE_NAME ); - } - - - /* Only PWD, TMD, MAKEDIR and the dynamic macros are affected by - * .WINPATH. $@ is handled earlier, do the rest now. */ -#if defined(__CYGWIN__) - /* This is only relevant for cygwin. */ - if( UseWinpath != prev_winpath_attr ) { - Def_macro( "MAKEDIR", Makedir, M_FORCE | M_EXPANDED ); - /* If push is TRUE (Push_dir() was used) PWD and TMD are already - * set. */ - if( !push ) { - Def_macro( "PWD", Pwd, M_FORCE | M_EXPANDED ); - _set_tmd(); - } - } - prev_winpath_attr = UseWinpath; -#endif - - /* Set the remaining dynamic macros $*, $>, $?, $<, $& and $^. */ - - /* $* is either expanded as the result of a % inference or defined to - * $(@:db) and hence unexpanded otherwise. The latter doesn't start - * with / and will therefore not be touched by DO_WINPATH(). */ - m_bb = Def_macro( "*", DO_WINPATH(cp->ce_per), M_MULTI ); - - /* This is expanded. */ - m_g = Def_macro( ">", DO_WINPATH(cp->ce_lib), M_MULTI|M_EXPANDED ); - /* These strings are generated with gen_path_list_string() and honor - * .WINPATH */ - m_q = Def_macro( "?", outall, M_MULTI|M_EXPANDED ); - m_b = Def_macro( "<", inf, M_MULTI|M_EXPANDED ); - m_l = Def_macro( "&", all, M_MULTI|M_EXPANDED ); - m_up = Def_macro( "^", imm, M_MULTI|M_EXPANDED ); - - _recipes[ RP_RECIPE ] = cp->ce_recipe; - - /* We attempt to make the target if - * 1. it has a newer prerequisite - * 2. It is a target and Force is set - * 3. It's set of recipe lines has changed. - */ - if( Check_state(cp, _recipes, NUM_RECIPES ) - || (cp->ce_time < otime) - || ((cp->ce_flag & F_TARGET) && Force) - ) { - - if( Measure & M_TARGET ) - Do_profile_output( "s", M_TARGET, cp ); - - /* Only checking so stop as soon as we determine we will make - * something */ - if( Check ) { - rval = -1; - goto stop_making_it; - } - - if( Verbose & V_MAKE ) - printf( "%s: Updating [%s], (%ld > %ld)\n", Pname, - cp->CE_NAME, otime, cp->ce_time ); - - /* In order to check if a targets time stamp was properly updated - * after the target was made and to keep the dependency chain valid - * for targets without recipes we store the minimum required file - * time. If the target time stamp is older than the newest - * prerequisite use that time, otherwise the current time. (This - * avoids the call to Do_time() for every target, still checks - * if the target time is new enough for the given prerequisite and - * mintime is also the newest time of the given prerequisites and - * can be used for targets without recipes.) - * We reuse the ce_time member to store this minimum time until - * the target is finished by Update_time_stamp(). This function - * checks if the file time was updated properly and warns if it was - * not. (While making a target this value does not change.) */ - cp->ce_time = ( cp->ce_time < otime ? otime : Do_time() ); - DB_PRINT( "make", ("Set ce_time (mintime) to: %ld", cp->ce_time) ); - - if( Touch ) { - name = cp->ce_fname; - lib = cp->ce_lib; - - if( (!(Glob_attr & A_SILENT) || !Trace) && !(cp->ce_attr & A_PHONY) ) { - if( lib == NIL(char) ) - printf("touch(%s)", name ); - else if( cp->ce_attr & A_SYMBOL ) - printf("touch(%s((%s)))", lib, name ); - else - printf("touch(%s(%s))", lib, name ); - } - - if( !Trace && !(cp->ce_attr & A_PHONY) ) - if( Do_touch( name, lib, - (cp->ce_attr & A_SYMBOL) ? &name : NIL(char *) ) != 0 ) - printf( " not touched - non-existant" ); - - if( (!(Glob_attr & A_SILENT) || !Trace) && !(cp->ce_attr & A_PHONY) ) - printf( "\n" ); - - Update_time_stamp( cp ); - } - else if( cp->ce_recipe != NIL(STRING) ) { - /* If a recipe is found use it. Note this misses F_MULTI targets. */ - if( !(cp->ce_flag & F_SINGLE) ) /* Execute the recipes once ... */ - rval = Exec_commands( cp ); - /* Update_time_stamp() is called inside Exec_commands() after the - * last recipe line is finished. (In _finished_child()) */ - else { /* or for every out of date dependency - * if the ruleop ! was used. */ - TKSTR tk; - - /* We will redefine $? to be the prerequisite that the recipes - * are currently evaluated for. */ - _drop_mac( m_q ); - - /* Execute recipes for each out out of date prerequisites. - * WARNING! If no prerequisite is given the recipes are not - * executed at all! */ - if( outall && *outall ) { - /* Wait for each prerequisite to finish, save the status - * of Wait_for_completion. */ - int wait_for_completion_status = Wait_for_completion; - Wait_for_completion = TRUE; - - SET_TOKEN( &tk, outall ); - - /* No need to update the target timestamp/removing temporary - * prerequisites (Update_time_stamp() in _finished_child()) - * until all prerequisites are done. */ - Doing_bang = TRUE; - name = Get_token( &tk, "", FALSE ); - /* This loop might fail if outall contains filenames with - * spaces. */ - do { - /* Set $? to current prerequisite. */ - m_q->ht_value = name; - - rval = Exec_commands( cp ); - /* Thanks to Wait_for_completion = TRUE we are allowed - * to remove the temp files here. */ - Unlink_temp_files(cp); - } - while( *(name = Get_token( &tk, "", FALSE )) != '\0' ); - Wait_for_completion = wait_for_completion_status; - Doing_bang = FALSE; - } - - Update_time_stamp( cp ); - /* Erase $? again. Don't free the pointer, it was part of outall. */ - m_q->ht_value = NIL(char); - } - } - else if( !(cp->ce_flag & F_RULES) && !(cp->ce_flag & F_STAT) && - (!(cp->ce_attr & A_ROOT) || !(cp->ce_flag & F_EXPLICIT)) && - !(cp->ce_count) ) - /* F_MULTI subtargets should evaluate its parents F_RULES value - * but _make_multi always sets the F_RULES value of the master - * target. Assume F_RULES is set for subtargets. This might not - * be true if there are no prerequisites and no recipes in any - * of the subtargets. (FIXME) */ - Fatal( "Don't know how to make `%s'",cp->CE_NAME ); - else { - /* Empty recipe, set the flag as MADE and update the time stamp */ - /* This might be a the master cell of a F_MULTI target. */ - Update_time_stamp( cp ); - } - } - else { - if( Verbose & V_MAKE ) - printf( "%s: Up to date [%s], prq time = %ld , target time = %ld)\n", Pname, - cp->CE_NAME, otime, cp->ce_time ); - mark_made = TRUE; - } - - /* If mark_made == TRUE the target is up-to-date otherwise it is - * currently in the making. */ - - /* Update all targets in .UPDATEALL rule / only target cp. */ - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp=dp->cl_prq; - - /* Set the time stamp of those prerequisites without rule to the current - * time if Force is TRUE to make sure that targets depending on those - * prerequisites get remade. */ - if( !(tcp->ce_flag & F_TARGET) && Force ) tcp->ce_time = Do_time(); - if( mark_made ) { - tcp->ce_flag |= F_MADE; - if( tcp->ce_flag & F_MULTI ) { - LINKPTR tdp; - for( tdp = tcp->ce_prq; tdp != NIL(LINK); tdp = tdp->cl_next ) - tcp->ce_attr |= tdp->cl_prq->ce_attr & A_UPDATED; - } - } - - /* Note that the target is in the making. */ - tcp->ce_flag |= F_VISITED; - - /* Note: If the prerequisite was made using a .SETDIR= attribute - * directory then we will include the directory in the fname - * of the target. */ - if( push ) { - char *dir = nsetdirroot ? nsetdirroot->ce_dir : Makedir; - /* get relative path from current SETDIR to new SETDIR. */ - /* Attention, even with .WINPATH set this has to be a POSIX - * path as ce_fname neeed to be POSIX. */ - char *pref = _prefix( dir, tcp->ce_dir ); - char *nname = Build_path(pref, tcp->ce_fname); - - FREE(pref); - if( (tcp->ce_attr & A_FFNAME) && (tcp->ce_fname != NIL(char)) ) - FREE( tcp->ce_fname ); - - tcp->ce_fname = DmStrDup(nname); - tcp->ce_attr |= A_FFNAME; - } - } - -stop_making_it: - _drop_mac( m_g ); - _drop_mac( m_q ); - _drop_mac( m_b ); - _drop_mac( m_l ); - _drop_mac( m_bb ); - _drop_mac( m_up ); - _drop_mac( m_at ); - - /* undefine conditional macros if any */ - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp=dp->cl_prq; - - while (tcp->ce_pushed != NIL(HASH)) { - HASHPTR cur = tcp->ce_pushed; - tcp->ce_pushed = cur->ht_link; - - Pop_macro(cur); - FREE(cur->ht_name); - if(cur->ht_value) - FREE(cur->ht_value); - FREE(cur); - } - } - - if( push ) - Pop_dir(FALSE); - - /* Undefine the strings that we used for constructing inferred - * prerequisites. */ - if( inf != NIL(char) ) FREE( inf ); - if( all != NIL(char) ) FREE( all ); - if( imm != NIL(char) ) FREE( imm ); - if( outall != NIL(char) ) FREE( outall ); - free_list(all_list.first); - free_list(imm_list.first); - free_list(outall_list.first); - free_list(inf_list.first); - - DB_PRINT( "mem", ("%s:-< mem %ld", cp->CE_NAME, (long) coreleft()) ); - DB_RETURN(rval); -} - - -static char * -_prefix( pfx, pat )/* -===================== - Return the relative path from pfx to pat. Both paths have to be absolute - paths. If the paths are on different resources or drives (if applicable) - or only share a relative path going up to the root dir and down again - return pat. */ -char *pfx; -char *pat; -{ - char *cmp1=pfx; - char *cmp2=pat; - char *tpat=pat; /* Keep pointer to original pat. */ - char *result; - char *up; - int first = 1; - int samerootdir = 1; /* Marks special treatment for the root dir. */ -#ifdef HAVE_DRIVE_LETTERS - int pfxdl = 0; - int patdl = 0; -#endif - - /* Micro optimization return immediately if pfx and pat are equal. */ - if( strcmp(pfx, pat) == 0 ) - return(DmStrDup("")); - -#ifdef HAVE_DRIVE_LETTERS - /* remove the drive letters to avoid getting them into the relative - * path later. */ - if( *pfx && pfx[1] == ':' && isalpha(*pfx) ) { - pfxdl = 1; - cmp1 = DmStrSpn(pfx+2, DirBrkStr); - } - if( *pat && pat[1] == ':' && isalpha(*pat) ) { - patdl = 1; - cmp2 = DmStrSpn(pat+2, DirBrkStr); - } - /* If the drive letters are different use the abs. path. */ - if( pfxdl && patdl && (tolower(*pfx) != tolower(*pat)) ) - return(DmStrDup(pat)); - - /* If only one has a drive letter also use the abs. path. */ - if( pfxdl != patdl ) - return(DmStrDup(pat)); - else if( pfxdl ) - /* If both are the same drive letter, disable the special top - * dir treatment. */ - samerootdir = 0; - - /* Continue without the drive letters. (Either none was present, - * or both were the same. This also solves the problem that the - * case of the drive letters sometimes depends on the shell. - * (cmd.exe vs. cygwin bash) */ - pfx = cmp1; - pat = cmp2; -#endif - - /* Cut off equal leading parts of pfx, pat. Both have to be abs. paths. */ - while(*pfx && *pat) { - /* skip leading dir. separators. */ - pfx = DmStrSpn(cmp1, DirBrkStr); - pat = DmStrSpn(cmp2, DirBrkStr); - - /* Only check in the first run of the loop. Leading slashes can only - * mean POSIX paths or Windows resources (two) slashes. Drive letters - * have no leading slash. In any case, if the number of slashes are - * not equal there can be no relative path from one two the other. - * In this case return the absolute path. */ - if( first ) { - if( cmp1-pfx != cmp2-pat ) { - return(DmStrDup(tpat)); - } - first = 0; - } - - /* find next dir. separator (or ""). */ - cmp1 = DmStrPbrk(pfx, DirBrkStr); - cmp2 = DmStrPbrk(pat, DirBrkStr); - - /* if length of directory name is equal compare the strings. If equal - * go into next loop. If not equal and directory names in the root - * dir are compared return the absolut path otherwise break the loop - * and construct the relative path from pfx to pat. */ - if ( (cmp1-pfx) != (cmp2-pat) || strncmp(pfx,pat,cmp1-pfx) != 0 ) { - if( samerootdir ) { - return(DmStrDup(tpat)); - } - break; - } - - if( samerootdir ) { -#if __CYGWIN__ - /* If the toplevel directory is /cygdrive (or the equivalent prefix) - * treat the following level also as rootdir. If we are here cmp1-pfx - * cannot be zero so we won't compare with an empty cygdrive prefix. */ - if ( (cmp1-pfx) == CygDrvPreLen && strncmp(pfx,CygDrvPre,CygDrvPreLen) == 0 ) - samerootdir = 1; - else -#endif - samerootdir = 0; - } - } - - result = DmStrDup(""); - up = DmStrJoin("..",DirSepStr,-1,FALSE); - cmp1 = pfx; - /* Add "../" for each directory in pfx */ - while ( *(pfx=DmStrSpn(cmp1,DirBrkStr)) != '\0' ) { - cmp1 = DmStrPbrk(pfx,DirBrkStr); - result = DmStrJoin(result,up,-1,TRUE); - } - - pat = DmStrSpn(pat,DirBrkStr); - /* Append pat to result. */ - if( *pat != '\0' ) { - cmp2 = DmStrDup(Build_path(result, pat)); - FREE(result); - result = cmp2; - } else { - /* if pat is empty and result exists remove the trailing slash - * from the last "../". */ - if( *result ) { - result[strlen(result)-1] = '\0'; - } - } - - return(result); -} - - -static LINKPTR -_dup_prq( lp ) -LINKPTR lp; -{ - LINKPTR tlp; - - if( lp == NIL(LINK) ) return(lp); - - TALLOC(tlp, 1, LINK); - tlp->cl_prq = lp->cl_prq; - tlp->cl_flag = lp->cl_flag; - tlp->cl_next = _dup_prq( lp->cl_next ); - - return(tlp); -} - - -static LINKPTR -_expand_dynamic_prq( head, lp, name )/* -======================================= - The string name can contain one or more target names. Check if these are - already a prerequisite for the current target. If not add them to the list - of prerequisites. If no prerequisites were added set lp->cl_prq to NULL. - Set the F_MARK flag to indicate that the prerequisite was expanded. - Use cl_flag instead?? */ -LINKPTR head; -LINKPTR lp; -char *name; -{ - CELLPTR cur = lp->cl_prq; - - if( !(*name) ) { - /* If name is empty this leaves lp->cl_prq unchanged -> No prerequisite added. */ - ; - } - else if ( strchr(name, ' ') == NIL(char) ) { - /* If condition above is true, no space is found. */ - CELLPTR prq = Def_cell(name); - LINKPTR tmp; - - /* Check if prq already exists. */ - for(tmp=head;tmp != NIL(LINK) && tmp->cl_prq != prq;tmp=tmp->cl_next); - - /* If tmp is NULL then the prerequisite is new and is added to the list. */ - if ( !tmp ) { - /* replace the prerequisite with the expanded version. */ - lp->cl_prq = prq; - lp->cl_prq->ce_flag |= F_MARK; - } - } - else { - LINKPTR tlp = lp; - LINKPTR next = lp->cl_next; - TKSTR token; - char *p; - int first=TRUE; - - /* Handle more than one prerequisite. */ - SET_TOKEN(&token, name); - while (*(p=Get_token(&token, "", FALSE)) != '\0') { - CELLPTR prq = Def_cell(p); - LINKPTR tmp; - - for(tmp=head;tmp != NIL(LINK) && tmp->cl_prq != prq;tmp=tmp->cl_next); - - /* If tmp is not NULL the prerequisite already exists. */ - if ( tmp ) continue; - - /* Add list elements behind the first if more then one new - * prerequisite is found. */ - if ( first ) { - first = FALSE; - } - else { - TALLOC(tlp->cl_next,1,LINK); - tlp = tlp->cl_next; - tlp->cl_flag |= F_TARGET; - tlp->cl_next = next; - } - - tlp->cl_prq = prq; - tlp->cl_prq->ce_flag |= F_MARK; - } - CLEAR_TOKEN( &token ); - } - - /* If the condition is true no new prerequisits were found. */ - if ( lp->cl_prq == cur ) { - lp->cl_prq = NIL(CELL); - lp->cl_flag = 0; - } - - /* Is returned unchanged. */ - return(lp); -} - - -static void -_drop_mac( hp )/* -================ set a macro value to zero. */ -HASHPTR hp; -{ - if( hp && hp->ht_value != NIL(char) ) { - FREE( hp->ht_value ); - hp->ht_value = NIL(char); - } -} - - - -static int -_explode_graph( cp, parent, setdirroot )/* -========================================== - Check to see if we have made the node already. If so then don't do - it again, except if the cell's ce_setdir field is set to something other - than the value of setdirroot. If they differ then, and we have made it - already, then make it again and set the cell's stat bit to off so that - we do the stat again. */ -CELLPTR cp; -LINKPTR parent; -CELLPTR setdirroot; -{ - static CELLPTR removecell = NIL(CELL); - - if ( removecell == NIL(CELL) ) - removecell = Def_cell(".REMOVE"); - - /* we may return if we made it already from the same setdir location, - * or if it is not a library member whose lib field is non NULL. (if - * it is such a member then we have a line of the form: - * lib1 lib2 .LIBRARY : member_list... - * and we have to make sure all members are up to date in both libs. */ - - if ( setdirroot == removecell ) - return( 0 ); - - if( cp->ce_setdir == setdirroot && - !((cp->ce_attr & A_LIBRARYM) && (cp->ce_lib != NIL(char))) ) - return( 0 ); - - /* We check to make sure that we are comming from a truly different - * directory, ie. ".SETDIR=joe : a.c b.c d.c" are all assumed to come - * from the same directory, even though setdirroot is different when - * making dependents of each of these targets. */ - - if( cp->ce_setdir != NIL(CELL) && - setdirroot != NIL(CELL) && - cp->ce_dir && - setdirroot->ce_dir && - !strcmp(cp->ce_dir, setdirroot->ce_dir) ) - return( 0 ); - - if( Max_proc > 1 ) { - LINKPTR dp; - - TALLOC(parent->cl_prq, 1, CELL); - *parent->cl_prq = *cp; - cp = parent->cl_prq; - cp->ce_prq = _dup_prq(cp->ce_prqorg); - cp->ce_all.cl_prq = cp; - CeNotMe(cp) = _dup_prq(CeNotMe(cp)); - - for(dp=CeNotMe(cp);dp;dp=dp->cl_next) { - CELLPTR tcp = dp->cl_prq; - TALLOC(dp->cl_prq,1,CELL); - *dp->cl_prq = *tcp; - dp->cl_prq->ce_flag &= ~(F_STAT|F_VISITED|F_MADE); - dp->cl_prq->ce_set = cp; - } - } - cp->ce_flag &= ~(F_STAT|F_VISITED|F_MADE); - - /* Indicate that we exploded the graph and that the current node should - * be made. */ - return(1); -} - - - -PUBLIC int -Exec_commands( cp )/* -===================== - Execute the commands one at a time that are pointed to by the rules pointer - of the target cp if normal (non-group) recipes are defined. If a group recipe - is found all commands are written into a temporary file first and this - (group-) shell script is executed all at once. - If a group is indicated, then the ce_attr determines .IGNORE and .SILENT - treatment for the group. - - The function returns 0, if the command is executed and has successfully - returned, and it returns 1 if the command is executing but has not yet - returned or -1 if an error occured (Return value from Do_cmnd()). - - Macros that are found in recipe lines are expanded in this function, in - parallel builds this can mean they are expanded before the previous recipe - lines are finished. (Exception: $(shell ..) waits until all previous recipe - lines are done.) - - The F_MADE bit in the cell is guaranteed set when the command has - successfully completed. */ -CELLPTR cp; -{ - static HASHPTR useshell = NIL(HASH); - static HASHPTR command = NIL(HASH); - static int read_cmnd = 0; - register STRINGPTR rp; - STRINGPTR orp; - char *cmnd; - char *groupfile; - FILE *tmpfile = 0; - int do_it; - t_attr attr; - int group; - int trace; - int rval = 0; - - DB_ENTER( "Exec_commands" ); - - if( cp->ce_recipe == NIL(STRING) ) - Fatal("Internal Error: No recipe found!"); - - attr = Glob_attr | cp->ce_attr; - trace = Trace || !(attr & A_SILENT); - group = cp->ce_flag & F_GROUP; - - /* Do it again here for those that call us from places other than Make() - * above. */ - orp = _recipes[ RP_RECIPE ]; - _recipes[ RP_RECIPE ] = cp->ce_recipe; - - if( group ) { - /* Leave this assignment of Current_target here. It is needed just - * incase the user hits ^C after the tempfile for the group recipe - * has been opened. */ - Current_target = cp; - trace = Trace || !(attr & A_SILENT); - - if( !Trace ) tmpfile = Start_temp( Grp_suff, cp, &groupfile ); - if( trace ) fputs( "[\n", stdout ); - - /* Emit group prolog */ - if( attr & A_PROLOG ) - _append_file( _recipes[RP_GPPROLOG], tmpfile, cp->CE_NAME, trace ); - } - - if( !useshell ) - useshell=Def_macro("USESHELL",NIL(char),M_MULTI|M_EXPANDED); - - if( !read_cmnd ) { - command = GET_MACRO("COMMAND"); - read_cmnd = 1; - } - - /* Process commands in recipe. If in group, merely append to file. - * Otherwise, run them. */ - for( rp=_recipes[RP_RECIPE]; rp != NIL(STRING); rp=rp->st_next) { - t_attr a_attr = A_DEFAULT; - t_attr l_attr; - char *p; - int new_attr = FALSE; - int shell; /* True if the recipe shall run in shell. */ - - /* Reset it for each recipe line otherwise tempfiles don't get removed. - * Since processing of $(mktmp ...) depends on Current_target being - * correctly set. */ - Current_target = cp; - - /* Only check for +,-,%,@ if the recipe line begins with a '$' macro - * expansion. Otherwise there is no way it is going to find these - * now. */ - if( *rp->st_string == '$' && !group ) { - t_attr s_attr = Glob_attr; - Glob_attr |= A_SILENT; - Suppress_temp_file = TRUE; - cmnd = Expand(rp->st_string); - Suppress_temp_file = FALSE; - a_attr |= Rcp_attribute(cmnd); - FREE(cmnd); - ++new_attr; - Glob_attr = s_attr; - } - - l_attr = attr|a_attr|rp->st_attr; - shell = ((l_attr & A_SHELL) != 0); - useshell->ht_value = (group||shell)?"yes":"no"; - - /* All macros are expanded before putting them in the "process queue". - * Nothing in Expand() should be able to change dynamic macros. */ - cmnd = Expand( rp->st_string ); - - if( new_attr && (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) { - size_t len = strlen(p)+1; - memmove(cmnd,p,len); - } - - /* COMMAND macro is set to "$(CMNDNAME) $(CMNDARGS)" by default, it is - * possible for the user to reset it to, for example - * COMMAND = $(CMNDNAME) @$(mktmp $(CMNDARGS)) - * in order to get a different interface for his command execution. */ - if( command != NIL(HASH) && !group ) { - char *cname = cmnd; - char cmndbuf[30]; - - if ( *(p=DmStrPbrk(cmnd," \t\n")) != '\0' ) { - *p = '\0'; - (void)Def_macro("CMNDARGS",DmStrSpn(p+1," \t\n"),M_MULTI|M_EXPANDED); - } - else - (void) Def_macro("CMNDARGS","",M_MULTI|M_EXPANDED); - - (void) Def_macro("CMNDNAME",cname,M_MULTI|M_EXPANDED); - - strcpy(cmndbuf, "$(COMMAND)"); - cmnd = Expand(cmndbuf); - FREE(cname); /* cname == cmnd at this point. */ - - /* Collect up any new attributes */ - l_attr |= Rcp_attribute(cmnd); - shell = ((l_attr & A_SHELL) != 0); - - /* clean up the attributes that we may have just added. */ - if( (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) { - size_t len = strlen(p)+1; - memmove(cmnd,p,len); - } - } - -#if defined(MSDOS) - Swap_on_exec = ((l_attr & A_SWAP) != 0); /* Swapping for DOS only */ -#endif - do_it = !Trace; - - /* We force execution of the recipe if we are tracing and the .EXECUTE - * attribute was given or if the it is not a group recipe and the - * recipe line contains the string $(MAKE). Wait_for_completion might - * be changed gobaly but this is without consequences as we wait for - * every recipe with .EXECUTE and don't start anything else. */ - if( Trace - && ((l_attr & A_EXECUTE)||(!group && DmStrStr(rp->st_string,"$(MAKE)"))) - ) { - Wait_for_completion |= Trace; - do_it = TRUE; - } - - if( group ) - /* Append_line() calls Print_cmnd(). */ - Append_line( cmnd, TRUE, tmpfile, cp->CE_NAME, trace, 0 ); - else { - /* Don't print empty recipe lines. .ROOT and .TARGETS - * deliberately might have empty "" recipes and we don't want - * to output empty recipe lines for them. */ - if ( *cmnd ) { - /* Print command and remove continuation sequence from cmnd. */ - Print_cmnd(cmnd, !(do_it && (l_attr & A_SILENT)), 0); - } - rval=Do_cmnd(&cmnd,FALSE,do_it,cp,l_attr, - rp->st_next == NIL(STRING) ); - } - - FREE(cmnd); - } - - /* If it is a group then output the EPILOG if required and possibly - * execute the command */ - if( group && !(cp->ce_attr & A_ERROR) ) { - if( attr & A_EPILOG ) /* emit epilog */ - _append_file( _recipes[RP_GPEPILOG], tmpfile, cp->CE_NAME, trace ); - - if( trace ) fputs("]\n", stdout); - - do_it = !Trace; - if( do_it ) - { - Close_temp( cp, tmpfile ); -#if defined(UNIX) - - chmod(groupfile,0700); -#endif - } - rval = Do_cmnd(&groupfile, TRUE, do_it, cp, attr | A_SHELL, TRUE); - } - - _recipes[ RP_RECIPE ] = orp; - cp->ce_attr &= ~A_ERROR; - DB_RETURN( rval ); -} - - -PUBLIC void -Print_cmnd( cmnd, echo, map )/* -================================ - This routine is called to print out the command to stdout. If echo is - false the printing to stdout is supressed. - The routine is also used to remove the line continuation sequence - \ from the command string and convert escape sequences if the - map flag is set. - The changed string is used later to actually to execute the command. */ -char *cmnd; -int echo; -int map; -{ - register char *p; - register char *n; - char tmp[3]; - - DB_ENTER( "Print_cmnd" ); - - if( echo ) { - printf( "%s\n", cmnd ); - fflush(stdout); - } - - tmp[0] = ESCAPE_CHAR; - tmp[1] = CONTINUATION_CHAR; - tmp[2] = '\0'; - - for( p=cmnd; *(n = DmStrPbrk(p,tmp)) != '\0'; ) - /* Remove the \ sequences. */ - if(*n == CONTINUATION_CHAR && n[1] == '\n') { - size_t len = strlen(n+2)+1; - DB_PRINT( "make", ("fixing [%s]", p) ); - memmove( n, n+2, len ); - p = n; - } - /* Look for an escape sequence and replace it by it's corresponding - * character value. */ - else { - if( *n == ESCAPE_CHAR && map ) Map_esc( n ); - p = n+1; - } - - DB_VOID_RETURN; -} - - - -/* These routines are used to maintain a stack of directories when making - * the targets. If a target cd's to the directory then it is assumed that - * it will undo it when it is finished making itself. */ - -static STRINGPTR dir_stack = NIL(STRING); - -PUBLIC int -Push_dir( dir, name, ignore )/* -=============================== - Change the current working directory to dir and save the current - working directory on the stack so that we can come back. - - If ignore is TRUE then do not complain about _ch_dir if not possible. - - Return 1 if the directory change was successfull and 0 otherwise. */ -char *dir; -char *name; -int ignore; -{ - STRINGPTR new_dir; - int freedir=FALSE; - - DB_ENTER( "Push_dir" ); - - if( dir == NIL(char) || *dir == '\0' ) dir = Pwd; - if( *dir == '\'' && dir[strlen(dir)-1] == '\'' ) { - dir = DmStrDup(dir+1); - dir[strlen(dir)-1]='\0'; - freedir=TRUE; - } - else if (strchr(dir,'$') != NIL(char)) { - dir = Expand(dir); - freedir=TRUE; - } - else - dir = DmStrDup(dir); - - if( Set_dir(dir) ) { - if( !ignore ) - Fatal( "Unable to change to directory `%s', target is [%s]", - dir, name ); - if (freedir) FREE(dir); - DB_RETURN( 0 ); - } - - DB_PRINT( "dir", ("Push: [%s]", dir) ); - if( Verbose & V_DIR_SET ) - printf( "%s: Changed to directory [%s]\n", Pname, dir ); - - if (freedir) FREE( dir ); - TALLOC( new_dir, 1, STRING ); - new_dir->st_next = dir_stack; - dir_stack = new_dir; - new_dir->st_string = DmStrDup( Pwd ); - - Def_macro( "PWD", Get_current_dir(), M_FORCE | M_EXPANDED ); - _set_tmd(); - - DB_RETURN( 1 ); -} - - - -PUBLIC void -Pop_dir(ignore)/* -================= - Change the current working directory to the previous saved dir. */ -int ignore; -{ - STRINGPTR old_dir; - char *dir; - - DB_ENTER( "Pop_dir" ); - - if( dir_stack == NIL(STRING) ) { - if( ignore ) { - DB_VOID_RETURN; - } - else - Error( "Directory stack empty for return from .SETDIR" ); - } - - if( Set_dir(dir = dir_stack->st_string) ) - Fatal( "Could not change to directory `%s'", dir ); - - Def_macro( "PWD", dir, M_FORCE | M_EXPANDED ); - DB_PRINT( "dir", ("Pop: [%s]", dir) ); - if( Verbose & V_DIR_SET ) - printf( "%s: Changed back to directory [%s]\n", Pname, dir); - - old_dir = dir_stack; - dir_stack = dir_stack->st_next; - - FREE( old_dir->st_string ); - FREE( old_dir ); - _set_tmd(); - - DB_VOID_RETURN; -} - - - -static void -_set_tmd()/* -============ - Set the TMD Macro and the Tmd global variable. TMD stands for "To MakeDir" - and is the path from the present directory (value of $(PWD)) to the directory - dmake was started up in (value of $(MAKEDIR)). As _prefix() can return absolute - paths some special .WINPATH treatment is needed. -*/ -{ - char *tmd; - - if( Tmd ) - FREE(Tmd); - - tmd = _prefix(Pwd, Makedir); - if( *tmd ) { - Def_macro( "TMD", DO_WINPATH(tmd), M_FORCE | M_EXPANDED ); - Tmd = DmStrDup(tmd); - } else { - Def_macro( "TMD", ".", M_FORCE | M_EXPANDED ); - Tmd = DmStrDup("."); - } - FREE( tmd ); -} - - -static void -_set_recipe( target, ind )/* -============================ - Set up the _recipes static variable so that the slot passed in points - at the rules corresponding to the target supplied. */ -char *target; -int ind; -{ - CELLPTR cp; - HASHPTR hp; - - if( (hp = Get_name(target, Defs, FALSE)) != NIL(HASH) ) { - cp = hp->CP_OWNR; - _recipes[ ind ] = cp->ce_recipe; - } - else - _recipes[ ind ] = NIL(STRING); -} - - - -PUBLIC void -Append_line( cmnd, newline, tmpfile, name, printit, map ) -char *cmnd; -int newline; -FILE *tmpfile; -char *name; -int printit; -int map; -{ - Print_cmnd( cmnd, printit, map ); - - if( Trace ) return; - - fputs(cmnd, tmpfile); - if( newline ) fputc('\n', tmpfile); - fflush(tmpfile); - - if( ferror(tmpfile) ) - Fatal("Write error on temporary file, while processing `%s'", name); -} - - - -static void -_append_file( rp, tmpfile, name, printit ) -register STRINGPTR rp; -FILE *tmpfile; -char *name; -int printit; -{ - char *cmnd; - - while( rp != NIL(STRING) ) { - Append_line(cmnd = Expand(rp->st_string), TRUE, tmpfile, name, printit,0); - FREE(cmnd); - rp = rp->st_next; - } -} - - -#define NUM_BUCKETS 20 - -typedef struct strpool { - char *string; /* a pointer to the string value */ - uint32 keyval; /* the strings hash value */ - struct strpool *next; /* hash table link pointer */ -} POOL, *POOLPTR; - -static POOLPTR strings[ NUM_BUCKETS ]; - -static char * -_pool_lookup( str )/* -===================== - Scan down the list of chained strings and see if one of them matches - the string we are looking for. */ -char *str; -{ - register POOLPTR key; - uint32 keyval; - uint16 hv; - uint16 keyindex; - char *string; - - DB_ENTER( "_pool_lookup" ); - - if( str == NIL(char) ) DB_RETURN(""); - - hv = Hash(str, &keyval); - key = strings[ keyindex = (hv % NUM_BUCKETS) ]; - - while( key != NIL(POOL) ) - if( (key->keyval != keyval) || strcmp(str, key->string) ) - key = key->next; - else - break; - - if( key == NIL(POOL) ) { - DB_PRINT( "pool", ("Adding string [%s]", str) ); - TALLOC( key, 1, POOL ); /* not found so add string */ - - key->string = string = DmStrDup(str); - key->keyval = keyval; - - key->next = strings[ keyindex ]; - strings[ keyindex ] = key; - } - else { - DB_PRINT( "pool", ("Found string [%s], key->string") ); - string = key->string; - } - - DB_RETURN( string ); -} - - -void -Unmake( cp )/* -============== - Remove flags indicating that a target was previously made. This - is used for infered makefiles. */ -CELLPTR cp; -{ - LINKPTR dp, ep; - CELLPTR tcp, pcp; - - DB_ENTER( "Unmake" ); - - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp = dp->cl_prq; - - /* Unmake the prerequisites. */ - for( ep = tcp->ce_prq; ep != NIL(LINK); ep = ep->cl_next ) { - pcp = ep->cl_prq; - - Unmake(pcp); - } - DB_PRINT( "unmake", ("Unmake [%s]", tcp->CE_NAME) ); - - tcp->ce_flag &= ~(F_MADE|F_VISITED|F_STAT); - tcp->ce_time = (time_t)0L; - } - - DB_VOID_RETURN; -} diff --git a/dmake/make.cmd b/dmake/make.cmd deleted file mode 100755 index cb9efc7f606b..000000000000 --- a/dmake/make.cmd +++ /dev/null @@ -1,120 +0,0 @@ -echo off - -cls -rem *** This is the make command file that is used under OS/2 to make the -rem *** first version of dmake. It isn't pretty but it does work, assuming -rem *** the compilers have been correctly setup. -rem - -if %0%1 == %0 goto error - -if %1 == os2-gcc goto mkgcc -if %1 == os2-ibm goto mkibm -if %1 == os2-ibm3 goto mkibm3 -if %1 == winnt-bcc40 goto mkwntb40 -if %1 == winnt-bcc45 goto mkwntb45 -if %1 == winnt-bcc50 goto mkwntb50 -if %1 == winnt-vpp40 goto mkwntv40 - - -rem label the possible DOS variations for dmake here. -:error -echo OS/2 INDEX: You must specify one of: -echo ------------------ -echo os2-gcc - gcc&klibc compile (this is the only supported configuration). -echo os2-ibm - IBM OS/2 ICC compile (deprecated). -echo os2-ibm3 - IBM OS/2 ICC3 compile (deprecated). -echo winnt-bcc40 - Windows-NT Borland C++ 4.0 Compile -echo winnt-bcc45 - Windows-NT Borland C++ 4.5 Compile -echo winnt-bcc50 - Windows-NT Borland C++ 5.0 Compile -echo winnt-vpp40 - Windows-NT Microsoft VC++ 4.0 Compile -goto end - -rem This is the script that builds OS/2 dmake using gcc & klibc - -:mkgcc -set CONFIG_SHELL=sh -set CFLAGS=-g -O3 -march=pentium4 -set CXXFLAGS=-g -O3 -march=pentium4 -set LDFLAGS=-s -Zomf -Zhigh-mem -Zargs-wild -Zargs-resp -set LN_CP_F=cp.exe -set RANLIB=echo -set AR=emxomfar -p128 -sh -c "./configure --enable-spawn" -make.exe - -goto end - -rem This is the script that bilds OS/2 dmake using IBM ICC Compiler -:mkibm -os2\ibm\icc\mk.cmd -goto end - -:mkibm3 -os2\ibm\icc3\mk.cmd -goto end - -rem This is the script that makes 32-bit dmake using Borland C++ 4.0. -:mkwntb40 -cls -echo WARNING: -echo The default response files: -echo winnt\borland\bcc40\obj.rsp -echo winnt\borland\bcc40\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -winnt\borland\bcc40\mk.bat -goto end - -rem This is the script that makes 32-bit dmake using Borland C++ 4.5. -:mkwntb45 -cls -echo WARNING: -echo The default response files: -echo winnt\borland\bcc45\obj.rsp -echo winnt\borland\bcc45\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -winnt\borland\bcc45\mk.bat -goto end - -rem All done! -rem This is the script that makes 32-bit dmake using Borland C++ 5.0. -:mkwntb50 -cls -echo WARNING: -echo The default response files: -echo winnt\borland\bcc50\obj.rsp -echo winnt\borland\bcc50\lib.rsp -echo contain absolute paths to Borland C++ runtime startup objects, and to -echo the standard libraries. You should check that these files contain -echo the correct path names for your installation of Borland C++ before -echo proceeding further. Also check that the mkdir command at the start -echo of the response file and the copy command at the end of the response -echo file will work on your system. -echo -- -echo Continue if ok, or abort and edit the response files. -pause -winnt\borland\bcc50\mk.bat -goto end - -:mkwntv40 -winnt\microsft\vpp40\mk.bat -goto end - -rem All done! -:end diff --git a/dmake/makefile.mk b/dmake/makefile.mk deleted file mode 100644 index 528a79f7c021..000000000000 --- a/dmake/makefile.mk +++ /dev/null @@ -1,432 +0,0 @@ -# //// Makefile for DMAKE. \\\\ -# The target system is characterized by the following macros imported from -# the environment. -# -# OS - gives the class of operating system -# OSRELEASE - optionally specifies the particular release of the OS -# OSENVIRONMENT - optionally specifies the environment under which the -# OS and OSENVIRONMENT are running. -# -# For valid values for the above macros consult the readme/* files or type -# 'make' by itself to get a summary of what is available. - -# First target in the makefile, do this so that targets declared in the -# included files are never marked as being the first *default* target. -first : all ; - -#Enable keeping of state for future compiles -.KEEP_STATE *:= _state.mk - -# Define $(PUBLIC) -_osenv := $(OSENVIRONMENT)$/ -_osre := $(OSRELEASE)$/$(!null,$(OSENVIRONMENT) $(_osenv)) -.IF "$(OS)"=="LINUX" -OS=linux -.ENDIF -ENVDIR = $(OS)$/$(!null,$(OSRELEASE) $(_osre)) -PUBLIC = $(ENVDIR)public.h -MKCONFIG := startup/config.mk - -# Define the source files -SRC =\ - infer.c make.c stat.c expand.c dmstring.c hash.c dag.c dmake.c\ - path.c imacs.c sysintf.c parse.c getinp.c quit.c state.c\ - dmdump.c macparse.c rulparse.c percent.c function.c - -# Common Include files. -HDR = dmake.h extern.h struct.h vextern.h - -# Define the TARGET we are making, and where the OBJECT files go. -OBJDIR := objects -TARGET = dmake$E -CFLAGS += $(SWITCHAR)I. - -# Meta rule for making .o's from .c's (give our own so we can move object -# to objects directory in a portable, compiler independent way) -# Define it before the .INCLUDE so that different OS combinations can redefine -# it. -%$O : %.c -.IF $(SHELL) == mpw - %$(CC) $(CFLAGS) -o :$(OBJDIR:s,/,:,):$@ $< -.ELSE - %$(CC) $(SWITCHAR)c $(CFLAGS) $< -.IF $(SHELL) != $(COMSPEC) - mv $(@:f) $(OBJDIR) -.ELSE - +copy $(@:f) $(OBJDIR) - +del $(@:f) -.ENDIF -.ENDIF - -# Pull in the proper configuration files, based on the value of OS. -.INCLUDE : $(OS)/config.mk -.INCLUDE : dbug/dbug.mk - -# Set the .SOURCE targets so that we look for things in the right place. -.SOURCE.c :^ .NULL -.SOURCE.h :^ .NULL -.SOURCE$O :^ $(OBJDIR) -.PRECIOUS : $(HDR) - -# Must come after the above INCLUDE so that it gets ALL objects. -OBJECTS := {$(ASRC:b) $(SRC:b)}$O - -# The main target, make sure the objects directory exists first. -# LDARGS is defined in config.mk file of each OS/OSRELEASE combination. -all : $(TARGET) $(MKCONFIG); -$(TARGET) : $(OBJDIR) -$(TARGET) : $(OBJECTS);$(LD) $(LDARGS) - -# Use this for install targets -.IF $(SHELL) == mpw -$(MKCONFIG) : template.mk - duplicate :$(<:s,/,:,) $@ -.ELSE -$(MKCONFIG) : template.mk - $(eq,$(SHELL),$(COMSPEC) +copy cp) $< $(eq,$(SHELL),$(COMSPEC) $(@:s,/,\,) $@) -.ENDIF - -# how to make public.h -public .PHONY : $(PUBLIC); -$(PUBLIC) .GROUP .NOSTATE: $(SRC) - genpub -n DMAKE $< >$@ -# drcsclean ./rcsclean.awk $@ > /dev/null - -# Other obvious targets... -.IF $(SHELL) == mpw - $(OBJDIR):;-newfolder $@ -.ELSE - $(OBJDIR):;-$(eq,$(SHELL),$(COMSPEC) +md mkdir) $@ -.ENDIF - -# remaining dependencies should be automatically generated -sysintf$O : sysintf.h -ruletab$O : startup.h #khc 01NOV90 - dependency was missing -$(OBJECTS) : $(HDR) - -clean:;+- $(RM:f) -rf dmake$E dbdmake$E objects* _*state*.mk startup/config.mk - -# Rules for making the manual pages. -man .SETDIR=man : dmake.nc dmake.uue ; -dmake.nc : dmake.p ; scriptfix < $< > $@ -dmake.p : dmake.tf; groff -man -Tascii $< > $@ -dmake.uue : dmake.p - compress -b 12 dmake.p - mv dmake.p.Z dmake.Z - uuencode dmake.Z dmake.Z >dmake.uue - /bin/rm -f dmake.Z - -template.mk ".SETDIR=$(ENVDIR)" .USESHELL : $$(TMD)/startup/template.mk - cat $< |\ - sed -e 's/xxOSxx/$(OS)/' |\ - sed -e 's/xxOSRELEASExx/$(OSRELEASE)/' |\ - sed -e 's/xxOSENVIRONMENTxx/$(OSENVIRONMENT)/' > $@ - -#-------------------------------------------------------------------------- -# Make the various archives for shipping the thing around. -# -archives : zip tar - $(RM) -rf src-list dmake - -zip .PHONY : dmake.zip ; -shar .PHONY : dmake.shar; -tar .PHONY : dmake.tar; - -dmake.zip : dir-copy - zip -r $(@:b) $(@:b) - -dmake.shar : dir-copy - find dmake -type f -print >src-list - xshar -vc -o$@ -L40 `cat src-list` - -dmake.tar : dir-copy - tar cf $@ dmake - -dir-copy .PHONY : src-list -[ - echo 'tmp.tar .SILENT :$$(ALLSRC) ;tar -cf tmp.tar $$(ALLSRC)' >> $< - $(MAKECMD) -f $< tmp.tar - mkdir dmake - cd dmake - tar xf ../tmp.tar; chmod -R u+rw . - cd .. - /bin/rm -f tmp.tar -] - -src-list : clean - echo 'MAXLINELENGTH := 65536' > $@ - echo 'ALLSRC = \' >>$@ - find . -type f -print |\ - sed -e 's/,v//'\ - -e 's/$$/\\/'\ - -e 's/^\.\// /'|\ - sort -u |\ - grep -v tst | grep -v $@ | grep -v license |\ - grep -v CVS | grep -v RCS |\ - grep -v '\.zip' | grep -v '\.tar'| grep -v '\.shar' >> $@ - echo ' readme/license.txt' >> $@ - -#-------------------------------------------------------------------------- -# This section can be used to make the necessary script files so that dmake -# can be bootstrapped. -# -# dmake scripts -- makes all the script files at once. -# -FIX-SH = $(SH:s,fix/,,) -FIX95-SH = $(SH:s,fix95nt/,,) -SH = $(SH_n:s/c40d/cd/:s/c50d/cd/:s/c51d/cd/:s/c60d/cd/) -SH_n = $(@:s/swp-/-/:s,-,/,:s/scripts/${SCRIPTFILE}/) -MS = MAKESTARTUP=startup/startup.mk -FS := "SHELL := $(SHELL)" "SHELLFLAGS := -ce" -SET-TMP:= TMPDIR:=/tmp - -scripts: unix-scripts\ - atari-tos-scripts apple-mac-scripts qssl-qnx-scripts\ - msdos-scripts win95-scripts os2-scripts; - -# To add a new environment for UNIX, simply create the appropriate entry -# in the style below for the macro which contains the OS, OSRELEASE and -# OSENVIRONMENT flags. Then add the entry as a recipe line for the target -# unix-scripts. -# -unix-bsd43-scripts-flags = OS=unix OSRELEASE=bsd43 OSENVIRONMENT= -unix-linux-gnu-scripts-flags = OS=unix OSRELEASE=linux OSENVIRONMENT=gnu -unix-solaris-scripts-flags = OS=unix OSRELEASE=solaris OSENVIRONMENT= -unix-solaris-gnu-scripts-flags = OS=unix OSRELEASE=solaris OSENVIRONMENT=gnu -unix-bsd43-uw-scripts-flags= OS=unix OSRELEASE=bsd43 OSENVIRONMENT=uw -unix-bsd43-vf-scripts-flags= OS=unix OSRELEASE=bsd43 OSENVIRONMENT=vf -unix-sysvr4-scripts-flags = OS=unix OSRELEASE=sysvr4 OSENVIRONMENT= -unix-sysvr3-scripts-flags = OS=unix OSRELEASE=sysvr3 OSENVIRONMENT= -unix-sysvr3-pwd-scripts-flags = OS=unix OSRELEASE=sysvr3 OSENVIRONMENT=pwd -unix-xenix-scripts-flags = OS=unix OSRELEASE=xenix OSENVIRONMENT= -unix-xenix-pwd-scripts-flags = OS=unix OSRELEASE=xenix OSENVIRONMENT=pwd -unix-sysvr1-scripts-flags = OS=unix OSRELEASE=sysvr1 OSENVIRONMENT= -unix-386ix-scripts-flags = OS=unix OSRELEASE=386ix OSENVIRONMENT= -unix-coherent-ver40-scripts-flags= OS=unix OSRELEASE=coherent OSENVIRONMENT=ver40 -unix-coherent-ver42-scripts-flags= OS=unix OSRELEASE=coherent OSENVIRONMENT=ver42 -unix-macosx-gnu-scripts-flags = OS=unix OSRELEASE=macosx OSENVIRONMENT=gnu -qssl--scripts-flags = OS=qssl OSRELEASE= OSENVIRONMENT= -tos--scripts-flags = OS=tos OSRELEASE= OSENVIRONMENT= -mac--scripts-flags = OS=mac OSRELEASE= OSENVIRONMENT= - -unix-scripts .SWAP : clean - $(MAKE) SCRIPTFILE=make.sh unix-bsd43-scripts - $(MAKE) SCRIPTFILE=make.sh unix-bsd43-uw-scripts - $(MAKE) SCRIPTFILE=make.sh unix-bsd43-vf-scripts - $(MAKE) SCRIPTFILE=make.sh unix-linux-gnu-scripts - $(MAKE) SCRIPTFILE=make.sh unix-solaris-scripts - $(MAKE) SCRIPTFILE=make.sh unix-solaris-gnu-scripts - $(MAKE) SCRIPTFILE=make.sh unix-sysvr4-scripts - $(MAKE) SCRIPTFILE=make.sh unix-sysvr3-scripts - $(MAKE) SCRIPTFILE=make.sh unix-sysvr3-pwd-scripts - $(MAKE) SCRIPTFILE=make.sh unix-xenix-scripts - $(MAKE) SCRIPTFILE=make.sh unix-xenix-pwd-scripts - $(MAKE) SCRIPTFILE=make.sh unix-sysvr1-scripts - $(MAKE) SCRIPTFILE=make.sh unix-386ix-scripts - $(MAKE) SCRIPTFILE=make.sh unix-coherent-ver40-scripts - $(MAKE) SCRIPTFILE=make.sh unix-coherent-ver42-scripts - $(MAKE) SCRIPTFILE=make.sh unix-macosx-gnu-scripts - -atari-tos-scripts .SWAP : clean - $(MAKE) SCRIPTFILE=make.sh tos--scripts - -qssl-qnx-scripts .SWAP : clean - $(MAKE) SCRIPTFILE=make.sh qssl--scripts - -apple-mac-scripts .SWAP : clean - $(MAKE) SCRIPTFILE=make.sh mac--scripts - -unix-%-scripts .SWAP : - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns .KEEP_STATE:= $(MS) $($@-flags) >/tmp/dmscr - dfold $(SH) - -qssl-%-scripts .SWAP : - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns .KEEP_STATE:= $(MS) $($@-flags) >/tmp/dmscr - dfold $(SH) - -tos-%-scripts .SWAP : - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns .KEEP_STATE:= $(MS) $($@-flags) >/tmp/dmscr - dfold $(SH) - -mac-%-scripts .SWAP : - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - sed 's/ mac\/\(.*\)$$/ :mac:\1/' <$(SH) | dfold >/tmp/dmscr - /bin/mv /tmp/dmscr $(SH) - -# We make the standard dos scripts here, but we have to go and fix up the -# mkXX.bat file since it contains names of temporary files for the response -# files required by the linker. We need to also construct the response file -# contents. These two functions are performed by the fix-msdos-%-scripts -# meta-target. -# -# To add a new DOS environment just do what is described for adding a new -# unix environment, and then make certain that the fix-msdos-%-scripts target -# performs the correct function for the new environment. -msdos-cf = OS=msdos -win95-cf = OS=win95 -winnt-cf = OS=winnt - -msdos-borland-tcc20swp-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=tcc20 -msdos-borland-bcc30-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc30 SWAP=n -msdos-borland-bcc30swp-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc30 -msdos-borland-bcc40swp-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc40 -msdos-borland-bcc45swp-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc45 -msdos-borland-bcc50swp-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc50 -msdos-borland-bcc32-scripts-flags = $(msdos-cf) OSRELEASE=borland OSENVIRONMENT=bcc32 SWAP=n -msdos-microsft-msc51-scripts-flags= $(msdos-cf) OSRELEASE=microsft SWAP=n MSC_VER=5.1 OSENVIRONMENT=msc51 -msdos-microsft-msc51swp-scripts-flags = $(msdos-cf) OSRELEASE=microsft MSC_VER=5.1 OSENVIRONMENT=msc51 -msdos-microsft-msc60-scripts-flags= $(msdos-cf) OSRELEASE=microsft SWAP=n MSC_VER=6.0 OSENVIRONMENT=msc60 -msdos-microsft-msc60swp-scripts-flags = $(msdos-cf) OSRELEASE=microsft MSC_VER=6.0 OSENVIRONMENT=msc60 -msdos-zortech-scripts-flags= $(msdos-cf) OSRELEASE=zortech SWAP=n OSENVIRONMENT= -msdos-zortechswp-scripts-flags= $(msdos-cf) OSRELEASE=zortech OSENVIRONMENT= -win95-borland-bcc50-scripts-flags = $(win95-cf) OSRELEASE=borland OSENVIRONMENT=bcc50 SWAP=n -win95-microsft-vpp40-scripts-flags = $(win95-cf) OSRELEASE=microsft OSENVIRONMENT=vpp40 SWAP=n - -winnt-borland-bcc50-scripts-flags = $(winnt-cf) OSRELEASE=borland OSENVIRONMENT=bcc50 SWAP=n -winnt-microsft-vpp40-scripts-flags = $(winnt-cf) OSRELEASE=microsft OSENVIRONMENT=vpp40 SWAP=n - - -msdos-scripts: clean\ - msdos-borland-turbo-scripts\ - msdos-borland-c++-scripts\ - msdos-microsoft-scripts; - -win95-scripts: clean\ - win95-borland-c++-scripts\ - win95-microsft-vc++-scripts; - -winnt-scripts: clean\ - winnt-borland-c++-scripts\ - winnt-microsft-vc++-scripts; - -msdos-borland-turbo-scripts .SWAP : - $(MAKECMD) SCRIPTFILE=mkswp.bat msdos-borland-tcc20swp-scripts - -msdos-borland-c++-scripts .SWAP :! 30 40 45 50 - $(MAKECMD) SCRIPTFILE=mkswp.bat msdos-borland-bcc$?swp-scripts - -msdos-microsoft-scripts .SWAP :! 51 60 - $(MAKECMD) SCRIPTFILE=mk.bat msdos-microsft-msc$?-scripts - $(MAKECMD) SCRIPTFILE=mkswp.bat msdos-microsft-msc$?swp-scripts - -msdos-zortech-scripts .SWAP : - $(MAKECMD) SCRIPTFILE=mk.bat msdos-zortech-scripts - $(MAKECMD) SCRIPTFILE=mkswp.bat msdos-zortechswp-scripts - -win95-borland-c++-scripts .SWAP :! 50 - $(MAKECMD) SCRIPTFILE=mk.bat win95-borland-bcc$?-scripts - -win95-microsft-vc++-scripts .SWAP :! 40 - $(MAKECMD) SCRIPTFILE=mk.bat win95-microsft-vpp$?-scripts - -winnt-borland-c++-scripts .SWAP :! 50 - $(MAKECMD) SCRIPTFILE=mk.cmd winnt-borland-bcc$?-scripts - -winnt-microsft-vc++-scripts .SWAP :! 40 - $(MAKECMD) SCRIPTFILE=mk.cmd winnt-microsft-vpp$?-scripts - -msdos-%-scripts .SWAP .SILENT: - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns DIRSEPSTR:=$(DIRSEPSTR) SHELL=command.com COMSPEC=command.com .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix-msdos-$*-scripts - -win95-borland-%-scripts .SWAP .SILENT: - $(MAKECMD) -u $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -n DIRSEPSTR:=$(DIRSEPSTR) SHELL=command.com COMSPEC=command.com .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix-win95-borland-$*-scripts - -win95-microsft-%-scripts .SWAP .SILENT: - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns DIRSEPSTR:=$(DIRSEPSTR) SHELL=command.com COMSPEC=command.com .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix95nt-win95-microsft-$*-scripts - -winnt-borland-%-scripts .SWAP .SILENT: - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns DIRSEPSTR:=$(DIRSEPSTR) SHELL=cmd.exe COMSPEC=cmd.exe .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix-winnt-borland-$*-scripts - -winnt-microsft-%-scripts .SWAP .SILENT: - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns DIRSEPSTR:=$(DIRSEPSTR) SHELL=cmd.exe COMSPEC=cmd.exe .KEEP_STATE:= $(MS) $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix95nt-winnt-microsft-$*-scripts - - -# We make the standard OS/2 scripts here, but we have to go and fix up the -# mkXX.cmd file since it contains names of temporary files for the response -# files required by the linker. We need to also construct the response file -# contents. These two functions are performed by the fix-msdos-%-scripts -# meta-target. -# -# To add a new OS/2 environment just do what is described for adding a new -# unix environment, and then make certain that the fix-msdos-%-scripts target -# performs the correct function for the new environment. -os2-cf = OS=os2 -os2-ibm-icc-scripts-flags= $(os2-cf) OSRELEASE=ibm OSENVIRONMENT=icc - -os2-scripts: clean os2-ibm-scripts; - -os2-ibm-scripts .SWAP :! icc - $(MAKECMD) SCRIPTFILE=mk.cmd os2-ibm-$?-scripts - -os2-%-scripts .SWAP : - $(MAKECMD) -su $($@-flags) .KEEP_STATE:= $(FS) public template.mk - $(MAKECMD) -ns DIRSEPSTR:=$(DIRSEPSTR) SHELL=cmd.exe COMSPEC=cmd.exe .KEEP_STATE:= $(MS) SWITCHAR:=- $($@-flags) >$(SH) - $(MAKECMD) -s $(MAKEMACROS) $(MS) $($@-flags) $(SET-TMP) fix-os2-$*-scripts - cat $(SH) | sed -e 's, -, /,g' >tmp-out - mv tmp-out $(SH) - -# Signify NULL targets for the various Compiler versions. -icc 30 40 45 50 51 60 .PHONY:; - -# Go over the created script file and make sure all the '/' that are in -# filenames are '\', and make sure the final link command line looks -# reasonable. -MAPOBJ = obj$(SWAP:s/y/swp/:s/n//).rsp -MAPLIB = lib$(SWAP:s/y/swp/:s/n//).rsp -OBJRSP = $(SH:s,fix/,,:s,${SCRIPTFILE},${MAPOBJ},) -LIBRSP = $(SH:s,fix/,,:s,${SCRIPTFILE},${MAPLIB},) -OBJRSP95 = $(SH:s,fix95nt/,,:s,${SCRIPTFILE},${MAPOBJ},) -LIBRSP95 = $(SH:s,fix95nt/,,:s,${SCRIPTFILE},${MAPLIB},) -DOSOBJ = $(CSTARTUP) $(OBJDIR)/{$(OBJECTS)} - -# Use group recipes, as SHELL has an invalid value in some platform instances. -fix-%-scripts .GROUP: - tac $(FIX-SH) >tmp-sh-r - tail +3 tmp-sh-r | sed -e 's,/,\\,g' >tmp-out - tac tmp-out|\ - sed -e 's,\\nologo,/nologo,g' >$(FIX-SH) - head -2 tmp-sh-r |\ - sed -e 's,\\tmp\\mkA[a-zA-Z0-9]*,$(OBJRSP:s,/,\\),'\ - -e 's,\\tmp\\mkB[a-zA-Z0-9]*,$(LIBRSP:s,/,\\),'\ - -e 's,\\tmp\\mk[0-9]*a[a-z]*,$(OBJRSP:s,/,\\),'\ - -e 's,\\tmp\\mk[0-9]*b[a-z]*,$(LIBRSP:s,/,\\),'\ - -e 's,/,\\,g'\ - -e 's,\\nologo,/nologo,g'\ - -e 's,-,/,g' |\ - tac >>$(FIX-SH) - rm -f tmp-sh-r tmp-out - mv <+$(DOSOBJ:s,/,\\,:t"+\n")\n+> $(OBJRSP) - mv <+$(LDLIBS:s,/,\\,:t"+\n")\n+> $(LIBRSP) - -# Use group recipes, as SHELL has an invalid value in some platform instances. -fix95nt-%-scripts .GROUP: - tac $(FIX95-SH) >tmp-sh-r - tail +3 tmp-sh-r | sed -e 's,/,\\,g' >tmp-out - tac tmp-out|\ - sed -e 's,\\nologo,/nologo,g' >$(FIX95-SH) - head -2 tmp-sh-r |\ - sed -e 's,\\tmp\\mkA[a-zA-Z0-9]*,$(OBJRSP95:s,/,\\),'\ - -e 's,\\tmp\\mkB[a-zA-Z0-9]*,$(LIBRSP95:s,/,\\),'\ - -e 's,\\tmp\\mk[0-9]*a[a-z]*,$(OBJRSP95:s,/,\\),'\ - -e 's,\\tmp\\mk[0-9]*b[a-z]*,$(LIBRSP95:s,/,\\),'\ - -e 's,/,\\,g'\ - -e 's,\\nologo,/nologo,g'\ - -e 's,-,/,g' |\ - tac >>$(FIX95-SH) - rm -f tmp-sh-r tmp-out - mv <+$(DOSOBJ:s,/,\\,:t"\n")\n+> $(OBJRSP95) - mv <+$(LDLIBS:s,/,\\,:t"\n")\n+> $(LIBRSP95) diff --git a/dmake/man/dmake.nc b/dmake/man/dmake.nc deleted file mode 100644 index 9961119ddf6b..000000000000 --- a/dmake/man/dmake.nc +++ /dev/null @@ -1,3644 +0,0 @@ - - - -DMAKE(1) DMAKE(1) - - -NAME - dmake - maintain program groups, or interdependent files - -SYNOPSIS - dmake [-P#] [-{f|C|K} file] [-{w|W} target ...] - [macro[[!][*][+][:]]=value ...] [-ABcdeEghiknpqrsStTuVxX] - [-v[cdfimrtw]] [-m[trae]] [target ...] - -DESCRIPTION - dmake is a re-implementation of the UNIX Make utility with significant - enhancements. dmake executes commands found in an external file called - a makefile to update one or more target names. Each target may depend - on zero or more prerequisite targets. If any of the target's prerequi- - sites is newer than the target or if the target itself does not exist, - then dmake will attempt to make the target. - - If no -f command line option is present then dmake searches for an - existing makefile from the list of prerequisites specified for the spe- - cial target .MAKEFILES (see the STARTUP section for more details). If - "-" is the name of the file specified to the -f flag then dmake uses - standard input as the source of the makefile text. - - Any macro definitions (arguments with embedded "=" signs) that appear - on the command line are processed first and supercede definitions for - macros of the same name found within the makefile. In general it is - impossible for definitions found inside the makefile to redefine a - macro defined on the command line, see the MACROS section for excep- - tions. - - If no target names are specified on the command line, then dmake uses - the first non-special target found in the makefile as the default tar- - get. See the SPECIAL TARGETS section for the list of special targets - and their function. Makefiles written for most previous versions of - Make will be handled correctly by dmake. Known differences between - dmake and other versions of make are discussed in the COMPATIBILITY - section found at the end of this document. dmake returns 0 if no - errors were detected and a non-zero result if an error occurred. - -OPTIONS - -A Enable AUGMAKE special inference rule transformations (see the - "PERCENT(%) RULES" and "AUGMAKE META RULES" sections), these are - set to off by default. - - -B Enable the use of spaces instead of to begin recipe - lines. This flag equivalent to the .NOTABS special macro and is - further described below. - - -c Use non-standard comment stripping. If you specify -c then - dmake will treat any # character as a start of comment character - wherever it may appear unless it is escaped by a \. - - -C [+]file - This option writes to file a copy of standard output and stan- - dard error from any child processes and from the dmake process - - - -Dmake Version 4.12 2008-02-26 1 - - - - - -DMAKE(1) DMAKE(1) - - - itself. If you specify a + prior to the file name then the text - is appended to the previous contents of file. This option is - active in the MSDOS implementation only and is ignored by non- - MSDOS versions of dmake. - - -d Disable the use of the directory cache. Normally dmake caches - directories as it checks file timestamps. Giving this flag is - equivalent to the .DIRCACHE attribute or macro being set to no. - - -E Read the environment and define all strings of the form - 'ENV-VAR=evalue' defined within as macros whose name is ENV-VAR, - and whose value is 'evalue'. The environment is processed prior - to processing the user specified makefile thereby allowing defi- - nitions in the makefile to override definitions in the environ- - ment. - - -e Same as -E, except that the environment is processed after the - user specified makefile has been processed (thus definitions in - the environment override definitions in the makefile). The -e - and -E options are mutually exclusive. If both are given the - latter takes effect. - - -f file - Use file as the source for the makefile text. Only one -f - option is allowed. - - -g Globally disable group recipe parsing, equivalent to the - .IGNOREGROUP attribute or macro being set to yes at the start of - the makefile. - - -h Print the command summary for dmake. - - -i Tells dmake to ignore errors, and continue making other targets. - This is equivalent to the .IGNORE attribute or macro. - - -K file - Turns on .KEEP_STATE state tracking and tells dmake to use file - as the state file. - - -k Causes dmake to ignore errors caused by command execution and to - make all targets not depending on targets that could not be - made. Ordinarily dmake stops after a command returns a non-zero - status, specifying -k causes dmake to ignore the error and con- - tinue to make as much as possible. - - -m[trae] - Measure timing information. Print the time when targets and/or - recipes are started and finished to stdout. The following format - is used: - - {s|e} {target|recipe} time maketarget - - s or e stands for started or ended, target or recipe denotes if - this line refers to the whole target or a recipe. time is - - - -Dmake Version 4.12 2008-02-26 2 - - - - - -DMAKE(1) DMAKE(1) - - - displayed in Unix time format, i.e. the number of seconds since - an epoch. (Since 1970-01-01T00:00:00Z). maketarget obviously - represents the target the timing information is given for. The - optional flags [trae] can be used to change the information that - is displayed. If no optional flags are given only the t flag is - assumed to be selected, ie. -mt. The optional flags stand for: - - t Display the start and end time of each target. - - r Display the start and end time of each recipe. - - a Display the target as an absolute path, i.e. prepend the - current working directory. - - e Also display the start and end time of the $(shell com- - mand) function (aka. shell escape) macros. - - -n Causes dmake to print out what it would have executed, but does - not actually execute the commands. A special check is made for - the string "$(MAKE)" inside a recipe line, if it is found, the - line is expanded and invoked, thereby enabling recursive makes - to give a full description of all that they will do. This check - is disabled inside group recipes. - - -p Print out a version of the digested makefile in human readable - form. (useful for debugging, but cannot be re-read by dmake) - - -P# On systems that support multi-processing cause dmake to use # - concurrent child processes to make targets. See the "MULTI PRO- - CESSING" section for more information. - - -q Check and see if the target is up to date. Exits with code 0 if - up to date, 1 otherwise. - - -r Tells dmake not to read the initial startup makefile, see - STARTUP section for more details. - - -s Tells dmake to do all its work silently and not echo the com- - mands it is executing to stdout (also suppresses warnings). - This is equivalent to the .SILENT attribute or macro. - - -S Force sequential execution of recipes on architectures which - support concurrent makes. For backward compatibility with old - makefiles that have nasty side-effect prerequisite dependencies. - (Implies -P1) - - -t Causes dmake to touch the targets and bring them up to date - without executing any commands. Note that targets will not be - created if they do not already exist. - - -T Tells dmake to not perform transitive closure on the inference - graph. - - -u Force an unconditional update. (ie. do everything that would be - done if everything that a target depended on was out of date) - - - -Dmake Version 4.12 2008-02-26 3 - - - - - -DMAKE(1) DMAKE(1) - - - -v[cdfimrtw] - Verbose flag, when making targets print to stdout what we are - going to make and what we think its time stamp is. The optional - flags [cdfimrtw] can be used to restrict the information that is - displayed. In the absence of any optional flags all are assumed - to be given (ie. -v is equivalent to -vcdfimrtw). The meanings - of the optional flags are: - - c Notify of directory cache operations only. - - d Notify of change directory operations only. - - f Notify of file I/O operations only. - - i Notify of inference algorithm operation only. - - m Notify of target update operations only. - - r Force output of recipe lines, warnings and executed com- - mands. This switch is usefull when debugging makefiles - that disable the output using the @ or @@ property for - recipe lines or the .SILENT target/attribute. It also - overrides the -s flag. - - t Keep any temporary files created; normally they are auto- - matically deleted. - - w Notify of non-essential warnings (these are historical). - - -V Print the version of dmake, and values of builtin macros. - - -W target - Run dmake pretending that target is out of date. - - -w target - What if? Show what would be made if target were out of date. - - -x Upon processing the user makefile export all non-internally - defined macros to the user's environment. This option together - with the -e option allows SYSV AUGMAKE recursive makes to func- - tion as expected. - - -X Inhibit the execution of #! lines found at the beginning of a - makefile. The use of this flag prevents non-termination of - recursive make invocations. - -INDEX - Here is a list of the sections that follow and a short description of - each. Perhaps you won't have to read the entire man page to find what - you need. - - STARTUP Describes dmake initialization. - - SYNTAX Describes the syntax of makefile expressions. - - - - -Dmake Version 4.12 2008-02-26 4 - - - - - -DMAKE(1) DMAKE(1) - - - ATTRIBUTES Describes the notion of attributes and how they are - used when making targets. - - MACROS Defining and expanding macros. - - RULES AND TARGETS How to define targets and their prerequisites. - - RECIPES How to tell dmake how to make a target. - - BUILTIN COMMANDS Internal dmake commands. - - TEXT DIVERSIONS How to use text diversions in recipes and macro - expansions. - - VIRTUAL TARGETS Targets that only enforce dependencies, but which - can not create a target file. - - SPECIAL TARGETS Some targets are special. - - SPECIAL MACROS Macros used by dmake to alter the processing of the - makefile, and those defined by dmake for the user. - - CONTROL MACROS Itemized list of special control macros. - - RUNTIME MACROS Discussion of special run-time macros such as $@ and - $<. - - FUNCTION MACROS Description of functional macros. - - CONDITIONAL MACROS Target specific conditional macros. - - DYNAMIC PREREQUISITES - Processing of prerequisites which contain macro - expansions in their name. - - BINDING TARGETS The rules that dmake uses to bind a target to an - existing file in the file system. - - PERCENT(%) RULES Specification of recipes to be used by the inference - algorithm. - - MAKING INFERENCES The rules that dmake uses when inferring how to make - a target which has no explicit recipe. This and the - previous section are really a single section in the - text. - - AUGMAKE META RULES A subclass of the PERCENT(%) RULES. - - MAKING TARGETS How dmake makes targets other than libraries. - - MAKING LIBRARIES How dmake makes libraries. - - KEEP STATE A discussion of how .KEEP_STATE works. - - MULTI PROCESSING Discussion of dmake's parallel make facilities for - architectures that support them. - - - -Dmake Version 4.12 2008-02-26 5 - - - - - -DMAKE(1) DMAKE(1) - - - CONDITIONALS Conditional expressions which control the processing - of the makefile. - - EXAMPLES Some hopefully useful examples. - - COMPATIBILITY How dmake compares with previous versions of make. - - LIMITS Limitations of dmake. - - PORTABILITY Comments on writing portable makefiles. - - FILES Files used by dmake. - - SEE ALSO Other related programs, and man pages. - - AUTHOR The guy responsible for this thing. - - BUGS Hope not. - -STARTUP - When dmake begins execution it first processes the command line and - then processes an initial startup-makefile. This is followed by an - attempt to locate and process a user supplied makefile. The startup - file defines the default values of all required control macros and the - set of default rules for making targets and inferences. When searching - for the startup makefile, dmake searches the following locations, in - the order specified, until a startup file is located: - - - 1. The location given as the value of the macro MAKESTARTUP - defined on the command line. - - 2. The location given as the value of the environment vari- - able MAKESTARTUP defined in the current environment. - - 3. The location given as the value of the macro MAKESTARTUP - defined internally within dmake. In this version, the - internal definition of MAKESTARTUP is "$(DMAKE- - ROOT)/startup.mk", so you can set the environment vari- - able DMAKEROOT to the location of your startup directory. - - If DMAKEROOT is not changed, for native Windows dmake - versions its value defaults to "$(ABSMAKECMD:d)startup" - (see definition of ABSMAKECMD for details). For unix - like versions build with the autotools build system it - defaults to the value of "${prefix}/share/startup" at - build time. The actual value, usually something like - /usr/local/share/startup can be checked with the -V com- - mand line switch. - - The above search is disabled by specifying the -r option on the command - line. An error is issued if a startup makefile cannot be found and the - -r option was not specified. A user may substitute a custom startup - file by defining the MAKESTARTUP environment variable or by redefining - the MAKESTARTUP macro on the command line. To determine where dmake - looks for the default startup file, check your environment or issue the - - - -Dmake Version 4.12 2008-02-26 6 - - - - - -DMAKE(1) DMAKE(1) - - - command "dmake -V". - - A similar search is performed to locate a default user makefile when no - -f command line option is specified. By default, the prerequisite list - of the special target .MAKEFILES specifies the names of possible make- - files and the search order that dmake should use to determine if one - exists. A typical definition for this target is: - - .MAKEFILES : makefile.mk Makefile makefile - - dmake will first look for makefile.mk and then the others. If a pre- - requisite cannot be found dmake will try to make it before going on to - the next prerequisite. For example, makefile.mk can be checked out of - an RCS file if the proper rules for doing so are defined in the startup - file. - - If the first line of the user makefile is of the form: - - #!command command_args - - then dmake will expand and run the command prior to reading any addi- - tional input. If the return code of the command is zero then dmake - will continue on to process the remainder of the user makefile, if the - return code is non-zero then dmake will exit. - - dmake builds the internal dependency graph as it parses a user speci- - fied makefile. The graph is rooted at the special target .ROOT. .ROOT - is the top level target that dmake builds when it starts to build tar- - gets. All user specified targets (those from the command line or taken - as defaults from the makefile) are made prerequisites of the special - target .TARGETS. dmake by default creates the relationship that .ROOT - depends on .TARGETS and as a result everything is made. This approach - allows the user to customize, within their makefile, the order and - which, target, is built first. For example the default makefiles come - with settings for .ROOT that specify: - - .ROOT .PHONY .NOSTATE .SEQUENTIAL : .INIT .TARGETS .DONE - - with .INIT and .DONE defined as: - - .INIT .DONE .PHONY:; - - which nicely emulates the behaviour of Sun's make extensions. The - building of .ROOT's prerequisites is always forced to be sequential. - However, this definition is trivially changed by supplying the defini- - tion: - - .ROOT : .TARGETS - - which skips the preamble and postamble phases of building .TARGETS. - - Please note that even though .INIT and .DONE are special exceptions, - see section SPECIAL TARGETS, the use of self defined targets starting - with `.' should be avoided as they would be handled as . meta - targets. The target names _INIT and _DONE for example would work - equally well without the . drawback. - - - -Dmake Version 4.12 2008-02-26 7 - - - - - -DMAKE(1) DMAKE(1) - - -SYNTAX - This section is a summary of the syntax of makefile statements. The - description is given in a style similar to BNF, where { } enclose items - that may appear zero or more times, and [ ] enclose items that are - optional. Alternative productions for a left hand side are indicated - by '->', and newlines are significant. All symbols in bold type are - text or names representing text supplied by the user. - - - - - Makefile -> { Statement } - - - Statement -> Macro-Definition - -> Conditional-Macro-Definition - -> Conditional - -> Rule-Definition - -> Attribute-Definition - - - Macro-Definition -> MACRO = LINE - -> MACRO [!]*= LINE - -> MACRO [!]:= LINE - -> MACRO [!]*:= LINE - -> MACRO [!]+= LINE - -> MACRO [!]+:= LINE - - - Conditional-Macro-Definition -> TARGET ?= Macro-Definition - - - Conditional -> .IF expression - Makefile - [ .ELIF expression - Makefile ] - [ .ELSE - Makefile ] - .END - - - expression -> LINE - -> STRING - -> expression == expression - -> expression != expression - -> expression <= expression - -> expression >= expression - -> ( expression ) - -> expression || expression - -> expression && expression - - - Rule-Definition -> target-definition - [ recipe ] - - target-definition -> targets [attrs] op { PREREQUISITE } [; rcp-line] - - - -Dmake Version 4.12 2008-02-26 8 - - - - - -DMAKE(1) DMAKE(1) - - - targets -> target { targets } - -> "target" { targets } - - - target -> special-target - -> TARGET - - - attrs -> attribute { attrs } - -> "attribute" { attrs } - - - op -> : { modifier } - - - modifier -> : - -> ^ - -> ! - -> - - -> | - - - recipe -> { TAB rcp-line } - -> [@[@]][%][-] [ - { LINE } - ] - - - rcp-line -> [@[@]][%][-][+] LINE - - - Attribute-Definition -> attrs : targets - - - attribute -> .EPILOG - -> .ERRREMOVE - -> .EXECUTE - -> .GROUP - -> .IGNORE - -> .IGNOREGROUP - -> .LIBRARY - -> .MKSARGS - -> .NOINFER - -> .NOSTATE - -> .PHONY - -> .PRECIOUS - -> .PROLOG - -> .SETDIR=path - -> .SILENT - -> .SEQUENTIAL - -> .SWAP - -> .USESHELL - -> .SYMBOL - -> .UPDATEALL - -> .WINPATH - - - - -Dmake Version 4.12 2008-02-26 9 - - - - - -DMAKE(1) DMAKE(1) - - - special-target -> .ERROR - -> .EXIT - -> .EXPORT - -> .GROUPEPILOG - -> .GROUPPROLOG - -> .IMPORT - -> .INCLUDE - -> .INCLUDEDIRS - -> .MAKEFILES - -> .REMOVE - -> .ROOT - -> .SOURCE - -> .SOURCE.suffix - -> .SUFFIXES (deprecated) - -> .TARGETS - -> .INIT - -> .DONE - -> .suffix - -> .suffix1.suffix2 - - - Where, TAB represents a character, STRING represents an arbitrary - sequence of characters, and LINE represents a possibly empty sequence - of characters terminated by a non-escaped (not immediately preceded by - a backslash '\') new-line character. MACRO, PREREQUISITE, and TARGET - each represent a string of characters not including space or tab which - respectively form the name of a macro, prerequisite or target. The - name may itself be a macro expansion expression. A LINE can be contin- - ued over several physical lines by terminating it with a single back- - slash character. Comments are initiated by the pound # character and - extend to the end of line. All comment text is discarded, a '#' may be - placed into the makefile text by escaping it with '\' (ie. \# trans- - lates to # when it is parsed). An exception to this occurs when a # is - seen inside a recipe line that begins with a or is inside a group - recipe. If you specify the -c command line switch then this behavior - is disabled and dmake will treat all # characters as start of comment - indicators unless they are escaped by \. A set of continued lines may - be commented out by placing a single # at the start of the first line. - A continued line cannot span more than one makefile. - - white space is defined to be any combination of , , and the - sequence \ when \ is used to terminate a LINE. Note the special - treatment of \ in macro definion and recipe lines below. When pro- - cessing macro definition lines, any amount of white space is allowed on - either side of the macro operator and white space is stripped from both - before and after the macro value string. A \ sequence in a macro - definition is deleted from the macro value before assigning this value. - During recipe expansion the sequence \ is treated as white space - but is deleted from the final recipe string. You must escape the \ - with another \ in order to get a \ at the end of a recipe or macro def- - inition line. - - When processing target definition lines, the recipe for a target must, - in general, follow the first definition of the target (See the RULES - AND TARGETS section for an exception), and the recipe may not span - across multiple makefiles. Any targets and prerequisites found on a - - - -Dmake Version 4.12 2008-02-26 10 - - - - - -DMAKE(1) DMAKE(1) - - - target definition line are taken to be white space separated tokens. - The rule operator (op in SYNTAX section) is also considered to be a - token but does not require white space to precede or follow it. Since - the rule operator begins with a `:', traditional versions of make do - not allow the `:' character to form a valid target name. dmake allows - `:' to be present in target/prerequisite names as long as the entire - target/prerequisite name is quoted. For example: - - a:fred : test - - would be parsed as TARGET = a, PREREQUISITES={fred, :, test}, which is - not what was intended. To fix this you must write: - - "a:fred" : test - - Which will be parsed as expected. Quoted target and prerequisite spec- - ifications may also contain white space thereby allowing the use of - complex function macro expressions.. See the EXAMPLES section for how - to apply " quoting to a list of targets. - -ATTRIBUTES - dmake defines several target attributes. Attributes may be assigned to - a single target, a group of targets, or to all targets in the makefile. - Attributes are used to modify dmake actions during target update. The - recognized attributes are: - - - .EPILOG Insert shell epilog code when executing a group recipe - associated with any target having this attribute set. - - .ERRREMOVE Always remove any target having this attribute if an error - is encountered while making them. Setting this attribute - overrides the .PRECIOUS attribute. - - .EXECUTE If the -n flag was given then execute the recipe associated - with any target having this attribute set. - - .FIRST Used in conjunction with .INCLUDE. Terminates the inclu- - sion with the first successfully included prerequisite. - - .GROUP Force execution of a target's recipe as a group recipe. - - .IGNORE Ignore an error when trying to make any target with this - attribute set. - - .IGNOREGROUP - Disable the special meaning of '[' to initiate a group - recipe. - - .LIBRARY Target is a library. - - .MKSARGS If running in an MSDOS environment then use MKS extended - argument passing conventions to pass arguments to commands. - Non-MSDOS environments ignore this attribute. - - .NOINFER Any target with this attribute set will not be subjected to - transitive closure if it is inferred as a prerequisite of a - - - -Dmake Version 4.12 2008-02-26 11 - - - - - -DMAKE(1) DMAKE(1) - - - target whose recipe and prerequisites are being inferred. - (i.e. the inference algorithm will not use any prerequisite - with this attribute set, as a target) If specified as - '.NOINFER:' (ie. with no prerequisites or targets) then the - effect is equivalent to specifying -T on the command line. - - .NOSTATE Any target with this attribute set will not have command - line flag information stored in the state file if - .KEEP_STATE has been enabled. - - .PHONY Any target with this attribute set will have its recipe - executed each time the target is made even if a file match- - ing the target name can be located. Any targets that have - a .PHONY attributed target as a prerequisite will be made - each time the .PHONY attributed prerequisite is made. - - .PRECIOUS Do not remove associated target under any circumstances. - Set by default for any targets whose corresponding files - exist in the file system prior to the execution of dmake. - - .PROLOG Insert shell prolog code when executing a group recipe - associated with any target having this attribute set. - - .SEQUENTIAL Force a sequential make of the associated target's prereq- - uisites. If set as a global attribute this implies setting - MAXPROCESS=1. - - .SETDIR Change current working directory to specified directory - when making the associated target. You must specify the - directory at the time the attribute is specified. To do - this simply give .SETDIR=path as the attribute. path is - expanded and the result is used as the value of the direc- - tory to change to. If path contains $$@ then the name of - the target to be built is used in computing the path to - change directory to. If path is surrounded by single - quotes then path is not expanded, and is used literally as - the directory name. If the path contains any `:' charac- - ters then the entire attribute string must be quoted using - ". If a target having this attribute set also has the - .IGNORE attribute set then if the change to the specified - directory fails it will be ignored, and no error message - will be issued. - - .SILENT Do not echo the recipe lines when making any target with - this attribute set, and do not issue any warnings. - - .SWAP Under MSDOS when making a target with this attribute set - swap the dmake executable to disk prior to executing the - recipe line. Also see the '%' recipe line flag defined in - the RECIPES section. - - .SYMBOL Target is a library member and is an entry point into a - module in the library. This attribute is used only when - searching a library for a target. Targets of the form - lib((entry)) have this attribute set automatically. - - .USESHELL Force each recipe line of a target to be executed using a - shell. Specifying this attribute is equivalent to - - - -Dmake Version 4.12 2008-02-26 12 - - - - - -DMAKE(1) DMAKE(1) - - - specifying the '+' character at the start of each line of a - non-group recipe. - - .UPDATEALL Indicates that all the targets listed in this rule are - updated by the execution of the accompanying recipe. A - common example is the production of the y.tab.c and y.tab.h - files by yacc when it is run on a grammar. Specifying - .UPDATEALL in such a rule prevents the running of yacc - twice, once for the y.tab.c file and once for the y.tab.h - file. .UPDATEALL targets that are specified in a single - rule are treated as a single target and all timestamps are - updated whenever any target in the set is made. As a side- - effect, dmake internally sorts such targets in ascending - alphabetical order and the value of $@ is always the first - target in the sorted set. - - .WINPATH Switch between default (POSIX) and Windows style path rep- - resentation. (This attribute is specific for cygwin dmake - executables and non-cygwin environments ignore this - attribute.) - - Under Cygwin it can be useful to generate Windows style - paths (with regular slashes) instead of the default cygwin - style (POSIX) paths for dmake's dynamic macros. The - affected macros are $@, $*, $>, $?, $<, $&, $^ and - $(MAKEDIR), $(PWD), $(TMD), $(TMPFILE) and the $(mktmp ...) - function macro. This feature can be used to create DOS - style path parameters for native W32 programs from dynamic - macros. - - Note that the Windows style paths use regular slashes ('/') - instead of the usual Windows backslash ('\') as directory - separator to avoid quoting problems (after all it is still - a cygwin dmake!) and cygwin, as well as native Windows, - programs should have no problems using this (c:/foo/bar) - path representation. - - Example: Assuming the current target to be /tmp/mytarget - the $@ macro without .WINPATH active expands to: - - /tmp/mytarget - - With .WINPATH set it expands to: - - C:/cygwin/tmp/mytarget - - All attributes are user setable and except for .UPDATEALL and .MKSARGS - may be used in one of two forms. The .MKSARGS attribute is restricted - to use as a global attribute, and the use of the .UPDATEALL attribute - is restricted to rules of the second form only. - - ATTRIBUTE_LIST : targets - - assigns the attributes specified by ATTRIBUTE_LIST to each target in - targets or - - targets ATTRIBUTE_LIST : ... - - - - -Dmake Version 4.12 2008-02-26 13 - - - - - -DMAKE(1) DMAKE(1) - - - assigns the attributes specified by ATTRIBUTE_LIST to each target in - targets. In the first form if targets is empty (ie. a NULL list), then - the list of attributes will apply to all targets in the makefile (this - is equivalent to the common Make construct of ".IGNORE :" but has been - modified to the notion of an attribute instead of a special target). - Not all of the attributes have global meaning. In particular, - .LIBRARY, .NOSTATE, .PHONY, .SETDIR, .SYMBOL and .UPDATEALL have no - assigned global meaning. - - Any attribute may be used with any target, even with the special tar- - gets. Some combinations are useless (e.g. .INCLUDE .PRECIOUS: ... ), - while others are useful (e.g. .INCLUDE .IGNORE : "file.mk" will not - complain if file.mk cannot be found using the include file search - rules, see the section on SPECIAL TARGETS for a description of - .INCLUDE). If a specified attribute will not be used with the special - target a warning is issued and the attribute is ignored. - -MACROS - dmake supports six forms of macro assignment. - - - MACRO = LINE This is the most common and familiar form of macro - assignment. It assigns LINE literally as the value of - MACRO. Future expansions of MACRO recursively expand - its value. - - MACRO *= LINE This form behaves exactly as the simple '=' form with - the exception that if MACRO already has a value then - the assignment is not performed. - - MACRO := LINE This form differs from the simple '=' form in that it - expands LINE prior to assigning it as the value of - MACRO. Future expansions of MACRO do not recursively - expand its value. - - MACRO *:= LINE This form behaves exactly as the ':=' form with the - exception that if MACRO already has a value then the - assignment and expansion are not performed. - - MACRO += LINE This form of macro assignment allows macro values to - grow. It takes the literal value of LINE and appends - it to the previous value of MACRO separating the two by - a single space. Future expansions of MACRO recursively - expand its value. - - MACRO +:= LINE This form is similar to the '+=' form except that the - value of LINE is expanded prior to being added to the - value of MACRO. - - Macro expressions specified on the command line allow the macro value - to be redefined within the makefile only if the macro is defined using - the '+=' and '+:=' operators. Other operators will define a macro that - cannot be further modified. - - Each of the preceeding macro assignment operators may be prefixed by ! - to indicate that the assignment should be forced and that no warnings - should be issued. Thus, specifying ! has the effect of silently forc- - ing the specified macro assignment. - - - -Dmake Version 4.12 2008-02-26 14 - - - - - -DMAKE(1) DMAKE(1) - - - When dmake defines a non-environment macro it strips leading and trail- - ing white space from the macro value. Macros imported from the envi- - ronment via either the .IMPORT special target (see the SPECIAL TARGETS - section), or the -e, or -E flags are an exception to this rule. Their - values are always taken literally and white space is never stripped. - In addition, named macros defined using the .IMPORT special target do - not have their values expanded when they are used within a makefile. - In contrast, environment macros that are imported due to the specifica- - tion of the -e or -E flags are subject to expansion when used. - - To specify a macro expansion enclose the name in () or {} and precede - it with a dollar sign $. Thus $(TEST) represents an expansion of the - macro variable named TEST. If TEST is defined then $(TEST) is replaced - by its expanded value. If TEST is not defined then $(TEST) expands to - the NULL string (this is equivalent to defining a macro as 'TEST=' ). - A short form may be used for single character named macros. In this - case the parentheses are optional, and $(I) is equivalent to $I. Macro - expansion is recursive, hence, if the value string contains an expres- - sion representing a macro expansion, the expansion is performed. Cir- - cular macro expansions are detected and cause an error to be issued. - - When defining a macro the given macro name is first expanded before - being used to define the macro. Thus it is possible to define macros - whose names depend on values of other macros. For example, suppose CWD - is defined as - - CWD = $(PWD:b) - - then the value of $(CWD) is the name of the current directory. This - can be used to define macros specific to this directory, for example: - - _$(CWD).prt = list of files to print... - - The actual name of the defined macro is a function of the current - directory. A construct such as this is useful when processing a hier- - archy of directories using .SETDIR attributed targets and a collection - of small distributed makefile stubs. - - Macro variables may be defined within the makefile, on the command - line, or imported from the environment. - - dmake supports several non-standard macro expansions: The first is of - the form: - - $(macro_name:modifier_list:modifier_list:...) - - where modifier_list may be a combination of: - - b or B - file (not including suffix) portion of path names - d or D - directory portion of all path names - e or E - suffix portion of path names - f or F - file (including suffix) portion of path names - i or I - inferred names of targets - n or N - normalized path names - l or L - macro value in lower case - u or U - macro value in upper case - 1 - return the first white space separated token from value - - - - -Dmake Version 4.12 2008-02-26 15 - - - - - -DMAKE(1) DMAKE(1) - - - or a single one of: - - m or M - map escape codes found in macro to their ASCII value - s or S - simple pattern substitution - t or T - tokenization. - ^ - prepend a prefix to each token - + - append a suffix to each token - - Thus if we have the example: - test = d1/d2/d3/a.out f.out d1/k.out - The following macro expansions produce the values on the right of '->' - after expansion. - - $(test:d) -> d1/d2/d3/ d1/ - $(test:b) -> a f k - $(test:f) -> a.out f.out k.out - ${test:db} -> d1/d2/d3/a f d1/k - ${test:s/out/in/:f} -> a.in f.in k.in - $(test:f:t"+") -> a.out+f.out+k.out - $(test:e) -> .out .out .out - $(test:u) -> D1/D2/D3/A.OUT F.OUT D1/K.OUT - $(test:1) -> d1/d2/d3/a.out - - For this macro - test = d1/d2/../a.out "d1/file name.ext" - the following results are returned: - - $(test:n) -> d1/a.out "d1/file name.ext" - - If a token ends in a string composed from the value of the macro - DIRBRKSTR (ie. ends in a directory separator string, e.g. '/' in UNIX) - and you use the :d modifier then the expansion returns the directory - name less the final directory separator string. Thus successive pairs - of :d modifiers each remove a level of directory in the token string. - - The infered names of targets :i modifier returnes the actual filename - associated to the target, see BINDING TARGETS. If the value is not a - target or prerequisite the value is returned unchanged. For the follow- - ing example: - test = aprog bprog - If aprog and bprog are targets or prerequisits and they are bound to - /tmp/aprog and bprog (see .SOURCE special target) the macro expansion - has the following effect: - - $(test:i) -> /tmp/aprog bprog - - The normalized path names :n modifier honors the setting of .WINPATH to - determine the output format of the result. - - The map escape codes modifier changes the following escape codes \a => - , \b => , \f => , \n => , \r => , \t - => , \v => , \" => ", and \xxx => where xxx is - the octal representation of a character into the corresponding ASCII - value. - - The tokenization, prepend and append modifier may use the same escape - codes that are supported by the map escape codes modifier in the string - that is inserted, prepended or added by the respective macro modifier. - - - -Dmake Version 4.12 2008-02-26 16 - - - - - -DMAKE(1) DMAKE(1) - - - These modifiers may quote this string to include otherwise problematic - characters. E.g. spaces, colons and parentheses. - - The tokenization modifier takes all white space separated tokens from - the macro value and separates them by the separator string. Thus the - expansion: - - $(test:f:t"+\n") - produces: - a.out+ - f.out+ - k.out - - The prefix operator ^ takes all white space separated tokens from the - macro value and prepends string to each. - - $(test:f:^mydir/) - produces: - mydir/a.out mydir/f.out mydir/k.out - - The suffix operator + takes all white space separated tokens from the - macro value and appends string to each. - - $(test:b:+.c) - produces: - a.c f.c k.c - - The next non-standard form of macro expansion allows for recursive - macros. It is possible to specify a $(macro_name) or ${macro_name} - expansion where macro_name contains more $( ... ) or ${ ... } macro - expansions itself. - - For example $(CC$(_HOST)$(_COMPILER)) will first expand - CC$(_HOST)$(_COMPILER) to get a result and use that result as the name - of the macro to expand. This is useful for writing a makefile for more - than one target environment. As an example consider the following - hypothetical case. Suppose that _HOST and _COMPILER are imported from - the environment and are set to represent the host machine type and the - host compiler respectively. - - CFLAGS_VAX_CC = -c -O # _HOST == "_VAX", _COMPILER == "_CC" - CFLAGS_PC_MSC = -c -ML # _HOST == "_PC", _COMPILER == "_MSC" - - # redefine CFLAGS macro as: - - CFLAGS := $(CFLAGS$(_HOST)$(_COMPILER)) - - This causes CFLAGS to take on a value that corresponds to the environ- - ment in which the make is being invoked. - - The final non-standard macro expansion is of the form: - - string1{token_list}string2 - - where string1, string2 and token_list are expanded. After expansion, - string1 is prepended to each token found in token_list and string2 is - appended to each resulting token from the previous prepend. string1 - and string2 are not delimited by white space whereas the tokens in - - - -Dmake Version 4.12 2008-02-26 17 - - - - - -DMAKE(1) DMAKE(1) - - - token_list are. A null token in the token list is specified using "". - Thus using another example we have: - - test/{f1 f2}.o --> test/f1.o test/f2.o - test/ {f1 f2}.o --> test/ f1.o f2.o - test/{f1 f2} .o --> test/f1 test/f2 .o - test/{"f1" ""}.o --> test/f1.o test/.o - - and - - test/{d1 d2}/{f1 f2}.o --> test/d1/f1.o test/d1/f2.o - test/d2/f1.o test/d2/f2.o - - This last expansion is activated only when the first characters of - token_list appear immediately after the opening '{' with no intervening - white space. The reason for this restriction is the following incom- - patibility with Bourne Shell recipes. The line - - { echo hello;} - - is valid /bin/sh syntax; while - - {echo hello;} - - is not. Hence the latter triggers the enhanced macro expansion while - the former causes it to be suppressed. See the SPECIAL MACROS section - for a description of the special macros that dmake defines and under- - stands. - -RULES AND TARGETS - A makefile contains a series of entries that specify dependencies. - Such entries are called target/prerequisite or rule definitions. Each - rule definition is optionally followed by a set of lines that provide a - recipe for updating any targets defined by the rule. Whenever dmake - attempts to bring a target up to date and an explicit recipe is pro- - vided with a rule defining the target, that recipe is used to update - the target. A rule definition begins with a line having the following - syntax: - - [] [] [;] - - targets is a non-empty list of targets. If the target is a special - target (see SPECIAL TARGETS section below) then it must appear alone on - the rule line. For example: - - .IMPORT .ERROR : ... - - is not allowed since both .IMPORT and .ERROR are special targets. Spe- - cial targets are not used in the construction of the dependency graph - and will not be made. - - attributes is a possibly empty list of attributes. Any attribute - defined in the ATTRIBUTES section above may be specified. All - attributes will be applied to the list of named targets in the rule - definition. No other targets will be affected. - - - NOTE: As stated earlier, if both the target list and prerequisite - list are empty but the attributes list is not, then the - - - -Dmake Version 4.12 2008-02-26 18 - - - - - -DMAKE(1) DMAKE(1) - - - specified attributes affect all targets in the makefile. - - - ruleop is a separator which is used to identify the targets from the - prerequisites. Optionally it also provides a facility for modifying - the way in which dmake handles the making of the associated targets. - In its simplest form the operator is a single ':', and need not be sep- - arated by white space from its neighboring tokens. It may additionally - be followed by any of the modifiers { !, ^, -, :, | }, where: - - - ! says execute the recipe for the associated targets once for each - out of date prerequisite. (The meaning of the runtime macro $? - is changed, see below in the RUNTIME MACROS section.) Ordinarily - the recipe is executed once for all out of date prerequisites at - the same time. - - ^ says to insert the specified prerequisites, if any, before any - other prerequisites already associated with the specified tar- - gets. In general, it is not useful to specify ^ with an empty - list of prerequisites. - - - says to clear the previous list of prerequisites before adding - the new prerequisites. Thus, - - foo : - foo : bar baz - - can be replaced by - - foo :- bar baz - - however the old form still works as expected. - - : When the rule operator is not modified by a second ':' only one - set of rules may be specified for making a target. Multiple - definitions may be used to add to the list of prerequisites that - a target depends on. However, if a target is multiply defined - only one definition may specify a recipe for making the target. - - When a target's rule operator is modified by a second ':' (:: - for example) then this definition may not be the only definition - with a recipe for the target. There may be other :: target def- - inition lines that specify a different set of prerequisites with - a different recipe for updating the target. Any such target is - made if any of the definitions find it to be out of date with - respect to the related prerequisites and the corresponding - recipe is used to update the target. By definition all '::' - recipes that are found to be out of date for are executed. - - In the following simple example, each rule has a `::' ruleop. - In such an operator we call the first `:' the operator, and the - second `:' the modifier. - - a.o :: a.c b.h - first recipe for making a.o - - a.o :: a.y b.h - second recipe for making a.o - - - -Dmake Version 4.12 2008-02-26 19 - - - - - -DMAKE(1) DMAKE(1) - - - If a.o is found to be out of date with respect to a.c then the - first recipe is used to make a.o. If it is found out of date - with respect to a.y then the second recipe is used. If a.o is - out of date with respect to b.h then both recipes are invoked to - make a.o. In the last case the order of invocation corresponds - to the order in which the rule definitions appear in the make- - file. - - | Is defined only for PERCENT rule target definitions. When spec- - ified it indicates that the following construct should be parsed - using the old semantinc meaning: - - %.o :| %.c %.r %.f ; some rule - - is equivalent to: - - %.o : %.c ; some rule - %.o : %.r ; some rule - %.o : %.f ; some rule - - Targets defined using a single `:' operator with a recipe may be rede- - fined again with a new recipe by using a `:' operator with a `:' modi- - fier. This is equivalent to a target having been initially defined - with a rule using a `:' modifier. Once a target is defined using a `:' - modifier it may not be defined again with a recipe using only the `:' - operator with no `:' modifier. In both cases the use of a `:' modifier - creates a new list of prerequisites and makes it the current prerequi- - site list for the target. The `:' operator with no recipe always modi- - fies the current list of prerequisites. Thus assuming each of the fol- - lowing definitions has a recipe attached, then: - - joe : fred ... (1) - joe :: more ... (2) - - and - - joe :: fred ... (3) - joe :: more ... (4) - - are legal and mean: add the recipe associated with (2), or (4) to the - set of recipes for joe, placing them after existing recipes for making - joe. The constructs: - - joe :: fred ... (5) - joe : more ... (6) - - and - - joe : fred ... (7) - joe : more ... (8) - - are errors since we have two sets of perfectly good recipes for making - the target. - - prerequisites is a possibly empty list of targets that must be brought - up to date before making the current target. - - recipe is a short form and allows the user to specify short rule defi- - nitions on a single line. It is taken to be the first recipe line in a - - - -Dmake Version 4.12 2008-02-26 20 - - - - - -DMAKE(1) DMAKE(1) - - - larger recipe if additional lines follow the rule definition. If the - semi-colon is present but the recipe line is empty (ie. null string) - then it is taken to be an empty rule. Any target so defined causes - target to be treated as a virtual target, see VIRTUAL TARGETS below. - -RECIPES - The traditional format used by most versions of Make defines the recipe - lines as arbitrary strings that may contain macro expansions. They - follow a rule definition line and may be spaced apart by comment or - blank lines. The list of recipe lines defining the recipe is termi- - nated by a new target definition, a macro definition, or end-of-file. - Each recipe line MUST begin with a character (or spaces, see - .NOTABS) which may optionally be followed with one or all the following - recipe property characters '@%+-' which affect the recipe execution: - - '-' indicates that non-zero exit values (ie. errors) are to be - ignored when this recipe line is executed. - - '+' indicates that the current recipe line is to be executed using - the shell. Group recipes implicitely ignore this property. - - '%' indicates that dmake should swap itself out to secondary storage - (MSDOS only) before running the recipe. - - '@' indicates that the recipe line should NOT be echoed to the ter- - minal prior to being executed. - - '@@' is a stronger version of the previous property. The recipe line - and the output (stdout and stderr) of the executed recipe are - NOT shown on the terminal. - - Each property is off by default (ie. by default, errors are signifi- - cant, commands are echoed, no swapping is done and a shell is used only - if the recipe line contains a character found in the value of the - SHELLMETAS macro). Global settings activated via command line options - or special attribute or target names may also affect these settings. - An example recipe: - - target : - first recipe line - second recipe line, executed independent of first. - @a recipe line that is not echoed - -and one that has errors ignored - %and one that causes dmake to swap out - +and one that is executed using a shell. - - The second and new format of the recipe block begins the block with the - character '[' (the open group character) in the last non-white space - position of a line, and terminates the block with the character ']' - (the close group character) in the first non-white space position of a - line. In this form each recipe line need not have a leading TAB. This - is called a recipe group. Groups so defined are fed intact as a single - unit to a shell for execution whenever the corresponding target needs - to be updated. If the open group character '[' is preceded by one or - all of the recipe properties (-, %, @ and @@) then they apply to the - entire group in the same way that they apply to single recipe lines. - You may also specify '+' but it is redundant as a shell is already - being used to run the recipe. See the MAKING TARGETS section for a - description of how dmake invokes recipes. Here is an example of a - - - -Dmake Version 4.12 2008-02-26 21 - - - - - -DMAKE(1) DMAKE(1) - - - group recipe: - - target : - [ - first recipe line - second recipe line - tall of these recipe lines are fed to a - single copy of a shell for execution. - ] - - -BUILTIN COMMANDS - dmake supports some builtin commands. An optional leading '+' describes - that the builtin can be used also when being executed in a shell other- - wise it is only implemented when used directly. Remember that if a - character of the recipe is found in the SHELLMETAS macro the execution - of the recipe in a shell is forced. - - [+]noop [something] - The noop internal command always returns success if used but it - is not executed even though the rest of the commandline is eval- - uated. This command can be used to evaluate macro expansions at - the runtime of the recipe without starting a real commmand. - - [+] - If an empty recipe line is encountered it is not executed. This - sounds more trivial than it really is because the recipe could - consist of macros that evaluated to empty or whitespace only - strings. - - echo [-n] data - This internal command prints data (with all leading whitespace - removed, but otherwise literally) to stdout. If the '-n' switch - is given no trailing newline is printed. Note that no quoting is - removed nor that escape sequences are handled. - - No special treatment of buildin commands for group recipes is imple- - mented even though the will most propably also not be - evaluated by most shells that can be used to handle the recipe groups. - -TEXT DIVERSIONS - dmake supports the notion of text diversions. If a recipe line con- - tains the macro expression - - $(mktmp[,[file][,text]] data) - - then all text contained in the data expression is expanded and is writ- - ten to a temporary file. The data in the file will always be termi- - nated from a new line character. The file parameter can be used to - override the name of the temporary file. If its expanded value is not - empty it will be used instead of the unique and thread safe file name - that otherwise would be generated internally. The return value of the - macro is the name of the temporary file unless the text parameter is - defined. In this case the return value is the expanded value of text. - - data can be any text and must be separated from the 'mktmp' portion of - the macro name by white-space. The only restriction on the data text - is that it must contain a balanced number of parentheses of the same - kind as are used to initiate the $(mktmp ...) expression. For example: - - - -Dmake Version 4.12 2008-02-26 22 - - - - - -DMAKE(1) DMAKE(1) - - - $(mktmp $(XXX)) - - is legal and works as expected, but: - - $(mktmp text (to dump to file) - - is not legal. You can achieve what you wish by either defining a macro - that expands to '(' or by using {} in the macro expression; like this: - - ${mktmp text (to dump to file} - - Since the temporary file is opened when the macro containing the text - diversion expression is expanded, diversions may be nested and any - diversions that are created as part of ':=' macro expansions persist - for the duration of the dmake run. If the data text is to contain new - lines the map escape codes macro expasion can be used. For example the - expression: - - mytext:=this is a\ntest of the text diversion - all: - cat $(mktmp $(mytext:m)) - - is replaced by: - - cat /tmp/mk12294AA - - where the temporary file contains two lines both of which are termi- - nated by a new-line. A second more illustrative example generates a - response file to an MSDOS link command: - - OBJ = fred.obj mary.obj joe.obj - all : $(OBJ) - link @$(mktmp $(^:t"+\n")) - - The result of making `all' in the second example is the command: - - link @/tmp/mk02394AA - - where the temporary file contains: - - fred.obj+ - mary.obj+ - joe.obj - - The last line of the file is terminated by a new-line which is always - inserted at the end of the data string. - - If the optional file specifier is present it can be used to specify the - name of the temporary file to create. An example that would be useful - for MSDOS users with a Turbo-C compiler - - $(mktmp,turboc.cfg $(CFLAGS)) - - will place the contents of CFLAGS into a local turboc.cfg file. The - second optional argument, text, if present alters the name of the value - returned by the $(mktmp ...) macro. - - Under MS-DOS text diversions may be a problem. Many DOS tools require - that path names which contain directories use the \ character to - - - -Dmake Version 4.12 2008-02-26 23 - - - - - -DMAKE(1) DMAKE(1) - - - delimit the directories. Some users however wish to use the '/' to - delimit pathnames and use environments that allow them to do so. The - macro USESHELL is set to "yes" if the current recipe is forced to use a - shell via the .USESHELL or '+' directives, otherwise its value is "no". - The dmake startup files define the macro DIVFILE whose value is either - the value of TMPFILE or the value of TMPFILE edited to replace any '/' - characters to the appropriate value based on the current shell and - whether it will be used to execute the recipe. - - Previous versions of dmake defined text diversions using <+, +> - strings, where <+ started a text diversion and +> terminated one. - dmake is backward compatible with this construct only if the <+ and +> - appear literally on the same recipe line or in the same macro value - string. In such instances the expression: - - <+data+> - - is mapped to: - - $(mktmp data) - - which is fully output compatible with the earlier construct. <+, +> - constructs whose text spans multiple lines must be converted by hand to - use $(mktmp ...). - - If the environment variable TMPDIR is defined then the temporary file - is placed into the directory specified by that variable. A makefile - can modify the location of temporary files by defining a macro named - TMPDIR and exporting it using the .EXPORT special target. - -VIRTUAL TARGETS - Dmake allows to define targets with the sole purpose to enforce a - dependency chain that are unable to create the target, hence virtual - targets. When dmake tries to make a target, but only finds a target - definition without recipe lines, it would normally issues a "Don't know - how to make ..." error message, but if a target rule is terminated by a - semicolon and has no following recipe lines, or if it has no recipe - lines, but defines prerequisites, or if the AUGMAKE mode is enabled - (see the COMPATIBILITY section for details), the target is treated as a - virtual target and the error is suppressed. In addition to this, if the - default target does not have recipe lines it is also treated as a vir- - tual target. - - Virtual targets should not have a corresponding file therefore they - inherit the time of their newest prerequisite if they have prerequi- - sites, otherwise they get the current time assigned when being made. - If the virtual target has a corresponding file a warning is issued, but - the time stamp of that file is taken into account. The virtual target - uses the time stamp of the corresponding file if it is newer than the - one determined by the previous rule. - -SPECIAL TARGETS - This section describes the special targets that are recognized by - dmake. Some are affected by attributes and others are not. - - .ERROR If defined then the recipe associated with this target is - executed whenever an error condition is detected by - dmake. All attributes that can be used with any other - target may be used with this target. Any prerequisites - - - -Dmake Version 4.12 2008-02-26 24 - - - - - -DMAKE(1) DMAKE(1) - - - of this target will be brought up to date during its pro- - cessing. NOTE: errors will be ignored while making this - target, in extreme cases this may cause some problems. - - .EXIT If this target is encountered while parsing a makefile - then the parsing of the makefile is immediately termi- - nated at that point. - - .EXPORT All prerequisites associated with this target are assumed - to correspond to macro names and they and their values - are exported to the environment as environment strings at - the point in the makefile at which this target appears. - Any attributes specified with this target are ignored. - Only macros which have been assigned a value in the make- - file prior to the export directive are exported, macros - as yet undefined or macros whose value contains any of - the characters "+=:*" are not exported. - - Note that macros that are not expanded during the macro - assignment and contain other macros will be written into - the environment containing these other macros in the form - of $(macroname). - - .IMPORT Prerequisite names specified for this target are searched - for in the environment and defined as macros with their - value taken from the environment. If the special name - .EVERYTHING is used as a prerequisite name then all envi- - ronment variables defined in the environment are - imported. The functionality of the -E flag can be forced - by placing the construct .IMPORT : .EVERYTHING at the - start of a makefile. Similarly, by placing the construct - at the end, one can emulate the effect of the -e command - line flag. If a prerequisite name cannot be found in the - environment an error message is issued. .IMPORT accepts - the .IGNORE attribute. When given, it causes dmake to - ignore the above error. See the MACROS section for a - description of the processing of imported macro values. - - .INCLUDE Parse another makefile just as if it had been located at - the point of the .INCLUDE in the current makefile. The - list of prerequisites gives the list of makefiles to try - to read. If the list contains multiple makefiles then - they are read in order from left to right. The following - search rules are used when trying to locate the file. If - the filename is surrounded by " or just by itself then it - is searched for in the current directory. If it is not - found it is then searched for in each of the directories - specified as prerequisites of the .INCLUDEDIRS special - target. If the file name is surrounded by < and >, (ie. - ) then it is searched for only in - the directories given by the .INCLUDEDIRS special target. - In both cases if the file name is a fully qualified name - starting at the root of the file system then it is only - searched for once, and the .INCLUDEDIRS list is ignored. - If .INCLUDE fails to find the file it invokes the infer- - ence engine to try to infer and hence make the file to be - included. In this way the file can be checked out of an - RCS repository for example. .INCLUDE accepts the - .IGNORE, .SETDIR, and .NOINFER attributes. If the - - - -Dmake Version 4.12 2008-02-26 25 - - - - - -DMAKE(1) DMAKE(1) - - - .IGNORE attribute is given and the file cannot be found - then dmake continues processing, otherwise an error mes- - sage is generated. If the .NOINFER attribute is given - and the file cannot be found then dmake will not attempt - to infer and make the file. The .SETDIR attribute causes - dmake to change directories to the specified directory - prior to attempting the include operation. If all fails - dmake attempts to make the file to be included. If mak- - ing the file fails then dmake terminates unless the - .INCLUDE directive also specified the .IGNORE attribute. - If .FIRST is specified along with .INCLUDE then dmake - attempts to include each named prerequisite and will ter- - minate the inclusion with the first prerequisite that - results in a successful inclusion. - - .INCLUDEDIRS The list of prerequisites specified for this target - defines the set of directories to search when trying to - include a makefile. - - .KEEP_STATE This special target is a synonym for the macro definition - - .KEEP_STATE := _state.mk - - It's effect is to turn on STATE keeping and to define - _state.mk as the state file. - - .MAKEFILES The list of prerequisites is the set of files to try to - read as the default makefile. By default this target is - defined as: - - .MAKEFILES : makefile.mk Makefile makefile - - - .REMOVE The recipe of this target is used whenever dmake needs to - remove intermediate targets that were made but do not - need to be kept around. Such targets result from the - application of transitive closure on the dependency - graph. - - .ROOT The internal root of the dependency graph, see section - STARTUP for details. - - .SOURCE The prerequisite list of this target defines a set of - directories to check when trying to locate a target file - name. See the section on BINDING of targets for more - information. - - .SOURCE.suff The same as .SOURCE, except that the .SOURCE.suff list is - searched first when trying to locate a file matching the - a target whose name ends in the suffix .suff. - - .SUFFIXES This deprecated special target has no special meaning. - Avoid its use. - - .TARGETS The internal targets that all user defined targets are - prerequisites of, see section STARTUP for details. - - There are a few targets that are "slightly" special: - - - - -Dmake Version 4.12 2008-02-26 26 - - - - - -DMAKE(1) DMAKE(1) - - - .INIT - .DONE - - These targets exist because of historical reasons, see the usage of - .INIT and .DONE in section "STARTUP", they can be used and defined as - ordinary targets but are special in the sense that even though they - start with a `.' they are not treated as a . meta target (See - the AUGMAKE META RULES section for details). - - Please note that self defined targets shouldn't use the prefix `.' as - they would be handled as . meta targets and dmake most propably - would complain about this. - - In addition to the special targets above, several other forms of tar- - gets are recognized and are considered special, their exact form and - use is defined in the sections that follow. - -SPECIAL MACROS - dmake defines a number of special macros. They are divided into three - classes: control macros, run-time macros, and function macros. The - control macros are used by dmake to configure its actions, and are the - preferred method of doing so. In the case when a control macro has the - same function as a special target or attribute they share the same name - as the special target or attribute. The run-time macros are defined - when dmake makes targets and may be used by the user inside recipes. - The function macros provide higher level functions dealing with macro - expansion and diversion file processing. - -CONTROL MACROS - To use the control macros simply assign them a value just like any - other macro. The control macros are divided into three groups: string - valued macros, character valued macros, and boolean valued macros. - - The following are all of the string valued macros. This list is - divided into two groups. The first group gives the string valued - macros that are defined internally and cannot be directly set by the - user. - - ABSMAKECMD Warning! This macro's value is differently defined for - a native Windows dmake executable (compiled with MS - Visual C++ or MinGW) and dmake for other operating sys- - tems or build with other compilers. - - In the first case its value is the absolute filename of - the executable of the current dmake process, otherwise - it is defined as the NULL string. - - INCDEPTH This macro's value is a string of digits representing - the current depth of makefile inclusion. In the first - makefile level this value is zero. - - MFLAGS Is the list of flags that were given on the command - line including a leading switch character. The -f flag - is not included in this list. - - MAKECMD Is the name with which dmake was invoked. - - MAKEDIR Is the full path to the initial directory in which - dmake was invoked. - - - -Dmake Version 4.12 2008-02-26 27 - - - - - -DMAKE(1) DMAKE(1) - - - MAKEFILE Contains the string "-f makefile" where, makefile is - the name of initial user makefile that was first read. - - MAKEFLAGS Is the same as $(MFLAGS) but has no leading switch - character. (ie. MFLAGS = -$(MAKEFLAGS)) - - MAKEMACROS Contains the complete list of macro expressions that - were specified on the command line. - - MAKETARGETS Contains the name(s) of the target(s), if any, that - were specified on the command line. - - MAKEVERSION Contains a string indicating the current dmake version - number. - - MAXPROCESSLIMIT Is a numeric string representing the maximum number of - processes that dmake can use when making targets using - parallel mode. - - NULL Is permanently defined to be the NULL string. This is - useful when comparing a conditional expression to an - NULL value. - - PWD Is the full path to the current directory in which make - is executing. - - SPACECHAR Is permanently defined to contain one space character. - This is useful when using space characters in function - macros, e.g. subst, that otherwise would get deleted - (leading/trailing spaces) or for using spaces in func- - tion macro parameters. - - TMPFILE Is set to the name of the most recent temporary file - opened by dmake. Temporary files are used for text - diversions and for group recipe processing. - - TMD Stands for "To Make Dir", and is the path from the - present directory (value of $(PWD)) to the directory - that dmake was started up in (value of $(MAKEDIR)). If - the present directory is the directory that dmake was - started up in TMD will be set to the relative path ".". - This allows to create valid paths by prepending - $(TMD)$(DIRSEPSTR) to a relative path. This macro is - modified when .SETDIR attributes are processed. TMD - will usually be a relative path with the following two - exceptions. If the relative path would go up until the - root directory or if different drive letters (DOS file - system) make a relative path impossible the absolute - path from MAKEDIR is used. - - USESHELL The value of this macro is set to "yes" if the current - recipe is forced to use a shell for its execution via - the .USESHELL or '+' directives, its value is "no" oth- - erwise. - - - The second group of string valued macros control dmake behavior and may - be set by the user. - - - - -Dmake Version 4.12 2008-02-26 28 - - - - - -DMAKE(1) DMAKE(1) - - - .DIRCACHE If set to "yes" enables the directory cache (this is - the default). If set to "no" disables the directory - cache (equivalent to -d command-line flag). - - .DIRCACHERESPCASE - If set to "yes" causes the directory cache, if enabled, - to respect file case, if set to "no" files are cached - case insensitive. By default it is set to "no" on Win- - dows as the filesystems on this operating system are - case insensitive and set to "yes" for all other operat- - ing systems. The default can be overriden, if desired. - - Note: Using case insensitive directory caching on case - sensitive file systems is a BAD idea. If in doubt use - case sensitive directory caching even on case insensi- - tive file systems as the worst case in this scenario is - that /foo/bar/ and /foo/BAR/ are cached separately - (with the same content) even though they are the same - directory. This would only happen if different targets - use different upper/lower case spellings for the same - directory and that is never a good idea. - - NAMEMAX Defines the maximum length of a filename component. - The value of the variable is initialized at startup to - the value of the compiled macro NAME_MAX. On some sys- - tems the value of NAME_MAX is too short by default. - Setting a new value for NAMEMAX will override the com- - piled value. - - .NOTABS When set to "yes" enables the use of spaces as well as - to begin recipe lines. By default a non-group - recipe is terminated by a line without any leading - white-space or by a line not beggining with a - character. Enabling this mode modifies the first con- - dition of the above termination rule to terminate a - non-group recipe with a line that contains only - white-space. This mode does not effect the parsing of - group recipes bracketed by []. - - AUGMAKE If set to "yes" value will enable the transformation of - special meta targets to support special AUGMAKE infer- - ences (See the "AUGMAKE META RULES" and "COMPATIBILITY" - sections). - - DIRBRKSTR Contains the string of chars used to terminate the name - of a directory in a pathname. Under UNIX its value is - "/", under MSDOS its value is "/\:". - - DIRSEPSTR Contains the string that is used to separate directory - components when path names are constructed. It is - defined with a default value at startup. - - DIVFILE Is defined in the startup file and gives the name that - should be returned for the diversion file name when - used in $(mktmp ...) expansions, see the TEXT DIVERSION - section for details. - - .KEEP_STATE Assigning this macro a value tells dmake the name of - the state file to use and turns on the keeping of state - - - -Dmake Version 4.12 2008-02-26 29 - - - - - -DMAKE(1) DMAKE(1) - - - information for any targets that are brought up to date - by the make. - - GROUPFLAGS This macro gives the set of flags to pass to the shell - when invoking it to execute a group recipe. The value - of the macro is the list of flags with a leading switch - indicator. (ie. `-' under UNIX) - - GROUPSHELL This macro defines the full path to the executable - image to be used as the shell when processing group - recipes. This macro must be defined if group recipes - are used. It is assigned a default value in the - startup makefile. Under UNIX this value is /bin/sh. - - GROUPSUFFIX If defined, this macro gives the string to use as a - suffix when creating group recipe files to be handed to - the command interpreter. For example, if it is defined - as .sh, then all temporary files created by dmake will - end in the suffix .sh. Under MSDOS if you are using - command.com as your GROUPSHELL, then this suffix must - be set to .bat in order for group recipes to function - correctly. The setting of GROUPSUFFIX and GROUPSHELL - is done automatically for command.com in the startup.mk - files. - - MAKE Is defined in the startup file by default. Initially - this macro is defined to have the value "$(MAKECMD) - $(MFLAGS)". The string $(MAKE) is recognized when - using the -n switch. - - MAKESTARTUP This macro defines the full path to the initial startup - makefile. Use the -V command line option to discover - its initial value. - - MAXLINELENGTH This macro defines the maximum size of a single line of - makefile input text. The size is specified as a num- - ber, the default value is defined internally and is - shown via the -V option. A buffer of this size plus 2 - is allocated for reading makefile text. The buffer is - freed before any targets are made, thereby allowing - files containing long input lines to be processed with- - out consuming memory during the actual make. This - macro can only be used to extend the line length beyond - it's default minimum value. - - MAXPROCESS Specify the maximum number of child processes to use - when making targets. The default value of this macro - is "1" and its value cannot exceed the value of the - macro MAXPROCESSLIMIT. Setting the value of MAXPROCESS - on the command line or in the makefile is equivalent to - supplying a corresponding value to the -P flag on the - command line. If the global .SEQUENTIAL attribute is - set (or the -S command line switch is used) the value - of MAXPROCESS is fixed to "1" and cannot be changed. - - OOODMAKEMODE This macro enables a special compatibility mode needed - by the OpenOffice.org build system. If set, the switch - disables the removal of leading './' path elements dur- - ing target filename normalization (See BINDING - - - -Dmake Version 4.12 2008-02-26 30 - - - - - -DMAKE(1) DMAKE(1) - - - TARGETS). If './' appear in the pathname, but not at - the beginning of it, they are still removed by the nor- - malization. Please note that targets that are given on - the command line are going to be registered as default - targets after the startup file is read. - - PREP This macro defines the number of iterations to be - expanded automatically when processing % rule defini- - tions of the form: - - % : %.suff - - See the sections on PERCENT(%) RULES for details on how - PREP is used. - - SHELL This macro defines the full path to the executable - image to be used as the shell when processing single - line recipes. This macro must be defined if recipes - requiring the shell for execution are to be used. It - is assigned a default value in the startup makefile. - Under UNIX this value is /bin/sh. - - SHELLCMDQUOTE This macro can be used to add additional characters - before and after the command string that is passed to - the shell defined by the SHELL macro. If needed, like - for cmd.exe and command.com, it is assigned a value in - the startup file. - - SHELLFLAGS This macro gives the set of flags to pass to the shell - when invoking it to execute a single line recipe. The - value of the macro is the list of flags with a leading - switch indicator. (ie. `-' under UNIX) - - SHELLMETAS Each time dmake executes a single recipe line (not a - group recipe) the line is searched for any occurrence - of a character defined in the value of SHELLMETAS. If - such a character is found the recipe line is defined to - require a shell to ensure its correct execution. In - such instances a shell is used to invoke the recipe - line. If no match is found the recipe line is executed - without the use of a shell. - - - There is only one character valued macro defined by dmake: SWITCHAR - contains the switch character used to introduce options on command - lines. For UNIX its value is `-', and for MSDOS its value may be `/' - or `-'. The macro is internally defined and is not user setable. The - MSDOS version of dmake attempts to first extract SWITCHAR from an envi- - ronment variable of the same name. If that fails it then attempts to - use the undocumented getswitchar system call, and returns the result of - that. Under MSDOS version 4.0 you must set the value of the environ- - ment macro SWITCHAR to '/' to obtain predictable behavior. - - All boolean macros currently understood by dmake correspond directly to - the previously defined attributes. These macros provide a second way - to apply global attributes, and represent the preferred method of doing - so. They are used by assigning them a value. If the value is not a - NULL string then the boolean condition is set to on. If the value is a - NULL string then the condition is set to off. There are five - - - -Dmake Version 4.12 2008-02-26 31 - - - - - -DMAKE(1) DMAKE(1) - - - conditions defined and they correspond directly to the attributes of - the same name. Their meanings are defined in the ATTRIBUTES section - above. The macros are: .EPILOG, .IGNORE, .MKSARGS, .NOINFER, .PRE- - CIOUS, .PROLOG, .SEQUENTIAL, .SILENT, .SWAP, and .USESHELL. Assigning - any of these a non NULL value will globally set the corresponding - attribute to on. - -RUNTIME MACROS - These macros are defined when dmake is making targets, and may take on - different values for each target. $@ is defined to be the full target - name, $? is the list of all out of date prerequisites, except for the ! - ruleop, in which case it is set to the current build prerequisite - instead. $& is the list of all prerequisites, $> is the name of the - library if the current target is a library member, and $< is the list - of prerequisites specified in the current rule. If the current target - had a recipe inferred then $< is the name of the inferred prerequisite - even if the target had a list of prerequisites supplied using an - explicit rule that did not provide a recipe. In such situations $& - gives the full list of prerequisites. - - $* is defined as $(@:db) when making targets with explicit recipes and - is defined as the value of % when making targets whose recipe is the - result of an inference. In the first case $* is the target name with - no suffix, and in the second case, is the value of the matched % pat- - tern from the associated %-rule. $^ expands to the set of out of date - prerequisites taken from the current value of $<. In addition to - these, $$ expands to $, {{ expands to {, }} expands to }, and the - strings <+ and +> are recognized as respectively starting and terminat- - ing a text diversion when they appear literally together in the same - input line. - - The difference between $? and $^ can best be illustrated by an example, - consider: - - fred.out : joe amy hello - rules for making fred - - fred.out : my.c your.h his.h her.h # more prerequisites - - Assume joe, amy, and my.c are newer then fred.out. When dmake executes - the recipe for making fred.out the values of the following macros will - be: - - $@ --> fred.out - $* --> fred - $? --> joe amy my.c # note output of $? vs $^ - $^ --> joe amy - $< --> joe amy hello - $& --> joe amy hello my.c your.h his.h her.h - - -FUNCTION MACROS - dmake supports a full set of functional macros. One of these, the - $(mktmp ...) macro, is discussed in detail in the TEXT DIVERSION sec- - tion and is not covered here. The names of function macros must appear - literally after the opening $( or ${. They are not recognized if they - are the result of a recursive expansion. - - Note that some of these macros take comma separated parameters but that - - - -Dmake Version 4.12 2008-02-26 32 - - - - - -DMAKE(1) DMAKE(1) - - - these parameters must not contain literal whitespaces. Whitespaces in - macros used in these parameters are allowed. - - - $(and macroterm ...) - expands each macroterm in turn until there are no more or - one of them returns an empty string. If all expand to - non-empty strings the macro returs the string "t" other- - wise it returns an empty string. - - - $(assign expression) - Causes expression to be parsed as a macro assignment - expression and results in the specified assignment being - made. An error is issued if the assignment is not - syntatically correct. expression may contain white - space. This is in effect a dynamic macro assignment - facility and may appear anywhere any other macro may - appear. The result of the expanding a dynamic macro - assignment expression is the name of the macro that was - assigned and $(NULL) if the expression is not a valid - macro assignment expression. Some examples are: - - $(assign foo := fred) - $(assign $(ind_macro_name) +:= $(morejunk)) - - $(echo list) - Echo's the value of list. list is not expanded. - - $(eq,text_a,text_b true false) - expands text_a and text_b and compares their results. If - equal it returns the result of the expansion of the true - term, otherwise it returns the expansion of the false - term. - - $(!eq,text_a,text_b true false) - Behaves identically to the previous macro except that the - true string is chosen if the expansions of the two - strings are not equal - - $(foreach,var,list data) - Implements iterative macro expansion over data using var - as the iterator taking on values from list. var and list - are expanded and the result is the concatenation of - expanding data with var being set to each whitespace sep- - arated token from list. For example: - - list = a b c - all :; echo [$(foreach,i,$(list) [$i])] - - will output - - [[a] [b] [c]] - - The iterator variable is defined as a local variable to - this foreach instance. The following expression illus- - trates this: - - $(foreach,i,$(foreach,i,$(sort c a b) root/$i) [$i/f.h]) - - - -Dmake Version 4.12 2008-02-26 33 - - - - - -DMAKE(1) DMAKE(1) - - - when evaluated the result is: - - [root/a/f.h] [root/b/f.h] [root/c/f.h] - - The specification of list must be a valid macro expres- - sion, such as: - - $($(assign list=a b c)) - $(sort d a b c) - $(echo a b c) - - and cannot just be the list itself. That is, the follow- - ing foreach expression: - - $(foreach,i,a b c [$i]) - - yields: - - "b c [a]" - - when evaluated. - - $(nil expression) - Always returns the value of $(NULL) regardless of what - expression is. This function macro can be used to dis- - card results of expanding macro expressions. - - $(normpath list) - Will return the normalized path names of all white-space - separated tokens in list. Quotes can be used to normalize - path names that contain white-space characters. On cygwin - the result honors the setting of .WINPATH to determine - the output format of the returned path names. - - $(normpath,para list) - Same as above except that the expanded value of para is - used to override the .WINPATH setting. - - $(not macroterm) - expands macroterm and returs the string "t" if the result - of the expansion is the empty string; otherwise, it - returns the empty string. - - $(null,text true false) - expands the value of text. If it is NULL then the macro - returns the value of the expansion of true and the expan- - sion of false otherwise. The terms true, and false must - be strings containing no white-space. - - $(!null,text true false) - Behaves identically to the previous macro except that the - true string is chosen if the expansion of text is not - NULL. - - $(or macroterm ...) - expands each macroterm in turn and returs the empty - string if each term expands to the empty string; other- - wise, it returs the string "t". - - - - -Dmake Version 4.12 2008-02-26 34 - - - - - -DMAKE(1) DMAKE(1) - - - $(shell command) - is a shell escape macro. It runs command as if it were - part of a recipe and returns, separated by a single - space, all the non-white space terms written to stdout by - the command. For example: - - $(shell ls *.c) - - will return "a.c b.c c.c d.c" if the files exist in the - current directory. The recipe modification flags [+@%-] - are honored if they appear as the first characters in the - command. For example: - - $(shell +ls *.c) - - will run the command using the current shell. - - Note that if the macro is part of a recipe it will be - evaluated after all previous recipe lines have been exe- - cuted. For obvious reasons it will be evaluated before - the current recipe line or group recipe is executed. - - $(shell,expand command) - Is an extension to the $(shell command) function macro - that expands the result of running command. - - $(sort list) - Will take all white-space separated tokens in list and - will return their sorted equivalent list. - - $(strip data) - Will replace all strings of white-space in data by a sin- - gle space. - - $(subst,pat,replacement data) - Will search for pat in data and will replace any occur- - rence of pat with the replacement string. The expansion - - $(subst,.o,.c $(OBJECTS)) - - is equivalent to: - - $(OBJECTS:s/.o/.c/) - - - $(uniq list) - Will take all white-space separated tokens in list and - will return their sorted equivalent list containing no - duplicates. - - For historic reasons dmake treats the following case slightly special: - - $(name something) - - If it encounters a macro with a whitespace after name and name is not - literally one of the above mentioned function macro identifiers then - dmake will return the recursively expanded value of $(name). The - remaining something part will be expanded but the result will be dis- - carded. The use of this special feature is deprecated and should not be - - - -Dmake Version 4.12 2008-02-26 35 - - - - - -DMAKE(1) DMAKE(1) - - - used. - - -CONDITIONAL MACROS - dmake supports conditional macros. These allow the definition of tar- - get specific macro values. You can now say the following: - - target ?= MacroName MacroOp Value - - This creates a definition for MacroName whose value is Value only when - target is being made. You may use a conditional macro assignment any- - where that a regular macro assignment may appear, including as the - value of a $(assign ...) macro. - - The new definition is associated with the most recent cell definition - for target. If no prior definition exists then one is created. The - implications of this are immediately evident in the following example: - - foo := hello - - all : cond;@echo "all done, foo=[$(foo)] bar=[$(bar)]" - - cond ?= bar := global decl - - cond .SETDIR=unix::;@echo $(foo) $(bar) - cond ?= foo := hi - - cond .SETDIR=msdos::;@echo $(foo) $(bar) - cond ?= foo := hihi - - The first conditional assignment creates a binding for 'bar' that is - activated when 'cond' is made. The bindings following the :: defini- - tions are activated when their respective recipe rules are used. Thus - the first binding serves to provide a global value for 'bar' while any - of the cond :: rules are processed, and the local bindings for 'foo' - come into effect when their associated :: rule is processed. - - Conditionals for targets of .UPDATEALL are all activated before the - target group is made. Assignments are processed in order. Note that - the value of a conditional macro assignment is NOT AVAILABLE until the - associated target is made, thus the construct - - mytarget ?= bar := hello - mytarget ?= foo := $(bar) - - results in $(foo) expanding to "", if you want the result to be "hello" - you must use: - - mytarget ?= bar := hello - mytarget ?= foo = $(bar) - - Once a target is made any associated conditional macros are deactivated - and their values are no longer available. Activation occurrs after all - inference, and .SETDIR directives have been processed and after $@ is - assigned, but before prerequisites are processed; thereby making the - values of conditional macro definitions available during construction - of prerequisites. - - If a %-meta rule target has associated conditional macro assignments, - - - -Dmake Version 4.12 2008-02-26 36 - - - - - -DMAKE(1) DMAKE(1) - - - and the rule is chosen by the inference algorithm then the conditional - macro assignments are inferred together with the associated recipe. - -DYNAMIC PREREQUISITES - dmake looks for prerequisites whose names contain macro expansions dur- - ing target processing. Any such prerequisites are expanded and the - result of the expansion is used as the prerequisite name. As an exam- - ple the line: - - fred : $$@.c - - causes the $$@ to be expanded when dmake is making fred, and it - resolves to the target fred. This enables dynamic prerequisites to be - generated. The value of @ may be modified by any of the valid macro - modifiers. So you can say for example: - - fred.out : $$(@:b).c - - where the $$(@:b) expands to fred. Note the use of $$ instead of $ to - indicate the dynamic expansion, this is due to the fact that the rule - line is expanded when it is initially parsed, and $$ then returns $ - which later triggers the dynamic prerequisite expansion. Dynamic macro - expansion is performed in all user defined rules, and the special tar- - gets .SOURCE*, and .INCLUDEDIRS. - - NOTE: The use of a $ as part of a prerequisite or target name is - strongly discouraged as the runtime macros (like $@) are expanded when - used in a recipe line so that the $ is interpreted as a macro identi- - fier and not as a character of the filename leading to invalid runtime - macros. In addition to this no filename normalization is done for pre- - requisites and targets that contain $ characters. Nevertheless it is - possible to use $ in prerequisites by using $$$$ but this is not recom- - mended and can lead to surprising results. - - If dynamic macro expansion results in multiple white space separated - tokens then these are inserted into the prerequisite list inplace of - the dynamic prerequisite. Due to the recursive nature of macro expan- - sion the prerequisite list is fully expanded even if the dynamic pre- - requisite contained other runtime macros. - -BINDING TARGETS - This operation takes a target name and binds it to an existing file, if - possible. dmake makes a distinction between the internal target name - of a target and its associated external file name. Thus it is possible - for a target's internal name and its external file name to differ. To - perform the binding, the following set of rules is used. Assume that - we are trying to bind a target whose name is of the form X.suff, where - .suff is the suffix and X is the stem portion (ie. that part which con- - tains the directory and the basename). dmake takes this target name - and performs a series of search operations that try to find a suitably - named file in the external file system. The search operation is user - controlled via the settings of the various .SOURCE targets. - - 1. If target has the .SYMBOL attribute set then look for it - in the library. If found, replace the target name with - the library member name and continue with step 2. If the - name is not found then return. - - 2. Extract the suffix portion (that following the `.') of - the target name. If the suffix is not null, look up the - - - -Dmake Version 4.12 2008-02-26 37 - - - - - -DMAKE(1) DMAKE(1) - - - special target .SOURCE. ( is the suffix). If - the special target exists then search each directory - given in the .SOURCE. prerequisite list for the - target. If the target's suffix was null (ie. .suff was - empty) then perform the above search but use the special - target .SOURCE.NULL instead. If at any point a match is - found then terminate the search. If a directory in the - prerequisite list is the special name `.NULL ' perform a - search for the full target name without prepending any - directory portion (ie. prepend the NULL directory). - - 3. The search in step 2. failed. Repeat the same search but - this time use the special target .SOURCE. (a default - target of '.SOURCE : .NULL' is defined by dmake at - startup, and is user redefinable) - - 4. The search in step 3. failed. If the target has the - library member attribute (.LIBMEMBER) set then try to - find the target in the library which was passed along - with the .LIBMEMBER attribute (see the MAKING LIBRARIES - section). The bound file name assigned to a target which - is successfully located in a library is the same name - that would be assigned had the search failed (see 5.). - - 5. The search failed. Either the target was not found in - any of the search directories or no applicable .SOURCE - special targets exist. If applicable .SOURCE special - targets exist, but the target was not found, then dmake - assigns the first name searched as the bound file name. - If no applicable .SOURCE special targets exist, then the - full original target name becomes the bound file name. - - There is potential here for a lot of search operations. The trick is - to define .SOURCE.x special targets with short search lists and leave - .SOURCE as short as possible. The search algorithm has the following - useful side effect. When a target having the .LIBMEMBER (library mem- - ber) attribute is searched for, it is first searched for as an ordinary - file. When a number of library members require updating it is desir- - able to compile all of them first and to update the library at the end - in a single operation. If one of the members does not compile and - dmake stops, then the user may fix the error and make again. dmake - will not remake any of the targets whose object files have already been - generated as long as none of their prerequisite files have been modi- - fied as a result of the fix. - - When dmake constructs target (and prerequisite) pathnames they are nor- - malized to the shortest (or most natural, see below for the cygwin - case) representation. Substrings like './' or of the form 'baz/..' are - removed and multiple slashes are collapsed to one unless they are at - the beginning of the pathname. Leading slashes are normalized according - to POSIX rules, i.e. more than two leading slashes are reduced to one - slash and a leading '//' is kept as it might have a special meaning. - For example "./foo", "bar/../foo" and foo are recognized as the same - file. This may result in somewhat unexpected values of the macro - expansion of runtime macros like $@, but is infact the corect result. - - NOTE: A cygwin dmake executable will accept DOS like pathnames with - drive letters and cygwin POSIX pathnames and normalize them into its - natural POSIX representation. This might result in even more surpris- - ing values of runtime macros. - - - -Dmake Version 4.12 2008-02-26 38 - - - - - -DMAKE(1) DMAKE(1) - - - When defining .SOURCE and .SOURCE.x targets the construct - - .SOURCE : - .SOURCE : fred gery - - is equivalent to - - .SOURCE :- fred gery - - dmake correctly handles the UNIX Make variable VPATH. By definition - VPATH contains a list of ':' separated directories to search when look- - ing for a target. dmake maps VPATH to the following special rule: - - .SOURCE :^ $(VPATH:s/:/ /) - - Which takes the value of VPATH and sets .SOURCE to the same set of - directories as specified in VPATH. - -PERCENT(%) RULES AND MAKING INFERENCES - When dmake makes a target, the target's set of prerequisites (if any) - must exist and the target must have a recipe which dmake can use to - make it. If the makefile does not specify an explicit recipe for the - target then dmake uses special rules to try to infer a recipe which it - can use to make the target. Previous versions of Make perform this - task by using rules that are defined by targets of the form .. (this is still supported, see "AUGMAKE META RULES") or by - using the not supported by dmake .SUFFIXES list of suffixes (see "SPE- - CIAL TARGETS" for more details about .SUFFIXES). The exact workings of - this mechanism were sometimes difficult to understand and often limit- - ing in their usefulness. Instead, dmake supports the concept of %-meta - rules. The syntax and semantics of these rules differ from standard - rule lines as follows: - - <%-targets> [] [<%-prereqs>] [;] - - where %-targets are one or more targets containing exactly a single `%' - sign, attributes is a list (possibly empty) of attributes, ruleop is - the standard set of rule operators, %-prereqs , if present, is a list - of prerequisites containing zero or more `%' signs, and recipe, if - present, is the first line of the recipe. - - If more than one %-target is present this line is equivalent to a repe- - tition of the whole [] [<%-prereqs>] [;] - sequence for each %-target, i.e. it is possible to specify the same - rule for multiple %-targets. Because of this following only speaks - about <%-target> as %-targets are divided into multiple definitions - with a single %-target. - - NOTE: As multiple %-targets didn't work reliably with dmake versions - prior to 4.5 unless the rule operator `|:' was used we currently issue - a warning stating that it now works. - - The %-target defines a pattern against which a target whose recipe is - being inferred gets matched. The pattern match goes as follows: all - chars are matched exactly from left to right up to but not including - the % sign in the pattern, % then matches the longest string from the - actual target name not ending in the suffix given after the % sign in - the pattern. Consider the following examples: - - %.c matches fred.c but not joe.c.Z - dir/%.c matches dir/fred.c but not dd/fred.c - fred/% matches fred/joe.c but not f/joe.c - % matches anything - - - - -Dmake Version 4.12 2008-02-26 39 - - - - - -DMAKE(1) DMAKE(1) - - - In each case the part of the target name that matched the % sign is - retained and is substituted for any % signs in the prerequisite list of - the %-meta rule when the rule is selected during inference and dmake - constructs the new dependency. - - Please note, that only the first, non-indirect, prerequisite of the - list is used for the inference mechanism. If more than one non-indirect - prerequisite is given a warning is issued and all but the first non- - indirect prerequisites are ignored. See below for a description of - indirect prerequisites. - - As an example the following %-meta rules describe the following: - - %.c : %.y ; recipe... - - describes how to make any file ending in .c if a corresponding file - ending in .y can be found. - - foo%.o : fee%.k ; recipe... - - is used to describe how to make fooxxxx.o from feexxxx.k. - - %.a :; recipe... - - describes how to make a file whose suffix is .a without inferring any - prerequisites. - - %.c : %.y 'yaccsrc/%.y' ; recipe... - - matches the corresponding .y file as prerequisite and additionally - another .y file in the yaccsrc subdirectory as indirect prerequisite. - Another interesting example is: - - % : RCS/%,v ; co $< - - which describes how to take any target and check it out of the RCS - directory if the corresponding file exists in the RCS directory. The - equivalent SCCS rule would be: - - % : s.% ; get $< - - - The previous RCS example defines an infinite rule, because it says how - to make anything from RCS/%,v, and anything also includes RCS/fred.c,v. - To limit the size of the graph that results from such rules dmake uses - the macro variable PREP (stands for % repetition). By default the - value of this variable is 0, which says that no repetitions of a %-rule - are to be generated. If it is set to something greater than 0, then - that many repetitions of any infinite %-rule are allowed. If in the - above example PREP was set to 1, then dmake would generate the depen- - dency graph: - - % --> RCS/%,v --> RCS/RCS/%,v,v - - Where each link is assigned the same recipe as the first link. PREP - should be used only in special cases, since it may result in a large - increase in the number of possible prerequisites tested. dmake further - assumes that any target that has no suffix can be made from a prerequi- - site that has at least one suffix. - - dmake supports dynamic prerequisite generation for prerequisites of - %-meta rules. This is best illustrated by an example. The RCS rule - shown above can infer how to check out a file from a corresponding RCS - file only if the target is a simple file name with no directory - - - -Dmake Version 4.12 2008-02-26 40 - - - - - -DMAKE(1) DMAKE(1) - - - information. That is, the above rule can infer how to find - RCS/fred.c,v from the target fred.c, but cannot infer how to find - srcdir/RCS/fred.c,v from srcdir/fred.c because the above rule will - cause dmake to look for RCS/srcdir/fred.c,v; which does not exist - (assume that srcdir has its own RCS directory as is the common case). - - A more versatile formulation of the above RCS check out rule is the - following: - - % : $$(@:d)RCS/$$(@:f),v : co $@ - - This rule uses the dynamic macro $@ to specify the prerequisite to try - to infer. During inference of this rule the macro $@ is set to the - value of the target of the %-meta rule and the appropriate prerequisite - is generated by extracting the directory portion of the target name (if - any), appending the string RCS/ to it, and appending the target file - name with a trailing ,v attached to the previous result. - - dmake can also infer indirect prerequisites. An inferred target can - have a list of prerequisites added that will not show up in the value - of $< but will show up in the value of $? and $&. Indirect prerequi- - sites are specified in an inference rule by quoting the prerequisite - with single quotes. For example, if you had the explicit dependency: - - fred.o : fred.c ; rule to make fred.o - fred.o : local.h - - then this can be inferred for fred.o from the following inference rule: - - %.o : %.c 'local.h' ; makes a .o from a .c - - You may infer indirect prerequisites that are a function of the value - of '%' in the current rule. The meta-rule: - - %.o : %.c '$(INC)/%.h' ; rule to make a .o from a .c - - infers an indirect prerequisite found in the INC directory whose name - is the same as the expansion of $(INC), and the prerequisite name - depends on the base name of the current target. The set of indirect - prerequisites is attached to the meta rule in which they are specified - and are inferred only if the rule is used to infer a recipe for a tar- - get. They do not play an active role in driving the inference algo- - rithm. The construct: - - %.o :| %.c %.f 'local.h'; recipe - - is equivalent to: - - %.o : %.c 'local.h' ; recipe - %.o : %.f 'local.h' ; recipe - - - If any of the attributes .EPILOG, .IGNORE, .LIBRARY, .NOSTATE, .PHONY, - .PRECIOUS, .PROLOG, .SETDIR, .SILENT, .SWAP, .USESHELL and .WINPATH are - given for a %-rule then when that rule is bound to a target as the - result of an inference, the target's set of attributes is augmented by - the attributes from the above set that are specified in the bound - %-rule. Other attributes specified for %-meta rules are not inherited - by the target. The .SETDIR attribute is treated in a special way. If - the target already had a .SETDIR attribute set then dmake changes to - that directory prior to performing the inference. During inference any - .SETDIR attributes for the inferred prerequisite are honored. The - directories must exist for a %-meta rule to be selected as a possible - inference path. If the directories do not exist no error message is - - - -Dmake Version 4.12 2008-02-26 41 - - - - - -DMAKE(1) DMAKE(1) - - - issued, instead the corresponding path in the inference graph is - rejected. - - dmake bases all of its inferences on the inference graph constructed - from the %-rules defined in the makefile. It knows exactly which tar- - gets can be made from which prerequisites by making queries on the - inference graph. - - For a %-meta rule to be inferred as the rule whose recipe will be used - to make a target, the target's name must match the %-target pattern, - and any inferred %-prerequisite must already exist or have an explicit - recipe so that the prerequisite can be made. Without transitive clo- - sure on the inference graph the above rule describes precisely when an - inference match terminates the search. If transitive closure is - enabled (the usual case), and a prerequisite does not exist or cannot - be made, then dmake invokes the inference algorithm recursively on the - prerequisite to see if there is some way the prerequisite can be manu- - factured. For, if the prerequisite can be made then the current target - can also be made using the current %-meta rule. This means that there - is no longer a need to give a rule for making a .o from a .y if you - have already given a rule for making a .o from a .c and a .c from a .y. - In such cases dmake can infer how to make the .o from the .y via the - intermediary .c and will remove the .c when the .o is made. Transitive - closure can be disabled by giving the -T switch on the command line. - - A word of caution. dmake bases its transitive closure on the %-meta - rule targets. When it performs transitive closure it infers how to - make a target from a prerequisite by performing a pattern match as if - the potential prerequisite were a new target. The set of rules: - - %.o : %.c ; rule for making .o from .c - %.c : %.y ; rule for making .c from .y - % : RCS/%,v ; check out of RCS file - - will, by performing transitive closure, allow dmake to infer how to - make a .o from a .y using a .c as an intermediate temporary file. - Additionally it will be able to infer how to make a .y from an RCS - file, as long as that RCS file is in the RCS directory and has a name - which ends in .y,v. The transitivity computation is performed dynami- - cally for each target that does not have a recipe. This has potential - to be costly if the %-meta rules are not carefully specified. The - .NOINFER attribute is used to mark a %-meta node as being a final tar- - get during inference. Any node with this attribute set will not be - used for subsequent inferences. As an example the node RCS/%,v is - marked as a final node since we know that if the RCS file does not - exist there likely is no other way to make it. Thus the standard - startup makefile contains an entry similar to: - .NOINFER : RCS/%,v - Thereby indicating that the RCS file is the end of the inference chain. - Whenever the inference algorithm determines that a target can be made - from more than one prerequisite and the inference chains for the two - methods are the same length the algorithm reports an ambiguity and - prints the ambiguous inference chains. - - dmake tries to remove intermediate files resulting from transitive clo- - sure if the file is not marked as being PRECIOUS, or the -u flag was - not given on the command line, and if the inferred intermediate did not - previously exist. Intermediate targets that existed prior to being - made are never removed. This is in keeping with the philosophy that - dmake should never remove things from the file system that it did not - add. If the special target .REMOVE is defined and has a recipe then - dmake constructs a list of the intermediate files to be removed and - makes them prerequisites of .REMOVE. It then makes .REMOVE thereby - removing the prerequisites if the recipe of .REMOVE says to. Typically - - - -Dmake Version 4.12 2008-02-26 42 - - - - - -DMAKE(1) DMAKE(1) - - - .REMOVE is defined in the startup file as: - - .REMOVE :; $(RM) $< - -AUGMAKE META RULES - As a subclass of the meta targets that is actually mapped to %-meta - rules dmake understands several SYSV AUGMAKE targets transformations. - This . special target construct transforms into the following - %-meta rules: - - .suff :; recipe - - gets mapped into: - - % : %.suff; recipe - - - dmake also supports the old format special target .. by - identifying any rules of this form and mapping them to the appropriate - %-rule. So for example if an old makefile contains the construct: - - .c.o :; cc -c $< -o $@ - - dmake maps this into the following %-rule: - - %.o : %.c; cc -c $< -o $@ - - The following SYSV AUGMAKE special targets transformation must be - enabled by providing the -A flag on the command line or by setting the - value of AUGMAKE to non-NULL. The construct - - .c~.o :; recipe - - gets mapped into: - - %.o : s.%.c ; recipe - - In general, a special target of the form .~ is replaced by the - %-rule construct s.%., thereby providing support for the syntax - used by SYSV AUGMAKE for providing SCCS support. When enabled, these - mappings allow processing of existing SYSV makefiles without modifica- - tions. - -MAKING TARGETS - In order to update a target dmake must execute a recipe. When a recipe - needs to be executed it is first expanded so that any macros in the - recipe text are expanded, and it is then either executed directly or - passed to a shell. dmake supports two types of recipes. The regular - recipes and group recipes. - - When a regular recipe is invoked dmake executes each line of the recipe - separately using a new copy of a shell if a shell is required. Thus - effects of commands do not generally persist across recipe lines (e.g. - cd requests in a recipe line do not carry over to the next recipe - line). This is true even in environments such as MSDOS, where dmake - internally sets the current working director to match the directory it - was in before the command was executed. - - The decision on whether a shell is required to execute a command is - based on the value of the macro SHELLMETAS or on the specification of - '+' or .USESHELL for the current recipe or target respectively. If any - character in the value of SHELLMETAS is found in the expanded recipe - text-line or the use of a shell is requested explicitly via '+' or - .USESHELL then the command is executed using a shell, otherwise the - - - -Dmake Version 4.12 2008-02-26 43 - - - - - -DMAKE(1) DMAKE(1) - - - command is executed directly. The shell that is used for execution is - given by the value of the macro SHELL. The flags that are passed to - the shell are given by the value of SHELLFLAGS. Thus dmake constructs - the command line: - - $(SHELL) $(SHELLFLAGS) $(expanded_recipe_command) - - If the $(SHELLCMDQUOTE) macro is set its value is inserted before and - after the $(expanded_recipe_command) string. - - Normally dmake writes the command line that it is about to invoke to - standard output. If the .SILENT attribute is set for the target or for - the recipe line (via @), then the recipe line is not echoed. - - Group recipe processing is similar to that of regular recipes, except - that a shell is always invoked. The shell that is invoked is given by - the value of the macro GROUPSHELL, and its flags are taken from the - value of the macro GROUPFLAGS. If a target has the .PROLOG attribute - set then dmake prepends to the shell script the recipe associated with - the special target .GROUPPROLOG, and if the attribute .EPILOG is set as - well, then the recipe associated with the special target .GROUPEPILOG - is appended to the script file. This facility can be used to always - prepend a common header and common trailer to group recipes. Group - recipes are echoed to standard output just like standard recipes, but - are enclosed by lines beginning with [ and ]. - - The recipe flags [+,-,%,@] are recognized at the start of a recipe line - even if they appear in a macro. For example: - - SH = + - all: - $(SH)echo hi - - is completely equivalent to writing - - SH = + - all: - +echo hi - - - The last step performed by dmake prior to running a recipe is to set - the macro CMNDNAME to the name of the command to execute (determined by - finding the first white-space ending token in the command line). It - then sets the macro CMNDARGS to be the remainder of the line. dmake - then expands the macro COMMAND which by default is set to - - COMMAND = $(CMNDNAME) $(CMNDARGS) - - The result of this final expansion is the command that will be exe- - cuted. The reason for this expansion is to allow for a different - interface to the argument passing facilities (esp. under DOS) than that - provided by dmake. You can for example define COMMAND to be - - COMMAND = $(CMNDNAME) @$(mktmp $(CMNDARGS)) - - which dumps the arguments into a temporary file and runs the command - - $(CMNDNAME) @/tmp/ASAD23043 - - which has a much shorter argument list. It is now up to the command to - use the supplied argument as the source for all other arguments. As an - optimization, if COMMAND is not defined dmake does not perform the - above expansion. On systems, such as UNIX, that handle long command - lines this provides a slight saving in processing the makefiles. - - - -Dmake Version 4.12 2008-02-26 44 - - - - - -DMAKE(1) DMAKE(1) - - -MAKING LIBRARIES - Libraries are easy to maintain using dmake. A library is a file con- - taining a collection of object files. Thus to make a library you sim- - ply specify it as a target with the .LIBRARY attribute set and specify - its list of prerequisites. The prerequisites should be the object mem- - bers that are to go into the library. When dmake makes the library - target it uses the .LIBRARY attribute to pass to the prerequisites the - .LIBMEMBER attribute and the name of the library. This enables the - file binding mechanism to look for the member in the library if an - appropriate object file cannot be found. dmake now supports Elf - libraries on systems that support Elf and hence supports, on those sys- - tems, long member file names. A small example best illustrates this. - - mylib.a .LIBRARY : mem1.o mem2.o mem3.o - rules for making library... - # remember to remove .o's when lib is made - - # equivalent to: '%.o : %.c ; ...' - .c.o :; rules for making .o from .c say - - dmake will use the .c.o rule for making the library members if appro- - priate .c files can be found using the search rules. NOTE: this is - not specific in any way to C programs, they are simply used as an exam- - ple. - - dmake tries to handle the old library construct format in a sensible - way. The construct lib(member.o) is separated and the lib portion is - declared as a library target. The new target is defined with the - .LIBRARY attribute set and the member.o portion of the construct is - declared as a prerequisite of the lib target. If the construct - lib(member.o) appears as a prerequisite of a target in the makefile, - that target has the new name of the lib assigned as its prerequisite. - Thus the following example: - - a.out : ml.a(a.o) ml.a(b.o); $(CC) -o $@ $< - - .c.o :; $(CC) -c $(CFLAGS) -o $@ $< - %.a: - ar rv $@ $? - ranlib $@ - rm -rf $? - - constructs the following dependency graph. - - a.out : ml.a; $(CC) -o $@ $< - ml.a .LIBRARY : a.o b.o - - %.o : %.c ; $(CC) -c $(CFLAGS) -o $@ $< - %.a : - ar rv $@ $? - ranlib $@ - rm -rf $? - - and making a.out then works as expected. - - The same thing happens for any target of the form lib((entry)). These - targets have an additional feature in that the entry target has the - .SYMBOL attribute set automatically. - - NOTE: If the notion of entry points is supported by the archive and by - dmake (currently not the case) then dmake will search the archive for - the entry point and return not only the modification time of the member - which defines the entry but also the name of the member file. This - name will then replace entry and will be used for making the member - - - -Dmake Version 4.12 2008-02-26 45 - - - - - -DMAKE(1) DMAKE(1) - - - file. Once bound to an archive member the .SYMBOL attribute is removed - from the target. This feature is presently disabled as there is little - standardization among archive formats, and we have yet to find a make- - file utilizing this feature (possibly due to the fact that it is unim- - plemented in most versions of UNIX Make). - - Finally, when dmake looks for a library member it must first locate the - library file. It does so by first looking for the library relative to - the current directory and if it is not found it then looks relative to - the current value of $(TMD). This allows commonly used libraries to be - kept near the root of a source tree and to be easily found by dmake. - -KEEP STATE - dmake supports the keeping of state information for targets that it - makes whenever the macro .KEEP_STATE is assigned a value. The value of - the macro should be the name of a state file that will contain the - state information. If state keeping is enabled then each target that - does not poses the .NOSTATE attribute will have a record written into - the state file indicating the target's name, the current directory, the - command used to update the target, and which, if any, :: rule is being - used. When you make this target again if any of this information does - not match the previous settings and the target is not out dated it will - still be re-made. The assumption is that one of the conditions above - has changed and that we wish to remake the target. For example, state - keeping is used in the maintenance of dmake to test compile different - versions of the source using different compilers. Changing the com- - piler causes the compilation flags to be modified and hence all sources - to be recompiled. - - The state file is an ascii file and is portable, however it is not in - human readable form as the entries represent hash keys of the above - information. - - The Sun Microsystem's Make construct - - .KEEP_STATE : - - is recognized and is mapped to .KEEP_STATE:=_state.mk. The dmake ver- - sion of state keeping does not include scanning C source files for - dependencies like Sun Make. This is specific to C programs and it was - felt that it does not belong in make. dmake instead provides the tool, - cdepend, to scan C source files and to produce depedency information. - Users are free to modify cdepend to produce other dependency files. - (NOTE: cdepend does not come with the distribution at this time, but - will be available in a patch in the near future) - -MULTI PROCESSING - If the architecture supports it then dmake is capable of making a tar- - get's prerequisites in parallel. dmake will make as much in parallel - as it can and use a number of child processes up to the maximum speci- - fied by MAXPROCESS or by the value supplied to the -P command line - flag. A parallel make is enabled by setting the value of MAXPROCESS - (either directly or via -P option) to a value which is > 1. dmake - guarantees that all dependencies as specified in the makefile are hon- - ored. A target will not be made until all of its prerequisites have - been made. Note that when you specify -P 4 then four child processes - are run concurrently but dmake actually displays the fifth command it - will run immediately upon a child process becomming free. This is an - artifact of the method used to traverse the dependency graph and cannot - be removed. If a parallel make is being performed then the following - restrictions on parallelism are enforced. - - 1. Individual recipe lines in a non-group recipe are per- - formed sequentially in the order in which they are - - - -Dmake Version 4.12 2008-02-26 46 - - - - - -DMAKE(1) DMAKE(1) - - - specified within the makefile and in parallel with the - recipes of other targets. - - 2. If a target contains multiple recipe definitions (cf. :: - rules) then these are performed sequentially in the order - in which the :: rules are specified within the makefile - and in parallel with the recipes of other targets. - - 3. If a target rule contains the `!' modifier, then the - recipe is performed sequentially for the list of outdated - prerequisites and in parallel with the recipes of other - targets. - - 4. If a target has the .SEQUENTIAL attribute set then all of - its prerequisites are made sequentially relative to one - another (as if MAXPROCESS=1), but in parallel with other - targets in the makefile. - - Note: If you specify a parallel make then the order of target update - and the order in which the associated recipes are invoked will not cor- - respond to that displayed by the -n flag. - -CONDITIONALS - dmake supports a makefile construct called a conditional. It allows - the user to conditionally select portions of makefile text for input - processing and to discard other portions. This becomes useful for - writing makefiles that are intended to function for more than one tar- - get host and environment. The conditional expression is specified as - follows: - - .IF expression - ... if text ... - .ELIF expression - ... if text ... - .ELSE - ... else text ... - .END - - The .ELSE and .ELIF portions are optional, and the conditionals may be - nested (ie. the text may contain another conditional). .IF, .ELSE, - and .END may appear anywhere in the makefile, but a single conditional - expression may not span multiple makefiles. - - expression can be one of the following forms: - - String evaluation - | == | != - - Numeric evaluation - <= | >= - - Boolean evaluation - ( ) | || | && - - where text is either text or a macro expression. In any case, before - the comparison is made, the expression is expanded. The text portions - are then selected and compared. In the case of the numeric comparisons - enclosing quotes are removed after expanding the expressions and the - leading numerical parts are converted to an integer number. If no - numerical part is found this results to 0 (zero). The string "12ab" for - example evaluates to the number 12. Expressions can be nested with () - and the use of || or &&. White space at the start and end of the text - portion is discarded before the comparison. This means that a macro - that evaluates to nothing but white space is considered a NULL value - - - -Dmake Version 4.12 2008-02-26 47 - - - - - -DMAKE(1) DMAKE(1) - - - for the purpose of the comparison. In the first case the expression - evaluates TRUE if the text is not NULL otherwise it evaluates FALSE. - The remaining two cases both evaluate the expression on the basis of a - string comparison. If a macro expression needs to be equated to a NULL - string then compare it to the value of the macro $(NULL). You can use - the $(shell ...) macro to construct more complex test expressions. - -EXAMPLES - # A simple example showing how to use make - # - prgm : a.o b.o - cc a.o b.o -o prgm - a.o : a.c g.h - cc a.c -o $@ - b.o : b.c g.h - cc b.c -o $@ - - In the previous example prgm is remade only if a.o and/or b.o is out of - date with respect to prgm. These dependencies can be stated more con- - cisely by using the inference rules defined in the standard startup - file. The default rule for making .o's from .c's looks something like - this: - - %.o : %.c; cc -c $(CFLAGS) -o $@ $< - - Since there exists a rule (defined in the startup file) for making .o's - from .c's dmake will use that rule for manufacturing a .o from a .c and - we can specify our dependencies more concisely. - - prgm : a.o b.o - cc -o prgm $< - a.o b.o : g.h - - A more general way to say the above using the new macro expansions - would be: - - SRC = a b - OBJ = {$(SRC)}.o - - prgm : $(OBJ) - cc -o $@ $< - - $(OBJ) : g.h - - If we want to keep the objects in a separate directory, called objdir, - then we would write something like this. - - SRC = a b - OBJ = {$(SRC)}.o - - prgm : $(OBJ) - cc $< -o $@ - - $(OBJ) : g.h - %.o : %.c - $(CC) -c $(CFLAGS) -o $(@:f) $< - mv $(@:f) objdir - - .SOURCE.o : objdir # tell dmake to look here for .o's - - An example of building library members would go something like this: - (NOTE: The same rules as above will be used to produce .o's from .c's) - - SRC= a b - - - -Dmake Version 4.12 2008-02-26 48 - - - - - -DMAKE(1) DMAKE(1) - - - LIB= lib - LIBm= { $(SRC) }.o - - prgm: $(LIB) - cc -o $@ $(LIB) - - $(LIB) .LIBRARY : $(LIBm) - ar rv $@ $< - rm $< - - Finally, suppose that each of the source files in the previous example - had the `:' character in their target name. Then we would write the - above example as: - - SRC= f:a f:b - LIB= lib - LIBm= "{ $(SRC) }.o" # put quotes around each token - - prgm: $(LIB) - cc -o $@ $(LIB) - - $(LIB) .LIBRARY : $(LIBm) - ar rv $@ $< - rm $< - -COMPATIBILITY - There are two notable differences between dmake and the standard ver- - sion of BSD UNIX 4.2/4.3 Make. - - 1. BSD UNIX 4.2/4.3 Make supports wild card filename expansion - for prerequisite names. Thus if a directory contains a.h, - b.h and c.h, then a line like - - target: *.h - - will cause UNIX make to expand the *.h into "a.h b.h c.h". - dmake does not support this type of filename expansion. - - 2. Unlike UNIX make, touching a library member causes dmake to - search the library for the member name and to update the - library time stamp. This is only implemented in the UNIX - version. MSDOS and other versions may not have librarians - that keep file time stamps, as a result dmake touches the - library file itself, and prints a warning. - - dmake is not compatible with GNU Make. In particular it does not - understand GNU Make's macro expansions that query the file system. - - dmake is fully compatible with SYSV AUGMAKE, and supports the following - AUGMAKE features: - - 1. GNU Make style include, and if/else/endif directives are - allowed in non-group recipes. Thus, the word include appear- - ing at the start of a line that is not part of a gruop recipe - will be mapped to the ".INCLUDE" directive that damke uses. - Similarly, the words ifeq,ifneq,elif,else, and endif are - mapped to their corresponding dmake equivalents. - - 2. The macro modifier expression $(macro:str=sub) is understood - and is equivalent to the expression $(macro:s/str/sub), with - the restriction that str must match the following regular - expression: - - str[ |\t][ |\t]* - - - -Dmake Version 4.12 2008-02-26 49 - - - - - -DMAKE(1) DMAKE(1) - - - (ie. str only matches at the end of a token where str is a - suffix and is terminated by a space, a tab, or end of line) - Normally sub is expanded before the substitution is made, if - you specify -A on the command line then sub is not expanded. - - 3. The macro % is defined to be $@ (ie. $% expands to the same - value as $@). - - 4. The AUGMAKE notion of libraries is handled correctly. - - 5. Directories are always made if you specify -A. This is con- - sistent with other UNIX versions of Make. - - 6. Makefiles that utilize virtual targets to force making of - other targets work as expected if AUGMAKE special target han- - dling is enabled. For example: - - FRC: - myprog.o : myprog.c $(FRC) ; ... - - Works as expected if you issue the command - - 'dmake -A FRC=FRC' - - but fails with a 'don't know how to make FRC' error message - if you do not specify AUGMAKE special target handling via the - -A flag (or by setting AUGMAKE:=yes internally). - -LIMITS - In some environments the length of an argument string is restricted. - (e.g. MSDOS command line arguments cannot be longer than 128 bytes if - you are using the standard command.com command interpreter as your - shell, dmake text diversions may help in these situations.) - -PORTABILITY - To write makefiles that can be moved from one environment to another - requires some forethought. In particular you must define as macros all - those things that may be different in the new environment. dmake has - two facilities that help to support writing portable makefiles, recur- - sive macros and conditional expressions. The recursive macros, allow - one to define environment configurations that allow different environ- - ments for similar types of operating systems. For example the same - make script can be used for SYSV and BSD but with different macro defi- - nitions. - - To write a makefile that is portable between UNIX and MSDOS requires - both features since in almost all cases you will need to define new - recipes for making targets. The recipes will probably be quite differ- - ent since the capabilities of the tools on each machine are different. - Different macros will be needed to help handle the smaller differences - in the two environments. - -FILES - Makefile, makefile, startup.mk (use dmake -V to tell you where the - startup file is) - -SEE ALSO - sh(1), csh(1), touch(1), f77(1), pc(1), cc(1) - S.I. Feldman Make - A Program for Maintaining Computer Programs - -AUTHOR - Dennis Vadura, dvadura@wticorp.com - Many thanks to Carl Seger for his helpful suggestions, and to Trevor - John Thompson for his many excellent ideas and informative bug reports. - - - -Dmake Version 4.12 2008-02-26 50 - - - - - -DMAKE(1) DMAKE(1) - - - Many thanks also go to those on the NET that have helped in making - dmake one of the best Make tools available. - -BUGS - Some system commands return non-zero status inappropriately. Use -i - (`-' within the makefile) to overcome the difficulty. - - Some systems do not have easily accessible time stamps for library mem- - bers (MSDOS, AMIGA, etc) for these dmake uses the time stamp of the - library instead and prints a warning the first time it does so. This - is almost always ok, except when multiple makefiles update a single - library file. In these instances it is possible to miss an update if - one is not careful. - - This man page is way too long. - -WARNINGS - Rules supported by make(1) may not work if transitive closure is turned - off (-T, .NOINFER). - - PWD from csh/ksh will cause problems if a cd operation is performed and - -e or -E option is used. - - Using internal macros such as COMMAND, may wreak havoc if you don't - understand their functionality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Dmake Version 4.12 2008-02-26 51 - - diff --git a/dmake/man/dmake.tf b/dmake/man/dmake.tf deleted file mode 100644 index 981d82fc0609..000000000000 --- a/dmake/man/dmake.tf +++ /dev/null @@ -1,3480 +0,0 @@ -.\" Copyright (c) 1990,...,1995 Dennis Vadura, All rights reserved. -.\" -.\" You must use groff to format this man page!!! -.\" -.ds TB "0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.5i +0.5i +2.0i -.de Ip -.sp \\n[PD]u -.nf -.nr dmake-indent \w@\\$1 @u -.IP "\\$1" \\n[dmake-indent]u -\\$2 -.. -.de Is -.nr dmake-indent \w@\\$1@u -.nf -.. -.de Ii -.PD 0 -.IP "\\$1" \\n[dmake-indent]u -.it 1 PD -.. -.TH DMAKE 1 "2008-02-26" "Dmake Version 4.12" -.SH NAME -\fBdmake\fR \- maintain program groups, or interdependent files -.SH SYNOPSIS -.nh -.B dmake -[\-P#] [\-{f|C|K} file] [\-{w|W} target ...] -[macro[[!][*][+][:]]=\fIvalue\fP ...] -[\-ABcdeEghiknpqrsStTuVxX] [\-v[cdfimrtw]] [\-m[trae]] [target ...] -.hy 14 -.SH DESCRIPTION -.PP -.B dmake -is a re-implementation of the UNIX Make utility with significant enhancements. -.B dmake -executes commands found in an external file called a -.I makefile -to update one or more target names. -Each target may depend on zero or more prerequisite targets. -If any of the target's prerequisites is newer than the target or if the target -itself does not exist, then -.B dmake -will attempt to make the target. -.PP -If no -.B \-f -command line option is present then -.B dmake -searches for an existing -.I makefile -from the list of prerequisites specified for the special target \fI.MAKEFILES\fR -(see the STARTUP section for more details). -If "\-" is the name of the file specified to the -.B \-f -flag then \fBdmake\fR uses standard input as the source of the makefile text. -.PP -Any macro definitions (arguments with embedded "=" -signs) that appear on the command line are processed first -and supercede definitions for macros of the same name found -within the makefile. In general it is impossible for definitions found -inside the makefile to redefine a macro defined on the command line, see the -MACROS section for exceptions. -.PP -If no -.I target -names are specified on the command line, then \fBdmake\fR uses the first -non-special target found in the makefile as the default target. -See the -.B "SPECIAL TARGETS" -section for the list of special targets and their function. -Makefiles written for most previous -versions of -.I Make -will be handled correctly by -.B dmake. -Known differences between \fBdmake\fR and other versions of make -are discussed in the -.B COMPATIBILITY -section found at the end of this document. -.B dmake -returns 0 if no errors were detected and a non-zero result if an error -occurred. -.SH OPTIONS -.IP "\fB\-A\fR" -Enable AUGMAKE special inference rule transformations -(see the "PERCENT(%) RULES" and "AUGMAKE META RULES" sections), these are -set to off by default. -.IP "\fB\-B\fR" -Enable the use of spaces instead of to begin recipe lines. -This flag equivalent to the .NOTABS special macro and is further described -below. -.IP "\fB\-c\fR" -Use non-standard comment stripping. If you specify \fB\-c\fP then -.B dmake -will treat any \fB#\fP character as a start of comment character wherever it -may appear unless it is escaped by a \e. -.IP "\fB\-C [+]file\fR" -This option writes to \fIfile\fP a copy of standard output and -standard error from any child processes and from the -.B dmake -process itself. If you specify a \fB+\fP prior to the file name then -the text is appended to the previous contents of \fIfile\fP. -This option is active in the MSDOS implementation only and is ignored -by non-MSDOS versions of -.B dmake. -.IP "\fB\-d\fR" -Disable the use of the directory cache. Normally \fBdmake\fP caches directories -as it checks file timestamps. Giving this flag is equivalent to the -\&.DIRCACHE attribute or macro being set to \fIno\fP. -.IP "\fB\-E\fR" -Read the environment and define all strings of the -form '\fBENV\-VAR\fP=\fIevalue\fP' -defined within as macros whose name is \fBENV\-VAR\fP, -and whose value is '\fIevalue\fP'. -The environment is processed prior to processing the user -specified makefile thereby allowing definitions in the makefile to override -definitions in the environment. -.IP "\fB\-e\fR" -Same as \-E, except that the environment is processed after the -user specified makefile has been processed -(thus definitions in the environment override definitions in the makefile). -The \-e and \-E options are mutually exclusive. -If both are given the latter takes effect. -.IP "\fB\-f file\fR" -Use \fBfile\fR as the source for the makefile text. -Only one \fB\-f\fR option is allowed. -.IP "\fB\-g\fR" -Globally disable group recipe parsing, equivalent to the .IGNOREGROUP -attribute or macro being set to \fIyes\fP at the start of the makefile. -.IP "\fB\-h\fR" -Print the command summary for \fBdmake\fR. -.IP "\fB\-i\fR" -Tells \fBdmake\fR to ignore errors, and continue making other targets. -This is equivalent to the .IGNORE attribute or macro. -.IP "\fB\-K file\fR" -Turns on \fB.KEEP_STATE\fP state tracking and tells \fBdmake\fP to use -\fIfile\fP as the state file. -.IP "\fB\-k\fR" -Causes \fBdmake\fR to ignore errors caused by command execution and to make -all targets not depending on targets that could not be made. -Ordinarily \fBdmake\fR stops after a command returns a non-zero status, -specifying \fB\-k\fR causes \fBdmake\fR to ignore the error -and continue to make as much as possible. -.IP "\fB\-m[trae]\fR" -Measure timing information. Print the time when targets and/or recipes -are started and finished to stdout. The following format is used: -.IP "" -\fB{s|e} {target|recipe} time maketarget\fP -.IP "" -\fBs\fP or \fBe\fP stands for started or ended, \fBtarget\fP or -\fBrecipe\fP denotes if this line refers to the whole target or a -recipe. \fBtime\fP is displayed in Unix time format, i.e. the number -of seconds since an epoch. (Since 1970-01-01T00:00:00Z). \fBmaketarget\fP -obviously represents the target the timing information is given for. -The optional flags \fB[trae]\fP can be used to change the information that -is displayed. If no optional flags are given only the \fBt\fP flag -is assumed to be selected, ie. \fB\-mt\fP. The optional flags stand for: -.RS -.IP "\fBt\fP" -Display the start and end time of each target. -.IP "\fBr\fP" -Display the start and end time of each recipe. -.IP "\fBa\fP" -Display the target as an absolute path, i.e. prepend the current working -directory. -.IP "\fBe\fP" -Also display the start and end time of the \fB$(shell command)\fP function -(aka. shell escape) macros. -.RE -.IP "\fB\-n\fR" -Causes \fBdmake\fR to print out what it would have executed, -but does not actually execute the commands. A special check is made for -the string "$(MAKE)" inside a recipe line, if it is found, -the line is expanded and invoked, thereby enabling recursive makes to give a -full description of all that they will do. -This check is disabled inside group recipes. -.IP "\fB\-p\fR" -Print out a version of the digested makefile in human readable form. -(useful for debugging, but cannot be re-read by \fBdmake\fP) -.IP "\fB\-P#\fR" -On systems that support multi-processing cause \fBdmake\fP to use \fI#\fP -concurrent child processes to make targets. -See the "MULTI PROCESSING" section for more information. -.IP "\fB\-q\fR" -Check and see if the target is up to date. Exits with code 0 if up to date, -1 otherwise. -.IP "\fB\-r\fR" -Tells \fBdmake\fR not to read the initial startup makefile, see STARTUP -section for more details. -.IP "\fB\-s\fR" -Tells \fBdmake\fR to do all its work silently and not echo the commands it is -executing to stdout (also suppresses warnings). -This is equivalent to the .SILENT attribute or macro. -.IP "\fB\-S\fR" -Force sequential execution of recipes on architectures which support -concurrent makes. For backward compatibility with old makefiles that have -nasty side-effect prerequisite dependencies. (Implies -P1) -.IP "\fB\-t\fR" -Causes \fBdmake\fR to touch the targets and bring them up to date -without executing any commands. -Note that targets will not be created if they do not already exist. -.IP "\fB\-T\fR" -Tells \fBdmake\fP to not perform transitive closure on the inference graph. -.IP "\fB\-u\fR" -Force an unconditional update. (ie. do everything that would -be done if everything that a target depended on was out of date) -.IP "\fB\-v[cdfimrtw]\fR" -Verbose flag, when making targets print to stdout what we are going to make -and what we think its time stamp is. The optional flags \fB[cdfimrtw]\fP can be -used to restrict the information that is displayed. In the absence of any -optional flags all are assumed to be given (ie. \fB\-v\fP is equivalent to -\fB\-vcdfimrtw\fP). The meanings of the optional flags are: -.RS -.IP "\fBc\fP" -Notify of directory cache operations only. -.IP "\fBd\fP" -Notify of change directory operations only. -.IP "\fBf\fP" -Notify of file I/O operations only. -.IP "\fBi\fP" -Notify of inference algorithm operation only. -.IP "\fBm\fP" -Notify of target update operations only. -.IP "\fBr\fP" -Force output of recipe lines, warnings and executed commands. This switch -is usefull when debugging makefiles that disable the output using the @ -or @@ property for recipe lines or the .SILENT target/attribute. -It also overrides the -s flag. -.IP "\fBt\fP" -Keep any temporary files created; normally they are automatically deleted. -.IP "\fBw\fP" -Notify of non-essential warnings (these are historical). -.RE -.IP "\fB\-V\fR" -Print the version of \fBdmake\fR, and values of builtin macros. -.IP "\fB\-W target\fR" -Run \fBdmake\fP pretending that \fItarget\fP is out of date. -.IP "\fB\-w target\fR" -\fIWhat if?\fP Show what would be made if \fItarget\fP were out of date. -.IP "\fB\-x\fR" -Upon processing the user makefile export all non-internally defined macros -to the user's environment. This option together with the \-e option -allows SYSV AUGMAKE recursive makes to function as expected. -.IP "\fB\-X\fR" -Inhibit the execution of \fB#!\fP lines found at the beginning of a makefile. -The use of this flag prevents non-termination of recursive make invocations. -.SH INDEX -Here is a list of the sections that follow and a short description of each. -Perhaps you won't have to read the entire man page to find -what you need. -.IP \fBSTARTUP\fP 1.9i -Describes \fBdmake\fP initialization. -.IP \fBSYNTAX\fP 1.9i -Describes the syntax of makefile expressions. -.IP \fBATTRIBUTES\fP 1.9i -Describes the notion of attributes and how they are used when -making targets. -.IP \fBMACROS\fP 1.9i -Defining and expanding macros. -.IP "\fBRULES AND TARGETS" 1.9i -How to define targets and their prerequisites. -.IP \fBRECIPES\fP 1.9i -How to tell \fBdmake\fP how to make a target. -.IP "\fBBUILTIN COMMANDS\fP" 1.9i -Internal dmake commands. -.IP "\fBTEXT DIVERSIONS\fP" 1.9i -How to use text diversions in recipes and macro expansions. -.IP "\fBVIRTUAL TARGETS\fP" 1.9i -Targets that only enforce dependencies, but which can not create a target file. -.IP "\fBSPECIAL TARGETS\fP" 1.9i -Some targets are special. -.IP "\fBSPECIAL MACROS\fP" 1.9i -Macros used by \fBdmake\fP to alter the processing of the makefile, -and those defined by \fBdmake\fP for the user. -.IP "\fBCONTROL MACROS\fP" 1.9i -Itemized list of special control macros. -.IP "\fBRUNTIME MACROS\fP" 1.9i -Discussion of special run-time macros such as $@ and $<. -.IP "\fBFUNCTION MACROS\fP" 1.9i -Description of functional macros. -.IP "\fBCONDITIONAL MACROS\fP" 1.9i -Target specific conditional macros. -.IP "\fBDYNAMIC PREREQUISITES\fP" 1.9i -Processing of prerequisites which contain macro expansions in their name. -.IP "\fBBINDING TARGETS\fP" 1.9i -The rules that \fBdmake\fP uses to bind -a target to an existing file in the file system. -.IP "\fBPERCENT(%) RULES\fP" 1.9i -Specification of recipes to be used by the inference algorithm. -.IP "\fBMAKING INFERENCES\fP" 1.9i -The rules that \fBdmake\fP uses when inferring how to make a target which -has no explicit recipe. This and the previous section are really a single -section in the text. -.IP "\fBAUGMAKE META RULES\fP" 1.9i -A subclass of the \fBPERCENT(%) RULES\fP. -.IP "\fBMAKING TARGETS\fP" 1.9i -How \fBdmake\fP makes targets other than libraries. -.IP "\fBMAKING LIBRARIES\fP" 1.9i -How \fBdmake\fP makes libraries. -.IP "\fBKEEP STATE\fP" 1.9i -A discussion of how .KEEP_STATE works. -.IP "\fBMULTI PROCESSING\fP" 1.9i -Discussion of \fBdmake's\fP parallel make facilities for architectures that -support them. -.IP "\fBCONDITIONALS\fP" 1.9i -Conditional expressions which control the processing of the makefile. -.IP "\fBEXAMPLES\fP" 1.9i -Some hopefully useful examples. -.IP "\fBCOMPATIBILITY\fP" 1.9i -How \fBdmake\fP compares with previous versions of make. -.IP "\fBLIMITS\fP" 1.9i -Limitations of \fBdmake\fP. -.IP \fBPORTABILITY\fP 1.9i -Comments on writing portable makefiles. -.IP \fBFILES\fP 1.9i -Files used by \fBdmake\fP. -.IP "\fBSEE ALSO\fP" 1.9i -Other related programs, and man pages. -.IP "\fBAUTHOR\fP" 1.9i -The guy responsible for this thing. -.IP \fBBUGS\fP 1.9i -Hope not. -.SH STARTUP -When -.B dmake -begins execution it first processes the command line and then processes -an initial startup-makefile. -This is followed by an attempt to locate and process a user supplied makefile. -The startup file defines the default values of all required control macros -and the set of default rules for making targets and inferences. -When searching for the startup makefile, -.B dmake -searches the following locations, in the order specified, -until a startup file is located: -.LP -.RS -.IP 1. -The location given as the value of the macro -MAKESTARTUP defined on the command line. -.IP 2. -The location given as the value of the environment variable MAKESTARTUP -defined in the current environment. -.IP 3. -The location given as the value of the macro -MAKESTARTUP defined internally within \fBdmake\fP. In this version, the -internal definition of MAKESTARTUP is "$(DMAKEROOT)/startup.mk", so you -can set the environment variable DMAKEROOT to the location of your startup -directory. -.sp -If DMAKEROOT is not changed, for native Windows dmake versions its value -defaults to "$(ABSMAKECMD:d)startup" (see definition of ABSMAKECMD for -details). -For unix like versions build with the autotools build system it defaults -to the value of "${prefix}/share/startup" at build time. The actual value, -usually something like /usr/local/share/startup can be checked with the \-V -command line switch. -.RE -.LP -The above search is disabled by specifying the \-r option on the command line. -An error is issued if a startup makefile cannot be found and the \-r -option was not specified. -A user may substitute a custom startup file by defining -the MAKESTARTUP environment variable or by redefining the -MAKESTARTUP macro on the command line. -To determine where -.B dmake -looks for the default startup file, check your environment or issue the command -\fI"dmake \-V"\fP. -.PP -A similar search is performed to locate a default user makefile when no -\fB\-f\fP command line option is specified. -By default, the prerequisite list of the special target .MAKEFILES -specifies the names of possible makefiles and the search order that -\fBdmake\fP should use to determine if one exists. -A typical definition for this target is: -.RS -.sp -\&.MAKEFILES : makefile.mk Makefile makefile -.sp -.RE -\fBdmake\fP will first look for makefile.mk and then the others. -If a prerequisite -cannot be found \fBdmake\fP will try to make it before going on to the next -prerequisite. For example, makefile.mk can be checked out of an RCS file -if the proper rules for doing so are defined in the startup file. -.PP -If the first line of the user makefile is of the form: -.RS -.sp -#!command command_args -.sp -.RE -then \fBdmake\fP will expand and run the command prior to reading any -additional input. If the return code of the command is zero then \fBdmake\fP -will continue on to process the remainder of the user makefile, if the return -code is non-zero then dmake will exit. -.PP -\fBdmake\fP builds the internal dependency graph as it parses a user specified -makefile. The graph is rooted at the special target \fB.ROOT\fP. .ROOT is the -top level target that dmake builds when it starts to build targets. All user -specified targets (those from the command line or taken as defaults from -the makefile) are made prerequisites of the special target \fB.TARGETS\fP. -\fBdmake\fP by default creates the relationship that .ROOT depends on .TARGETS -and as a result everything is made. This approach allows the user to customize, within -their makefile, the order and which, target, is built first. For example the -default makefiles come with settings for .ROOT that specify: -.sp -.RS -\&.ROOT .PHONY .NOSTATE .SEQUENTIAL : .INIT .TARGETS .DONE -.RE -.sp -with .INIT and .DONE defined as: -.sp -.RS -\&.INIT .DONE .PHONY:; -.RE -.sp -which nicely emulates the behaviour of Sun's make extensions. The building of -\&.ROOT's prerequisites is always forced to be sequential. However, this -definition is trivially changed by supplying the definition: -.sp -.RS -\&.ROOT : .TARGETS -.RE -.sp -which skips the preamble and postamble phases of building .TARGETS. -.PP -.B Please note -that even though .INIT and .DONE are special exceptions, see section SPECIAL -TARGETS, the use of self defined targets starting with `.' should be avoided -as they would be handled as . meta targets. The target names _INIT -and _DONE for example would work equally well without the . -drawback. -.SH SYNTAX -This section is a summary of the syntax of makefile statements. -The description is given in a style similar to BNF, where { } enclose -items that may appear zero or more times, and [ ] enclose items that -are optional. Alternative productions for a left hand side are indicated -by '\(->', and newlines are significant. All symbols in \fBbold\fP type -are text or names representing text supplied by the user. -.sp 2 -.RS -.Ip "Makefile" "\(-> { Statement }" -.Ip "Statement" "\(-> Macro-Definition" -\(-> Conditional-Macro-Definition -\(-> Conditional -\(-> Rule-Definition -\(-> Attribute-Definition -.Ip "Macro-Definition" "\(-> \fBMACRO = LINE\fP" -\(-> \fBMACRO [\fB!\fR]*= LINE\fP -\(-> \fBMACRO [\fB!\fR]:= LINE\fP -\(-> \fBMACRO [\fB!\fR]*:= LINE\fP -\(-> \fBMACRO [\fB!\fR]+= LINE\fP -\(-> \fBMACRO [\fB!\fR]+:= LINE\fP -.Ip "Conditional-Macro-Definition \(-> " "\fBTARGET\fP ?= Macro-Definition" -.Ip "Conditional \(-> " "\fB\&.IF\fR expression" - Makefile -[ \fB.ELIF\fR expression - Makefile ] -[ \fB.ELSE\fR - Makefile ] -\fB\&.END\fR -.Ip "expression" "\(-> \fBLINE\fR" -\(-> \fBSTRING\fR -\(-> expression \fB==\fR expression -\(-> expression \fB!=\fR expression -\(-> expression \fB<=\fR expression -\(-> expression \fB>=\fR expression -\(-> \fB(\fR expression \fB)\fR -\(-> expression \fB||\fR expression -\(-> expression \fB&&\fR expression -.Ip "Rule-Definition \(-> " "target-definition" - [ recipe ] -.PP -target-definition \(-> targets [attrs] op { \fBPREREQUISITE\fP } [\fB;\fR rcp-line] -.Ip "targets" "\(-> target { targets }" -\(-> \fB"\fRtarget\fB"\fR { targets } -.Ip "target" "\(-> special-target" -\(-> \fBTARGET\fR -.Ip "attrs" "\(-> attribute { attrs }" -\(-> \fB"\fRattribute\fB"\fR { attrs } -.Ip "op" "\(-> \fB:\fR { modifier }" -.Ip "modifier" "\(-> \fB:\fR" -\(-> \fB^\fR -\(-> \fB!\fR -\(-> \fB\-\fR -\(-> \fB|\fR -.Ip "recipe" "\(-> { \fBTAB\fR rcp-line }" -\(-> [\fB@\fR[\fB@\fR]][\fB%\fR][\fB\-\fR] \fB[ -.Is "recipe \(-> " -.Ii " " - \fR{ \fBLINE\fR } -.Ii " " -\fB]\fR -.Ip "rcp-line" "\(-> [\fB@\fR[\fB@\fR]][\fB%\fR][\fB\-\fR][\fB+\fR] \fBLINE\fR" -.Ip Attribute-Definition "\(-> attrs \fB:\fR targets" -.Ip attribute "\(-> \fB.EPILOG\fR" -\(-> \fB.ERRREMOVE\fR -\(-> \fB.EXECUTE\fR -\(-> \fB.GROUP\fR -\(-> \fB.IGNORE\fR -\(-> \fB.IGNOREGROUP\fR -\(-> \fB.LIBRARY\fR -\(-> \fB.MKSARGS\fR -\(-> \fB.NOINFER\fR -\(-> \fB.NOSTATE\fR -\(-> \fB.PHONY\fR -\(-> \fB.PRECIOUS\fR -\(-> \fB.PROLOG\fR -\(-> \fB.SETDIR=\fIpath\fP\fR -\(-> \fB.SILENT\fR -\(-> \fB.SEQUENTIAL\fR -\(-> \fB.SWAP\fR -\(-> \fB.USESHELL\fR -\(-> \fB.SYMBOL\fR -\(-> \fB.UPDATEALL\fR -\(-> \fB.WINPATH\fR -.Ip "special-target" "\(-> \fB.ERROR\fR" -\(-> \fB.EXIT\fR -\(-> \fB.EXPORT\fR -\(-> \fB.GROUPEPILOG\fR -\(-> \fB.GROUPPROLOG\fR -\(-> \fB.IMPORT\fR -\(-> \fB.INCLUDE\fR -\(-> \fB.INCLUDEDIRS\fR -\(-> \fB.MAKEFILES\fR -\(-> \fB.REMOVE\fR -\(-> \fB.ROOT\fR -\(-> \fB.SOURCE\fR -\(-> \fB.SOURCE.\fIsuffix\fR -\(-> \fB.SUFFIXES (deprecated)\fR -\(-> \fB.TARGETS\fR -\(-> \fB.INIT\fR -\(-> \fB.DONE\fR -\(-> .\fIsuffix\fR -\(-> .\fIsuffix1\fR.\fIsuffix2\fR -.fi -.RE -.sp 1 -.PP -Where, \fBTAB\fP represents a character, \fBSTRING\fP represents an -arbitrary sequence of characters, and -\fBLINE\fP represents a -possibly empty sequence of characters terminated by a non-escaped -(not immediately preceded by a backslash '\e') new-line character. -\fBMACRO\fP, \fBPREREQUISITE\fP, -and \fBTARGET\fP each represent a string of characters not -including space or tab which respectively form the name of a macro, -prerequisite or target. -The name may itself be a macro expansion expression. -A \fBLINE\fP can be continued over several physical lines by terminating it with -a single backslash character. Comments are initiated by the -pound \fB#\fR character and extend to the end of line. -All comment text is discarded, a '#' may be placed into the makefile text -by escaping it with '\e' (ie. \e# translates to # when it is parsed). -An exception to this occurs when a # is seen inside -a recipe line that begins with a or is inside a group recipe. -If you specify the \fB\-c\fP command line switch then this behavior is -disabled and -.B dmake -will treat all # characters as start of comment indicators unless they -are escaped by \e. -A set of continued lines may be commented out by placing a single # at the -start of the first line. -A continued line cannot span more than one makefile. -.PP -\fBwhite space\fP is defined to be any combination of -, , and the sequence \e when \e is used to terminate a -LINE. \fBNote\fP the special treatment of \e in macro definion and recipe -lines below. -When processing \fBmacro definition\fP lines, -any amount of white space is allowed on either side of the macro operator -and white space is stripped from both before and after the macro -value string. A \e sequence in a macro definition is deleted from the -macro value before assigning this value. -During \fBrecipe expansion\fP the sequence \e is treated as white space -but is deleted from the final recipe string. -You must escape the \e with another \e in order to get a \e at the end -of a recipe or macro definition line. -.PP -When processing \fBtarget\fP definition lines, -the recipe for a target must, in general, follow the first definition -of the target (See the RULES AND TARGETS section for an exception), and -the recipe may not span across multiple makefiles. -Any targets and prerequisites found on a target definition line are taken -to be white space separated tokens. -The rule operator (\fIop\fP in SYNTAX section) is also considered -to be a token but does not require -white space to precede or follow it. Since the rule operator begins with a `:', -traditional versions of make do not allow the `:' character to -form a valid target name. \fBdmake\fP allows `:' to be present in -target/prerequisite names as long as the entire target/prerequisite name is -quoted. For example: -.sp -\ta:fred : test -.sp -would be parsed as TARGET = a, PREREQUISITES={fred, :, test}, which -is not what was intended. To fix this you must write: -.sp -\t"a:fred" : test -.sp -Which will be parsed as expected. Quoted target and prerequisite -specifications may also contain white space thereby allowing the use of -complex function macro expressions.. -See the EXAMPLES section for how to apply \fB"\fP quoting -to a list of targets. -.SH ATTRIBUTES -.B dmake -defines several target attributes. Attributes may be -assigned to a single target, a group of targets, or to all targets in the -makefile. Attributes are used to modify -\fBdmake\fP actions during target update. -The recognized attributes are: -.sp -.IP \fB.EPILOG\fP 1.2i -Insert shell epilog code when executing a group recipe associated with -any target having this attribute set. -.IP \fB.ERRREMOVE\fP 1.2i -Always remove any target having this attribute if an error is encountered -while making them. Setting this attribute overrides the .PRECIOUS attribute. -.IP \fB.EXECUTE\fP 1.2i -If the \-n flag was given then execute the recipe associated with any -target having this attribute set. -.IP \fB.FIRST\fP 1.2i -Used in conjunction with .INCLUDE. Terminates the inclusion with the first -successfully included prerequisite. -.IP \fB.GROUP\fP 1.2i -Force execution of a target's recipe as a group recipe. -.IP \fB.IGNORE\fP 1.2i -Ignore an error when trying to make any target with this attribute set. -.IP \fB.IGNOREGROUP\fP 1.2i -Disable the special meaning of '[' to initiate a group recipe. -.IP \fB.LIBRARY\fP 1.2i -Target is a library. -.IP \fB.MKSARGS\fP 1.2i -If running in an MSDOS environment then use MKS extended argument passing -conventions to pass arguments to commands. Non-MSDOS -environments ignore this attribute. -.IP \fB.NOINFER\fP 1.2i -Any target with this attribute set will not be subjected -to transitive closure if it is inferred as a prerequisite -of a target whose recipe and prerequisites are being inferred. -(i.e. the inference algorithm will not use any prerequisite with this attribute -set, as a target) -If specified as '.NOINFER:' (ie. with no prerequisites or targets) then the -effect is equivalent to specifying \fB\-T\fP on the command line. -.IP \fB.NOSTATE\fP 1.2i -Any target with this attribute set will not have command line flag -information stored in the state file if .KEEP_STATE has been enabled. -.IP \fB.PHONY\fP 1.2i -Any target with this attribute set will have its recipe executed -each time the target is made even if a file matching the target name can -be located. Any targets that have a .PHONY attributed target as a -prerequisite will be made each time the .PHONY attributed prerequisite is -made. -.IP \fB.PRECIOUS\fP 1.2i -Do not remove associated target under any circumstances. -Set by default for any targets whose corresponding files exist in the file -system prior to the execution of \fBdmake\fP. -.IP \fB.PROLOG\fP 1.2i -Insert shell prolog code when executing a group recipe associated with -any target having this attribute set. -.IP \fB.SEQUENTIAL\fP 1.2i -Force a sequential make of the associated target's prerequisites. If set -as a global attribute this implies setting MAXPROCESS=1. -.IP \fB.SETDIR\fP 1.2i -Change current working directory to specified directory when making the -associated target. You must -specify the directory at the time the attribute is specified. To do this -simply give \fI.SETDIR=path\fP as the attribute. \fIpath\fP is expanded and -the result is used as the value of the directory to change to. -If \fIpath\fP contains \fB$$@\fP then the name of the target to be built is -used in computing the path to change directory to. -If path is surrounded by single quotes then path is not expanded, and is used -literally as the directory name. -If the \fIpath\fP contains any `:' characters then the entire attribute string -must be quoted using ". -If a target having this attribute set also has the .IGNORE -attribute set then if the change to the specified directory fails it will be -ignored, and no error message will be issued. -.IP \fB.SILENT\fP 1.2i -Do not echo the recipe lines when making any target with this attribute set, -and do not issue any warnings. -.IP \fB.SWAP\fP 1.2i -Under MSDOS -when making a target with this attribute set swap the \fBdmake\fP executable -to disk prior to executing the recipe line. Also see the '%' recipe line -flag defined in the RECIPES section. -.IP \fB.SYMBOL\fP 1.2i -Target is a library member and is an entry point into a module in the -library. This attribute is used only when searching a library for a target. -Targets of the form lib((entry)) have this attribute set automatically. -.IP \fB.USESHELL\fP 1.2i -Force each recipe line of a target to be executed using a shell. -Specifying this attribute is equivalent to specifying the '+' character at the -start of each line of a non-group recipe. -.IP \fB.UPDATEALL\fP 1.2i -Indicates that all the targets listed in this rule are updated by the -execution of the accompanying recipe. -A common example is the production of the -.I y.tab.c -and -.I y.tab.h -files by -.B yacc -when it is run on a grammar. Specifying .UPDATEALL in such a rule -prevents the running of yacc twice, once for the y.tab.c file and once -for the y.tab.h file. .UPDATEALL targets that are specified in a single rule -are treated as a single target and all timestamps are updated whenever any -target in the set is made. As a side-effect, \fBdmake\fP internally sorts -such targets in ascending alphabetical order and the value of $@ is always -the first target in the sorted set. -.IP \fB.WINPATH\fP 1.2i -Switch between default (POSIX) and Windows style path representation. -(This attribute is specific for cygwin dmake executables and non-cygwin -environments ignore this attribute.) -.sp -Under Cygwin it can be useful to generate Windows style paths (with -regular slashes) instead of the default cygwin style (POSIX) paths -for dmake's dynamic macros. -The affected macros are $@, $*, $>, $?, $<, $&, $^ and $(MAKEDIR), $(PWD), -$(TMD), $(TMPFILE) and the $(mktmp ...) function macro. -This feature can be used to create DOS style path parameters -for native W32 programs from dynamic macros. -.sp -\fBNote\fP that the Windows style paths use regular slashes ('/') instead -of the usual Windows backslash ('\\') as directory separator to avoid quoting -problems (after all it is still a cygwin \fBdmake\fP!) and cygwin, as well -as native Windows, programs should have no problems using this (c:/foo/bar) -path representation. -.sp -Example: Assuming the current target to be /tmp/mytarget the $@ macro -without .WINPATH active expands to: -.RS -.sp -.RS -/tmp/mytarget -.sp -.RE -With .WINPATH set it expands to: -.sp -.RS -C:/cygwin/tmp/mytarget -.RE -.RE -.LP -All attributes are user setable and except for .UPDATEALL and .MKSARGS -may be used in one of two forms. -The .MKSARGS attribute is restricted to use as a global attribute, and -the use of the .UPDATEALL attribute is restricted to rules -of the second form only. -.sp -\tATTRIBUTE_LIST : \fItargets\fP -.sp -assigns the attributes specified by ATTRIBUTE_LIST to each target in -.I targets -or -.sp -\t\fItargets\fP ATTRIBUTE_LIST : ... -.sp -assigns the attributes specified by ATTRIBUTE_LIST to each target in -.I targets. -In the first form if -.I targets -is empty (ie. a NULL list), then the -list of attributes will apply to all targets in the makefile -(this is equivalent to the common Make construct of \fI".IGNORE :"\fP -but has been modified to the notion of an attribute instead of -a special target). -Not all of the attributes have global meaning. -In particular, .LIBRARY, .NOSTATE, .PHONY, .SETDIR, .SYMBOL and .UPDATEALL -have no assigned global meaning. -.PP -Any attribute may be used with any target, even with the special targets. -Some combinations are useless (e.g. .INCLUDE .PRECIOUS: ... ), -while others are useful (e.g. .INCLUDE .IGNORE : "file.mk" will not complain -if file.mk cannot be found using the include file search rules, -see the section on SPECIAL TARGETS for a description of .INCLUDE). -If a specified attribute will not be used with the special target a warning -is issued and the attribute is ignored. -.SH MACROS -.B dmake -supports six forms of macro assignment. -.sp -.IP "\fBMACRO = LINE\fP" 1.55i -This is the most common and familiar form of macro assignment. It assigns -LINE literally as the value of MACRO. -Future expansions of MACRO recursively expand its value. -.IP "\fBMACRO *= LINE\fP" 1.55i -This form behaves exactly as the simple '=' form with the exception that if -MACRO already has a value then the assignment is not performed. -.IP "\fBMACRO := LINE\fP" 1.55i -This form differs from the simple '=' form in that it expands LINE -prior to assigning it as the value of MACRO. -Future expansions of MACRO do not recursively expand its value. -.IP "\fBMACRO *:= LINE\fP" 1.55i -This form behaves exactly as the ':=' form with the exception that if -MACRO already has a value then the assignment and expansion are not performed. -.IP "\fBMACRO += LINE\fP" 1.55i -This form of macro assignment allows macro values to grow. It takes the -literal value of LINE and appends it to the previous value of MACRO separating -the two by a single space. -Future expansions of MACRO recursively expand its value. -.IP "\fBMACRO +:= LINE\fP" 1.55i -This form is similar to the '+=' form except that the value of LINE is expanded -prior to being added to the value of MACRO. -.PP -Macro expressions specified on the command line allow the macro value -to be redefined within the makefile only if the macro is defined using -the '+=' and '+:=' operators. Other operators will define a macro that cannot -be further modified. -.PP -Each of the preceeding macro assignment operators may be prefixed by \fB!\fP -to indicate that the assignment should be forced and that no warnings should -be issued. Thus, specifying \fB!\fP has the effect of silently forcing the -specified macro assignment. -.PP -When \fBdmake\fP defines a non-environment macro it strips leading and -trailing white space from the macro value. -Macros imported from the environment via either the .IMPORT special -target (see the SPECIAL TARGETS section), or the \fB\-e\fP, or \fB\-E\fP flags -are an exception to this rule. Their values are -always taken literally and white space is never stripped. -In addition, named macros defined using the .IMPORT special target do -not have their values expanded when they are used within a makefile. -In contrast, environment macros that are imported -due to the specification of the \fB\-e\fP or \fB\-E\fP flags -are subject to expansion when used. -.PP -To specify a macro expansion -enclose the name in () or {} and precede it with a dollar sign $. -Thus $(TEST) represents an expansion of the macro variable named TEST. -If TEST is -defined then $(TEST) is replaced by its expanded value. If TEST is not -defined then $(TEST) expands to the NULL string (this is equivalent to -defining a macro as 'TEST=' ). A short form may be used for single character -named macros. In this case the parentheses are optional, and $(I) is -equivalent to $I. -Macro expansion is recursive, hence, if the value string contains an expression -representing a macro expansion, the expansion is performed. Circular macro -expansions are detected and cause an error to be issued. -.PP -When defining a macro the given macro name is first expanded before being used -to define the macro. Thus it is possible to define macros whose names -depend on values of other macros. For example, suppose CWD is defined as -.sp -\tCWD = $(PWD:b) -.sp -then the value of $(CWD) is the name of the current directory. -This can be used to define macros specific to this directory, for -example: -.sp -\t_$(CWD).prt = list of files to print... -.sp -The actual name of the defined macro is a function of the current directory. -A construct such as this is useful when processing a hierarchy of directories -using .SETDIR attributed targets and a collection of small distributed -makefile stubs. -.PP -Macro variables may be defined within the makefile, on the command -line, or imported from the environment. -.PP -.B \fBdmake\fR -supports several non-standard macro expansions: -The first is of the form: -.RS -.IP \fI$(macro_name:modifier_list:modifier_list:...)\fR -.RE -.LP -where -.I modifier_list -may be a combination of: -.RS -.sp -.Is "b or B " -.Ii "b or B" -\- file (not including suffix) portion of path names -.Ii "d or D" -\- directory portion of all path names -.Ii "e or E" -\- suffix portion of path names -.Ii "f or F" -\- file (including suffix) portion of path names -.Ii "i or I" -\- inferred names of targets -.Ii "n or N" -\- normalized path names -.Ii "l or L" -\- macro value in lower case -.Ii "u or U" -\- macro value in upper case -.Ii "1" -\- return the first white space separated token from value -.RE -.sp -or a single one of: -.RS -.sp -.Ii "m or M" -\- map escape codes found in macro to their ASCII value -.Ii "s or S" -\- simple pattern substitution -.Ii "t or T" -\- tokenization. -.Ii "^" -\- prepend a prefix to each token -.Ii "+" -\- append a suffix to each token -.sp -.RE -.fi -Thus if we have the example: -.RS -test = d1/d2/d3/a.out f.out d1/k.out -.RE -The following macro expansions produce the values on the right of '\(->' after -expansion. -.RS -.sp -.Is "$(test:s/out/in/:f) " -.Ii "$(test:d)" -\(-> d1/d2/d3/ d1/ -.Ii "$(test:b)" -\(-> a f k -.Ii "$(test:f)" -\(-> a.out f.out k.out -.Ii "${test:db}" -\(-> d1/d2/d3/a f d1/k -.Ii "${test:s/out/in/:f}" -\(-> a.in f.in k.in -.Ii $(test:f:t"+") -\(-> a.out+f.out+k.out -.Ii $(test:e) -\(-> .out .out .out -.Ii $(test:u) -\(-> D1/D2/D3/A.OUT F.OUT D1/K.OUT -.Ii $(test:1) -\(-> d1/d2/d3/a.out -.RE -.fi -.PP -For this macro -.RS -test = d1/d2/../a.out "d1/file name.ext" -.RE -the following results are returned: -.RS -.sp -.Is "$(test:s/out/in/:f) " -.Ii "$(test:n)" -\(-> d1/a.out "d1/file name.ext" -.RE -.fi -.PP -If a token ends in a string composed from the value of the macro DIRBRKSTR -(ie. ends in a directory separator string, e.g. '/' in UNIX) and you use the -\fB:d\fP modifier then the expansion returns the directory name less the -final directory separator string. Thus successive pairs of :d modifiers -each remove a level of directory in the token string. -.PP -The infered names of targets \fB:i\fP modifier returnes the actual filename -associated to the target, see BINDING TARGETS. If the value is not a target or -prerequisite the value is returned unchanged. For the following example: -.RS -test = aprog bprog -.RE -If aprog and bprog are targets or prerequisits and they are bound -to /tmp/aprog and bprog (see .SOURCE special target) the macro expansion -has the following effect: -.RS -.sp -.Is "$(test:s/out/in/:f) " -.Ii "$(test:i)" -\(-> /tmp/aprog bprog -.RE -.fi -.PP -The normalized path names \fB:n\fP modifier honors the setting of .WINPATH to -determine the output format of the result. -.PP -The map escape codes modifier changes the following escape codes \ea => , -\&\eb => , \ef => , \en => , \er => , -\&\et => , \ev => , \e" => ", and \exxx => where -xxx is the octal representation of a character into the corresponding ASCII -value. -.PP -The tokenization, prepend and append modifier may use the same escape codes -that are supported by the map escape codes modifier in the string that is -inserted, prepended or added by the respective macro modifier. -These modifiers may quote this string to include otherwise problematic -characters. E.g. spaces, colons and parentheses. -.PP -The tokenization modifier takes all white space separated tokens from the -macro value and separates them by the separator string. Thus the -expansion: -.LP -.RS -.nf -$(test:f:t"+\en") -.RE -produces: -.RS -a.out+ -f.out+ -k.out -.fi -.RE -.PP -The prefix operator \fB^\fP takes all white space separated tokens from the -macro value and prepends \fIstring\fP to each. -.LP -.RS -.nf -$(test:f:^mydir/) -.RE -produces: -.RS -mydir/a.out mydir/f.out mydir/k.out -.fi -.RE -.PP -The suffix operator \fB+\fP takes all white space separated tokens from the -macro value and appends \fIstring\fP to each. -.LP -.RS -.nf -$(test:b:+.c) -.RE -produces: -.RS -a.c f.c k.c -.fi -.RE -.PP -The next non-standard form of macro expansion allows for recursive macros. -It is possible to specify a $(\fImacro_name\fR) or ${\fImacro_name\fR} expansion -where \fImacro_name\fR contains more $( ... ) or ${ ... } macro expansions -itself. -.PP -For example $(CC$(_HOST)$(_COMPILER)) will first expand CC$(_HOST)$(_COMPILER) -to get a result and use that result as the name of the macro to expand. -This is useful for writing a makefile for more than one target -environment. As an example consider the following hypothetical case. -Suppose that _HOST and _COMPILER are imported from the environment -and are set to represent the host machine type and the host compiler -respectively. -.RS -.sp -.nf -CFLAGS_VAX_CC = \-c \-O # _HOST == "_VAX", _COMPILER == "_CC" -CFLAGS_PC_MSC = \-c \-ML # _HOST == "_PC", _COMPILER == "_MSC" -.sp -# redefine CFLAGS macro as: -.sp -CFLAGS := $(CFLAGS$(_HOST)$(_COMPILER)) -.fi -.sp -.RE -This causes CFLAGS to take on a value that corresponds to the -environment in which the make is being invoked. -.PP -The final non-standard macro expansion is of the form: -.RS -.sp -string1{token_list}string2 -.RE -.LP -where string1, string2 and token_list are expanded. After expansion, -string1 is prepended to each token found in token_list and -string2 is appended to each resulting token from the previous prepend. -string1 and string2 are not delimited by white space -whereas the tokens in token_list are. -A null token in the token list -is specified using "". -Thus using another example we have: -.RS -.sp -.Is "test/{f1 f2}.o " -.Ii "test/{f1 f2}.o" ---> test/f1.o test/f2.o -.Ii "test/ {f1 f2}.o" ---> test/ f1.o f2.o -.Ii "test/{f1 f2} .o" ---> test/f1 test/f2 .o -.Ii "test/{""f1"" """"}.o" ---> test/f1.o test/.o -.sp -.Ii and -.sp -.Is "test/{d1 d2}/{f1 f2}.o --> " -.Ii "test/{d1 d2}/{f1 f2}.o --> " -test/d1/f1.o test/d1/f2.o -test/d2/f1.o test/d2/f2.o -.sp -.RE -.fi -This last expansion is activated only when the first characters of -\fItoken_list\fP -appear immediately after the opening '{' with no intervening white space. -The reason for this restriction is the following incompatibility with -Bourne Shell recipes. The line -.RS -.sp -{ echo hello;} -.sp -.RE -is valid /bin/sh syntax; while -.RS -.sp -{echo hello;} -.sp -.RE -.fi -is not. Hence the latter triggers the enhanced macro expansion while the former -causes it to be suppressed. -See the SPECIAL MACROS section for a description of the special macros that -\fBdmake\fP defines and understands. -.SH "RULES AND TARGETS" -A makefile contains a series of entries that specify dependencies. -Such entries are called \fItarget/prerequisite\fP or \fIrule\fP definitions. -Each rule definition -is optionally followed by a set of lines that provide a recipe for updating -any targets defined by the rule. -Whenever -.B dmake -attempts to bring a target up to date and an explicit recipe is provided with -a rule defining the target, that recipe is used to update the -target. A rule definition begins with a line having the following syntax: -.sp -.RS -.nf -\fI\fP [\fI\fP] \fI\fP [\fI\fP] [;\fI\fP] -.fi -.RE -.sp -.I targets -is a non-empty list of targets. If the target is a -special target (see SPECIAL TARGETS section below) then it must appear alone -on the rule line. For example: -.sp -.RS -\&.IMPORT .ERROR : ... -.RE -.sp -is not allowed since both .IMPORT and .ERROR are special targets. -Special targets are not used in the construction of the dependency graph and -will not be made. -.PP -.I attributes -is a possibly empty list of attributes. Any attribute defined in the -ATTRIBUTES section above may be specified. All attributes will be applied to -the list of named targets in the rule definition. No other targets will -be affected. -.sp -.IP NOTE: 0.75i -As stated earlier, -if both the target list and prerequisite list are empty but the attributes -list is not, then the specified attributes affect all targets in the makefile. -.sp -.PP -.I ruleop -is a separator which is used to identify the targets from the prerequisites. -Optionally it also provides a facility for modifying the way in which -.B dmake -handles the making of the associated targets. -In its simplest form the operator is a single ':', and need not be separated -by white space from its neighboring tokens. It may additionally be followed -by any of the modifiers { !, ^, \-, :, | }, where: -.sp -.IP \fB!\fP -says execute the recipe for the associated targets once for each out of date -prerequisite. (The meaning of the runtime macro \fB$?\fP is changed, see -below in the -.B "RUNTIME MACROS" -section.) Ordinarily the recipe is executed -once for all out of date prerequisites at the same time. -.IP \fB^\fP -says to insert the specified prerequisites, if any, before any -other prerequisites already associated with the specified targets. -In general, it is not useful to specify ^ with an empty -list of prerequisites. -.IP \fB\-\fP -says to clear the previous list of prerequisites before adding -the new prerequisites. Thus, -.sp -\tfoo : -.br -\tfoo : bar baz -.sp -can be replaced by -.sp -\tfoo :\- bar baz -.sp -however the old form still works as expected. -.IP \fB:\fP -When the rule operator is not modified by a second ':' -only one set of rules may be specified for making a target. -Multiple definitions may be used to add to the -list of prerequisites that a target depends on. -However, if a target is multiply defined -only one definition may specify a recipe -for making the target. -.sp -When a target's rule operator is modified by a second ':' -(:: for example) then this definition may not be the only -definition with a recipe for the target. There may be other :: target -definition lines that specify a different set of prerequisites with a -different recipe for updating the target. -Any such target is made if any of the definitions -find it to be out of date -with respect to the related prerequisites -and the corresponding recipe is used to update the -target. By definition all '::' recipes that are found to be out of date for -are executed. -.sp -In the following simple example, each rule has a `::' \fIruleop\fP. In such an -operator we call the first `:' the operator, and the second `:' the modifier. -.sp -.nf -a.o :: a.c b.h - first recipe for making a.o - -a.o :: a.y b.h - second recipe for making a.o -.fi -.sp -If a.o is found to be out of date with respect to a.c then the first recipe -is used to make a.o. If it is found out of date with respect to a.y then -the second recipe is used. If a.o is out of date with respect to -b.h then both recipes are invoked to make a.o. -In the last case the order of invocation corresponds to the order in which the -rule definitions appear in the makefile. -.IP \fB|\fP -Is defined only for PERCENT rule target definitions. When specified it -indicates that the following construct should be parsed using the old -semantinc meaning: -.sp -.nf -%.o :| %.c %.r %.f ; some rule -.sp -is equivalent to: -.sp -%.o : %.c ; some rule -%.o : %.r ; some rule -%.o : %.f ; some rule -.fi -.PP -Targets defined using a single `:' operator -with a recipe may be redefined again with a new recipe by using a -`:' operator with a `:' modifier. -This is equivalent to a target having been -initially defined with a rule using a `:' modifier. -Once a target is defined using a `:' -modifier it may not be defined again with a recipe using only the `:' operator -with no `:' modifier. In both cases the use of a `:' modifier creates a new -list of prerequisites and makes it the current prerequisite list for the target. -The `:' operator with no recipe always modifies the current list -of prerequisites. -Thus assuming each of the following definitions has a recipe attached, then: -.RS -.sp -.nf -joe : fred ... (1) -joe :: more ... (2) -.sp -and -.sp -joe :: fred ... (3) -joe :: more ... (4) -.sp -.fi -.RE -are legal and mean: add the recipe associated with (2), or (4) to the set -of recipes for joe, placing them after existing recipes for -making joe. -The constructs: -.RS -.sp -.nf -joe :: fred ... (5) -joe : more ... (6) -.sp -and -.sp -joe : fred ... (7) -joe : more ... (8) -.sp -.fi -.RE -are errors since we have two sets of perfectly good recipes for -making the target. -.PP -.I prerequisites -is a possibly empty list of targets that must be brought up to date before -making the current target. -.PP -.I recipe -is a short form and allows the user to specify short rule definitions -on a single line. -It is taken to be the first recipe line in a larger recipe -if additional lines follow the rule definition. -If the semi-colon is present but the recipe line is empty (ie. null string) -then it is taken -to be an empty rule. Any target so defined causes target to be treated -as a virtual target, see VIRTUAL TARGETS below. -.SH "RECIPES" -The traditional format used by most versions of Make defines the recipe -lines as arbitrary strings that may contain macro expansions. They -follow a rule definition line and may be spaced -apart by comment or blank lines. -The list of recipe lines defining the recipe is terminated by a new target -definition, a macro definition, or end-of-file. -Each recipe line -.B MUST -begin with a \fB\fP character (or \fBspaces\fP, see \fB.NOTABS\fP) -which may optionally be followed with one or all the following -.I recipe property -characters -.IR "'@%+\-'" -which affect the recipe execution: -.IP "'\-'" -indicates that non-zero exit values (ie. errors) -are to be ignored when this recipe line is executed. -.IP "'\+'" -indicates that the current recipe line is to be executed using the shell. Group recipes implicitely ignore this property. -.IP "'%'" -indicates that -.B dmake -should swap itself out to secondary storage (MSDOS only) before running the -recipe. -.IP "'@'" -indicates that the recipe line should NOT be echoed to the terminal prior to -being executed. -.IP "'@@'" -is a stronger version of the previous property. The recipe line and the -output (stdout and stderr) of the executed recipe are NOT shown on the -terminal. -.LP -Each property is off by default -(ie. by default, errors are significant, commands are echoed, no swapping is -done and a shell is -used only if the recipe line contains a character found in the value of the -SHELLMETAS macro). -Global settings activated via command line options or special attribute or -target names may also affect these settings. -An example recipe: -.sp -.RS -.nf -target : -.RS -first recipe line -second recipe line, executed independent of first. -@a recipe line that is not echoed --and one that has errors ignored -%and one that causes dmake to swap out -+and one that is executed using a shell. -.RE -.fi -.RE -.PP -The second and new format of the recipe block begins the block with the -character '[' (the open group character) in the last non-white space -position of a line, and terminates the -block with the character ']' (the close group character) -in the first non-white space position of a line. -In this form each recipe line need not have a leading TAB. This is -called a recipe group. Groups so defined are fed intact as a single -unit to a shell for execution whenever the corresponding target needs to -be updated. If the open group character '[' is preceded -by one or all of the -.I recipe properties -(\-, %, @ and @@) -then they apply to the entire group in the same way that they -apply to single recipe lines. You may also specify '+' but it is -redundant as a shell is already being used to run the recipe. -See the MAKING TARGETS section for a description of how -.B dmake -invokes recipes. -Here is an example of a group recipe: -.sp -.RS -.nf -target : -[ - first recipe line - second recipe line - tall of these recipe lines are fed to a - single copy of a shell for execution. -] -.fi -.RE -.sp -.SH "BUILTIN COMMANDS" -.B dmake -supports some builtin commands. An optional leading '+' describes that -the builtin can be used also when being executed in a shell otherwise it -is only implemented when used directly. Remember that if a character of the -recipe is found in the SHELLMETAS macro the execution of the recipe in a -shell is forced. -.IP "[\fB+\fP]\fBnoop\fP [\fBsomething\fP]" -The \fBnoop\fP internal command always returns success if used but it is -not executed even though the rest of the commandline is evaluated. -This command can be used to evaluate macro expansions at the runtime of the -recipe without starting a real commmand. -.IP "[\fB+\fP] -If an empty recipe line is encountered it is not executed. This sounds -more trivial than it really is because the recipe could consist of -macros that evaluated to empty or whitespace only strings. -.IP "\fBecho\fP [\fB-n\fP] \fBdata\fP" -This internal command prints data (with all leading whitespace removed, but -otherwise literally) to stdout. If the '-n' switch is given no trailing -newline is printed. Note that no quoting is removed nor that escape sequences -are handled. -.PP -No special treatment of buildin commands for group recipes is implemented -even though the will most propably also not be evaluated by -most shells that can be used to handle the recipe groups. -.SH "TEXT DIVERSIONS" -.B dmake -supports the notion of text diversions. -If a recipe line contains the macro expression -.RS -.sp -$(mktmp[,[\fIfile\fP][,\fItext\fP]] \fIdata\fP) -.sp -.RE -then all text contained in the \fIdata\fP expression is expanded and -is written to a temporary file. The \fIdata\fP in the file will always -be terminated from a new line character. The \fIfile\fP parameter can -be used to override the name of the temporary file. If its expanded value -is not empty it will be used instead of the unique and thread safe file -name that otherwise would be generated internally. The return -value of the macro is the name of the temporary file unless the \fItext\fP -parameter is defined. In this case the return value is the expanded value -of \fItext\fP. -.PP -.I data -can be any text and must be separated from the 'mktmp' portion of the -macro name by white-space. The only restriction on the data text is that -it must contain a balanced number of parentheses of the same kind as are -used to initiate the $(mktmp ...) expression. For example: -.RS -.sp -$(mktmp $(XXX)) -.sp -.RE -is legal and works as expected, but: -.RS -.sp -$(mktmp text (to dump to file) -.sp -.RE -is not legal. You can achieve what you wish by either defining a macro that -expands to '(' or by using {} in the macro expression; like this: -.RS -.sp -${mktmp text (to dump to file} -.sp -.RE -Since the temporary file is opened when the -macro containing the text diversion expression is expanded, diversions may -be nested and any diversions that are created as part of ':=' macro -expansions persist for the duration of the -.B dmake -run. -If the \fIdata\fP text is to contain new lines the map escape codes macro -expasion can be used. For example the expression: -.RS -.sp -.nf -mytext:=this is a\entest of the text diversion -all: - cat $(mktmp $(mytext:m)) -.fi -.sp -.RE -is replaced by: -.RS -.sp -cat /tmp/mk12294AA -.sp -.RE -where the temporary file contains two lines both of which are terminated -by a new-line. -A second more illustrative example generates a response file to an MSDOS -link command: -.RS -.sp -.nf -OBJ = fred.obj mary.obj joe.obj -all : $(OBJ) - link @$(mktmp $(^:t"+\en")) -.fi -.sp -.RE -The result of making `all' in the second example is the command: -.RS -.sp -link @/tmp/mk02394AA -.sp -.RE -where the temporary file contains: -.RS -.sp -.nf -fred.obj+ -mary.obj+ -joe.obj -.fi -.sp -.RE -The last line of the file is terminated by a new-line which is always -inserted at the end of the \fIdata\fP string. -.PP -If the optional \fIfile\fP specifier is present it can be used to specify -the name of the temporary file to create. An example that would be useful -for MSDOS users with a Turbo-C compiler -.RS -.sp -$(mktmp,turboc.cfg $(CFLAGS)) -.sp -.RE -will place the contents of CFLAGS into a local \fIturboc.cfg\fP file. -The second optional argument, \fItext\fP, if present alters the name -of the value returned by the $(mktmp ...) macro. -.PP -Under MS-DOS text diversions may be a problem. Many DOS tools require -that path names which contain directories use the \e character to delimit -the directories. Some users however wish to use the '/' to delimit pathnames -and use environments that allow them to do so. -The macro USESHELL is set to "yes" if the -current recipe is forced to use a shell via the .USESHELL or '+' directives, -otherwise its value is "no". -The -.B dmake -startup files define the macro DIVFILE whose value is either the -value of TMPFILE or the value of TMPFILE edited to replace any '/' characters -to the appropriate value based on the current shell and whether it will be -used to execute the recipe. -.PP -Previous versions of -.B dmake -defined text diversions using <+, +> strings, -where <+ started a text diversion and +> terminated one. -.B dmake -is backward compatible with this construct only -if the <+ and +> appear literally -on the same recipe line or in the same macro value string. In such instances -the expression: -.sp -\t<+data+> -.sp -is mapped to: -.sp -\t$(mktmp data) -.sp -which is fully output compatible with the earlier construct. <+, +> -constructs whose text spans multiple lines must be converted by hand to use -$(mktmp ...). -.PP -If the environment variable TMPDIR is defined then the -temporary file is placed into the directory specified by that variable. -A makefile can modify the location of temporary files by -defining a macro named TMPDIR and exporting it using the .EXPORT special -target. -.SH "VIRTUAL TARGETS" -.B Dmake -allows to define targets with the sole purpose to enforce a dependency -chain that are unable to create the target, hence virtual targets. -When \fBdmake\fP tries to make a target, but only finds a target definition -without recipe lines, it would normally issues -a \fB"Don't know how to make ..."\fP error message, but if a target rule is -terminated by a semicolon and has no following recipe lines, -or if it has no recipe lines, but defines prerequisites, -or if the AUGMAKE mode is enabled (see the COMPATIBILITY section for details), -the target is treated as a virtual target and the error is suppressed. In -addition to this, if the default target does not have recipe lines it is also -treated as a virtual target. -.PP -Virtual targets should not have a corresponding file therefore -they inherit the time of their newest prerequisite if they have prerequisites, -otherwise they get the current time assigned when being made. -If the virtual target has a corresponding file a warning is issued, but the -time stamp of that file is taken into account. The virtual target uses the -time stamp of the corresponding file if it is newer than the one determined -by the previous rule. -.SH "SPECIAL TARGETS" -This section describes the special targets that are recognized by \fBdmake\fP. -Some are affected by attributes and others are not. -.IP \fB.ERROR\fP 1.4i -If defined then the recipe associated with this target is executed -whenever an error condition is detected by \fBdmake\fP. All attributes that -can be used with any other target may be used with this target. Any -prerequisites of this target will be brought up to date during its processing. -NOTE: errors will be ignored while making this target, in extreme cases this -may cause some problems. -.IP \fB.EXIT\fP 1.4i -If this target is encountered while parsing a makefile then the parsing of the -makefile is immediately terminated at that point. -.IP \fB.EXPORT\fP 1.4i -All prerequisites associated with this target are assumed to -correspond to macro names and they and their values -are exported to the environment as environment strings at the point in -the makefile at which this target appears. -Any attributes specified with this target are ignored. -Only macros which have been assigned a value in the makefile prior to the -export directive are exported, macros as yet undefined -or macros whose value contains any of the characters "+=:*" -are not exported. -.sp -Note that macros that are not expanded during the macro assignment and contain -other macros will be written into the environment containing these other -macros in the form of $(macroname). -.IP \fB.IMPORT\fP 1.4i -Prerequisite names specified for this target are searched for in the -environment and defined as macros with their value taken from the environment. -If the special name \fB.EVERYTHING\fP is used as a prerequisite name then -all environment variables defined in the environment are imported. -The functionality of the \fB\-E\fP flag can be forced by placing the construct -\&\fI.IMPORT : .EVERYTHING\fP at the start of a makefile. Similarly, by -placing the construct at the end, one can emulate the effect of the \fB\-e\fP -command line flag. -If a prerequisite name cannot be found in the environment -an error message is issued. -\&.IMPORT accepts the .IGNORE attribute. When given, it causes \fBdmake\fP -to ignore the above error. -See the MACROS section for a description of the processing of imported macro -values. -.IP \fB.INCLUDE\fP 1.4i -Parse another makefile just as if it had been located at the point of the -\&.INCLUDE in the current makefile. -The list of prerequisites gives the list of -makefiles to try to read. If the list contains multiple makefiles then they -are read in order from left to right. The following search rules are used -when trying to locate the file. If the filename is surrounded by " or just -by itself then it is searched for in the current directory. If it is not -found it is then searched for in each of the directories specified -as prerequisites of the \&.INCLUDEDIRS special target. -If the file name is surrounded by < and >, (ie. -) then it is searched for only in the directories -given by the .INCLUDEDIRS special target. In both cases if the file name is a -fully qualified name starting at the root of the file system then it is only -searched for once, and the .INCLUDEDIRS list is ignored. -If .INCLUDE fails to find the file it invokes the inference engine to -try to infer and hence make the file to be included. In this way the -file can be checked out of an RCS repository for example. -\&.INCLUDE accepts -the .IGNORE, .SETDIR, and .NOINFER attributes. -If the .IGNORE attribute is given and the file -cannot be found then \fBdmake\fP continues processing, -otherwise an error message is generated. -If the .NOINFER attribute is given and the file -cannot be found then \fBdmake\fP will not attempt to -\fIinfer and make\fP the file. -The .SETDIR attribute causes -.B dmake -to change directories to the specified directory prior to attempting the -include operation. If all fails \fBdmake\fP attempts to \fImake\fP the file -to be included. If making the file fails then \fBdmake\fP terminates unless -the .INCLUDE directive also specified the .IGNORE attribute. -If .FIRST is specified along with .INCLUDE then \fBdmake\fP attempts to -include each named prerequisite and will terminate the inclusion with the -first prerequisite that results in a successful inclusion. -.IP \fB.INCLUDEDIRS\fP 1.4i -The list of prerequisites specified for this target defines the set of -directories to search when trying to include a makefile. -.IP \fB.KEEP_STATE\fP 1.4i -This special target is a synonym for the macro definition -.sp -\&\t.KEEP_STATE := _state.mk -.sp -It's effect is to turn on STATE keeping and to define \fI_state.mk\fP -as the state file. -.IP \fB.MAKEFILES\fP 1.4i -The list of prerequisites is the set of files to try to read as the default -makefile. By default this target is defined as: -.sp -\t\&.MAKEFILES : makefile.mk Makefile makefile -.sp -.IP \fB.REMOVE\fP 1.4i -The recipe of this target is used whenever \fBdmake\fP needs to remove -intermediate targets that were made but do not need to be kept around. -Such targets result from the application of transitive closure on the -dependency graph. -.IP \fB.ROOT\fP 1.4i -The internal root of the dependency graph, see section STARTUP for details. -.IP \fB.SOURCE\fP 1.4i -The prerequisite list of this target defines a set of directories to check -when trying to locate a target file name. See the section on BINDING of -targets for more information. -.IP \fB.SOURCE.suff\fP 1.4i -The same as .SOURCE, except that the .SOURCE.suff list is searched first when -trying to locate a file matching the a target whose name ends in the suffix -\&.suff. -.IP \fB.SUFFIXES\fP 1.4i -This deprecated special target has no special meaning. Avoid its use. -.IP \fB.TARGETS\fP 1.4i -The internal targets that all user defined targets are prerequisites of, -see section STARTUP for details. -.PP -There are a few targets that are "slightly" special: -.RS -.nf - -\&\fB.INIT\fP -\&\fB.DONE\fP - -.fi -.RE -These targets exist because of historical reasons, see the usage of .INIT -and .DONE in section "STARTUP", they can be used and defined as ordinary -targets but are special in the sense that even though they start with a `.' -they are not treated as a . meta target (See the AUGMAKE META RULES -section for details). -.PP -.B Please note -that self defined targets shouldn't use the prefix `.' as they would be -handled as . meta targets and dmake most propably would complain -about this. -.PP -In addition to the special targets above, -several other forms of targets are recognized and are considered special, -their exact form and use is defined in the sections that follow. -.SH "SPECIAL MACROS" -.B dmake -defines a number of special macros. They are divided into three classes: -control macros, run-time macros, and function macros. -The control macros are used by -.B dmake -to configure its actions, and are the preferred method of doing so. -In the case when a control macro has the same function as a special -target or attribute they share the same name as the special target or -attribute. -The run-time macros are defined when -.B dmake -makes targets and may be used by the user inside recipes. -The function macros provide higher level functions dealing with macro -expansion and diversion file processing. -.SH "CONTROL MACROS" -To use the control macros simply assign them a value just like any other -macro. The control macros are divided into three groups: -string valued macros, character valued macros, and boolean valued macros. -.PP -The following are all of the string valued macros. -This list is divided into two groups. The first group gives the string -valued macros that are defined internally and cannot be directly set by the -user. -.IP \fBABSMAKECMD\fP 1.6i -\fBWarning!\fP This macro's value is differently defined for a native Windows -dmake executable (compiled with MS Visual C++ or MinGW) and dmake for other -operating systems or build with other compilers. -.sp -In the first case its value is the absolute filename of the executable of -the current dmake process, otherwise it is defined as the NULL string. -.IP \fBINCDEPTH\fP 1.6i -This macro's value is a string of digits representing -the current depth of makefile inclusion. -In the first makefile level this value is zero. -.IP \fBMFLAGS\fP 1.6i -Is the list of flags -that were given on the command line including a leading switch character. -The \-f flag is not included in this list. -.IP \fBMAKECMD\fP 1.6i -Is the name with which \fBdmake\fP was invoked. -.IP \fBMAKEDIR\fP 1.6i -Is the full path to the initial directory in which -.B dmake -was invoked. -.IP \fBMAKEFILE\fP 1.6i -Contains the string "\-f \fImakefile\fP" where, \fImakefile\fP is the name -of initial user makefile that was first read. -.IP \fBMAKEFLAGS\fP 1.6i -Is the same as $(MFLAGS) but has no leading switch -character. (ie. MFLAGS = \-$(MAKEFLAGS)) -.IP \fBMAKEMACROS\fP 1.6i -Contains the complete list of macro expressions that were specified on the -command line. -.IP \fBMAKETARGETS\fP 1.6i -Contains the name(s) of the target(s), if any, that were -specified on the command line. -.IP \fBMAKEVERSION\fP 1.6i -Contains a string indicating the current \fBdmake\fP version number. -.IP \fBMAXPROCESSLIMIT\fP 1.6i -Is a numeric string representing the maximum number of processes that -\fBdmake\fP can use when making targets using parallel mode. -.IP \fBNULL\fP 1.6i -Is permanently defined to be the NULL string. -This is useful when comparing a conditional expression to an NULL value. -.IP \fBPWD\fP 1.6i -Is the full path to the -current directory in which make is executing. -.IP \fBSPACECHAR\fP 1.6i -Is permanently defined to contain one space character. This is useful -when using space characters in function macros, e.g. subst, that -otherwise would get deleted (leading/trailing spaces) or for using -spaces in function macro parameters. -.IP \fBTMPFILE\fP 1.6i -Is set to the name of the most recent temporary file opened by \fBdmake\fP. -Temporary files are used for text diversions and for group recipe processing. -.IP \fBTMD\fP 1.6i -Stands for "To Make Dir", and -is the path from the present directory (value of $(PWD)) to the directory -that \fBdmake\fP was started up in (value of $(MAKEDIR)). If the present -directory is the directory that \fBdmake\fP was started up in TMD will be -set to the relative path ".". This allows to create valid paths by prepending -$(TMD)$(DIRSEPSTR) to a relative path. -This macro is modified when .SETDIR attributes are processed. -TMD will usually be a relative path with the following two exceptions. If the -relative path would go up until the root directory or if different drive -letters (DOS file system) make a relative path impossible the absolute path -from MAKEDIR is used. -.IP \fBUSESHELL\fP 1.6i -The value of this macro is set to "yes" if the current recipe is forced to -use a shell for its execution via the .USESHELL or '+' directives, its value -is "no" otherwise. -.sp -.PP -The second group of string valued macros control -.B dmake -behavior and may be set by the user. -.IP \fB.DIRCACHE\fP 1.6i -If set to "yes" enables the directory cache (this is the default). If set to -"no" disables the directory cache (equivalent to -d command-line flag). -.IP \fB.DIRCACHERESPCASE\fP 1.6i -If set to "yes" causes the directory cache, if enabled, to respect -file case, if set to "no" files are cached case insensitive. -By default it is set to "no" on Windows as the filesystems on -this operating system are case insensitive and set to "yes" for all -other operating systems. The default can be overriden, if desired. -.sp -\fBNote:\fP Using case insensitive directory caching on case sensitive -file systems is a \fBBAD\fP idea. If in doubt use case sensitive -directory caching even on case insensitive file systems as the -worst case in this scenario is that /foo/bar/ and /foo/BAR/ are -cached separately (with the same content) even though they are -the same directory. This would only happen if different targets -use different upper/lower case spellings for the same directory -and that is \fBnever\fP a good idea. -.IP \fBNAMEMAX\fP 1.6i -Defines the maximum length of a filename component. The value of the variable -is initialized at startup to the value of the compiled macro NAME_MAX. On -some systems the value of NAME_MAX is too short by default. Setting a new -value for NAMEMAX will override the compiled value. -.IP \fB.NOTABS\fP 1.6i -When set to "yes" enables the use of spaces as well as to begin -recipe lines. -By default a non\-group recipe is terminated by a line without any leading -white\-space or by a line not beggining with a character. -Enabling this mode modifies the first condition of -the above termination rule to terminate a -non\-group recipe with a line that contains only white\-space. -This mode does not effect the parsing of group recipes bracketed by []. -.IP \fBAUGMAKE\fP 1.6i -If set to "yes" value will enable the transformation of special -meta targets to support special AUGMAKE inferences (See the "AUGMAKE -META RULES" and "COMPATIBILITY" sections). -.IP \fBDIRBRKSTR\fP 1.6i -Contains the string of chars used to terminate -the name of a directory in a pathname. -Under UNIX its value is "/", under MSDOS its value is "/\e:". -.IP \fBDIRSEPSTR\fP 1.6i -Contains the string that is used to separate directory components when -path names are constructed. It is defined with a default value at startup. -.IP \fBDIVFILE\fP 1.6i -Is defined in the startup file and gives the name that should be returned for -the diversion file name when used in -$(mktmp ...) expansions, see the TEXT DIVERSION section for details. -.IP \fB.KEEP_STATE\fP 1.6i -Assigning this macro a value tells -.B dmake -the name of the state file to use and turns on the keeping of state -information for any targets that are brought up to date by the make. -.IP \fBGROUPFLAGS\fP 1.6i -This macro gives the set of flags to pass to the shell when -invoking it to execute a group recipe. The value of the macro is the -list of flags with a leading switch indicator. (ie. `\-' under UNIX) -.IP \fBGROUPSHELL\fP 1.6i -This macro defines the full -path to the executable image to be used as the shell when -processing group recipes. This macro must be defined if group recipes are -used. It is assigned a default value in the startup makefile. Under UNIX -this value is /bin/sh. -.IP \fBGROUPSUFFIX\fP 1.6i -If defined, this macro gives the string to use as a suffix -when creating group recipe files to be handed to the command interpreter. -For example, if it is defined as .sh, then all -temporary files created by \fBdmake\fP will end in the suffix .sh. -Under MSDOS if you are using command.com as your GROUPSHELL, then this suffix -must be set to .bat in order for group recipes to function correctly. -The setting of GROUPSUFFIX and GROUPSHELL is done automatically for -command.com in the startup.mk files. -.IP \fBMAKE\fP 1.6i -Is defined in the startup file by default. -Initially this macro is defined to have the value "$(MAKECMD) $(MFLAGS)". -The string $(MAKE) is recognized when using the \-n switch. -.IP \fBMAKESTARTUP\fP 1.6i -This macro defines the full path to the initial startup -makefile. Use the \fB\-V\fP command line option to discover its initial -value. -.IP \fBMAXLINELENGTH\fP 1.6i -This macro defines the maximum size of a single line of -makefile input text. The size is specified as a number, the default value -is defined internally and is shown via the \fB\-V\fP option. -A buffer of this size plus 2 is allocated for reading makefile text. The -buffer is freed before any targets are made, thereby allowing files containing -long input lines to be processed without consuming memory during the actual -make. -This macro can only be used to extend the line length beyond it's default -minimum value. -.IP \fBMAXPROCESS\fP 1.6i -Specify the maximum number of child processes to use when making targets. -The default value of this macro is "1" and its value cannot exceed the value -of the macro MAXPROCESSLIMIT. Setting the value of MAXPROCESS on the command -line or in the makefile is equivalent to supplying a corresponding value to -the -P flag on the command line. If the global .SEQUENTIAL attribute is set -(or the -S command line switch is used) the value of MAXPROCESS is fixed -to "1" and cannot be changed. -.IP \fBOOODMAKEMODE\fP 1.6i -This macro enables a special compatibility mode needed by the OpenOffice.org -build system. If set, the switch disables the removal of leading './' path -elements during target filename normalization (See BINDING TARGETS). If './' -appear in the pathname, but not at the beginning of it, they are still -removed by the normalization. Please note that targets that are given on the -command line are going to be registered as default targets \fBafter\fP the -startup file is read. -.IP \fBPREP\fP 1.6i -This macro defines the number of iterations to be expanded -automatically when processing % rule definitions of the form: -.sp -% : %.suff -.sp -See the sections on PERCENT(%) RULES for details on how PREP is used. -.IP \fBSHELL\fP 1.6i -This macro defines the full path to the executable -image to be used as the shell when -processing single line recipes. This macro must be defined if recipes -requiring the shell for execution are to be used. -It is assigned a default value in the startup makefile. -Under UNIX this value is /bin/sh. -.IP \fBSHELLCMDQUOTE\fP 1.6i -This macro can be used to add additional characters before and after the -command string that is passed to the shell defined by the SHELL macro. -If needed, like for \fIcmd.exe\fP and \fIcommand.com\fP, it is assigned -a value in the startup file. -.IP \fBSHELLFLAGS\fP 1.6i -This macro gives the set of flags to pass to the shell when -invoking it to execute a single line recipe. The value of the macro is the -list of flags with a leading switch indicator. (ie. `\-' under UNIX) -.IP \fBSHELLMETAS\fP 1.6i -Each time -.B dmake -executes a single recipe line (not a group recipe) the line is -searched for any occurrence of a character defined in the value of SHELLMETAS. -If such a character is found the recipe line is defined to require a shell -to ensure its correct execution. In such instances -a shell is used to invoke the recipe line. -If no match is found the recipe line is executed without the use of a shell. -.sp -.PP -There is only one character valued macro defined by \fBdmake\fP: -\fBSWITCHAR\fP contains the switch character used -to introduce options on command lines. For UNIX its value is `\-', and for -MSDOS its value may be `/' or `\-'. -The macro is internally defined and is not user setable. -The MSDOS version of \fBdmake\fP attempts to first extract SWITCHAR from an -environment variable of the same name. If that fails it then attempts to -use the undocumented getswitchar system call, and returns the result of -that. Under MSDOS version 4.0 you must set the value of the environment -macro SWITCHAR to '/' to obtain predictable behavior. -.PP -All boolean macros currently understood by -.B dmake -correspond directly to the previously defined attributes. -These macros provide -a second way to apply global attributes, and represent the -preferred method of doing so. They are used by assigning them a -value. If the value is not a NULL string then the boolean condition -is set to on. -If the value is a NULL string then the condition is set to off. -There are five conditions defined and they correspond directly to the -attributes of the same name. Their meanings are defined in the ATTRIBUTES -section above. -The macros are: -\&\fB.EPILOG\fP, -\&\fB.IGNORE\fP, -\&\fB.MKSARGS\fP, -\&\fB.NOINFER\fP, -\&\fB.PRECIOUS\fP, -\&\fB.PROLOG\fP, -\&\fB.SEQUENTIAL\fP, -\&\fB.SILENT\fP, -\&\fB.SWAP\fP, and -\&\fB.USESHELL\fP. -Assigning any of these a non NULL value will globally set -the corresponding attribute to on. -.SH "RUNTIME MACROS" -These macros are defined -when \fBdmake\fP is making targets, and may take on different values for each -target. \fB$@\fP is defined to be the full target name, \fB$?\fP is the -list of all out of date prerequisites, except for the \fB!\fP ruleop, in -which case it is set to the current build -prerequisite instead. \fB$&\fP is the list of all -prerequisites, \fB$>\fP is the name of the library if the current target is a -library member, and -\fB$<\fP is the list of prerequisites specified in the current rule. -If the current target had a recipe inferred then \fB$<\fP is the name of the -inferred prerequisite even if the target had a list of prerequisites supplied -using an explicit rule that did not provide a recipe. In such situations -\fB$&\fP gives the full list of prerequisites. -.PP -\fB$*\fP is defined as -\fB$(@:db)\fP when making targets with explicit recipes and is defined as the -value of % when making targets whose recipe is the result of an inference. -In the first case \fB$*\fP is the target name with no suffix, -and in the second case, is the value of the matched % pattern from -the associated %-rule. -\fB$^\fP expands to the set of out of date prerequisites taken from the -current value of \fB$<\fP. -In addition to these, -\fB$$\fP expands to $, \fB{{\fP expands to {, \fB}}\fP expands to }, and the -strings \fB<+\fP and \fB+>\fP are recognized -as respectively starting and terminating a text diversion when they appear -literally together in the same input line. -.PP -The difference between $? and $^ can best be illustrated by an example, -consider: -.RS -.sp -.nf -fred.out : joe amy hello -\trules for making fred - -fred.out : my.c your.h his.h her.h # more prerequisites -.fi -.sp -.RE -Assume joe, amy, and my.c are newer then fred.out. When -.B dmake -executes the recipe for making fred.out the values of the following macros -will be: -.RS -.sp -.nf -.Is "$@ " -.Ii "$@" ---> fred.out -.Ii "$*" ---> fred -.Ii "$?" ---> joe amy my.c # note output of $? vs $^ -.Ii "$^" ---> joe amy -.Ii "$<" ---> joe amy hello -.Ii "$&" ---> joe amy hello my.c your.h his.h her.h -.fi -.sp -.RE -.SH "FUNCTION MACROS" -.B dmake -supports a full set of functional macros. One of these, the $(mktmp ...) -macro, is discussed in detail in the TEXT DIVERSION section and is not -covered here. -The names of function macros must appear literally after the opening $( -or ${. They are \fBnot\fP recognized if they are the result of a recursive -expansion. -.PP -Note that some of these macros take comma separated parameters -but that these parameters must not contain literal whitespaces. Whitespaces -in macros used in these parameters are allowed. -.RS -.sp -.IP "$(\fBand\fP \fBmacroterm ...\fP)" -expands each \fBmacroterm\fP in turn until there are no more or one of -them returns an empty string. If all expand to non-empty strings the -macro returs the string "t" otherwise it returns an empty string. -.sp -.IP "$(\fBassign\fP \fBexpression\fP)" -Causes \fIexpression\fP to be parsed as a macro assignment expression and results -in the specified assignment being made. An error is issued if the assignment -is not syntatically correct. \fIexpression\fP may contain white space. This is -in effect a dynamic macro assignment facility and may appear anywhere any -other macro may appear. The result of the expanding a dynamic macro -assignment expression is the name of the macro that was assigned and $(NULL) -if the \fIexpression\fP is not a valid macro assignment expression. -Some examples are: -.RS -.sp -.nf -$(assign foo := fred) -$(assign $(ind_macro_name) +:= $(morejunk)) -.fi -.RE -.IP "$(\fBecho\fP \fBlist\fP)" -Echo's the value of \fIlist\fP. \fIlist\fP is not expanded. -.IP "$(\fBeq\fP,\fItext_a\fP,\fItext_b\fP \fBtrue\fP \fBfalse\fP)" -expands -.I text_a -and -.I text_b -and compares their results. If equal it returns the result of the expansion -of the -.B true -term, otherwise it returns the expansion of the -.B false -term. -.IP "$(\fB!eq\fP,\fItext_a\fP,\fItext_b\fP \fBtrue\fP \fBfalse\fP)" -Behaves identically to the previous macro except that the -.B true -string is chosen if the expansions of the two strings are not equal -.IP "$(\fBforeach\fP,\fIvar\fP,\fIlist\fP \fBdata\fP)" -Implements iterative macro expansion over \fIdata\fP using \fBvar\fP as the -iterator taking on values from \fIlist\fP. \fIvar\fP and \fIlist\fP are -expanded and the result is the concatenation of expanding \fIdata\fP with -\fIvar\fP being set to each whitespace separated token from \fIlist\fP. -For example: -.RS -.RS -.sp -.nf -list = a b c -all :; echo [$(foreach,i,$(list) [$i])] -.fi -.sp -.RE -will output -.RS -.sp -.nf -[[a] [b] [c]] -.fi -.sp -.RE -The iterator variable is defined as a local variable to this foreach -instance. The following expression illustrates this: -.RS -.sp -.nf -$(foreach,i,$(foreach,i,$(sort c a b) root/$i) [$i/f.h]) -.fi -.sp -.RE -when evaluated the result is: -.RS -.sp -.nf -[root/a/f.h] [root/b/f.h] [root/c/f.h] -.fi -.sp -.RE -The specification of list must be a valid macro expression, such as: -.RS -.sp -.nf -$($(assign list=a b c)) -$(sort d a b c) -$(echo a b c) -.fi -.sp -.RE -and cannot just be the list itself. That is, the following foreach -expression: -.RS -.sp -.nf -$(foreach,i,a b c [$i]) -.fi -.sp -.RE -yields: -.RS -.sp -.nf -"b c [a]" -.fi -.sp -.RE -when evaluated. -.RE -.IP "$(\fBnil\fP \fBexpression\fP)" -Always returns the value of $(NULL) regardless of what \fIexpression\fP is. -This function macro can be used to discard results of expanding -macro expressions. -.IP "$(\fBnormpath\fP \fBlist\fP)" -Will return the normalized path names of all white-space separated tokens -in \fBlist\fP. Quotes can be used to normalize path names that contain -white-space characters. On cygwin the result honors the setting of .WINPATH -to determine the output format of the returned path names. -.IP "$(\fBnormpath,para\fP \fBlist\fP)" -Same as above except that the expanded value of \fBpara\fP is used to -override the .WINPATH setting. -.IP "$(\fBnot\fP \fBmacroterm\fP)" -expands \fBmacroterm\fP and returs the string "t" if the result of the -expansion is the empty string; otherwise, it returns the empty string. -.IP "$(\fBnull\fP,\fItext\fP \fBtrue\fP \fBfalse\fP)" -expands the value of -.I text. -If it is NULL then the macro returns the value of the expansion of \fBtrue\fP -and the expansion of \fBfalse\fP otherwise. The terms \fBtrue\fP, and -\fBfalse\fP must be strings containing no white\-space. -.IP "$(\fB!null\fP,\fItext\fP \fBtrue\fP \fBfalse\fP)" -Behaves identically to the previous macro except that the -.B true -string is chosen if the expansion of -.I text -is not NULL. -.IP "$(\fBor\fP \fBmacroterm ...\fP)" -expands each \fBmacroterm\fP in turn and returs the empty string if -each term expands to the empty string; otherwise, it returs the string -"t". -.IP "$(\fBshell\fP \fBcommand\fP)" -is a shell escape macro. It runs \fIcommand\fP as if it were part of a -recipe and returns, separated by a single space, all the non-white -space terms written to stdout by the command. -For example: -.RS -.RS -.sp -$(shell ls *.c) -.sp -.RE -will return \fI"a.c b.c c.c d.c"\fP if the files exist in the current -directory. The recipe modification flags \fB[+@%\-]\fP are honored if they -appear as the first characters in the command. For example: -.RS -.sp -$(shell +ls *.c) -.sp -.RE -will run the command using the current shell. -.LP -\fBNote\fP that if the macro is part of a recipe it will be evaluated after -all previous recipe lines have been executed. For obvious reasons it will be -evaluated before the current recipe line or group recipe is executed. -.RE -.IP "$(\fBshell,expand\fP \fBcommand\fP)" -Is an extension to the \fB$(shell command)\fP function macro that expands the -result of running \fBcommand\fP. -.IP "$(\fBsort\fP \fBlist\fP)" -Will take all white\-space separated tokens in \fIlist\fP and will -return their sorted equivalent list. -.IP "$(\fBstrip\fP \fBdata\fP)" -Will replace all strings of white\-space in data by a single space. -.IP "$(\fBsubst\fP,\fIpat\fP,\fIreplacement\fP \fBdata\fP)" -Will search for \fIpat\fP in -.B data -and will replace any occurrence of -.I pat -with the -.I replacement -string. The expansion -.RS -.sp -$(subst,.o,.c $(OBJECTS)) -.sp -.RE -is equivalent to: -.RS -.sp -$(OBJECTS:s/.o/.c/) -.sp -.RE -.IP "$(\fBuniq\fP \fBlist\fP)" -Will take all white\-space separated tokens in \fIlist\fP and will -return their sorted equivalent list containing no duplicates. -.sp -.RE -For historic reasons \fBdmake\fP treats the following case slightly special: -.RS -.sp -$(\fBname\fP \fBsomething\fP) -.sp -.RE -If it encounters a macro with a whitespace after \fBname\fP and \fBname\fP -is not literally one of the above mentioned function macro identifiers then -\fBdmake\fP will return the recursively expanded value of \fB$(name)\fP. -The remaining \fBsomething\fP part will be expanded but the result will be -discarded. The use of this special feature is deprecated and should not be -used. -.sp -.SH "CONDITIONAL MACROS" -.B dmake -supports conditional macros. These allow the definition of target specific -macro values. You can now say the following: -.RS -.sp -\fBtarget\fP ?= \fIMacroName MacroOp Value\fP -.sp -.RE -This creates a definition for \fIMacroName\fP whose value is \fIValue\fP -only when \fBtarget\fP is being made. You may use a conditional macro -assignment anywhere that a regular macro assignment may appear, including -as the value of a $(assign ...) macro. -.LP -The new definition is associated with the most recent cell definition -for \fBtarget\fP. If no prior definition exists then one is created. The -implications of this are immediately evident in the following example: -.sp -.RS -.nf -foo := hello -.sp -all : cond;@echo "all done, foo=[$(foo)] bar=[$(bar)]" -.sp -cond ?= bar := global decl -.sp -cond .SETDIR=unix::;@echo $(foo) $(bar) -cond ?= foo := hi -.sp -cond .SETDIR=msdos::;@echo $(foo) $(bar) - cond ?= foo := hihi -.fi -.RE -.sp -The first conditional assignment creates a binding for 'bar' that is -activated when 'cond' is made. The bindings following the :: definitions are -activated when their respective recipe rules are used. Thus the -first binding serves to provide a global value for 'bar' while any of the -cond :: rules are processed, and the local bindings for 'foo' come into -effect when their associated :: rule is processed. -.LP -Conditionals for targets of .UPDATEALL are all activated before the -target group is made. Assignments are processed in order. Note that -the value of a conditional macro assignment is NOT AVAILABLE until the -associated target is made, thus the construct -.sp -.RS -.nf -mytarget ?= bar := hello -mytarget ?= foo := $(bar) -.fi -.RE -.sp -results in $(foo) expanding to "", if you want the result to be "hello" -you must use: -.sp -.RS -.nf -mytarget ?= bar := hello -mytarget ?= foo = $(bar) -.fi -.RE -.sp -Once a target is made any associated conditional macros are deactivated -and their values are no longer available. Activation occurrs after all -inference, and .SETDIR directives have been processed and after $@ is -assigned, but before prerequisites are processed; thereby making the values of -conditional macro definitions available during construction of prerequisites. -.LP -If a %-meta rule target has associated conditional macro assignments, -and the rule is chosen by the inference algorithm then the conditional -macro assignments are inferred together with the associated recipe. -.SH "DYNAMIC PREREQUISITES" -.B dmake -looks for prerequisites whose names contain macro expansions during target -processing. Any such prerequisites are expanded and the result of the -expansion is used as the prerequisite name. As an example the line: -.sp -\tfred : $$@.c -.sp -causes the $$@ to be expanded when \fBdmake\fP is making fred, and it resolves -to the target \fIfred\fP. -This enables dynamic prerequisites to be generated. The value -of @ may be modified by any of the valid macro modifiers. So you can say for -example: -.sp -\tfred.out : $$(@:b).c -.sp -where the $$(@:b) expands to \fIfred\fP. -Note the use of $$ instead of $ to indicate the dynamic expansion, this -is due to the fact that the rule line is expanded when it is initially parsed, -and $$ then returns $ which later triggers the dynamic prerequisite expansion. -Dynamic macro expansion is performed in all user defined rules, and the special -targets .SOURCE*, and .INCLUDEDIRS. -.PP -\fBNOTE:\fP The use of a \fB$\fP as part of a prerequisite or target name is -\fBstrongly discouraged\fP as the runtime macros (like $@) are expanded when -used in a recipe line so that the $ is interpreted as a macro identifier and -not as a character of the filename leading to invalid runtime macros. -In addition to this no filename normalization is done for prerequisites and -targets that contain $ characters. -Nevertheless it is possible to use $ in prerequisites by using $$$$ but this -is \fBnot recommended\fP and can lead to surprising results. -.PP -If dynamic macro expansion results in multiple white space separated tokens -then these are inserted into the prerequisite list inplace of the dynamic -prerequisite. Due to the recursive nature of macro expansion the prerequisite -list is fully expanded even if the dynamic prerequisite contained other -runtime macros. -.SH "BINDING TARGETS" -This operation takes a target name and binds it to an existing file, if -possible. -.B dmake -makes a distinction between the internal target name of a target and its -associated external file name. -Thus it is possible for a target's internal name and its external -file name to differ. -To perform the binding, the following set of rules is used. -Assume that we are -trying to bind a target whose name is of the form \fIX.suff\fP, -where \fI.suff\fP is the suffix and \fIX\fP is the stem portion -(ie. that part which contains the directory and the basename). -.B dmake -takes this target name and performs a series of search operations that try to -find a suitably named file in the external file system. -The search operation is user controlled -via the settings of the various .SOURCE targets. -.RS -.IP 1. -If target has the .SYMBOL attribute set then look for it in the library. -If found, replace the target name with the library member name and continue -with step 2. If the name is not found then return. -.IP 2. -Extract the suffix portion (that following the `.') of the target name. -If the suffix is not null, look up the special target .SOURCE. -( is the suffix). -If the special target exists then search each directory given in -the .SOURCE. prerequisite list for the target. -If the target's suffix was null (ie. \fI.suff\fP was empty) then -perform the above search but use the special target .SOURCE.NULL instead. -If at any point a match is found then terminate the search. -If a directory in the prerequisite list is the special name `.NULL ' perform -a search for the full target name without prepending any directory portion -(ie. prepend the NULL directory). -.IP 3. -The search in step 2. failed. Repeat the same search but this time -use the special target .SOURCE. -(a default target of '.SOURCE : .NULL' is defined by \fBdmake\fP at startup, -and is user redefinable) -.IP 4. -The search in step 3. failed. -If the target has the library member attribute (.LIBMEMBER) -set then try to find the target in the library which was passed along -with the .LIBMEMBER attribute (see the MAKING LIBRARIES section). -The bound file name assigned to a target which is successfully -located in a library is the same name that would be assigned had the search -failed (see 5.). -.IP 5. -The search failed. Either the target was not found in any of the search -directories or no applicable .SOURCE special targets exist. -If applicable .SOURCE special targets exist, but the target was not found, -then \fBdmake\fP assigns the first name searched as the bound file name. -If no applicable .SOURCE special targets exist, -then the full original target name becomes the bound file name. -.RE -.PP -There is potential here for a lot of search operations. The trick is to -define .SOURCE.x special targets with short search lists and leave .SOURCE -as short as possible. -The search algorithm has the following useful side effect. -When a target having the .LIBMEMBER (library member) attribute is searched for, -it is first searched for as an ordinary file. -When a number of library members require updating it is desirable to compile -all of them first and to update the library at the end in a single operation. -If one of the members does not compile and \fBdmake\fP stops, then -the user may fix the error and make again. \fBdmake\fP will not remake any -of the targets whose object files have already been generated as long as -none of their prerequisite files have been modified as a result of the fix. -.PP -When \fBdmake\fP constructs target (and prerequisite) pathnames they are -normalized to the shortest (or most natural, see below for the cygwin case) -representation. Substrings like './' or of the form 'baz/..' are removed -and multiple slashes are collapsed to one unless they are at the beginning -of the pathname. Leading slashes are normalized according to POSIX rules, -i.e. more than two leading slashes are reduced to one slash and a -leading '//' is kept as it might have a special meaning. -For example "./foo", "bar/../foo" and foo are recognized as the same file. -This may result in somewhat unexpected values of the macro expansion -of runtime macros like \fB$@\fP, but is infact the corect result. -.PP -\fBNOTE:\fP A cygwin \fBdmake\fP executable will accept DOS like pathnames -with drive letters and cygwin POSIX pathnames and normalize them into its -natural POSIX representation. This might result in even more surprising -values of runtime macros. -.PP -When defining .SOURCE and .SOURCE.x targets the construct -.RS -.sp -\&.SOURCE : -.br -\&.SOURCE : fred gery -.sp -.RE -is equivalent to -.RS -.sp -\&.SOURCE :\- fred gery -.RE -.PP -\fBdmake\fP correctly handles the UNIX Make variable VPATH. By definition VPATH -contains a list of ':' separated directories to search when looking for a -target. \fBdmake\fP maps VPATH to the following special rule: -.RS -.sp -\&.SOURCE :^ $(VPATH:s/:/ /) -.sp -.RE -Which takes the value of VPATH and sets .SOURCE to the same set of directories -as specified in VPATH. -.SH "PERCENT(%) RULES AND MAKING INFERENCES" -When \fBdmake\fP makes a target, the target's set of prerequisites (if any) -must exist and the target must have a recipe which \fBdmake\fP -can use to make it. -If the makefile does not specify an explicit recipe for the target then -.B dmake -uses special rules to try to infer a recipe which it can use -to make the target. Previous versions of Make perform this task by using -rules that are defined by targets of the form .. (this is still -supported, see "AUGMAKE META RULES") or by using the \fBnot supported\fP by -dmake .SUFFIXES list of suffixes (see "SPECIAL TARGETS" for more details -about .SUFFIXES). The exact workings of this mechanism -were sometimes difficult to understand and often limiting in their usefulness. -Instead, \fBdmake\fP supports the concept of \fI%-meta\fP rules. -The syntax and semantics of these rules differ from standard rule lines as -follows: -.sp -.nf -.RS -\fI<%-targets>\fP [\fI\fP] \fI\fP [\fI<%-prereqs>\fP] [;\fI\fP] -.RE -.fi -.sp -where \fI%-targets\fP are one or more targets containing exactly a single `%' -sign, -.I attributes -is a list (possibly empty) of attributes, -.I ruleop -is the standard set of rule operators, -.I "%-prereqs" -\&, if present, is a list of prerequisites containing zero or more `%' signs, -and -.I recipe, -if present, is the first line of the recipe. -.PP -If more than one %-target is present this line is equivalent to a repetition -of the whole [] [<%-prereqs>] [;] sequence -for each %-target, i.e. it is possible to specify the same rule for multiple -%-targets. Because of this following only speaks about \fI<%-target>\fP as -\fI%-targets\fP are divided into multiple definitions with a single %-target. -.PP -\fBNOTE:\fP As multiple %-targets didn't work reliably with dmake versions prior -to 4.5 unless the rule operator `|:' was used we currently issue a warning -stating that it \fBnow\fP works. -.PP -The -.I %-target -defines a pattern against which a target whose recipe is -being inferred gets matched. The pattern match goes as follows: all chars are -matched exactly from left to right up to but not including the % sign in the -pattern, % then matches the longest string from the actual target name -not ending in -the suffix given after the % sign in the pattern. -Consider the following examples: -.RS -.sp -.nf -.Is "dir/%.c " -.Ii "%.c" -matches fred.c but not joe.c.Z -.Ii "dir/%.c" -matches dir/fred.c but not dd/fred.c -.Ii "fred/%" -matches fred/joe.c but not f/joe.c -.Ii "%" -matches anything -.fi -.sp -.RE -In each case the part of the target name that matched the % sign is retained -and is substituted for any % signs in the prerequisite list of the %-meta rule -when the rule is selected during inference and -.B dmake -constructs the new dependency. -.PP -.B Please note, -that only the first, non-indirect, prerequisite of the list is used for the -inference mechanism. If more than one non-indirect prerequisite is given -a warning is issued and all but the first non-indirect prerequisites are -ignored. See below for a description of indirect prerequisites. -.PP -As an example the following %-meta rules describe the following: -.RS -.sp -%.c : %.y ; recipe... -.sp -.RE -describes how to make any file ending in .c if a corresponding file ending -in .y can be found. -.RS -.sp -foo%.o : fee%.k ; recipe... -.sp -.RE -is used to describe how to make fooxxxx.o from feexxxx.k. -.RS -.sp -%.a :; recipe... -.sp -.RE -describes how to make a file whose suffix is .a without inferring any -prerequisites. -.RS -.sp -%.c : %.y 'yaccsrc/%.y' ; recipe... -.sp -.RE -matches the corresponding .y file as prerequisite and additionally another .y -file in the yaccsrc subdirectory as indirect prerequisite. -Another interesting example is: -.RS -.sp -% : RCS/%,v ; co $< -.sp -.RE -which describes how to take any target and check it out of -the RCS directory if the corresponding file exists in the RCS directory. -The equivalent SCCS rule would be: -.RS -.sp -% : s.% ; get $< -.sp -.RE -.PP -The previous RCS example defines an infinite rule, because it says how to make -.I anything -from RCS/%,v, and -.I anything -also includes RCS/fred.c,v. -To limit the size of the graph that results from such rules -.B dmake -uses the macro variable PREP (stands for % repetition). By default the value -of this variable is 0, which says that no repetitions of a %-rule are to be -generated. If it is set to something greater than 0, then that many -repetitions of any infinite %-rule are allowed. If in the above -example PREP was set to 1, then \fBdmake\fP would generate the dependency -graph: -.RS -.sp -% --> RCS/%,v --> RCS/RCS/%,v,v -.sp -.RE -Where each link is assigned the same recipe as the first link. -PREP should be used only in special cases, since it may result in -a large increase in the number of possible prerequisites tested. -.B dmake -further assumes that any target that has no suffix can be made from -a prerequisite that has at least one suffix. -.PP -.B dmake -supports dynamic prerequisite generation for prerequisites of %-meta rules. -This is best illustrated by an example. The RCS rule shown above can infer -how to check out a file from a corresponding RCS file only if the target -is a simple file name with no directory information. That is, the above rule -can infer how to find \fIRCS/fred.c,v\fP from the target \fIfred.c\fP, -but cannot infer how to find \fIsrcdir/RCS/fred.c,v\fP from \fIsrcdir/fred.c\fP -because the above rule will cause \fBdmake\fP to look for RCS/srcdir/fred.c,v; -which does not exist (assume that srcdir has its own RCS directory as is the -common case). -.PP -A more versatile formulation of the above RCS check out rule is the following: -.RS -.sp -% : $$(@:d)RCS/$$(@:f),v : co $@ -.sp -.RE -This rule uses the dynamic macro $@ to specify the prerequisite to try to -infer. During inference of this rule the macro $@ is set to the value of -the target of the %-meta rule and the appropriate prerequisite is generated by -extracting the directory portion of the target name (if any), appending the -string \fIRCS/\fP to it, and appending the target file name with a trailing -\fI,v\fP attached to the previous result. -.PP -.B dmake -can also infer indirect prerequisites. -An inferred target can have a list of prerequisites added that will not -show up in the value of $< but will show up in the value of $? and $&. -Indirect prerequisites are specified in an inference rule by quoting the -prerequisite with single quotes. For example, if you had the explicit -dependency: -.RS -.sp -.nf -fred.o : fred.c ; rule to make fred.o -fred.o : local.h -.fi -.sp -.RE -then this can be inferred for fred.o from the following inference rule: -.RS -.sp -%.o : %.c 'local.h' ; makes a .o from a .c -.sp -.RE -You may infer indirect prerequisites that are a function of the value of '%' -in the current rule. The meta-rule: -.RS -.sp -%.o : %.c '$(INC)/%.h' ; rule to make a .o from a .c -.sp -.RE -infers an indirect prerequisite found in the INC directory whose name is the -same as the expansion of $(INC), and the prerequisite name depends on the -base name of the current target. -The set of indirect prerequisites is attached to the meta rule in which they -are specified and are inferred only if the rule is used to infer a recipe -for a target. They do not play an active role in driving the inference -algorithm. -The construct: -.RS -.sp -%.o :| %.c %.f 'local.h'; recipe -.sp -.RE -is equivalent to: -.RS -.sp -.nf -%.o : %.c 'local.h' ; recipe -%.o : %.f 'local.h' ; recipe -.fi -.sp -.RE -.PP -If any of the attributes .EPILOG, .IGNORE, .LIBRARY, .NOSTATE, .PHONY, .PRECIOUS, -\&.PROLOG, .SETDIR, .SILENT, .SWAP, .USESHELL and .WINPATH -are given for a %-rule then when that rule is bound to a target -as the result of an inference, the target's set of attributes is augmented by -the attributes from the above set that are specified in the bound %-rule. -Other attributes specified for %-meta rules are not inherited by the target. -The .SETDIR attribute is treated in a special way. -If the target already had a .SETDIR attribute set then -.B dmake -changes to that directory prior to performing the inference. -During inference any .SETDIR attributes for the inferred prerequisite -are honored. -The directories must exist for a %-meta rule to be selected as a possible -inference path. If the directories do not exist no error message is issued, -instead the corresponding path in the inference graph is rejected. -.PP -.B dmake -bases all of its inferences on the inference graph constructed from the -%-rules defined in the makefile. -It knows exactly which targets can be made from which prerequisites by -making queries on the inference graph. -.PP -For a %-meta rule to be inferred as the -rule whose recipe will be used to make a target, the target's name must match -the %-target pattern, and any inferred %-prerequisite must already exist or -have an explicit recipe so that the prerequisite can be made. -Without \fItransitive closure\fP on the inference graph the above rule -describes precisely when an inference match terminates the search. -If transitive closure is enabled (the usual case), and a prerequisite does -not exist or cannot be made, then -.B dmake -invokes the inference algorithm recursively on the prerequisite to see if -there is some way the prerequisite can be manufactured. For, if the -prerequisite can be made then the current target can also be made using the -current %-meta rule. -This means that there is no longer a need to give a rule -for making a .o from a .y if you have already given a rule for making a .o -from a .c and a .c from a .y. In such cases -.B dmake -can infer how to make the -\&.o from the .y via the intermediary .c and will remove the .c when the .o is -made. Transitive closure can be disabled by giving the \-T switch on the -command line. -.PP -A word of caution. -.B dmake -bases its transitive closure on the %-meta rule targets. -When it performs transitive closure it infers how to make a target from a -prerequisite by performing a pattern match as if the potential prerequisite -were a new target. -The set of rules: -.RS -.nf -.sp -%.o : %.c ; rule for making .o from .c -%.c : %.y ; rule for making .c from .y -% : RCS/%,v ; check out of RCS file -.fi -.sp -.RE -will, by performing transitive closure, allow \fBdmake\fP to infer how to make -a .o from a .y using a .c as an intermediate temporary file. Additionally -it will be able to infer how to make a .y from an RCS file, as long as that -RCS file is in the RCS directory and has a name which ends in .y,v. -The transitivity computation is performed dynamically for each target that -does not have a recipe. This has potential to be costly if the %-meta -rules are not carefully specified. The .NOINFER attribute is used to mark -a %-meta node as being a final target during inference. Any node with this -attribute set will not be used for subsequent inferences. As an example -the node RCS/%,v is marked as a final node since we know that if the RCS file -does not exist there likely is no other way to make it. Thus the standard -startup makefile contains an entry similar to: -.RS -.nf -\&.NOINFER : RCS/%,v -.fi -.RE -Thereby indicating that the RCS file is the end of the inference chain. -Whenever the inference algorithm determines that a target can be made from -more than one prerequisite and the inference chains for the two methods -are the same length the algorithm reports an ambiguity and prints the -ambiguous inference chains. -.PP -.B dmake -tries to -remove intermediate files resulting from transitive closure if the file -is not marked as being PRECIOUS, or the \fB\-u\fP flag was not given on the -command line, and if the inferred intermediate did not previously exist. -Intermediate targets that existed prior to being made are never removed. -This is in keeping with the philosophy that -.B dmake -should never remove things from the file system that it did not add. -If the special target .REMOVE is defined and has a recipe then -.B dmake -constructs a list of the intermediate files to be removed and makes them -prerequisites of .REMOVE. It then makes .REMOVE thereby removing the -prerequisites if the recipe of .REMOVE says to. Typically .REMOVE is defined -in the startup file as: -.RS -.sp -\&.REMOVE :; $(RM) $< -.RE -.SH "AUGMAKE META RULES" -As a subclass of the meta targets that is actually mapped to %-meta rules -.B dmake -understands several SYSV AUGMAKE targets transformations. This . -special target construct transforms into the following %-meta rules: -.RS -.sp -\&.suff :; recipe -.sp -.RE -gets mapped into: -.RS -.sp -% : %.suff; recipe -.sp -.RE -.PP -.B dmake -also supports the old format special target .. -by identifying any rules -of this form and mapping them to the appropriate %-rule. So for example if -an old makefile contains the construct: -.RS -.sp -\&.c.o :; cc \-c $< \-o $@ -.sp -.RE -.B dmake -maps this into the following %-rule: -.RS -.sp -%.o : %.c; cc \-c $< \-o $@ -.sp -.RE -The following SYSV AUGMAKE special targets transformation must be -enabled by providing the \-A flag -on the command line or by setting the value of AUGMAKE to non\-NULL. -The construct -.RS -.sp -\&.c~.o :; recipe -.sp -.RE -gets mapped into: -.RS -.sp -%.o : s.%.c ; recipe -.sp -.RE -In general, a special target of the form .~ is replaced by the %-rule -construct s.%., thereby providing support for the syntax used by SYSV -AUGMAKE for providing SCCS support. -When enabled, these mappings allow processing of existing SYSV -makefiles without modifications. -.RE -.SH "MAKING TARGETS" -In order to update a target \fBdmake\fP must execute a recipe. -When a recipe needs to be executed it is first expanded so that any macros -in the recipe text are expanded, and it is then either executed directly or -passed to a shell. -.B dmake -supports two types of recipes. The regular recipes and group recipes. -.PP -When a regular recipe is invoked \fBdmake\fP executes each line of the recipe -separately using a new copy of a shell if a shell is required. -Thus effects of commands do not generally persist across recipe lines -(e.g. cd requests in a recipe line do not carry over to the next recipe line). -This is true even in environments such as \fBMSDOS\fP, where dmake internally -sets the current working director to match the directory it was in before -the command was executed. -.PP -The decision on whether a shell is required to execute a command is based on -the value of the macro SHELLMETAS or on the specification of '+' or .USESHELL -for the current recipe or target respectively. -If any character in the value of -SHELLMETAS is found in the expanded recipe text-line or the use of a shell -is requested explicitly via '+' or .USESHELL then the command is -executed using a shell, otherwise the command is executed directly. -The shell that is used for execution is given by the value of the macro SHELL. -The flags that are passed to the shell are given by the value of SHELLFLAGS. -Thus \fBdmake\fP constructs the command line: -.sp -\t$(SHELL) $(SHELLFLAGS) $(expanded_recipe_command) -.sp -If the $(SHELLCMDQUOTE) macro is set its value is inserted before and after -the $(expanded_recipe_command) string. -.sp -Normally -.B dmake -writes the command line that it is about to invoke to standard output. -If the .SILENT attribute is set for the target or for -the recipe line (via @), then the recipe line is not echoed. -.PP -Group recipe processing is similar to that of regular recipes, except that -a shell is always invoked. The shell that is invoked is given by the value of -the macro GROUPSHELL, and its flags are taken from the value of the macro -GROUPFLAGS. If a target has the .PROLOG attribute set then -.B dmake -prepends to the shell script the recipe associated with the special target -\&.GROUPPROLOG, and if the attribute .EPILOG is set as well, then the recipe -associated with the special target .GROUPEPILOG is appended to the script -file. -This facility can be used to always prepend a common header and common trailer -to group recipes. -Group recipes are echoed to standard output just like standard recipes, but -are enclosed by lines beginning with [ and ]. -.PP -The recipe flags [+,\-,%,@] are recognized at the start of a recipe line -even if they appear in a macro. For example: -.RS -.sp -.nf -SH = + -all: -\t$(SH)echo hi -.fi -.sp -.RE -is completely equivalent to writing -.RS -.sp -.nf -SH = + -all: -\t+echo hi -.fi -.sp -.RE -.PP -The last step performed by -.B dmake -prior to running a recipe is to set the macro CMNDNAME to the name of the -command to execute (determined by finding the first white\-space ending token -in the command line). It then sets the macro CMNDARGS to be the remainder -of the line. -.B dmake -then expands the macro COMMAND which by default is set to -.RS -.sp -COMMAND = $(CMNDNAME) $(CMNDARGS) -.sp -.RE -The result of this final expansion is the command that will be executed. -The reason for this expansion is to allow for a different interface to -the argument passing facilities (esp. under DOS) than that provided by -.B dmake\fR.\fP -You can for example define COMMAND to be -.RS -.sp -COMMAND = $(CMNDNAME) @$(mktmp $(CMNDARGS)) -.sp -.RE -which dumps the arguments into a temporary file and runs the command -.RS -.sp -$(CMNDNAME) @/tmp/ASAD23043 -.sp -.RE -which has a much shorter argument list. It is now up to the command to -use the supplied argument as the source for all other arguments. -As an optimization, if COMMAND is not defined -.B dmake -does not perform the above expansion. On systems, such as UNIX, that -handle long command lines this provides a slight saving in processing the -makefiles. -.SH "MAKING LIBRARIES" -Libraries are easy to maintain using \fBdmake\fP. A library is a file -containing a collection of object files. -Thus to make a library you simply specify it as a target with the .LIBRARY -attribute set and specify its list of prerequisites. The prerequisites should -be the object members that are to go into the library. When -.B dmake -makes the library target it uses the .LIBRARY attribute to pass to the -prerequisites the .LIBMEMBER attribute and the name of the library. This -enables the file binding mechanism to look for the member in the library if an -appropriate object file cannot be found. -.B dmake -now supports \fBElf\fP libraries on systems that support \fBElf\fP and -hence supports, on those systems, long member file names. -A small example best illustrates this. -.RS -.nf -.sp -mylib.a .LIBRARY : mem1.o mem2.o mem3.o -\trules for making library... -\t# remember to remove .o's when lib is made -.sp -# equivalent to: '%.o : %.c ; ...' -\&.c.o :; rules for making .o from .c say -.sp -.fi -.RE -.B dmake -will use the .c.o rule for making the library members if appropriate .c files -can be found using the search rules. NOTE: this is not specific in any way -to C programs, they are simply used as an example. -.PP -.B dmake -tries to handle the old library construct format in a sensible way. -The construct -.I lib(member.o) -is separated and the \fIlib\fP portion is declared -as a library target. -The new target is defined -with the .LIBRARY attribute set and the \fImember.o\fP portion of the -construct is -declared as a prerequisite of the lib target. -If the construct \fIlib(member.o)\fP -appears as a prerequisite of a target in the -makefile, that target has the new name of the lib assigned as its -prerequisite. Thus the following example: -.RS -.sp -.nf -a.out : ml.a(a.o) ml.a(b.o); $(CC) \-o $@ $< - -\&.c.o :; $(CC) \-c $(CFLAGS) \-o $@ $< -%.a: -.RS -ar rv $@ $? -ranlib $@ -rm \-rf $? -.RE -.sp -.fi -.RE -constructs the following dependency -graph. -.RS -.sp -.nf -a.out : ml.a; $(CC) \-o $@ $< -ml.a .LIBRARY : a.o b.o - -%.o : %.c ; $(CC) -c $(CFLAGS) \-o $@ $< -%.a : -.RS -ar rv $@ $? -ranlib $@ -rm -rf $? -.RE -.sp -.fi -.RE -and making a.out then works as expected. -.PP -The same thing happens for any target of the form \fIlib((entry))\fP. -These targets have an -additional feature in that the \fIentry\fP target has the .SYMBOL attribute -set automatically. -.PP -NOTE: If the notion of entry points is supported by the archive and by -\fBdmake\fP (currently not the case) then -.B dmake -will search the archive for the entry point and return not only the -modification time of the member which defines the entry but also the name of -the member file. This name will then replace \fIentry\fP and will be used for -making the member file. Once bound to an archive member the .SYMBOL -attribute is removed from the target. -This feature is presently disabled as there is little standardization -among archive formats, and we have yet to find a makefile utilizing this -feature (possibly due to the fact that it is unimplemented in most versions -of UNIX Make). -.PP -Finally, when -.B dmake -looks for a library member it must first locate the library file. -It does so by first looking for the library relative to the current directory -and if it is not found it then looks relative to the current value of -$(TMD). This allows commonly used libraries to be kept near the root of -a source tree and to be easily found by -.B dmake\fR.\fP -.SH "KEEP STATE" -.B dmake -supports the keeping of state information for targets that it makes whenever -the macro .KEEP_STATE is assigned a value. The value of the macro should be -the name of a state file that will contain the state information. If state -keeping is enabled then each target that does not poses the .NOSTATE -attribute will have a record written into the state file indicating the -target's name, the current directory, the command used to update the target, -and which, if any, :: rule is being used. When you make this target again -if any of this information does not match the previous settings and the -target is not out dated it will still be re\-made. The assumption is that one -of the conditions above has changed and that we wish to remake the target. -For example, -state keeping is used in the maintenance of -.B dmake -to test compile different versions of the source using different compilers. -Changing the compiler causes the compilation flags to be modified and hence -all sources to be recompiled. -.PP -The state file is an ascii file and is portable, however it is -not in human readable form as the entries represent hash keys of the above -information. -.PP -The Sun Microsystem's Make construct -.RS -.sp -\&.KEEP_STATE : -.sp -.RE -is recognized and is mapped to \fB.KEEP_STATE:=_state.mk\fP. -The -.B dmake -version of state keeping does not include scanning C source files for -dependencies like Sun Make. This is specific to C programs and it was -felt that it does not belong in make. -.B dmake -instead provides the tool, \fBcdepend\fP, to scan C source files and to produce -depedency information. Users are free to modify cdepend to produce other -dependency files. (NOTE: -.B cdepend -does not come with the distribution at this time, but will be available in -a patch in the near future) -.SH "MULTI PROCESSING" -If the architecture supports it then \fBdmake\fP is capable of making a target's -prerequisites in parallel. \fBdmake\fP will make as much in parallel as it -can and use a number of child processes up to the maximum specified by -MAXPROCESS or by the value supplied to the \-P command line flag. -A parallel make is enabled by setting the value of MAXPROCESS (either directly -or via \-P option) to a value which is > 1. -\fBdmake\fP guarantees that all dependencies as specified in the makefile are -honored. A target will not be made until all of its prerequisites have been -made. Note that when you specify \fB-P 4\fP then four child processes are -run concurrently but \fBdmake\fP actually displays the fifth command it will -run immediately upon a child process becomming free. This is an artifact of -the method used to traverse the dependency graph and cannot be removed. -If a parallel make is being performed then the following restrictions on -parallelism are enforced. -.RS -.IP 1. -Individual recipe lines in a non-group recipe are performed sequentially in -the order in which they are specified within the makefile and in parallel with -the recipes of other targets. -.IP 2. -If a target contains multiple recipe definitions (cf. :: rules) then these are -performed sequentially in the order in which the :: rules are specified within -the makefile and in parallel with the recipes of other targets. -.IP 3. -If a target rule contains the `!' modifier, then the recipe is performed -sequentially for the list of outdated prerequisites and in parallel with the recipes of other targets. -.IP 4. -If a target has the .SEQUENTIAL attribute set then all of its prerequisites -are made sequentially relative to one another (as if MAXPROCESS=1), but in -parallel with other targets in the makefile. -.RE -.PP -Note: If you specify a parallel make then -the order of target update and the order in which the associated recipes are -invoked will not correspond to that displayed by the \-n flag. -.SH "CONDITIONALS" -.B dmake -supports a makefile construct called a \fIconditional\fR. It allows -the user -to conditionally select portions of makefile text for input processing -and to discard other portions. This becomes useful for -writing makefiles that are intended to function for more than one target -host and environment. The conditional expression is specified as follows: -.sp -.RS -.nf -\&.IF \fIexpression\fR - ... if text ... -\&.ELIF \fIexpression\fR - ... if text ... -\&.ELSE - ... else text ... -\&.END -.RE -.fi -.sp -The .ELSE and .ELIF portions are optional, and the conditionals may be -nested (ie. the text may contain another conditional). -\&.IF, .ELSE, and .END -may appear anywhere in the makefile, but a single conditional expression -may not span multiple makefiles. -.PP -\fIexpression\fR can be one of the following forms: -.sp -String evaluation -.br -\t | == | != -.sp -Numeric evaluation -.br -\t <= | >= -.sp -Boolean evaluation -.br -\t( ) | || | && -.sp -where \fItext\fR is either text or a macro expression. In any case, -before the comparison is made, the expression is expanded. The text -portions are then selected and compared. In the case of the numeric -comparisons enclosing quotes are removed after expanding the expressions -and the leading numerical parts are converted to an integer number. If no -numerical part is found this results to 0 (zero). The -string "12ab" for example evaluates to the number 12. -Expressions can be nested with () and the use of || or &&. -White space at the start and -end of the text portion is discarded before the comparison. This means -that a macro that evaluates to nothing but white space is considered a -NULL value for the purpose of the comparison. -In the first case the expression evaluates TRUE if the text is not NULL -otherwise it evaluates FALSE. The remaining two cases both evaluate the -expression on the basis of a string comparison. -If a macro expression needs to be equated to a NULL string then compare it to -the value of the macro $(NULL). -You can use the $(shell ...) macro to construct more complex test expressions. -.SH "EXAMPLES" -.RS -.nf -.sp -# A simple example showing how to use make -# -prgm : a.o b.o - cc a.o b.o \-o prgm -a.o : a.c g.h - cc a.c \-o $@ -b.o : b.c g.h - cc b.c \-o $@ -.fi -.RE -.sp -In the previous -example prgm is remade only if a.o and/or b.o is out of date with -respect to prgm. -These dependencies can be stated more concisely -by using the inference rules defined in the standard startup file. -The default rule for making .o's from .c's looks something like this: -.sp -\&\t%.o : %.c; cc \-c $(CFLAGS) \-o $@ $< -.sp -Since there exists a rule (defined in the startup file) -for making .o's from .c's -\fBdmake\fR will use that rule -for manufacturing a .o from a .c and we can specify our dependencies -more concisely. -.sp -.RS -.nf -prgm : a.o b.o - cc \-o prgm $< -a.o b.o : g.h -.fi -.RE -.sp -A more general way to say the above using the new macro expansions -would be: -.sp -.RS -.nf -SRC = a b -OBJ = {$(SRC)}.o -.sp -prgm : $(OBJ) - cc \-o $@ $< -.sp -$(OBJ) : g.h -.fi -.RE -.sp -If we want to keep the objects in a separate directory, called -objdir, then we would write -something like this. -.sp -.RS -.nf -SRC = a b -OBJ = {$(SRC)}.o -.sp -prgm : $(OBJ) - cc $< \-o $@ -.sp -$(OBJ) : g.h -\&%.o : %.c - $(CC) \-c $(CFLAGS) \-o $(@:f) $< - mv $(@:f) objdir - -\&.SOURCE.o : objdir # tell dmake to look here for .o's -.fi -.RE -.sp -An example of building library members would go something like this: -(NOTE: The same rules as above will be used to produce .o's from .c's) -.sp -.RS -.nf -SRC\t= a b -LIB\t= lib -LIBm\t= { $(SRC) }.o -.sp -prgm: $(LIB) - cc \-o $@ $(LIB) -.sp -$(LIB) .LIBRARY : $(LIBm) - ar rv $@ $< - rm $< -.fi -.RE -.sp -Finally, suppose that each of the source files in the previous example had -the `:' character in their target name. Then we would write the above example -as: -.sp -.RS -.nf -SRC\t= f:a f:b -LIB\t= lib -LIBm\t= "{ $(SRC) }.o" # put quotes around each token -.sp -prgm: $(LIB) - cc \-o $@ $(LIB) -.sp -$(LIB) .LIBRARY : $(LIBm) - ar rv $@ $< - rm $< -.fi -.RE -.SH "COMPATIBILITY" -There are two notable differences between -.B \fBdmake\fR -and the standard version of BSD UNIX 4.2/4.3 Make. -.RS -.IP 1. .3i -BSD UNIX 4.2/4.3 Make supports wild card filename expansion for -prerequisite names. Thus if a directory contains a.h, b.h and c.h, then a -line like -.sp -\ttarget: *.h -.sp -will cause UNIX make to expand the *.h into "a.h b.h c.h". \fBdmake\fR -does not support this type of filename expansion. -.IP 2. .3i -Unlike UNIX make, touching a library member causes \fBdmake\fR -to search the library for the member name and to update the library time stamp. -This is only implemented in the UNIX version. -MSDOS and other versions may not have librarians that keep file time stamps, -as a result \fBdmake\fR touches the library file itself, and prints a warning. -.RE -.PP -\fBdmake\fP is not compatible with GNU Make. In particular it does not -understand GNU Make's macro expansions that query the file system. -.PP -.B dmake -is fully compatible with SYSV AUGMAKE, and supports the following AUGMAKE -features: -.RS -.IP 1. .3i -GNU Make style \fBinclude\fP, and \fBif/else/endif\fP directives are allowed -in non-group recipes. -Thus, the word \fBinclude\fP appearing at -the start of a line that is not part of a gruop recipe will be mapped -to the ".INCLUDE" directive that \fBdamke\fP uses. -Similarly, the words \fBifeq\fP,\fBifneq\fP,\fBelif\fP,\fBelse\fP, -and \fBendif\fP are mapped to their corresponding \fBdmake\fP equivalents. -.IP 2. .3i -The macro modifier expression $(macro:str=sub) is understood and is equivalent -to the expression $(macro:s/str/sub), with the restriction that str must match -the following regular expression: -.sp -\tstr[ |\et][ |\et]* -.sp -(ie. str only matches at the end of a token where str is a suffix and is -terminated by a space, a tab, or end of line) -Normally \fIsub\fP is expanded before the substitution is made, if you specify -\-A on the command line then sub is not expanded. -.IP 3. -The macro % is defined to be $@ (ie. $% expands to the same value as $@). -.IP 4. -The AUGMAKE notion of libraries is handled correctly. -.IP 5. -Directories are always made if you specify \fB\-A\fP. This is consistent -with other UNIX versions of Make. -.IP 6. -Makefiles that utilize virtual targets to force making of other targets work -as expected if AUGMAKE special target handling is enabled. For example: -.sp -.nf -\tFRC: -\tmyprog.o : myprog.c $(FRC) ; ... -.fi -.sp -Works as expected if you issue the command -.sp -\t'\fBdmake\fP \-A FRC=FRC' -.sp -but fails with a 'don't know how to make FRC' -error message if you do not specify AUGMAKE special target handling via -the \-A flag (or by setting AUGMAKE:=yes internally). -.RE -.SH "LIMITS" -In some environments the length of an argument string is restricted. -(e.g. MSDOS command line arguments cannot be longer than 128 bytes if you are -using the standard command.com command interpreter as your shell, -.B dmake -text diversions may help in these situations.) -.SH "PORTABILITY" -To write makefiles that can be moved from one environment to another requires -some forethought. In particular you must define as macros all those things -that may be different in the new environment. -.B dmake -has two facilities that help to support writing portable makefiles, recursive -macros and conditional expressions. The recursive macros, allow one to define -environment configurations that allow different environments for similar types -of operating systems. For example the same make script can be used for SYSV and -BSD but with different macro definitions. -.PP -To write a makefile that is portable between UNIX and MSDOS requires both -features since in almost all cases you will need to define new recipes for -making targets. The recipes will probably be quite different since the -capabilities of the tools on each machine are different. Different -macros will be needed to help handle the smaller differences in the two -environments. -.SH FILES -Makefile, makefile, startup.mk (use dmake \-V to tell you where the startup -file is) -.SH "SEE ALSO" -sh(1), csh(1), touch(1), f77(1), pc(1), cc(1) -.br -S.I. Feldman \fIMake - A Program for Maintaining Computer Programs\fP -.SH "AUTHOR" -Dennis Vadura, dvadura@wticorp.com -.br -Many thanks to Carl Seger for his helpful suggestions, -and to Trevor John Thompson for his many excellent ideas and -informative bug reports. Many thanks also go to those on the -NET that have helped in making \fBdmake\fP one of the best Make tools -available. -.SH BUGS -Some system commands return non-zero status inappropriately. -Use -.B \-i -(`\-' within the makefile) to overcome the difficulty. -.PP -Some systems do not have easily accessible -time stamps for library members (MSDOS, AMIGA, etc) -for these \fBdmake\fR uses the time stamp of the library instead and prints -a warning the first time it does so. This is almost always ok, except when -multiple makefiles update a single library file. In these instances it is -possible to miss an update if one is not careful. -.PP -This man page is way too long. -.SH WARNINGS -Rules supported by make(1) may not work if transitive closure is turned off -(-T, .NOINFER). -.PP -PWD from csh/ksh will cause problems if a cd operation is performed and --e or -E option is used. -.PP -Using internal macros such as COMMAND, may wreak havoc if you don't understand -their functionality. diff --git a/dmake/man/readme b/dmake/man/readme deleted file mode 100644 index 68c364e30056..000000000000 --- a/dmake/man/readme +++ /dev/null @@ -1,12 +0,0 @@ -This directory contains the DMAKE manual page. - -The files found here are: - - dmake.tf - troff source for the manual page, you must use GNU groff - to typeset it or copy it as dmake.1 into a directory in - your search path for man pages to view it with the man - command. - - dmake.nc - a typeset version of the manual page containing no control - characters. Generated with: - "groff -mman -rcR=0 -Tlatin1 -P -bcu dmake.tf > dmake.nc" diff --git a/dmake/missing b/dmake/missing deleted file mode 100755 index 894e786e16c1..000000000000 --- a/dmake/missing +++ /dev/null @@ -1,360 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2005-06-08.21 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case "$1" in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dmake/mkinstalldirs b/dmake/mkinstalldirs deleted file mode 100755 index 259dbfcd3578..000000000000 --- a/dmake/mkinstalldirs +++ /dev/null @@ -1,158 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2005-06-29.22 - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dmake/msdos/arlib.c b/dmake/msdos/arlib.c deleted file mode 100644 index ecd556b7d621..000000000000 --- a/dmake/msdos/arlib.c +++ /dev/null @@ -1,56 +0,0 @@ -/* RCS $Id: arlib.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Library access code. --- --- DESCRIPTION --- This implementation uses the library timestamp inplace of the --- library member timestamp. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC time_t -seek_arch(name, lib) -char* name; -char* lib; -{ - static int warned = FALSE; - - if (!warned && !(Glob_attr&A_SILENT)) - warned = TRUE, - Warning("Can't extract library member timestamp;\n\ - using library timestamp instead."); - return (Do_stat(lib, NULL, NULL, TRUE)); -} - -PUBLIC int -touch_arch(name, lib) -char* name; -char* lib; -{ - static int warned = FALSE; - - if (!warned && !(Glob_attr&A_SILENT)) - warned = TRUE, - Warning("Can't update library member timestamp;\n\ - touching library instead."); - return (Do_touch(lib, NULL, NULL)); -} - diff --git a/dmake/msdos/borland/bcc30/config.h b/dmake/msdos/borland/bcc30/config.h deleted file mode 100644 index 3db5098145fa..000000000000 --- a/dmake/msdos/borland/bcc30/config.h +++ /dev/null @@ -1,48 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:36:08 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGTERM /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/borland/bcc30/config.mk b/dmake/msdos/borland/bcc30/config.mk deleted file mode 100644 index 0b1d122a868c..000000000000 --- a/dmake/msdos/borland/bcc30/config.mk +++ /dev/null @@ -1,8 +0,0 @@ - -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -LDLIBS = e:/cc/borland/bcc30/lib/c$(MODEL) -CSTARTUP = e:/cc/borland/bcc30/lib/c0$(MODEL).obj - -CFLAGS += -I$(osedir) -w-pia diff --git a/dmake/msdos/borland/bcc30/lib.rsp b/dmake/msdos/borland/bcc30/lib.rsp deleted file mode 100644 index 41e591347bae..000000000000 --- a/dmake/msdos/borland/bcc30/lib.rsp +++ /dev/null @@ -1 +0,0 @@ -d:\cc\borland\bcc30\lib\cl diff --git a/dmake/msdos/borland/bcc30/libswp.rsp b/dmake/msdos/borland/bcc30/libswp.rsp deleted file mode 100644 index 64f053bf1fb1..000000000000 --- a/dmake/msdos/borland/bcc30/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ -e:\cc\borland\bcc30\lib\cl diff --git a/dmake/msdos/borland/bcc30/mkswp.bat b/dmake/msdos/borland/bcc30/mkswp.bat deleted file mode 100755 index 9266d8dfc0cd..000000000000 --- a/dmake/msdos/borland/bcc30/mkswp.bat +++ /dev/null @@ -1,107 +0,0 @@ -md objects -tasm -t -mx -dmlarge msdos\exec.asm,,,; -mv exec.obj objects -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia infer.c -copy infer.obj objects -del infer.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia make.c -copy make.obj objects -del make.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia stat.c -copy stat.obj objects -del stat.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia expand.c -copy expand.obj objects -del expand.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia hash.c -copy hash.obj objects -del hash.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia dag.c -copy dag.obj objects -del dag.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia dmake.c -copy dmake.obj objects -del dmake.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia path.c -copy path.obj objects -del path.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia imacs.c -copy imacs.obj objects -del imacs.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia parse.c -copy parse.obj objects -del parse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia getinp.c -copy getinp.obj objects -del getinp.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia quit.c -copy quit.obj objects -del quit.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia state.c -copy state.obj objects -del state.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia macparse.c -copy macparse.obj objects -del macparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia percent.c -copy percent.obj objects -del percent.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia function.c -copy function.obj objects -del function.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\runargv.c -copy runargv.obj objects -del runargv.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\switchar.c -copy switchar.obj objects -del switchar.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\spawn.c -copy spawn.obj objects -del spawn.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\find.c -copy find.obj objects -del find.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc30 -w-pia msdos\borland\utime.c -copy utime.obj objects -del utime.obj -tlink @msdos\borland\bcc30\objswp.rsp,dmake.exe,NUL.MAP,@msdos\borland\bcc30\libswp.rsp -copy msdos\borland\bcc30\template.mk startup\config.mk diff --git a/dmake/msdos/borland/bcc30/obj.rsp b/dmake/msdos/borland/bcc30/obj.rsp deleted file mode 100644 index 3f396242ce36..000000000000 --- a/dmake/msdos/borland/bcc30/obj.rsp +++ /dev/null @@ -1,34 +0,0 @@ -d:\cc\borland\bcc30\lib\c0l.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\tee.obj+ -objects\dirlib.obj+ -objects\find.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc30/objswp.rsp b/dmake/msdos/borland/bcc30/objswp.rsp deleted file mode 100644 index aa0bf5e5831a..000000000000 --- a/dmake/msdos/borland/bcc30/objswp.rsp +++ /dev/null @@ -1,36 +0,0 @@ -e:\cc\borland\bcc30\lib\c0l.obj+ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc30/public.h b/dmake/msdos/borland/bcc30/public.h deleted file mode 100644 index dde6da773177..000000000000 --- a/dmake/msdos/borland/bcc30/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:43:40 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/borland/bcc30/template.mk b/dmake/msdos/borland/bcc30/template.mk deleted file mode 100644 index df574e09c7aa..000000000000 --- a/dmake/msdos/borland/bcc30/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc30 diff --git a/dmake/msdos/borland/bcc40/config.h b/dmake/msdos/borland/bcc40/config.h deleted file mode 100644 index 3a9b58383498..000000000000 --- a/dmake/msdos/borland/bcc40/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:36:30 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGTERM /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Borland redefined the environment variable, sigh */ -#define environ _environ - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/borland/bcc40/config.mk b/dmake/msdos/borland/bcc40/config.mk deleted file mode 100644 index 550b86950705..000000000000 --- a/dmake/msdos/borland/bcc40/config.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -LDLIBS = e:/cc/borland/bcc40/lib/c$(MODEL) -CSTARTUP = e:/cc/borland/bcc40/lib/c0$(MODEL).obj - -CFLAGS += -I$(osedir) -w-pro diff --git a/dmake/msdos/borland/bcc40/lib.rsp b/dmake/msdos/borland/bcc40/lib.rsp deleted file mode 100644 index 828ccf4ab0b8..000000000000 --- a/dmake/msdos/borland/bcc40/lib.rsp +++ /dev/null @@ -1,2 +0,0 @@ -e:\cc\borland\bcc40\lib\cw32+ -e:\cc\borland\bcc40\lib\import32 diff --git a/dmake/msdos/borland/bcc40/libswp.rsp b/dmake/msdos/borland/bcc40/libswp.rsp deleted file mode 100644 index 1557935cd40c..000000000000 --- a/dmake/msdos/borland/bcc40/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ -e:\cc\borland\bcc40\lib\cl diff --git a/dmake/msdos/borland/bcc40/mkswp.bat b/dmake/msdos/borland/bcc40/mkswp.bat deleted file mode 100755 index d8a1bf824de4..000000000000 --- a/dmake/msdos/borland/bcc40/mkswp.bat +++ /dev/null @@ -1,107 +0,0 @@ -md objects -tasm -t -mx -dmlarge msdos\exec.asm,,,; -mv exec.obj objects -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro infer.c -copy infer.obj objects -del infer.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro make.c -copy make.obj objects -del make.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro stat.c -copy stat.obj objects -del stat.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro expand.c -copy expand.obj objects -del expand.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro hash.c -copy hash.obj objects -del hash.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro dag.c -copy dag.obj objects -del dag.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro dmake.c -copy dmake.obj objects -del dmake.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro path.c -copy path.obj objects -del path.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro imacs.c -copy imacs.obj objects -del imacs.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro parse.c -copy parse.obj objects -del parse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro getinp.c -copy getinp.obj objects -del getinp.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro quit.c -copy quit.obj objects -del quit.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro state.c -copy state.obj objects -del state.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro macparse.c -copy macparse.obj objects -del macparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro percent.c -copy percent.obj objects -del percent.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro function.c -copy function.obj objects -del function.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\runargv.c -copy runargv.obj objects -del runargv.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\switchar.c -copy switchar.obj objects -del switchar.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\spawn.c -copy spawn.obj objects -del spawn.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\find.c -copy find.obj objects -del find.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc40 -w-pro msdos\borland\utime.c -copy utime.obj objects -del utime.obj -tlink @msdos\borland\bcc40\objswp.rsp,dmake.exe,NUL.MAP,@msdos\borland\bcc40\libswp.rsp -copy msdos\borland\bcc40\template.mk startup\config.mk diff --git a/dmake/msdos/borland/bcc40/obj.rsp b/dmake/msdos/borland/bcc40/obj.rsp deleted file mode 100644 index 572259dca8ea..000000000000 --- a/dmake/msdos/borland/bcc40/obj.rsp +++ /dev/null @@ -1,34 +0,0 @@ -e:\cc\borland\bcc40\lib\c0x32.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\find.obj+ -objects\tee.obj+ -objects\dirlib.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc40/objswp.rsp b/dmake/msdos/borland/bcc40/objswp.rsp deleted file mode 100644 index 712d47f47504..000000000000 --- a/dmake/msdos/borland/bcc40/objswp.rsp +++ /dev/null @@ -1,36 +0,0 @@ -e:\cc\borland\bcc40\lib\c0l.obj+ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc40/public.h b/dmake/msdos/borland/bcc40/public.h deleted file mode 100644 index 0e80be51da3e..000000000000 --- a/dmake/msdos/borland/bcc40/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:43:53 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/borland/bcc40/template.mk b/dmake/msdos/borland/bcc40/template.mk deleted file mode 100644 index 30a27692f3ed..000000000000 --- a/dmake/msdos/borland/bcc40/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc40 diff --git a/dmake/msdos/borland/bcc45/config.h b/dmake/msdos/borland/bcc45/config.h deleted file mode 100644 index b59a431fa317..000000000000 --- a/dmake/msdos/borland/bcc45/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:36:44 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGTERM /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Borland redefined the environment variable, sigh */ -#define environ _environ - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/borland/bcc45/config.mk b/dmake/msdos/borland/bcc45/config.mk deleted file mode 100644 index 550b86950705..000000000000 --- a/dmake/msdos/borland/bcc45/config.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -LDLIBS = e:/cc/borland/bcc40/lib/c$(MODEL) -CSTARTUP = e:/cc/borland/bcc40/lib/c0$(MODEL).obj - -CFLAGS += -I$(osedir) -w-pro diff --git a/dmake/msdos/borland/bcc45/lib.rsp b/dmake/msdos/borland/bcc45/lib.rsp deleted file mode 100644 index db2b78d82438..000000000000 --- a/dmake/msdos/borland/bcc45/lib.rsp +++ /dev/null @@ -1,2 +0,0 @@ -e:\cc\borland\bcc45\lib\cw32+ -e:\cc\borland\bcc45\lib\import32 diff --git a/dmake/msdos/borland/bcc45/libswp.rsp b/dmake/msdos/borland/bcc45/libswp.rsp deleted file mode 100644 index 1557935cd40c..000000000000 --- a/dmake/msdos/borland/bcc45/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ -e:\cc\borland\bcc40\lib\cl diff --git a/dmake/msdos/borland/bcc45/mkswp.bat b/dmake/msdos/borland/bcc45/mkswp.bat deleted file mode 100755 index c6bfede2f370..000000000000 --- a/dmake/msdos/borland/bcc45/mkswp.bat +++ /dev/null @@ -1,107 +0,0 @@ -md objects -tasm -t -mx -dmlarge msdos\exec.asm,,,; -mv exec.obj objects -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro infer.c -copy infer.obj objects -del infer.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro make.c -copy make.obj objects -del make.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro stat.c -copy stat.obj objects -del stat.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro expand.c -copy expand.obj objects -del expand.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro hash.c -copy hash.obj objects -del hash.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro dag.c -copy dag.obj objects -del dag.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro dmake.c -copy dmake.obj objects -del dmake.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro path.c -copy path.obj objects -del path.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro imacs.c -copy imacs.obj objects -del imacs.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro parse.c -copy parse.obj objects -del parse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro getinp.c -copy getinp.obj objects -del getinp.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro quit.c -copy quit.obj objects -del quit.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro state.c -copy state.obj objects -del state.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro macparse.c -copy macparse.obj objects -del macparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro percent.c -copy percent.obj objects -del percent.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro function.c -copy function.obj objects -del function.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\runargv.c -copy runargv.obj objects -del runargv.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\switchar.c -copy switchar.obj objects -del switchar.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\spawn.c -copy spawn.obj objects -del spawn.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\find.c -copy find.obj objects -del find.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc45 -w-pro msdos\borland\utime.c -copy utime.obj objects -del utime.obj -tlink @msdos\borland\bcc45\objswp.rsp,dmake.exe,NUL.MAP,@msdos\borland\bcc45\libswp.rsp -copy msdos\borland\bcc45\template.mk startup\config.mk diff --git a/dmake/msdos/borland/bcc45/obj.rsp b/dmake/msdos/borland/bcc45/obj.rsp deleted file mode 100644 index e1d4b1e23186..000000000000 --- a/dmake/msdos/borland/bcc45/obj.rsp +++ /dev/null @@ -1,34 +0,0 @@ -e:\cc\borland\bcc45\lib\c0x32.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\find.obj+ -objects\tee.obj+ -objects\dirlib.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc45/objswp.rsp b/dmake/msdos/borland/bcc45/objswp.rsp deleted file mode 100644 index 712d47f47504..000000000000 --- a/dmake/msdos/borland/bcc45/objswp.rsp +++ /dev/null @@ -1,36 +0,0 @@ -e:\cc\borland\bcc40\lib\c0l.obj+ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc45/public.h b/dmake/msdos/borland/bcc45/public.h deleted file mode 100644 index b8d43eb32dc9..000000000000 --- a/dmake/msdos/borland/bcc45/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:44:06 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/borland/bcc45/template.mk b/dmake/msdos/borland/bcc45/template.mk deleted file mode 100644 index 83b5e009033d..000000000000 --- a/dmake/msdos/borland/bcc45/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc45 diff --git a/dmake/msdos/borland/bcc50/config.h b/dmake/msdos/borland/bcc50/config.h deleted file mode 100644 index cd1a8cca5016..000000000000 --- a/dmake/msdos/borland/bcc50/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:36:58 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGTERM /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Borland redefined the environment variable, sigh */ -#define environ _environ - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/borland/bcc50/config.mk b/dmake/msdos/borland/bcc50/config.mk deleted file mode 100644 index 550b86950705..000000000000 --- a/dmake/msdos/borland/bcc50/config.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -LDLIBS = e:/cc/borland/bcc40/lib/c$(MODEL) -CSTARTUP = e:/cc/borland/bcc40/lib/c0$(MODEL).obj - -CFLAGS += -I$(osedir) -w-pro diff --git a/dmake/msdos/borland/bcc50/lib.rsp b/dmake/msdos/borland/bcc50/lib.rsp deleted file mode 100644 index fd89d29f284c..000000000000 --- a/dmake/msdos/borland/bcc50/lib.rsp +++ /dev/null @@ -1,2 +0,0 @@ -e:\cc\borland\bcc50\lib\cw32+ -e:\cc\borland\bcc50\lib\import32 diff --git a/dmake/msdos/borland/bcc50/libswp.rsp b/dmake/msdos/borland/bcc50/libswp.rsp deleted file mode 100644 index 1557935cd40c..000000000000 --- a/dmake/msdos/borland/bcc50/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ -e:\cc\borland\bcc40\lib\cl diff --git a/dmake/msdos/borland/bcc50/mkswp.bat b/dmake/msdos/borland/bcc50/mkswp.bat deleted file mode 100755 index 14de52506f56..000000000000 --- a/dmake/msdos/borland/bcc50/mkswp.bat +++ /dev/null @@ -1,107 +0,0 @@ -md objects -tasm -t -mx -dmlarge msdos\exec.asm,,,; -mv exec.obj objects -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro infer.c -copy infer.obj objects -del infer.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro make.c -copy make.obj objects -del make.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro stat.c -copy stat.obj objects -del stat.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro expand.c -copy expand.obj objects -del expand.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro hash.c -copy hash.obj objects -del hash.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro dag.c -copy dag.obj objects -del dag.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro dmake.c -copy dmake.obj objects -del dmake.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro path.c -copy path.obj objects -del path.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro imacs.c -copy imacs.obj objects -del imacs.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro parse.c -copy parse.obj objects -del parse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro getinp.c -copy getinp.obj objects -del getinp.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro quit.c -copy quit.obj objects -del quit.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro state.c -copy state.obj objects -del state.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro macparse.c -copy macparse.obj objects -del macparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro percent.c -copy percent.obj objects -del percent.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro function.c -copy function.obj objects -del function.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\runargv.c -copy runargv.obj objects -del runargv.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\switchar.c -copy switchar.obj objects -del switchar.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\spawn.c -copy spawn.obj objects -del spawn.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\find.c -copy find.obj objects -del find.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\bcc50 -w-pro msdos\borland\utime.c -copy utime.obj objects -del utime.obj -tlink @msdos\borland\bcc50\objswp.rsp,dmake.exe,NUL.MAP,@msdos\borland\bcc50\libswp.rsp -copy msdos\borland\bcc50\template.mk startup\config.mk diff --git a/dmake/msdos/borland/bcc50/obj.rsp b/dmake/msdos/borland/bcc50/obj.rsp deleted file mode 100644 index 08ea653f70f4..000000000000 --- a/dmake/msdos/borland/bcc50/obj.rsp +++ /dev/null @@ -1,34 +0,0 @@ -e:\cc\borland\bcc50\lib\c0x32.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\find.obj+ -objects\tee.obj+ -objects\dirlib.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc50/objswp.rsp b/dmake/msdos/borland/bcc50/objswp.rsp deleted file mode 100644 index 712d47f47504..000000000000 --- a/dmake/msdos/borland/bcc50/objswp.rsp +++ /dev/null @@ -1,36 +0,0 @@ -e:\cc\borland\bcc40\lib\c0l.obj+ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/bcc50/public.h b/dmake/msdos/borland/bcc50/public.h deleted file mode 100644 index b9d491239c91..000000000000 --- a/dmake/msdos/borland/bcc50/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:44:19 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/borland/bcc50/template.mk b/dmake/msdos/borland/bcc50/template.mk deleted file mode 100644 index 51b575677985..000000000000 --- a/dmake/msdos/borland/bcc50/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc50 diff --git a/dmake/msdos/borland/config.mk b/dmake/msdos/borland/config.mk deleted file mode 100644 index 42361968671d..000000000000 --- a/dmake/msdos/borland/config.mk +++ /dev/null @@ -1,46 +0,0 @@ -# This is the Turbo C++ 2.0 DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following sources are required for TURBO C++ 2.0 -OSR_SRC = tempnam.c utime.c -.SETDIR=$(osrdir) : $(OSR_SRC) - -SRC += $(OSR_SRC) -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS. Make sure your turboc.cfg -# file contains a -D__STDC__=1 and -DM_I86=1, if not then uncomment the line -# below! -#CFLAGS += -DM_I86=1 -D__STDC__=1 - -# You can get a smaller executable still, buy adding a -1 to the list of -# flags below, but then you can't run this on an 8086/88 cpu. -#CFLAGS += -1 -CFLAGS += -I$(osrdir) -d -O -N- -w-nod $(C_$(MODEL)) -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Debugging information for Turbo-C -DB_CFLAGS += -v -DB_LDFLAGS += /v - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -C_s = -C_m = -mm -C_c = -mc -C_l = -ml - -S_s = -dmsmall -S_m = -dmmedium -S_c = -dmcompact -S_l = -dmlarge diff --git a/dmake/msdos/borland/tcc20/config.h b/dmake/msdos/borland/tcc20/config.h deleted file mode 100644 index 27fae79049cf..000000000000 --- a/dmake/msdos/borland/tcc20/config.h +++ /dev/null @@ -1,48 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:37:12 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGTERM /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/borland/tcc20/config.mk b/dmake/msdos/borland/tcc20/config.mk deleted file mode 100644 index e7c53757d2b6..000000000000 --- a/dmake/msdos/borland/tcc20/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -LDLIBS = e:/cc/borland/tcc20/lib/c$(MODEL) -CSTARTUP = e:/cc/borland/tcc20/lib/c0$(MODEL).obj - -CFLAGS += -I$(osedir) -f- - -# Case of identifiers is significant -NDB_LDFLAGS += -c diff --git a/dmake/msdos/borland/tcc20/libswp.rsp b/dmake/msdos/borland/tcc20/libswp.rsp deleted file mode 100644 index 68d583f00580..000000000000 --- a/dmake/msdos/borland/tcc20/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ -e:\cc\borland\tcc20\lib\cl diff --git a/dmake/msdos/borland/tcc20/mkswp.bat b/dmake/msdos/borland/tcc20/mkswp.bat deleted file mode 100755 index 52f6748e8ef3..000000000000 --- a/dmake/msdos/borland/tcc20/mkswp.bat +++ /dev/null @@ -1,107 +0,0 @@ -md objects -tasm -t -mx -dmlarge msdos\exec.asm,,,; -mv exec.obj objects -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- infer.c -copy infer.obj objects -del infer.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- make.c -copy make.obj objects -del make.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- stat.c -copy stat.obj objects -del stat.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- expand.c -copy expand.obj objects -del expand.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- dmstring.c -copy dmstring.obj objects -del dmstring.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- hash.c -copy hash.obj objects -del hash.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- dag.c -copy dag.obj objects -del dag.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- dmake.c -copy dmake.obj objects -del dmake.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- path.c -copy path.obj objects -del path.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- imacs.c -copy imacs.obj objects -del imacs.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- sysintf.c -copy sysintf.obj objects -del sysintf.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- parse.c -copy parse.obj objects -del parse.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- getinp.c -copy getinp.obj objects -del getinp.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- quit.c -copy quit.obj objects -del quit.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- state.c -copy state.obj objects -del state.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- dmdump.c -copy dmdump.obj objects -del dmdump.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- macparse.c -copy macparse.obj objects -del macparse.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- rulparse.c -copy rulparse.obj objects -del rulparse.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- percent.c -copy percent.obj objects -del percent.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- function.c -copy function.obj objects -del function.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\runargv.c -copy runargv.obj objects -del runargv.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\arlib.c -copy arlib.obj objects -del arlib.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\switchar.c -copy switchar.obj objects -del switchar.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\spawn.c -copy spawn.obj objects -del spawn.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\find.c -copy find.obj objects -del find.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- unix\dcache.c -copy dcache.obj objects -del dcache.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -tcc -c -I. -Imsdos -Imsdos\borland -d -O -N- -w-nod -ml -Imsdos\borland\tcc20 -f- msdos\borland\utime.c -copy utime.obj objects -del utime.obj -tlink /c @msdos\borland\tcc20\objswp.rsp,dmake.exe,NUL.MAP,@msdos\borland\tcc20\libswp.rsp -copy msdos\borland\tcc20\template.mk startup\config.mk diff --git a/dmake/msdos/borland/tcc20/objswp.rsp b/dmake/msdos/borland/tcc20/objswp.rsp deleted file mode 100644 index c177fda3efbd..000000000000 --- a/dmake/msdos/borland/tcc20/objswp.rsp +++ /dev/null @@ -1,36 +0,0 @@ -e:\cc\borland\tcc20\lib\c0l.obj+ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\utime.obj diff --git a/dmake/msdos/borland/tcc20/public.h b/dmake/msdos/borland/tcc20/public.h deleted file mode 100644 index c56278966b05..000000000000 --- a/dmake/msdos/borland/tcc20/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:44:32 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/borland/tcc20/template.mk b/dmake/msdos/borland/tcc20/template.mk deleted file mode 100644 index 3cac6b22a240..000000000000 --- a/dmake/msdos/borland/tcc20/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= borland - OSENVIRONMENT *:= tcc20 diff --git a/dmake/msdos/borland/tempnam.c b/dmake/msdos/borland/tempnam.c deleted file mode 100644 index c4d599de5971..000000000000 --- a/dmake/msdos/borland/tempnam.c +++ /dev/null @@ -1,109 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:28 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* Turbo C stdio.h doesn't define P_tmpdir, so let's do it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifndef P_tmpdir -static char *P_tmpdir = ""; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/msdos/borland/utime.c b/dmake/msdos/borland/utime.c deleted file mode 100644 index 2b87022fe3f1..000000000000 --- a/dmake/msdos/borland/utime.c +++ /dev/null @@ -1,66 +0,0 @@ -/* RCS $Id: utime.c,v 1.1.1.1 2000-09-22 15:33:28 hr Exp $ --- --- SYNOPSIS --- utime --- --- DESCRIPTION --- chage the last modified time on a file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#include -#include -#include -#include -#include -#include - -int -utime(name, timep)/* -==================== - Broken for turbo C it only sets the file time to the current time by - touching a character in the file */ -char* name; -time_t timep[2]; -{ - struct stat buf; - int fil; - char data; - - if (stat(name, &buf) != 0) - return (-1); - if (buf.st_size != 0) { - if ((fil = open(name, O_RDWR, S_IWRITE)) < 0) - return (-1); - if (read(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - lseek(fil, 0L, 0); - if (write(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - close(fil); - return (0); - } else if ((fil = creat(name, S_IWRITE)) < 0) { - return (-1); - } else { - close(fil); - return (0); - } -} diff --git a/dmake/msdos/config.mk b/dmake/msdos/config.mk deleted file mode 100644 index 77a32bf419de..000000000000 --- a/dmake/msdos/config.mk +++ /dev/null @@ -1,71 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# - -# Memory model to compile for -# set to s - small, m - medium, c - compact, l - large -# Need large model now, dmake has grown up :-) -MODEL = l - -STARTUPFILE = $(OS)/startup.mk - -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDHEAD) $(LDFLAGS:s/ //) @$(LDTMPOBJ),$(TARGET),NUL.MAP$(LDTAIL) -LDTAIL = $(_libs) -_libs = $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ = $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"+\n")\n) -LDTMPLIB = $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\\,:t"+\n")\n) - -# Debug flags -DB_CFLAGS = -DDBUG -DB_LDFLAGS = -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -NDB_LDFLAGS = -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) - -# Common MSDOS source files. -# Define SWAP to anything but 'y' for the swap code to be excluded on making. -# Swapping for DOS versions is enabled by default. -# Note: swapping is handled specially for ZTC in msdos/zortech/config.mk. -SWAP *= y - -.IF $(OSRELEASE) != zortech - .IF $(SWAP) == y - SWP_SRC += spawn.c - ASRC += exec.asm - .ELSE - SWP_SRC += tee.c - .END -.ELSE - SWP_SRC += tee.c -.END - -OS_SRC += ruletab.c dirbrk.c runargv.c arlib.c dchdir.c switchar.c rmprq.c\ - $(SWP_SRC) find.c dirlib.c dstrlwr.c -UNIXSRC := dcache.c -SRC += $(OS_SRC) $(UNIXSRC) -.SETDIR=$(OS) : $(ASRC) $(OS_SRC) -.SETDIR=unix : $(UNIXSRC) - -# Provide our own %$O : %$S rule. -%$O : %$S - +$(AS) $(ASFLAGS) $(<:s,\,${__.DIVSEP-sh-${USESHELL}},:s,/,${__.DIVSEP-sh-${USESHELL}},),,,; - mv $(@:f) $(OBJDIR) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/msdos/dchdir.c b/dmake/msdos/dchdir.c deleted file mode 100644 index 19006825b7f6..000000000000 --- a/dmake/msdos/dchdir.c +++ /dev/null @@ -1,47 +0,0 @@ -/* RCS $Id: dchdir.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Change directory. --- --- DESCRIPTION --- Under DOS change the current drive as well as the current directory. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include "extern.h" - -PUBLIC int -dchdir(path) -char *path; -{ - int res; - - res = chdir(path); - - if (res != -1 && path[1] == ':') { - union REGS reg; - - /* we must change the logged drive, since the chdir worked. */ - reg.h.ah = 0x0E; - reg.h.dl = (*path & ~0x20) - 'A' + 1; - intdos(®, ®); - } - - return (res); -} diff --git a/dmake/msdos/dirbrk.c b/dmake/msdos/dirbrk.c deleted file mode 100644 index d8aab76b6f96..000000000000 --- a/dmake/msdos/dirbrk.c +++ /dev/null @@ -1,42 +0,0 @@ -/* RCS $Id: dirbrk.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Define the directory separator string. --- --- DESCRIPTION --- Define this string for any character that may appear in a path name --- and can be used as a directory separator. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* dos uses /, \, and : */ -char* DirBrkStr = "/\\:"; - -/* -** Return TRUE if the name is the full specification of a path name to a file -** starting at the root of the file system, otherwise return FALSE -*/ -PUBLIC int -If_root_path(name) -char *name; -{ - return( (strchr(DirBrkStr, *name) != NIL(char)) || - (isalpha(*name) && name[1] == ':') ); -} diff --git a/dmake/msdos/dirent.h b/dmake/msdos/dirent.h deleted file mode 100644 index 24ad5681da59..000000000000 --- a/dmake/msdos/dirent.h +++ /dev/null @@ -1,32 +0,0 @@ -/* DIRLIB.H by M. J. Weinstein Released to public domain 1-Jan-89 */ - -#ifndef _DIRLIB_h_ -#define _DIRLIB_h_ - -#include -#include "stdmacs.h" -#include "dosdta.h" - -#define MAXNAMLEN 15 - -struct dirent { - long d_ino; - unsigned short d_reclen; - unsigned short d_namlen; - char d_name[MAXNAMLEN+1]; -}; - -typedef struct { - DTA dd_dta; /* disk transfer area for this dir. */ - short dd_stat; /* status return from last lookup */ - char dd_name[1]; /* full name of file -- struct is extended */ -} DIR; - -extern DIR *opendir ANSI((char *)); -extern struct dirent *readdir ANSI((DIR *)); -extern long telldir ANSI((DIR *)); -extern void seekdir ANSI((DIR *, long)); -extern void closedir ANSI((DIR *)); - -#define rewinddir(dirp) seekdir(dirp,0L) -#endif diff --git a/dmake/msdos/dirlib.c b/dmake/msdos/dirlib.c deleted file mode 100644 index eaef928772af..000000000000 --- a/dmake/msdos/dirlib.c +++ /dev/null @@ -1,285 +0,0 @@ -/* - DIRLIB for MS-DOS - ----------------- - -Enclosed is an implementation of the `dirlib' package for MS-DOS. -The implementation is targeted for MS-C, although any reasonably -competent C compiler should manage. The package consists of: - - dir.h the header file - dir.c the functions - testdir.c a q&d test program - -The package tries to view directory naming in a Un*x light; in particular, -directories such as '/.' and '/..' (as well as `.' and `..' if your -current directory is root) are understood. Indefinite paths like -`/../.././../..' will correctly refer to the root (of the particular disk). -Names such as `a:////./../' are okay too. - -I've tried to be as sensible about DTA's as possible, since you never -know who will be using one; they are set before use, and reset afterwards. - -There is some cruft in the package, namely the way `seekdir' and -`telldir' are done. The code was derived from a little experimentation, -and may not work after a certain point (although I believe the 2.x version -to be solid). Caveat utilitor. - -Documentation for the package is available in the public domain; the -package's functionality was derived from this documentation. - -Bug reports and comments are welcome. Enjoy! - - - Matt - -------- -UUCP: {ucbvax,ihnp4,randvax,trwrb!trwspp,ism780}!ucla-cs!matt -ARPA: matt@LOCUS.UCLA.EDU -Ph: (213) 825-2756 - --------- -Modified for use in dmake by Dennis Vadura. Mostly just clean up and an -effort to make correctly typed objects are passed to functions in find.c. -Also deleted all dos version 2.0 specific code. It is not required any -more. -*/ - -/* - * revision history: - * - * VER MM/DD/YY COMMENTS - * ---- -------- -------- - * 0.99 02/24/86 Beta release to INTERNET - */ - -#include -#include -#include -#include -#include - -#include "dirent.h" - -extern int find_err; - - -static char * -getdcwd(drive) -int drive; -{ - union REGS r; - struct SREGS s; - static char xcwd[64]; - char far *cwd = xcwd; - - r.h.ah = 0x47; - r.h.dl = drive; - r.x.si = FP_OFF(cwd); - s.ds = FP_SEG(cwd); - intdosx(&r, &r, &s); - find_err = r.x.ax; - if (r.x.cflag) - return (char *) 0; - return xcwd; -} - - - -/* - * opendir - */ - -#define SUFFIX "\\*.*" -#define SLASH "\\" -#define streq(a,b) (strcmp(a,b)==0) - -DIR * -opendir(name) -char *name; -{ - register DIR *nd; - char *cwd; - char drive[3]; - int atroot = 0; - int rooted = 0; - - /* - * hack off drive designator if present - */ - - if (name[1] == ':') { - cwd = getdcwd(toupper(name[0]) - 'A' + 1); - drive[0] = name[0]; drive[1] = ':'; drive[2] = '\0'; - name += 2; - } - else { - cwd = getdcwd(0); - drive[0] = '\0'; - } - - /* is the name 'rooted'? */ - if ((*name == '/') || (*name == '\\')) ++rooted; - - /* see if we are at the root directory for this device */ - if (!*cwd) ++atroot; - - /* - * MSDOS '/' doesn't have a '.' or '..' - * also, double '/' sequences don't make sense. - * many ported programs expect them to work, so we fix it up... - */ - - /* chop off leading . and .. if at root */ - if (atroot && (*name == '.')) { - switch (*++name) { - case '\0': - case '/': - case '\\': - break; - - case '.': - switch (*++name) { - case '\0': - case '/': - case '\\': - break; - default: - --name; - --name; - } - break; - - default: - --name; - } - } - - /* chop off leading /'s, /.'s and /..'s to make naming sensible */ - while (*name && ((*name == '/') || (*name == '\\'))) { - if (*++name == '.') { - switch (*++name) { - case '\0': - case '/': - case '\\': - break; - - case '.': - switch (*++name) { - case '\0': - case '/': - case '\\': - break; - - default: - --name; - --name; - } - break; - - default: - --name; - } - } - } - - - /* - * name should now look like: path/path/path - * we must now construct name based on whether or not it - * was 'rooted' (started with a /) - */ - - if (rooted) cwd = ""; - - /* construct DIR */ - if (!(nd = (DIR *)malloc( - sizeof(DIR)+strlen(drive)+strlen(cwd)+strlen(SLASH)+ - strlen(name)+strlen(SUFFIX)))) - return (DIR *) 0; - - /* create long name */ - strcpy(nd->dd_name, drive); - if (*cwd) { - strcat(nd->dd_name, SLASH); - strcat(nd->dd_name, cwd); - } - if (*name) { - strcat(nd->dd_name, SLASH); - strcat(nd->dd_name, name); - } - strcat(nd->dd_name, SUFFIX); - - /* search */ - if (!findfirst(&nd->dd_name[0], &nd->dd_dta)) { - free((char *)nd); - errno = ENOENT; - return (DIR *) 0; - } - nd->dd_stat = 0; - return nd; -} - - -struct dirent * -readdir(dirp) -DIR *dirp; -{ - static struct dirent dir; - - if (dirp->dd_stat) - return (struct dirent *) 0; - - /* format structure */ - dir.d_ino = 0; /* not valid for DOS */ - dir.d_reclen = 0; - strcpy(dir.d_name, dirp->dd_dta.name); - dir.d_namlen = strlen(dir.d_name); - strlwr(dir.d_name); /* DOSism */ - - /* read ahead */ - if (findnext(&dirp->dd_dta) != NULL) - dirp->dd_stat = 0; - else - dirp->dd_stat = find_err; - - return &dir; -} - - -void -closedir(dirp) -DIR *dirp; -{ - free((char *)dirp); -} - - -void -seekdir(dirp, pos) -DIR *dirp; -long pos; -{ - /* - * check against DOS limits - */ - - if ((pos < 0) || (pos > 4095)) { - dirp->dd_stat = 1; - return; - } - - *(short *)&dirp->dd_dta.fcb[13] = pos + 1; - - /* read ahead */ - if (findnext(&dirp->dd_dta)) - dirp->dd_stat = 0; - else - dirp->dd_stat = find_err; -} - - -long -telldir(dirp) -DIR *dirp; -{ - return (long) (*(short *)&dirp->dd_dta.fcb[13] - 2); -} diff --git a/dmake/msdos/dosdta.h b/dmake/msdos/dosdta.h deleted file mode 100644 index c9642715d937..000000000000 --- a/dmake/msdos/dosdta.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _DOSDTA_ -#define _DOSDTA_ - -#include "stdmacs.h" -typedef struct { - char fcb[21]; - char attr; - short time; - short date; - long size; - char name[13]; -} DTA; - -extern DTA *findfirst ANSI((char *, DTA *)); -extern DTA *findnext ANSI((DTA *)); -#endif diff --git a/dmake/msdos/dstrlwr.c b/dmake/msdos/dstrlwr.c deleted file mode 100644 index 64027eb36481..000000000000 --- a/dmake/msdos/dstrlwr.c +++ /dev/null @@ -1,49 +0,0 @@ -/* RCS $Id: dstrlwr.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Rotines for computing case mappings in Win95/NT environments. --- --- DESCRIPTION --- This code is an attempt at providing sane case mappings to help --- deal with the disparity in file name case between 8.3 and long --- file names under Win95/NT. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#include "extern.h" - -PUBLIC void -dstrlwr(entry, target) -char *entry; -char *target; -{ - char *p; - - if (STOBOOL(DcacheRespCase)) - return; - - /* Look for the target being lower case, if so then lower the case - * of the directory entry. Note that we only check the first - * character of the target. This is a bit of a kludge but there is - * really no other way to know, particularly since this test will be - * performed for each member of the directory but against the same - * target. */ - if (islower(*target)) - strlwr(entry); - - return; -} diff --git a/dmake/msdos/exec.asm b/dmake/msdos/exec.asm deleted file mode 100644 index db745aece6b2..000000000000 --- a/dmake/msdos/exec.asm +++ /dev/null @@ -1,1234 +0,0 @@ -; -; DESCRIPTION -; This code is a model independent version of DOS exec that will swap -; the calling process out to secondary storage prior to running the -; child. The prototype for calling the exec function is below. -; -; exec( int swap, char far *program, char far *cmdtail, -; int environment_seg, char far *tmpfilename ); -; -; -; To assemble this file issue the command: -; -; tasm /mx /t /dmmodel exec.asm -; -; where 'model' is one of {small, compact, medium, large}, you may -; also use MASM 5.1 to assemble this file, in this case simply replace -; 'tasm' with 'masm' in the above command line. -; -; AUTHOR -; Dennis Vadura, dvadura@watdragon.uwaterloo.ca -; CS DEPT, University of Waterloo, Waterloo, Ont., Canada -; -; COPYRIGHT -; Copyright (c) 1990 by Dennis Vadura. All rights reserved. -; -; This program is free software; you can redistribute it and/or -; modify it under the terms of the GNU General Public License -; (version 1), as published by the Free Software Foundation, and -; found in the file 'LICENSE' included with this distribution. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warrant of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; if not, write to the Free Software -; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -; -ifdef have286 - .286 ; define have286 with -D for 80286 processor or better - mpusha Macro - pusha - Endm - - mpopa Macro - popa - Endm - -else ; 8088/8086 compatible - mpusha Macro - push ax - push cx - push dx - push bx - push sp - push bp - push si - push di - Endm - - mpopa Macro - pop di - pop si - pop bp - add sp,2 - pop bx - pop dx - pop cx - pop ax - Endm -endif - -ifdef msmall - .model small -argbase equ 4 -endif -ifdef mcompact - .model compact -argbase equ 4 -endif -ifdef mmedium - .model medium -argbase equ 6 -endif -ifdef mlarge - .model large -argbase equ 6 -endif -a_swap equ -a_prog equ -a_tail equ -a_env equ -a_tmp equ - -a_handle equ - - -; Define all useful equ's -swap_xms equ 0 ; we swapped it out to xms -swap_ems equ 2 ; we swapped it out to ems -swap_file equ 4 ; we swapped it out to a file -seg_no_alloc equ 0 ; this is part of a segment -seg_alloc equ 1 ; this is a full segment header -seg_data equ 2 ; this is data for part of a segment - - -; Define any global/external variables that we will be accessing from here. - .data - extrn _errno:word ; Set to dos ret code from exec - public _Interrupted ; Set to 1 if interrupted 0 -_Interrupted dw 0 ; otherwise - - .code - assume cs:@code, ds:@code, ss:@code, es:@code - - even -execstack dw 64 dup (?) ; put the temporary exec stack right -exec_sp label word ; at the start. - -old_ss dw ? ; save stack seg across exec -old_sp dw ? ; save stack ptr across exec -progsize dw ? ; original size of the program -rootsize dw ? ; size of base root kept during swap -resend dw ? ; paragraph where resident code ends -envseg dw ? ; paragraph of environment segment -psp dw ? ; our own psp -swap dw ? ; swapping selection flag -eretcode dw ? ; return code from exec -interrupted dw ? ; interrupted flag for exec -arenahead dw ? ; start of memory block list -alstr dw ? ; allocation strategy save spot -in_exec dw 0 ; flag, 1 ==> in exec - -cmdpath db 65 dup(?) ; file to exec -cmdtail db 129 dup(?) ; its command tail -fcb db 37 dup(0) ; dummy fcb -tmpseg db 7 dup(?) ; block header buffer - -tmpname db 65 dup(0) ; name of temporary file resource - - even -tmphandle dw ? ; handle for temporary file -real_21h dd 0 ; will be DOS's 21h vector if doing -C - -std_fil_handle dw ? ; file handle for -C file -std_fil_number db ? ; system file number for -C file -our_stdout db ? ; sys file number our stdout handle - -error_rhdr db "exec: Failure reading header block", 0DH, 0AH, '$' -error_rseg db "exec: Failure reading segment data", 0DH, 0AH, '$' -error_resize db "exec: Failure on resize", 0DH, 0AH, '$' -error_free db "exec: Failure to free a block", 0DH, 0AH, '$' -error_string db "exec: Program swap failure", 0DH, 0AH, '$' -error_alloc db "exec: Memory blocks don't match", 0DH, 0AH, '$' - - even -write_header label word - whdr_xms_ptr dw word ptr whdr_xms - whdr_ems_ptr dw word ptr whdr_ems - whdr_file_ptr dw word ptr whdr_file - -write_seg label word - wseg_xms_ptr dw word ptr wseg_xms - wseg_ems_ptr dw word ptr wseg_ems - wseg_file_ptr dw word ptr wseg_file - -read_header label word - rhdr_xms_ptr dw word ptr rhdr_xms - rhdr_ems_ptr dw word ptr rhdr_ems - rhdr_file_ptr dw word ptr rhdr_file - -read_seg label word - rseg_xms_ptr dw word ptr rseg_xms - rseg_ems_ptr dw word ptr rseg_ems - rseg_file_ptr dw word ptr rseg_file - -free_resource label word - free_xms_ptr dw word ptr free_xms_resource - free_ems_ptr dw word ptr free_ems_resource - free_file_ptr dw word ptr free_file_resource - -reset_resource label word - reset_xms_ptr dw word ptr reset_xms_resource - reset_ems_ptr dw word ptr reset_ems_resource - reset_file_ptr dw word ptr reset_file_resource - -old_ctl_brk label dword - old_ctl_brk_off dw ? - old_ctl_brk_seg dw ? - -old_crit_err label dword - old_crit_err_off dw ? - old_crit_err_seg dw ? - -exec_block label word - ex_envseg dw ? ; env seg, use parent's if 0 - ex_cmdtail dd ? ; command tail for exec - ex_fcb1 dd far ptr fcb ; fcb's aren't used by dmake - ex_fcb2 dd far ptr fcb - ex_ss dw ? ; saved ss for exec - ex_sp dw ? ; saved sp for exec - ex_error dw 0 ; error code for dos exec - - -; Special 21h (DOS call) handler to tee stdout/stderr writes to the -C file. -; Ignore 21h calls that aren't writes to 1 or 2; i.e., pass them to DOS handler. -; If write call was from this process, it's pretty simple to duplicate it -; to the -C file. If it's from another process, we try to write to its -; inherited handle. Worst case is where the handle wasn't inherited: someone -; closed it. In that instance we have to switch to dmake's PSP to do the -; duplicate write. - -; Subprocesses do not get their stdout/stderr teed to the -C file if -; their stdout/stderr no longer points to the file/device that dmake's -; stdout points to. This is tested by looking at the process's job -; file table, which is a table that maps process handles to DOS system file -; table numbers. (The far pointer to the JFT is at the PSP offset 34h.) -; The JFT is also queried to see if the -C file was inherited. - -; O_BINARY, O_TEXT problems are ignored here. These are fudged by the -; C library before it calls DOS; since we're working below that level -; we don't have to worry about it. - -simulate_21h Macro - pushf ;; direct call to DOS - call cs:[real_21h] - Endm - - assume cs:@code, ds:nothing, es:nothing, ss:nothing -our_21h_handler proc far - pushf - cmp ah,40h ; is this a write? - jne call_dos ; --no - cmp bx,1 ; write on handle 1 (stdout?) - je duplicate_it - cmp bx,2 ; stderr? - je duplicate_it - -call_dos: - popf - jmp [real_21h] ; far jump to real handler, which will do the sys call - ; and return to the original caller - -duplicate_it: - mpusha - push ds - push es - mov bp,sp - - mov di,std_fil_handle ; handle of the -C file - - If @CodeSize eq 0 - ; Small/compact models allow for quick test of us versus subprocess. - ; False negative (it's us with a different CS) will be picked - ; up by code just below. (Might happen due to call from C library.) - ; False positives would be bad, but can't happen. - mov ax,[bp+24] ; caller's CS - cmp ax,@code ; same as us? - je call_from_dmake - Endif - - mov ah,51h ; get PSP ("undocumented version" works in DOS 2.0+) - simulate_21h ; PSP segment returned in BX - cmp bx,psp ; our PSP? - je call_from_dmake ; --yes, no PSP changing needed - - mov es,bx ; set ES to current (caller's) PSP - lds bx,es:[34h] ; set DS:BX pointing to caller's job file table - - mov si,[bp+12] ; file handle caller passed in (known to be 1 or 2) - mov al,[bx+si] ; system file number corresponding to caller's handle - cmp al,our_stdout ; same as our stdout? - jne do_real_write ; no--subprocess must have redirected it - - mov al,[bx+di] ; see if caller has dup of -C file still open - cmp al,std_fil_number - je use_dup ; yes--we can write using caller's PSP - - ; Calling process (or some intermediate process) has closed - ; the -C descriptor. We'll use dmake's (our) -C descriptor, but - ; to do so we'll have to change the PSP. Disable BREAK handling - ; so that ^break doesn't kill the wrong process. - - mov ax,3300h ; get BREAK flag - simulate_21h - mov si,dx ; save BREAK state in SI - sub dx,dx ; now turn break flag off - mov ax,3301h - simulate_21h ; don't want ^Break recoginized while PSP changed - mov bx,psp ; set dmake's PSP - mov ah,50h - simulate_21h - - mov bx,di ; handle of -C file - ; CX still has caller's count - mov ds,[bp+2] ; restore caller's DS - mov dx,[bp+14] ; DS:DX again points to caller's buffer - mov ah,40h - simulate_21h ; write the copy - - mov bx,es ; caller's PSP - mov ah,50h ; set PSP - simulate_21h ; restore caller's PSP - mov dx,si ; break state before we changed it - mov ax,3301h - simulate_21h ; restore break state - - jmp short do_real_write - -use_dup: - mov ds,[bp+2] ; restore caller's DS - mov dx,[bp+14] ; DS:DX again points to caller's buffer - -call_from_dmake: - mov bx,di ; handle of -C file - mov ah,40h ; write - ; CX still has caller's count - simulate_21h ; write to the file - -do_real_write: - pop es - pop ds - mpopa - popf - jmp [real_21h] ; far jump to real handler, which will do the sys call - ; and return to the original caller -our_21h_handler endp - - assume cs:@code, ds:@code, ss:@code, es:@code - -;----------------------------------------------------------------------------- -; First define the critical-error and control-brk handlers. -; The critical error handler simply pops the machine state and returns an -; access denied result code. -crit_err_handler proc far - add sp, 6 ; ip/cs/flags ... - pop ax - pop bx - pop cx - pop dx - pop si - pop di - pop bp - pop ds - pop es - push bp ; fix up the return flags - mov bp, sp - xchg ax, [bp+6] ; get the flag byte. - or ax, 1 ; set the carry bit - xchg ax, [bp+6] ; put it back. - pop bp - mov ax, 5 ; access denied - iret -crit_err_handler endp - - -;----------------------------------------------------------------------------- -; Here we set the interrupted flag, and terminate the currently running -; process. -ctl_brk_handler proc far - clc ; make sure carry is clear - inc cs:interrupted ; set the flag - -; Make certain it isn't us that is going to get terminated. -; There is a small window where the in_exec flag is set but the child is -; not running yet, I assume that DOS doesn't test for ctl_brk at that time -; as it is bussily creating a new process. - cmp cs:in_exec,0 - je just_return ; note this implies CF == 0 - stc ; set CF to abort child -just_return: iret -ctl_brk_handler endp - - -;----------------------------------------------------------------------------- -; Something really nasty happened, so abort the exec call and exit. -; This kills the calling process altogether, and is a very nasty way of -; termination since files may still be open etc. -abort_exec_rhdr label near - mov dx, offset error_rhdr - jmp print_it -abort_exec_rseg label near - mov dx, offset error_rseg - jmp print_it -abort_exec_resize label near - mov dx, offset error_resize - jmp print_it -abort_exec_free label near - mov dx, offset error_free - jmp print_it -abort_exec_alloc label near - mov dx, offset error_alloc - jmp print_it -abort_exec proc near - mov dx, offset error_string -print_it: push dx - mov bx, [swap] - call [free_resource+bx] - mov ax, cs - mov ds, ax - pop dx - mov ah, 9 - int 21H -kill_program: mov ax, 04cffH ; nuke it! - int 21H -abort_exec endp - - -;----------------------------------------------------------------------------- -; lodsw/stosw loop to copy data. Called only for word copy operations. -; ds:si - point at source -; es:di - point at destination -; cx - count of bytes to copy. -copy_data proc near - shr cx, 1 ; convert to word count - jnc copy_words - movsb -copy_words: rep movsw ; copy the words. - ret -copy_data endp - - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO READ XMS RECORDS. -;============================================================================= -rhdr_xms proc near - ret -rhdr_xms endp - -rseg_xms proc near - ret -rseg_xms endp - -reset_xms_resource proc near - ret -reset_xms_resource endp - -free_xms_resource proc near - ret -free_xms_resource endp -;============================================================================= - - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO READ EMS RECORDS. -;============================================================================= -rhdr_ems proc near - ret -rhdr_ems endp - -rseg_ems proc near - ret -rseg_ems endp - -reset_ems_resource proc near - ret -reset_ems_resource endp - -free_ems_resource proc near - ret -free_ems_resource endp -;============================================================================= - - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO READ FILE RECORDS. -;============================================================================= -; This routine reads a segment header from a file. -; The header is a seven byte record formatted as follows: -; segment address - of data -; offset address - of data -; length in paragraphs - of data -; mode - 1 => segment header (allocate seg on read) -; 0 => subsegment, don't allocate on read. -; The information is placed into the tmpseg data area in the code segment. -; The routine aborts if an error is detected. -rhdr_file proc near - mov dx, offset tmpseg ; read the header record out - mov cx, 7 - mov bx, [tmphandle] - mov ah, 03fH - int 21H - jnc rhdr_done ; make sure it worked - jmp abort_exec_rhdr - -rhdr_done: cmp ax, 7 - je exit_rhdr_file - or ax, ax - je signal_eof - jmp abort_exec_rhdr - -signal_eof: stc -exit_rhdr_file: ret -rhdr_file endp - - -;----------------------------------------------------------------------------- -; Read a segment from the temporary file whose handle is in cs:tmphandle. -; The routine aborts if an error is detected. -rseg_file proc near - push ds - mov ds, word ptr cs:tmpseg; Now read the whole segment - mov dx, word ptr cs:tmpseg+2 - mov cx, word ptr cs:tmpseg+4 - mov bx, cs:tmphandle - mov ah, 03fH - int 21H - pop ds - jnc rseg_done - jmp abort_exec_rseg - -rseg_done: cmp ax, [word ptr tmpseg+4] - je exit_rseg_file - jmp abort_exec_rseg ; If we didn't get read full -exit_rseg_file: ret ; segment then abort -rseg_file endp - - -;----------------------------------------------------------------------------- -; Seek to the beginning of the file. -reset_file_resource proc near - mov bx, [tmphandle] - xor cx, cx - mov dx, cx - mov ax, 04200H ; seek to begining of file - int 21H - ret -reset_file_resource endp - - -;----------------------------------------------------------------------------- -; unlink the temporary file allocated for swapping. -; We close the file first, and then delete it. We ignore errors here since -; we can't do anything about them anyway. -free_file_resource proc near - mov bx, [tmphandle] ; get the file handle - mov ah, 03eH ; close the file - int 21H - mov dx, offset tmpname ; Now delete the temp file - mov ah, 041H - int 21H - ret -free_file_resource endp -;============================================================================= - - - -;============================================================================= -; CODE TO SWAP THE IMAGE IN FROM SECONDARY STORAGE -;============================================================================= -swap_in proc near - mov bx, [alstr] ; get previous alloc strategy - mov ax, 5801H ; and set it back - int 21H - mov bx, [swap] ; get type of resource - call [reset_resource+bx] ; reset the resource - mov es, [psp] ; resize the program back - mov bx, [progsize] ; to original size - mov ah, 04AH - int 21H - jnc read_seg_loop - jmp abort_exec - -read_seg_loop: mov bx, [swap] ; get type of resource - call [read_header+bx] ; get seg header - jc exit_swap_in ; all done - mov al, [tmpseg+6] - cmp al, seg_no_alloc ; see if dummy segment header - je read_seg_loop - cmp al, seg_alloc ; do we need to do an alloc? - jne read_data ; nope - -; Allocate back the memory for a segment that is not the [psp], note that this -; must come back to the same segment we had previously since other segments -; may have pointers stored in their variables that point to this segment using -; segment:offset long pointers. - mov bx, [word ptr tmpseg+4] ; get count of paragraphs - mov ah, 048H ; dos_alloc - int 21H - jc alloc_error ; oops! - cmp ax, [word ptr tmpseg] ; did we get the same segment? - je read_seg_loop ; yup! -alloc_error: jmp abort_exec_alloc - -read_data: mov bx, [swap] - call [read_seg+bx] ; this must succeed, if fail - jmp read_seg_loop ; we never come back here - -exit_swap_in: mov bx, [swap] ; all done, so free resource - call [free_resource+bx] - ret -swap_in endp - - -;============================================================================= -; CODE TO SWAP THE IMAGE OUT TO SECONDARY STORAGE -;============================================================================= -; This routine is called to swap the non-resident portion of the program -; out to the resource specified by the value of [cs:swap]. If the swap out -; fails, then appropriate routines are called to free the resources allocated -; up to that point. -; -; The steps used to swap the program out are as follows: -; - calculate new size of program to remain resident and size to swap -; out. -; - write out non-resident portion of current segment -; - walk DOS allocation chain and write out all other segments owned by -; the current program that are contiguous with the _psp segment -; - copy the environment down to low memory -; - resize the current _psp segment to savesize -; - free all segments belonging to program except current _psp segment -swap_out proc near - mov ax, 05800H ; get memory alocation strategy - int 021H - mov [alstr], ax ; and save it for future restoration. - mov di, [psp] ; compute length of program to current - mov bx, cs ; value of cs, and find program size - sub bx, di ; by looking at length stored in - mov ax, di ; arena header found in front of psp - dec ax - mov es, ax - mov si, es:3 ; si is size of program in paragraphs - mov [progsize], si ; progsize now contains the size. - -; Now compute length of program segment to save. -; Length is: cs - psp + (offset overlay_code_here+15 >> 4) - mov ax, offset overlay_code_here+15 - shr ax, 1 - shr ax, 1 - shr ax, 1 - shr ax, 1 - add bx, ax ; bx is size of program to keep - sub si, bx ; si is # of paragraphs to save. - add di, bx ; di is paragraph to start at - mov rootsize, bx - mov resend, di ; cs:resend is saved start para - mov al, seg_no_alloc ; set no allocation for segment - call write_segment - jc abort_swap_out - -; We have now saved the portion of the program segment that will not remain -; resident during the exec. We should now walk the DOS allocation chain and -; write out all other segments owned by the current process. -save_segments: mov ax, [psp] - dec ax - mov es, ax - mov bx, offset write_segment_data - call walk_arena_chain - jc abort_swap_out - -; Now we must walk the chain of allocated memory blocks again and free -; all those that are owned by the current process, except the one that is -; the current process' psp. -free_segments: mov ax, [psp] - dec ax - mov es,ax - mov bx, offset free_dos_segment - call walk_arena_chain - jnc resize_program - jmp abort_exec_free ; can't fix it up now. - -; We now resize the program to the size specified by cs:rootsize. This will -; free most of the memory taken up by the current program segment. -resize_program: mov es, [psp] ; es is segment to resize. - mov bx, [rootsize] ; bx is size of segment. - mov ah, 04aH ; resize memory block - int 21H - jnc swap_out_ok - jmp abort_exec_resize ; disaster -swap_out_ok: ret - -; The swap out failed for some reason, so free any allocated resources -; and set the carry bit. -abort_swap_out: mov bx, [swap] - call [free_resource+bx] - xor ax, ax - mov [swap], ax ; clear the swap flag - stc - ret -swap_out endp - - -;============================================================================= -; CODE TO SET-UP FOR AND EXEC THE CHILD PROCESS -;============================================================================= -; Actually execute the program. If cs:swap is set, this code will invoke the -; swap-out/swap-in code as required. -do_exec proc near - cmp [swap], 0 ; does the user want to swap? - je no_swap_out ; nope - call init_swap ; figger out where to swap to - jc no_swap_out ; if carry set then don't swap - call swap_out - -no_swap_out: cmp [interrupted], 0 ; were we interrupted? - jne leave_exec ; yep, so clean up, don't exec - -; free passed in environment block if it is non zero. -; This way the parent program does not need to free it. - mov ax, [envseg] - or ax, ax - je setup_block - push ax - mov es, ax - mov ah, 49H - int 21H - pop ax - -; set up the parameter block for the DOS exec call. -; offset contents -; 00 segment address of environment to be passed, -; 0 => use parents env. -; 02 pointer to command tail for new process. -; 06 pointer to fcb1 -; 0a pointer to fcb2 -setup_block: mov ax, [envseg] - mov [ex_envseg], ax - mov cx, cs - mov [word ptr ex_cmdtail], offset cmdtail - mov [word ptr ex_cmdtail+2], cx - -; set up registers for exec call -; ds:dx - pointer to pathname of program to execute -; es:bx - pointer to above parameter block - mov dx, offset cmdpath - mov es, cx - mov bx, offset exec_block - -; Under DOS 2.x exec is notorious for clobbering registers and guarantees -; to preserve only cs:ip. - push ds - mov [ex_sp], sp - mov [ex_ss], ss - mov [ex_error], 0 ; clear exec error code - inc [in_exec] ; set internal flag - mov ax, 04b00H - int 21H - -; returned from exec, so restore possibly clobbered registers. - mov ss, cs:ex_ss - mov sp, cs:ex_sp - pop ds - -; check to make certain the exec call worked. - jnc it_worked - -; exec call failed. Save return code from msdos. - mov [ex_error], ax - jmp leave_exec - -it_worked: mov ah, 04dH ; get the return code - int 21H - cmp ah,1 ; check if terminated by ^C - jnz nosigint - inc interrupted ; yes so set flag -nosigint: xor ah, ah ; 8-bit return code, so clear ah - mov [eretcode], ax - -leave_exec: cmp [swap], 0 ; check swap, if non-zero swap back in - je no_swap_in - call swap_in - -; Clear the in_exec after the swap back in. This way we are guaranteed to -; get parent in and the resources freed should a ^C be hit when we are reading -; the image in. -no_swap_in: mov [in_exec], 0 - ret -do_exec endp - - - -;============================================================================== -; Everything past this point is overwriten with the environment and new -; program after the currently executing program is swapped out. -;============================================================================== -overlay_code_here label word - -;----------------------------------------------------------------------------- -; Figure out where we can swap to and initialize the resource we are going to -; use. We try XMS, EMS, and a tempfile (if specified), in that order. We set -; [cs:swap] to the correct value based on which of the resources exists. -; If none can be used, then [cs:swap] is set to 0, and no swap takes place. -; The exec code will still attempt to execute the child in this instance, but -; may fail due to lack of resources. Each swap_out_* routine must provide -; its own clean-up handler should it not be able to write all program -; segments to the swap resource. -init_swap proc near - mov [swap], 0 -;call init_xms -;jnc init_done -;call init_ems -;jnc init_done - call init_file -init_done: ret -init_swap endp - - -;----------------------------------------------------------------------------- -; This routine is used to walk the DOS allocated memory block chain -; starting at address supplied in the es register. For each block it -; calls the routine specified by the bx register with the segment length -; in si, and its address in di. It does not apply the routine to the -; segment if the segment is the same as the current program's [cs:psp] value. -memheader struc - magic db ? ; either 'Z' for end or 'M' for allocated - owner dw ? ; psp of owner block - len dw ? ; length in paragraphs of segment -memheader ends - -walk_arena_chain proc near - mov si, word ptr es:3 ; get length - mov di, es - inc di - mov ax, word ptr es:1 - -; Stop the search if the block is NOT owned by us. Ignore our own psp block -; and our environment segment block. - cmp ax, cs:psp ; is it owned by us? - jne walk_done ; NOPE! -- all done - cmp di, cs:envseg ; skip our environment - je next_block - cmp di, cs:psp ; skip our psp - je next_block - -; Now save state and call the routine pointed at by [bx]. - push di - push si - push bx - call bx - pop bx - pop si - pop di - jc exit_walk ; if error then stop - mov al, byte ptr es:0 ; check if at end - cmp al, 'Z' - je walk_done - -next_block: add di, si ; go on to next segment - mov es, di - jmp walk_arena_chain -walk_done: clc -exit_walk: ret -walk_arena_chain endp - - -;----------------------------------------------------------------------------- -; This routine takes a dos segment found in the di register and free's it. -free_dos_segment proc near - mov es, di ; free dos memory block - mov ah, 49H - int 21H - ret -free_dos_segment endp - - -;----------------------------------------------------------------------------- -; Called to invoke write_segment with proper values in the al register. Only -; ever called from walk_arena_chain, and so al should be set to seg_alloc. -write_segment_data label near - mov al, seg_alloc ; and fall through into write_segment -;----------------------------------------------------------------------------- -; This routine writes a segment as a block of data segments if the number of -; paragraphs to write exceeds 0x0fff (rarely the case). -; It stuffs the info into tmpseg, and then calls wheader and wseg to get the -; data out. -; -; di:dx segment:offset of segment; offset is ALWAYS zero. -; si number of paragraphs to write. -; al mode of header to write -write_segment proc near - push di - push si - xor dx,dx - mov bx, [swap] - call [write_header+bx] - pop si - pop di - jc exit_wseg - -do_io_loop: cmp si, 0 ; are we done yet? - je exit_wseg ; yup so leave. - mov cx, si ; # of paragraphs to move - cmp cx, 0fffH ; see if we have lots to move? - jle do_io - mov cx, 0fffH ; reset to max I/O size - -do_io: push cx ; save # of paragraphs we are writing - shl cx, 1 ; shift cx by four to the left - shl cx, 1 - shl cx, 1 - shl cx, 1 - push di ; save the start, and count left - push si - mov si, cx - xor dx,dx - mov al, seg_data - mov bx, [swap] - push bx - call [write_header+bx] - pop bx - call [write_seg+bx] - pop si - pop di - pop dx ; original paragraph count in dx - jc exit_wseg ; it failed so exit. - add di, dx ; adjust the pointers, and continue. - sub si, dx - jmp do_io_loop -exit_wseg: ret -write_segment endp - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO WRITE XMS RECORDS. -;============================================================================= -init_xms proc near - ret -init_xms endp - -whdr_xms proc near - ret -whdr_xms endp - -wseg_xms proc near - ret -wseg_xms endp -;============================================================================= - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO WRITE EMS RECORDS. -;============================================================================= -init_ems proc near - ret -init_ems endp - -whdr_ems proc near - ret -whdr_ems endp - -wseg_ems proc near - ret -wseg_ems endp -;============================================================================= - - -;============================================================================= -; THE FOLLOWING SECTION DEALS WITH ALL ROUTINES REQUIRED TO WRITE FILES. -;============================================================================= -;----------------------------------------------------------------------------- -; Attempt to create a temporary file. If the tempfile name is NIL then return -; with the cary flag set. -init_file proc near - mov al, [tmpname] - or al, al - je err_init_file - mov dx, offset tmpname - xor cx, cx - mov ah, 03cH - int 21H - jc err_init_file ; if carry set then failure - mov [tmphandle], ax ; init swapping - mov [swap], swap_file - jmp exit_init_file -err_init_file: stc -exit_init_file: ret -init_file endp - - -;----------------------------------------------------------------------------- -; This routine writes a segment header to a file. -; The header is a seven byte record formatted as follows: -; segment address - of data -; offset address - of data -; length in paragraphs - of data -; mode - 1 => segment header (allocate seg on read) -; 0 => subsegment, don't allocate on read. -; Routine takes three arguments: -; di:dx segment:offset of segment -; si number of paragraphs to write. -; al mode of header to write -whdr_file proc near - mov [word ptr tmpseg], di ; save the segment/offset - mov [word ptr tmpseg+2], dx - mov [word ptr tmpseg+4], si ; save the segment length - mov [tmpseg+6], al - mov dx, offset tmpseg ; write the header record out - mov cx, 7 - mov bx, [tmphandle] - mov ah, 040H - int 21H - jc exit_whdr_file ; make sure it worked - cmp ax, 7 - je exit_whdr_file ; oh oh, disk is full! -err_whdr_file: stc -exit_whdr_file: ret -whdr_file endp - - -;----------------------------------------------------------------------------- -; Write a segment to the temporary file whose handle is in cs:tmphandle -; Parameters for the write are assumed to be stored in the tmpseg data area. -; function returns carry set if failed, carry clear otherwise. -wseg_file proc near - push ds - mov ds, word ptr cs:tmpseg ; Now write the whole segment - mov dx, word ptr cs:tmpseg+2 - mov cx, word ptr cs:tmpseg+4 - mov bx, cs:tmphandle - mov ah, 040H - int 21H - pop ds - jc exit_wseg_file ; make sure it worked - cmp ax, [word ptr tmpseg+4] - je exit_wseg_file -err_wseg_file: stc ; it failed (usually disk full) -exit_wseg_file: ret -wseg_file endp -;============================================================================= - - -;============================================================================= -; _exec: THIS IS THE MAIN ENTRY ROUTINE TO THIS MODULE -;============================================================================= -; This is the main entry routine into the swap code and corresponds to the -; following C function call: -; -; exec( int swap, char far *program, char far *cmdtail, int environment_seg, -; char far *tmpfilename ); -; -; Exec performs the following: -; 1. set up the local code segment copies of arguments to the exec call. -; 2. switch to a local stack frame so that we don't clobber the user -; stack. -; 3. save old interrupt vectors for ctrl-brk. -; 4. install our own handler for the ctrl-brk interrupt, our handler -; terminates the current running process, and returns with non-zero -; status code. -; 5. get our psp -; 6. setup arguments for exec call -; 7. exec the program, save result code on return. -; 8. restore previous ctrl-brk and crit-error handler. -; 9. restore previous process stack, and segment registers. -; 10. return from exec with child result code in AX -; and global _Interrupted flag set to true if child execution was -; interrupted. - -; NOTE: When first called the segments here assume the standard segment -; settings. - assume cs:@code, ds:DGROUP,es:DGROUP,ss:DGROUP - - public _exec -_exec proc - push bp ; set up the stack frame - mov bp, sp - push si ; save registers we shouldn't step on. - push di - push ds - -; set up for copying of parameters passed in with long pointers. - push cs ; going to use lodsb/stosb, set up es - pop es ; as destination. - assume es:@code ; let the assembler know :-) - cld ; make sure direction is right - -; Copy all parameters into the bottom of the code segment. After doing so we -; will immediately switch stacks, so that the user stack is preserved intact. - mov ax, ss:[a_swap] ; save swap - mov es:swap, ax - mov ax, ss:[a_env] ; save env seg to use - mov es:envseg, ax - - mov di, offset cs:cmdpath ; copy the command - lds si, ss:[a_prog] ; 65 bytes worth - mov cx, 65 - call copy_data - - mov di, offset cs:cmdtail ; copy the command tail - lds si, ss:[a_tail] ; 129 bytes worth - mov cx, 129 - call copy_data - - mov di, offset cs:tmpname ; copy the temp file name - lds si, ss:[a_tmp] ; 65 bytes worth. - mov cx, 65 - call copy_data - -; Now we save the current ss:sp stack pointer and swap stack to our temporary -; stack located in the current code segment. At the same time we reset the -; segment pointers to point into the code segment only. -swap_stacks: mov ax, ss - mov es:old_ss, ax - mov es:old_sp, sp - mov ax, cs - mov ds, ax - mov ss, ax ; set ss first, ints are then - mov sp, offset cs:exec_sp ; disabled for this instr too - assume ds:@code, ss:@code ; let the assembler know :-) - -; Now we save the old control break and critical error handler addresses. -; We replace them by our own routines found in the resident portion of the -; swapping exec code. -set_handlers: mov [interrupted], 0 ; clear interrupted flag - mov [eretcode], 0 ; clear the return code - mov ax, 03523H ; get int 23 handler address - int 21H - mov cs:old_ctl_brk_off, bx - mov cs:old_ctl_brk_seg, es - mov dx, offset ctl_brk_handler - mov ax, 02523H ; set int 23 handler address - int 21H - - mov ax, 03524H ; get int 24 handler address - int 21H - mov cs:old_crit_err_off, bx - mov cs:old_crit_err_seg, es - mov dx, offset crit_err_handler - mov ax, 02524H ; set int 24 handler address - int 21H - -; Go and execute the child, we've set up all of its parameters. The do_exec -; routine will attempt to perform a swap of the code if requested to do so by -; a non-zero value in the variable cs:swap. - mov ah, 051H ; get the psp - int 21H - mov cs:psp, bx - call do_exec - -; We're back from the exec, so fix things up the way they were. -; Restore the old control-break and critical-error handlers. - lds dx, cs:old_ctl_brk - mov ax, 02523H - int 21H - lds dx, cs:old_crit_err - mov ax, 02524H - int 21H - -; Restore previous program stack segment registers, and data segment. - mov ax, cs:old_ss - mov ss, ax ; mov into ss first, that way - mov sp, cs:old_sp ; no interrupts in this instr. - pop ds - -; Tell the assembler we have swaped segments again. - assume ds:DGROUP,es:DGROUP,ss:DGROUP - -; Set the global Interrupted flag so that parent can tell it was interrupted. - mov ax, seg DGROUP:_Interrupted - mov es, ax - mov ax, cs:interrupted - mov es:_Interrupted, ax - -; Set the global errno value to reflect the success/failure of the DOS -; exec call. - mov ax, seg DGROUP:_errno - mov es, ax - mov ax, cs:ex_error - mov es:_errno, ax - -; Fetch the child's return code, pop rest of stuff off of the stack -; and return to the caller. - mov ax, cs:eretcode - pop di - pop si - pop bp - ret -_exec endp - -; void do_hook_std_writes(int handle); -; This saves the 21h interrupt vector and changes it to point -; into this code. Argument is the file handle of the -C file. - - public _do_hook_std_writes -_do_hook_std_writes proc - push bp - mov bp,sp - push di - - mov di, ss:[a_handle] ; handle of -C file - mov std_fil_handle, di - - mov ah, 51h ; request our PSP - int 21h - mov [psp], bx ; save it - - mov es, bx - les bx, es:[34h] ; pointer to job file table - mov al, es:[bx+1] ; system file # of our stdout - mov [our_stdout], al - mov al, es:[bx+di] ; system file number of -C file - mov std_fil_number, al - - mov ax,3521h ; request vector 21h - int 21h ; it's returned in ES:BX - mov word ptr [real_21h], bx - mov word ptr [real_21h+2], es - - push ds - mov ax,cs - mov ds,ax - lea dx,our_21h_handler ; DS:DX is the new vector - mov ax,2521h ; set vector 21h - int 21h - - pop ds - pop di - pop bp - ret -_do_hook_std_writes endp - -; void do_unhook_std_writes(void); -; This restores the 21h interrupt vector. -; The saved vector is zero if it wasn't changed (no -C option). - - public _do_unhook_std_writes -_do_unhook_std_writes proc - push ds - - lds dx, [real_21h] ; put saved vector into DS:DX - mov ax, ds - or ax, dx - jz unhook_return ; zero means we didn't hook 21h - - mov ax,2521h ; set vector 21h - simulate_21h - -unhook_return: pop ds - ret -_do_unhook_std_writes endp -end diff --git a/dmake/msdos/exec.h b/dmake/msdos/exec.h deleted file mode 100644 index f603bc43d2cb..000000000000 --- a/dmake/msdos/exec.h +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: exec.h,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Internal version of exec for dmake. --- --- DESCRIPTION --- External defines for the exec.c code. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#ifndef _EXEC_h_ -#define _EXEC_h_ - -#ifndef ANSI -#if defined(__STDC__) || defined(__TURBOC__) -#define ANSI(x) x -#else -#define ANSI(x) () -#endif -#endif - -extern int exec ANSI((int, char far *, char far *, unsigned int, char far *)); - -#ifndef MK_FP -#define MK_FP(seg,ofs) \ - ((void far *) (((unsigned long)(seg) << 16) | (unsigned)(ofs))) -#endif - -#endif diff --git a/dmake/msdos/exec.uue b/dmake/msdos/exec.uue deleted file mode 100644 index 90a1c3e661e8..000000000000 --- a/dmake/msdos/exec.uue +++ /dev/null @@ -1,63 +0,0 @@ -begin 777 exec.obj -M@! #DU31$]37&5X96,N87-M;(@@ '%1U0# 05?97AE8^$& '.0&@ 1-?9&]?:&]O:U]S=&1?=W)I -M=&5SN < FH@$ $"B 9&@!@ !F ,&B#@ !7 $E $ 0 $ RJ(. &( -M 4$ 0 ! 0""H@X &5C.B!& -M86EL=7)E(')E861I;F<@F4-"B1E>&5C.B!&86EL=7)E('1O(&9R964@82!B;&]C:PT*)&5X -M96,Z(%!R;V=R86T@!HOL+HL^ -MT &T49PN_Q[, 2X['HP =&R.PR;%'C0 BW8,B@ N.@;3 75CB@$N.@;2 71* -MN SG"[_'LP!B_(KTK@!,YPN_Q[, 2Z+'HP M%"<+O\>S &+WXY> HM6#K1 -MG"[_'LP!C,.T4)PN_Q[, 8O6N $SG"[_'LP!ZQ".7@*+5@Z+W[1 G"[_'LP! -M!Q]?7EV#Q );6EE8G2[_+LP!@\0&6%M96EY?71\'58OLAT8�$ AT8&7;@% -M ,_X+O\&D@ N@SZ8 !T ?G/NM0!ZQR0NOD!ZQ:0NAX"ZQ"0NC@"ZPJ0NG4" -MZP20NE@"4HL>C@#_E[ "C,B.V%JT"R@&T -M/LTANH@!M$'-(<.+'I8 N %8S2&+'HX _Y>V HX&C "+'H0 M$K-(7,#Z4__ -MBQZ. /^7I )R**"' 3P =.\\ 743BQZ% ;1(S2%R!CL&@0%TV^DA_XL>C@#_ -MEZH"Z\Z+'HX _Y>P L.X %C-(:.6 (L^C ",RRO?B\=(CL FBS8# (DVA "X -MYP71Z-'HT>C1Z /8*_,#^XD>A@")/H@ L #H'0%R,:&, $B.P+LD!NC+ '(C -MH8P 2([ NQT&Z+T

P C/ -MHXX ^<.#/HX '0(Z(, <@/H<_^#/I( '5FH8H "\!T"%".P+1)S2%8H8H -MH\0"C,G'!L8"VP")#L@"NIH CL&[Q (>B2;4 HP6T@+'!M8" #_!I@ N !+ -MS2$NCA;2 BZ+)M0"'W,&H]8"ZQ.0M$W-(8#\ 74$_P:2 #+DHY @SZ. !T -M ^B?_L<&F ,/'!HX #HE@##)HLV P",QT7W(Z@_X =#6+SH'Y_P]^ [G_#U'1X='AT>'1X5=6B_$S -MTK "BQZ. %/_EY@"6_^7G@)>7UIR!@/Z*_+KQL/#P\/#P\.@B $*P'07NH@! -M,\FT/,TA<@RCR@''!HX ! #K I#YPXD^@0&)%H,!(YR1 <065 '$)U0!Q"]4 -M <0T5 '$1U0!Q%!4 <1;5 '$:%0!Q&U4 <1U5 '$A50!Q(]4 <2:5 '$K%0! -MQ+Y4 <3A5 '$YE0!Q.Y4 <3T5 '$^E0!Q0!4 <4&5 '%#%0!Q1%4 <455 '% -M-E0!Q3U4 <585 '%750!Q6)4 <5G5 '%=%0!Q7Y4 <6,5 '%DU0!Q9Q4 <6E -M5 '%J50!Q:U4 <6Q5 '%OE0!Q<)4 <7'5 '%TU0!Q=U4 <865 '&/%0!QDI4 -M <7F5 '%ZE0!Q?!4 <7T5 '%_50!Q@%4 <835 '&*%0!QBQ4 <8V5 '&1%0! -MQE94 <9:5 '&:%0!QFQ4 <9Q5 '&=U0!QH94 <:,5 '&FU0!QIY4 <:D5 '& -MIE0!QJI4 <:M5 '&LE0!QK=4 <:[5 '&OU0!QL54 <;/5 '&U%0!QMI4 <;J -M5 '&[U0!QO-4 <;]5 ''!%0!QQM4 <-5 ''HE0!QZE4 <>T5 ''N%0!Q\-4 R@&T0,TA<@8]!P!T ?G#'BZ.'H$!+HL6@P$NBPZ% 2Z+'LH!M$#- -M(1]R!SL&A0%T ?G#58OL5E<>#@?\BT8&)J.. (M&$":CB@"_F@#%=@BY00#H -M]_R_VP#%=@RY@0#HZ_R_B '%=A*Y00#HW_R,T":C@ FB2:" (S(CMB.T+R -M ,<&D@ ,<&D +@C-O (NC :^ KJS [@C)C #HU?TNQ1:\ K@C) -M7C ".PR;$'C0 )HI' 2ZBTP$FB@$NHM(! -MN"$US2$NB1[, 2Z,!LX!'HS(CMBZV *X(27-(1]?7+L46S &,V O"= FX -M(26<+O\>S $?RPJ -#include -#include -#include -#include -#include -#include -#include "dosdta.h" - -#ifndef MK_FP -#define MK_FP(seg,ofs) ((void far *) \ - (((unsigned long)(seg) << 16) | (unsigned)(ofs))) -#endif -#ifndef FP_SEG -#define FP_SEG(fp) ((unsigned)((unsigned long)(fp) >> 16)) -#endif -#ifndef FP_OFF -#define FP_OFF(fp) ((unsigned)(fp)) -#endif - -int find_err; - -/* - * get/set dta address - */ - -static DTA far * -_getsetdta(newdta) -DTA far *newdta; -{ - DTA far *olddta; - union REGS r; - struct SREGS s; - - /* get old dta */ - r.h.ah = 0x2f; - intdos(&r, &r); - segread(&s); - olddta = (DTA far *) MK_FP(s.es, r.x.bx); - - /* conditionally set new dta */ - if (newdta) { - r.h.ah = 0x1a; - s.ds = FP_SEG(newdta); - r.x.dx = FP_OFF(newdta); - intdosx(&r, &r, &s); - } - - return olddta; -} - -/* - * dos findfirst - */ - -DTA * -findfirst(name, dta) -char *name; -DTA *dta; -{ - union REGS r; - struct SREGS s; - DTA far *dtasave; - char far *nmp = (char far *)name; - - dtasave = _getsetdta((DTA far *)dta); - - /* do directory lookup */ - segread(&s); - r.h.ah = 0x4e; - r.x.cx = 0x10; - r.x.dx = FP_OFF(nmp); - s.ds = FP_SEG(nmp); - intdosx(&r, &r, &s); - /* restore dta */ - _getsetdta(dtasave); - find_err = r.x.ax; - if (r.x.cflag) - return(NULL); - - return dta; -} - -/* - * dos findnext - */ - -DTA * -findnext(dta) -DTA *dta; -{ - union REGS r; - DTA far *dtasave; - - dtasave = _getsetdta((DTA far *)dta); - - /* do directory lookup */ - r.h.ah = 0x4f; - intdos(&r, &r); - /* restore old dta */ - _getsetdta(dtasave); - find_err = r.x.ax; - if (r.x.cflag) - return(NULL); - - return dta; -} diff --git a/dmake/msdos/microsft/config.h b/dmake/msdos/microsft/config.h deleted file mode 100644 index da2d7cbfc31f..000000000000 --- a/dmake/msdos/microsft/config.h +++ /dev/null @@ -1,77 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:37:29 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if defined (_MSC_VER) -# if _MSC_VER < 500 - Force a compile-time blowup. - Do not define "#define _MSC_VER" for MSC compilers earlier than 5.0. -# endif -#endif - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -#define coreleft() 0L - -/* MSC Version 4.0 doesn't understand SIGTERM, later versions do. */ -#ifndef SIGTERM -# define SIGTERM SIGINT -#endif - -/* Fixes unimplemented line buffering for MSC 5.x and 6.0. - * MSC _IOLBF is the same as _IOFBF - */ -#if defined(MSDOS) && defined (_MSC_VER) -# undef _IOLBF -# define _IOLBF _IONBF -#endif - -/* in alloc.h: size_t is redefined - * defined in stdio.h which is included by alloc.h - */ -#if defined(MSDOS) && defined (_MSC_VER) -# define _TYPES_ -#endif - -/* in sysintf.c: SIGQUIT is used, this is not defined in MSC */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* MSC doesn't seem to care about CONST */ -#define CONST - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Have to pull this in for the standard lib defines */ -#include diff --git a/dmake/msdos/microsft/config.mk b/dmake/msdos/microsft/config.mk deleted file mode 100644 index cd049cd471af..000000000000 --- a/dmake/msdos/microsft/config.mk +++ /dev/null @@ -1,59 +0,0 @@ -# This is the MSC 4.0 and higher DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -TMPDIR := -.EXPORT : TMPDIR - -# Definition of macros for library, and C startup code. - -# The following sources are required for MSC -OSR_SRC = tempnam.c -.SETDIR=$(osrdir) : $(OSR_SRC) - -SRC += $(OSR_SRC) -.SOURCE.h : $(osrdir) - -SET_STACK = -stack:4096 -NDB_LDFLAGS += $(SET_STACK) - -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Microsoft C doesn't need tail but needs head -LDTAIL = ; -LDHEAD = - -# Debugging libraries -DB_LDFLAGS += -co -li -map $(SET_STACK) -DB_LDLIBS += - -# NO Debug MSC flags: -# Set the environment variable MSC_VER to be one of 5.1, 6.0, 8.0 (for VC++4.0) -# to get these by default when you make dmake using 'dmake'. -# -# Setting MSC_VER to one of the above sets the variable _MSC_VER appropriately -# and sets the flags appropriately. - -CFLAGS += -I$(osrdir) $(C_$(MODEL)) -nologo -DB_CFLAGS += -Zi - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -C_s = -C_m = -AM -C_c = -AC -C_l = -AL - -S_s = -Dmsmall -S_m = -Dmmedium -S_c = -Dmcompact -S_l = -Dmlarge diff --git a/dmake/msdos/microsft/msc51/config.mk b/dmake/msdos/microsft/msc51/config.mk deleted file mode 100644 index beaae0dfea97..000000000000 --- a/dmake/msdos/microsft/msc51/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 5.1 - -CFLAGS += -I$(osedir) -D_MSC_VER=$(MSC_VER:s,.,,)0 - -NDB_CFLAGS += -Oscl -Gs -NDB_LDFLAGS += -exe -packc -batch -NDB_LDLIBS += diff --git a/dmake/msdos/microsft/msc51/lib.rsp b/dmake/msdos/microsft/msc51/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/microsft/msc51/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/microsft/msc51/libswp.rsp b/dmake/msdos/microsft/msc51/libswp.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/microsft/msc51/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/microsft/msc51/mk.bat b/dmake/msdos/microsft/msc51/mk.bat deleted file mode 100755 index b111d6e62f01..000000000000 --- a/dmake/msdos/microsft/msc51/mk.bat +++ /dev/null @@ -1,102 +0,0 @@ -md objects -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs infer.c -copy infer.obj objects -del infer.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs make.c -copy make.obj objects -del make.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs stat.c -copy stat.obj objects -del stat.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs expand.c -copy expand.obj objects -del expand.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmstring.c -copy dmstring.obj objects -del dmstring.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs hash.c -copy hash.obj objects -del hash.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dag.c -copy dag.obj objects -del dag.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmake.c -copy dmake.obj objects -del dmake.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs path.c -copy path.obj objects -del path.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs imacs.c -copy imacs.obj objects -del imacs.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs sysintf.c -copy sysintf.obj objects -del sysintf.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs parse.c -copy parse.obj objects -del parse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs getinp.c -copy getinp.obj objects -del getinp.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs quit.c -copy quit.obj objects -del quit.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs state.c -copy state.obj objects -del state.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmdump.c -copy dmdump.obj objects -del dmdump.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs macparse.c -copy macparse.obj objects -del macparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs rulparse.c -copy rulparse.obj objects -del rulparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs percent.c -copy percent.obj objects -del percent.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs function.c -copy function.obj objects -del function.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\runargv.c -copy runargv.obj objects -del runargv.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\arlib.c -copy arlib.obj objects -del arlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\switchar.c -copy switchar.obj objects -del switchar.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\tee.c -copy tee.obj objects -del tee.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\find.c -copy find.obj objects -del find.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs unix\dcache.c -copy dcache.obj objects -del dcache.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\microsft\tempnam.c -copy tempnam.obj objects -del tempnam.obj -link /stack:4096/exe/packc/batch @msdos\microsft\msc51\obj.rsp,dmake.exe,NUL.MAP; -copy msdos\microsft\msc51\template.mk startup\config.mk diff --git a/dmake/msdos/microsft/msc51/mkswp.bat b/dmake/msdos/microsft/msc51/mkswp.bat deleted file mode 100755 index 5ab14d3517e5..000000000000 --- a/dmake/msdos/microsft/msc51/mkswp.bat +++ /dev/null @@ -1,104 +0,0 @@ -md objects -masm -t -mx -Dmlarge msdos\exec.asm,,,; -mv exec.obj objects -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs infer.c -copy infer.obj objects -del infer.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs make.c -copy make.obj objects -del make.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs stat.c -copy stat.obj objects -del stat.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs expand.c -copy expand.obj objects -del expand.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmstring.c -copy dmstring.obj objects -del dmstring.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs hash.c -copy hash.obj objects -del hash.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dag.c -copy dag.obj objects -del dag.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmake.c -copy dmake.obj objects -del dmake.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs path.c -copy path.obj objects -del path.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs imacs.c -copy imacs.obj objects -del imacs.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs sysintf.c -copy sysintf.obj objects -del sysintf.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs parse.c -copy parse.obj objects -del parse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs getinp.c -copy getinp.obj objects -del getinp.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs quit.c -copy quit.obj objects -del quit.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs state.c -copy state.obj objects -del state.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs dmdump.c -copy dmdump.obj objects -del dmdump.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs macparse.c -copy macparse.obj objects -del macparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs rulparse.c -copy rulparse.obj objects -del rulparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs percent.c -copy percent.obj objects -del percent.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs function.c -copy function.obj objects -del function.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\runargv.c -copy runargv.obj objects -del runargv.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\arlib.c -copy arlib.obj objects -del arlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\switchar.c -copy switchar.obj objects -del switchar.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\spawn.c -copy spawn.obj objects -del spawn.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\find.c -copy find.obj objects -del find.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs unix\dcache.c -copy dcache.obj objects -del dcache.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc51 -D_MSC_VER=510 -Oscl -Gs msdos\microsft\tempnam.c -copy tempnam.obj objects -del tempnam.obj -link /stack:4096/exe/packc/batch @msdos\microsft\msc51\objswp.rsp,dmake.exe,NUL.MAP; -copy msdos\microsft\msc51\template.mk startup\config.mk diff --git a/dmake/msdos/microsft/msc51/obj.rsp b/dmake/msdos/microsft/msc51/obj.rsp deleted file mode 100644 index 8f79a32754c9..000000000000 --- a/dmake/msdos/microsft/msc51/obj.rsp +++ /dev/null @@ -1,33 +0,0 @@ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\tee.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj diff --git a/dmake/msdos/microsft/msc51/objswp.rsp b/dmake/msdos/microsft/msc51/objswp.rsp deleted file mode 100644 index 54524124d236..000000000000 --- a/dmake/msdos/microsft/msc51/objswp.rsp +++ /dev/null @@ -1,34 +0,0 @@ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj diff --git a/dmake/msdos/microsft/msc51/public.h b/dmake/msdos/microsft/msc51/public.h deleted file mode 100644 index c0c08e12cb82..000000000000 --- a/dmake/msdos/microsft/msc51/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:44:44 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/microsft/msc51/template.mk b/dmake/msdos/microsft/msc51/template.mk deleted file mode 100644 index 7174197d6284..000000000000 --- a/dmake/msdos/microsft/msc51/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= microsft - OSENVIRONMENT *:= msc51 diff --git a/dmake/msdos/microsft/msc60/config.mk b/dmake/msdos/microsft/msc60/config.mk deleted file mode 100644 index 5b206bec34bd..000000000000 --- a/dmake/msdos/microsft/msc60/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 6.0 - -CFLAGS += -I$(osedir) -D_MSC_VER=$(MSC_VER:s,.,,)0 - -NDB_CFLAGS += -Osecgl -Gs -NDB_LDFLAGS += -exe -packc -batch -NDB_LDLIBS += diff --git a/dmake/msdos/microsft/msc60/lib.rsp b/dmake/msdos/microsft/msc60/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/microsft/msc60/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/microsft/msc60/libswp.rsp b/dmake/msdos/microsft/msc60/libswp.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/microsft/msc60/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/microsft/msc60/mk.bat b/dmake/msdos/microsft/msc60/mk.bat deleted file mode 100755 index c260b6d54abd..000000000000 --- a/dmake/msdos/microsft/msc60/mk.bat +++ /dev/null @@ -1,102 +0,0 @@ -md objects -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs infer.c -copy infer.obj objects -del infer.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs make.c -copy make.obj objects -del make.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs stat.c -copy stat.obj objects -del stat.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs expand.c -copy expand.obj objects -del expand.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmstring.c -copy dmstring.obj objects -del dmstring.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs hash.c -copy hash.obj objects -del hash.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dag.c -copy dag.obj objects -del dag.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmake.c -copy dmake.obj objects -del dmake.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs path.c -copy path.obj objects -del path.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs imacs.c -copy imacs.obj objects -del imacs.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs sysintf.c -copy sysintf.obj objects -del sysintf.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs parse.c -copy parse.obj objects -del parse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs getinp.c -copy getinp.obj objects -del getinp.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs quit.c -copy quit.obj objects -del quit.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs state.c -copy state.obj objects -del state.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmdump.c -copy dmdump.obj objects -del dmdump.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs macparse.c -copy macparse.obj objects -del macparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs rulparse.c -copy rulparse.obj objects -del rulparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs percent.c -copy percent.obj objects -del percent.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs function.c -copy function.obj objects -del function.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\runargv.c -copy runargv.obj objects -del runargv.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\arlib.c -copy arlib.obj objects -del arlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\switchar.c -copy switchar.obj objects -del switchar.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\tee.c -copy tee.obj objects -del tee.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\find.c -copy find.obj objects -del find.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs unix\dcache.c -copy dcache.obj objects -del dcache.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\microsft\tempnam.c -copy tempnam.obj objects -del tempnam.obj -link /stack:4096/exe/packc/batch @msdos\microsft\msc60\obj.rsp,dmake.exe,NUL.MAP; -copy msdos\microsft\msc60\template.mk startup\config.mk diff --git a/dmake/msdos/microsft/msc60/mkswp.bat b/dmake/msdos/microsft/msc60/mkswp.bat deleted file mode 100755 index 6b9ed76a5085..000000000000 --- a/dmake/msdos/microsft/msc60/mkswp.bat +++ /dev/null @@ -1,104 +0,0 @@ -md objects -masm -t -mx -Dmlarge msdos\exec.asm,,,; -mv exec.obj objects -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs infer.c -copy infer.obj objects -del infer.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs make.c -copy make.obj objects -del make.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs stat.c -copy stat.obj objects -del stat.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs expand.c -copy expand.obj objects -del expand.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmstring.c -copy dmstring.obj objects -del dmstring.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs hash.c -copy hash.obj objects -del hash.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dag.c -copy dag.obj objects -del dag.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmake.c -copy dmake.obj objects -del dmake.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs path.c -copy path.obj objects -del path.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs imacs.c -copy imacs.obj objects -del imacs.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs sysintf.c -copy sysintf.obj objects -del sysintf.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs parse.c -copy parse.obj objects -del parse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs getinp.c -copy getinp.obj objects -del getinp.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs quit.c -copy quit.obj objects -del quit.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs state.c -copy state.obj objects -del state.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs dmdump.c -copy dmdump.obj objects -del dmdump.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs macparse.c -copy macparse.obj objects -del macparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs rulparse.c -copy rulparse.obj objects -del rulparse.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs percent.c -copy percent.obj objects -del percent.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs function.c -copy function.obj objects -del function.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\ruletab.c -copy ruletab.obj objects -del ruletab.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\runargv.c -copy runargv.obj objects -del runargv.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\arlib.c -copy arlib.obj objects -del arlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dchdir.c -copy dchdir.obj objects -del dchdir.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\switchar.c -copy switchar.obj objects -del switchar.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\rmprq.c -copy rmprq.obj objects -del rmprq.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\spawn.c -copy spawn.obj objects -del spawn.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\find.c -copy find.obj objects -del find.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dirlib.c -copy dirlib.obj objects -del dirlib.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs unix\dcache.c -copy dcache.obj objects -del dcache.obj -cl -c -I. -Imsdos -Imsdos\microsft -AL -nologo -Imsdos\microsft\msc60 -D_MSC_VER=600 -Osecgl -Gs msdos\microsft\tempnam.c -copy tempnam.obj objects -del tempnam.obj -link /stack:4096/exe/packc/batch @msdos\microsft\msc60\objswp.rsp,dmake.exe,NUL.MAP; -copy msdos\microsft\msc60\template.mk startup\config.mk diff --git a/dmake/msdos/microsft/msc60/obj.rsp b/dmake/msdos/microsft/msc60/obj.rsp deleted file mode 100644 index 8f79a32754c9..000000000000 --- a/dmake/msdos/microsft/msc60/obj.rsp +++ /dev/null @@ -1,33 +0,0 @@ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\tee.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj diff --git a/dmake/msdos/microsft/msc60/objswp.rsp b/dmake/msdos/microsft/msc60/objswp.rsp deleted file mode 100644 index 54524124d236..000000000000 --- a/dmake/msdos/microsft/msc60/objswp.rsp +++ /dev/null @@ -1,34 +0,0 @@ -objects\exec.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\spawn.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj diff --git a/dmake/msdos/microsft/msc60/public.h b/dmake/msdos/microsft/msc60/public.h deleted file mode 100644 index dbf2e595fe8e..000000000000 --- a/dmake/msdos/microsft/msc60/public.h +++ /dev/null @@ -1,170 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:44:56 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int spawnvpe ANSI((int, char *, char **, char **)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/microsft/msc60/template.mk b/dmake/msdos/microsft/msc60/template.mk deleted file mode 100644 index a147c694c5f7..000000000000 --- a/dmake/msdos/microsft/msc60/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= msdos - OSRELEASE *:= microsft - OSENVIRONMENT *:= msc60 diff --git a/dmake/msdos/microsft/optoff.h b/dmake/msdos/microsft/optoff.h deleted file mode 100644 index b2426a1259ba..000000000000 --- a/dmake/msdos/microsft/optoff.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: optoff.h,v 1.1.1.1 2000-09-22 15:33:29 hr Exp $ --- --- SYNOPSIS --- Turn off microsoft loop optimization. --- --- DESCRIPTION --- This is broken in some pre 600 compilers so just turn it off. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#if _MSC_VER < 600 -# pragma loop_opt(off) -#endif diff --git a/dmake/msdos/microsft/tempnam.c b/dmake/msdos/microsft/tempnam.c deleted file mode 100644 index 1a105c6b0f3a..000000000000 --- a/dmake/msdos/microsft/tempnam.c +++ /dev/null @@ -1,110 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:29 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/msdos/rmprq.c b/dmake/msdos/rmprq.c deleted file mode 100644 index 28fa1e392811..000000000000 --- a/dmake/msdos/rmprq.c +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: rmprq.c,v 1.2 2008-03-05 18:35:28 kz Exp $ --- --- SYNOPSIS --- Remove prerequisites code. --- --- DESCRIPTION --- This code is different for DOS and for UNIX and parallel make --- architectures since the parallel case requires the rm's to be --- run in parallel, whereas DOS guarantees to run them sequentially. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if defined(USE_CREATEPROCESS) -/* MSVC6.0 and newer and MinGW use the parallel build enabled runargv(). */ -Force a compile-time blowup. -This file should not be used, use unix/rmprq.c instead. -#endif - -#include "extern.h" - -PUBLIC void -Remove_prq( tcp ) -CELLPTR tcp; -{ - tcp->ce_flag &= ~(F_MADE|F_VISITED); - tcp->ce_time = 0L; - - Make( tcp, tcp ); -} diff --git a/dmake/msdos/ruletab.c b/dmake/msdos/ruletab.c deleted file mode 100644 index 524723415b32..000000000000 --- a/dmake/msdos/ruletab.c +++ /dev/null @@ -1,45 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.2 2006-04-20 12:06:11 hr Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -#include - -static char *_rules[] = { - "MAXLINELENGTH := 2046", - "MAXPROCESSLIMIT := 1", - "MAXPROCESS := 1", - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk makefile", - ".SOURCE : .NULL", -#include "startup.h" - (char *)NULL }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/msdos/runargv.c b/dmake/msdos/runargv.c deleted file mode 100644 index 373b075c3fc5..000000000000 --- a/dmake/msdos/runargv.c +++ /dev/null @@ -1,188 +0,0 @@ -/* RCS $Id: runargv.c,v 1.6 2008-03-05 18:35:53 kz Exp $ --- --- SYNOPSIS --- Run a sub process. --- --- DESCRIPTION --- Use spawn to run a subprocess. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if defined(USE_CREATEPROCESS) -/* MSVC6.0 and newer and MinGW use the parallel build enabled runargv(). */ -Force a compile-time blowup. -This file should not be used, use unix/runargv.c instead. -#endif - -#include -#include -#include "extern.h" -#include "sysintf.h" - -static int _abort_flg = FALSE; -static void _add_child ANSI((CELLPTR, int)); -static void _finished_child ANSI((int)); - -PUBLIC int -runargv(target, group, last, cmnd_attr, cmd) -CELLPTR target; -int group; -int last; -t_attr cmnd_attr; /* Attributes for current cmnd. */ -char **cmd; /* Simulate a reference to *cmd. */ -{ - int ignore = (cmnd_attr & A_IGNORE)!= 0; /* Ignore errors ('-'). */ - int shell = (cmnd_attr & A_SHELL) != 0; /* Use shell ('+'). */ - int mute = (cmnd_attr & A_MUTE) != 0; /* Mute output ('@@'). */ -#if ! defined(_MSC_VER) -#if defined(__BORLANDC__) && __BORLANDC__ >= 0x500 - extern char ** _RTLENTRY _EXPDATA environ; -#else - extern char **environ; -#endif -#endif - int status; - char **argv; - int old_stdout = -1; /* For redirecting shell escapes */ - int old_stderr = -1; /* and silencing @@-recipes */ - char *tcmd = *cmd; /* For saver/easier string arithmetic on *cmd. */ - - if( Measure & M_RECIPE ) - Do_profile_output( "s", M_RECIPE, target ); - - _add_child(target, ignore); - - /* redirect output for _exec_shell / @@-recipes. */ - if( Is_exec_shell ) { - /* Add error checking? */ - old_stdout = dup(1); - dup2( fileno(stdout_redir), 1 ); - } - if( mute ) { - old_stderr = dup(2); - dup2( zerofd, 2 ); - - if( !Is_exec_shell ) { - old_stdout = dup(1); - dup2( zerofd, 1 ); - } - } - - /* Return immediately for empty line or noop command. */ - if ( !*tcmd || /* empty line */ - ( strncmp(tcmd, "noop", 4) == 0 && /* noop command */ - (iswhite(tcmd[4]) || tcmd[4] == '\0')) ) { - status = 0; - } - else if( !shell && /* internal echo only if not in shell */ - strncmp(tcmd, "echo", 4) == 0 && - (iswhite(tcmd[4]) || tcmd[4] == '\0') ) { - int nl = 1; - - tcmd = tcmd + 4; - - while( iswhite(*tcmd) ) ++tcmd; - if ( strncmp(tcmd,"-n",2 ) == 0) { - nl = 0; - tcmd = tcmd+2; - while( iswhite(*tcmd) ) ++tcmd; - } - printf("%s%s", tcmd, nl ? "\n" : ""); - fflush(stdout); - status = 0; - } - else { - argv = Pack_argv( group, shell, cmd ); - Packed_shell = shell||group; - - /* The last two arguments would need (const char *const *) casts - * to silence the warning when building with MinGW. */ - status = spawnvpe(P_WAIT, *argv, argv, environ); - } - - /* Restore stdout/stderr if needed. */ - if( old_stdout != -1 ) { - dup2(old_stdout, 1); - if( old_stderr != -1 ) - dup2(old_stderr, 2); - } - - if( status == -1 ) { - /* spawnvpe failed */ - fprintf(stderr, "%s: Error executing '%s': %s", - Pname, argv[0], strerror(errno) ); - if( ignore||Continue ) { - fprintf(stderr, " (Ignored)" ); - } - fprintf(stderr, "\n"); - } - - if( Measure & M_RECIPE ) - Do_profile_output( "e", M_RECIPE, target ); - - _finished_child(status); - if( last && !Doing_bang ) Update_time_stamp( target ); - - return( 0 ); -} - - -PUBLIC void -Clean_up_processes() -{ - _abort_flg = TRUE; - _finished_child(-1); -} - - -PUBLIC int -Wait_for_child( abort_flg, pid ) -int abort_flg; -int pid; -{ - /* There is currently no parallel processing for this OS, always - * return -1 indicating that there was nothing to wait for. */ - return(-1); -} - - -static int _valid = -1; -static CELLPTR _tg; -static int _ignore; - -static void -_add_child( target, ignore ) -CELLPTR target; -int ignore; -{ - _tg = target; - _ignore = ignore; - _valid = 0; - - Current_target = NIL(CELL); -} - - -static void -_finished_child(status) -int status; -{ - if( _valid == -1 ) return; - _valid = -1; - Handle_result( status, _ignore, _abort_flg, _tg ); -} diff --git a/dmake/msdos/spawn.c b/dmake/msdos/spawn.c deleted file mode 100644 index bc6bb4c64783..000000000000 --- a/dmake/msdos/spawn.c +++ /dev/null @@ -1,415 +0,0 @@ -/* RCS $Id: spawn.c,v 1.3 2007-10-15 15:43:28 ihi Exp $ --- --- SYNOPSIS --- Spawnvpe code to emulate spawnvpe call common to DOS compilers. --- --- DESCRIPTION --- This implementation is further integrated into dmake in that it --- determines the program to execute and if it's extension is either --- .bat or .ksh it executes it using the appropriate shell based on the --- setting of .MKSARGS. If .MKSARGS is set then in addition --- to the command tail getting built the arguments are also passed in the --- environment pursuant to the published MKS argument passing conventions. --- If the variable Swap_on_exec is set and the DOS OS supports it --- then the dmake executable image is swapped to secondary storage prior --- to running the child process. This is requested by setting the --- appropriate flag in the call to exec. --- --- This and the exec.asm routine are derived from work that was supplied --- to me by Kent Williams (williams@umaxc.weeg.uiowa.edu) and by --- Len Reed, (..!gatech!holos0!lbr or holos0!lbr@gatech.edu., Holos --- Software, Inc., Tucker, Ga.). I sincerely acknowledge their help since --- their Turbo C, and MSC 6.0 code lead directly to this combined --- swapping exec that hopefully works with either compiler in all memory --- models. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include - -#if defined(_MSC_VER) && _MSC_VER >= 600 - /* Ignore the MSC 6.0 library's "const"-riddled prototype - for spawnvpe. - */ -# define spawnvpe _ignore_msc_spawnvpe -# include -# undef spawnvpe - int spawnvpe(int, char *, char **, char **); -#else -# include -#endif - -#include -#include -#include -#include -#include -#include "extern.h" -#include "dosdta.h" -#include "exec.h" -#include "sysintf.h" - -extern int Interrupted; - -/* variables and functions local to this file */ -static char *_findexec ANSI((char *, int *)); -static char **_getpath ANSI(()); -static char far *_dos_alloc ANSI((uint16)); - -static uint16 _swap_mask; -static int _mks_args; -static char dot_com[] = ".COM", - dot_exe[] = ".EXE", - dot_bat[] = ".BAT", - dot_ksh[] = ".KSH"; - -/* Kinds of executables */ -#define SCR 1 -#define COM 2 -#define EXE 4 -#define ALL (SCR|COM|EXE) - -/* How to make a long pointer */ -#define CF(x) (char far *)x - -/* Make sure we know how to get a segment out of a long pointer */ -#ifndef FP_SEG -#define FP_SEG(fp) ((unsigned)((unsigned long)(fp) >> 16)) -#endif - -iz81252 changed the parameters for Pack_argv() but this file did not get fixed! -PUBLIC int -spawnvpe(mode, program, av, ep)/* -================================= - Spawn a process using an environment and a vector of arguments. - The code computes a new environment, puts the MKS arguments into - it if need be, and calls the appropriate routines to search the - path and to invoke the process. */ -int mode; -char *program; -char **av; -char **ep; -{ - char pwd[PATH_MAX+1]; - char **envp = ep; /* Cause we are going to mess with it. */ - char **argv = av; /* Same with this one. */ - char cmdtail[129]; - char far *environment; - char *tail; - char *swptmp; - unsigned int envsize; - unsigned int cmdsize; - int cmdtailen; - int i; - int doswap; - - /* First check to see if we can find the program to execute this way we - * don't alloc the environment and other such stuff prior to figuring out - * we don't know how to run the program. */ -find_program: - if((program = _findexec(program, &i)) == NIL(char)) { - errno = ENOENT; - return( -1 ); - } - - /* i is set to TRUE in _findexec if the exec is a shell - * script (either .BAT or .KSH file), returns FALSE for all others. */ - if( i && !Packed_shell ) { - /* Restore the spaces into the command line that were erased by - * the previous call to Pack_argv. This enables us to repack the - * command as a shell command using Pack_argv again. */ - for( i=0; argv[i] != NIL(char); i++ ) { - int x = strlen(argv[i]); - if( argv[i+1] != NIL(char) ) argv[i][x] = ' '; - } - - argv = Pack_argv( FALSE, TRUE, *argv ); - Packed_shell = TRUE; /* Previous call implies shell = TRUE. */ - - /* Go and find the program again, I hate goto's but it seems silly to - * use tail recursion here just for aesthetic purity. */ - program = *argv; - goto find_program; - } - - /* Compute size of *argv vector for passing as MKS style arguments */ - cmdsize = strlen(*argv)+2; - - /* So we have decided on a program to run, therefore pack the command tail - * and build the environment to pass to the exec code. This loop packs the - * DOS command tail, and computes the size of all arguments for the MKS - * argument passing convention. Note that we reserve one less byte in the - * command tail if we are not using MKS style argument passing. - * - * Make sure the command tail contains at leat a space. Some commands fail - * to work if the command tail is only a \r, STUPID DOS! */ - cmdtailen = ((_mks_args = ((Glob_attr & A_MKSARGS) != 0)) != 0)?3:2; - tail = cmdtail+1; - - if( argv[1] != NIL(char) ) - for( i=1; argv[i] != NIL(char); i++ ) { - int arglen = strlen(argv[i]); - - cmdsize += arglen+2; /* Compute all args size for MKS */ - - if( (cmdtailen += arglen+1) <= 128 ) { - register char *p = argv[i]; - tail[-1] = ' '; /* put in the space */ - while( *tail++ = *p++ ); /* put in the arg */ - } - else if( !_mks_args ) { - errno = E2BIG; /* unless its MKS exit if arglist */ - return(-1); /* is too long. */ - } - } - else - *tail++ = ' '; - - /* Finish the command tail set up, placing the length in the first byte, - * and the \r \n \0 at the end for DOS, MKS and us respectively. */ - *cmdtail = tail-cmdtail-2; - tail[-1] = '\r'; - if( _mks_args ) *tail++ = '\n'; - *tail = '\0'; - - /* Compute size of environment, skipping any MKS arguments passed in our - * environment */ - for(; *envp && **envp == '~'; envp++ ); - for(i=0, envsize=_mks_args?cmdsize:1; envp[i] != NIL(char); i++ ) - envsize += strlen(envp[i]) + 1; - - /* Check the DOS version number here. If it is < 3.0 then we don't - * even want to think about executing the swapping code. Permanently - * set swap to 0. */ - doswap = (_osmajor < 3) ? 0 : Swap_on_exec; - - /* Set up temporary file for swapping */ - swptmp = doswap?tempnam(NIL(char),"mk"):""; - - /* Allocate an appropriate sized environment block and align it on a - * paragraph boundary. It will later get copied to an appropriately low - * place in the executable image so that when we swap out the environment - * is still present. Use - * _dos_alloc - * to allocate the environment segment. The segment is freed by the call - * to exec. */ - environment = _dos_alloc( envsize = ((envsize+16)>>4) ); - *environment = '\0'; - - /* First copy the arguments preceeded by ~ character if we are using - * MKS style argument passing */ - if( _mks_args ) - for(; *argv; argv++) { - register char *p = *argv; - - *environment++ = '~'; - while( *environment++ = *p++ ); /* Far dest, poss near ptr */ - } - - /* Now stick in the current evironment vectors. */ - for(; *envp; envp++) { - register char *p = *envp; - while( *environment++ = *p++ ); /* Far dest, poss near ptr */ - } - - /* Clear the interrupted flag, and exec */ - Interrupted = 0; - - /* Preserve the current working directory accross a spawn call - * DOS is brain dead about this. This way we have some hope of cleaning - * up the swapping tempfiles after we return. */ - strcpy(pwd,Get_current_dir()); - i = exec(doswap,CF(program),CF(cmdtail),FP_SEG(environment),CF(swptmp)); - Set_dir(pwd); - - /* Now free the temporary file name */ - if( doswap ) FREE(swptmp); - - /* If swap was interrupted then quit properly from dmake. */ - if( Interrupted ) Quit(); - - return(i); -} - - -PUBLIC void -Hook_std_writes( file ) -char *file; -{ - if( file!= NIL(char) ) { - int mode = O_BINARY | O_WRONLY | O_CREAT | O_TRUNC; - int handle; - - if (*file == '+') { - ++file; /* -F +file means append to file */ - mode = O_BINARY | O_WRONLY | O_CREAT | O_APPEND; - } - handle = open(file, mode, S_IREAD | S_IWRITE); - if (handle < 0) { - Fatal( "Could not open -F file"); - } - (void) lseek(handle, 0L, SEEK_END); - do_hook_std_writes(handle); - } - else - do_unhook_std_writes(); -} - - -/* -** _findexec finds executables on the path. -** Note that it is pretty simple to add support for other executable types -** shell scripts, etc. -** -** This follows the command.com behavior very closely. -*/ -static char * -_findexec( s, is_shell )/* -========================== - Cloned closely from code provided by Kent Williams. Stripped his down to - a reduced search since dmake doesn't need to recompute the PATH vector - each time it does the search since it cannot alter the path vector once - it begins to make recipes. Also modified it to use findfirst and findnext - as provided for dirlib package that I got off the net. */ -char *s; -int *is_shell; -{ - unsigned found_flags; - char **pathv = NIL(char *); - char *ext = NIL(char); - char *buf = NIL(char); - char *p[2]; - char *dot_scr; - char *dot; - - p[0] = ""; p[1] = NIL(char); - if( strchr("./\\", *s) || s[1] == ':' ) - pathv = p; - else if( (pathv = _getpath()) == NIL(char *) ) - return( NIL(char) ); - - /* Compute the extension we need if any. */ - if( (dot = strrchr(s,'.')) != NIL(char) && - dot > strrchr(s,'/') && dot > strrchr(s,'\\') ) - ext = dot+1; - - dot_scr = _mks_args ? dot_ksh : dot_bat; - *is_shell = FALSE; - - for( found_flags = 0; *pathv && !found_flags; pathv++ ) { - DTA dta; - - if( !ext ) { - char *name; - buf = Build_path( *pathv, name=DmStrJoin(s, ".???", -1, FALSE) ); - FREE(name); - } - else - buf = Build_path( *pathv, s ); - - if( findfirst((char *)strupr(buf), &dta) != NIL(DTA) ) { - if( !ext ) { - char *dot; - - /* search order is .com .exe (.ksh || .bat) - * there has to be a '.' */ - do { - dot = strrchr(dta.name,'.'); - if(0 == strcmp(dot,dot_com)) - found_flags |= COM; - else if(0 == strcmp(dot,dot_exe)) - found_flags |= EXE; - else if( 0 == strcmp(dot,dot_scr) ) - found_flags |= SCR; - } while( found_flags != ALL && findnext(&dta) != NIL(DTA) ); - - if(found_flags & COM) ext = dot_com; - else if(found_flags & EXE) ext = dot_exe; - else if(found_flags & SCR) { - ext = dot_scr; - *is_shell = TRUE; - } - - if( found_flags ) { - char *name; - buf = Build_path( *pathv, name=DmStrJoin(s,ext,-1,FALSE) ); - FREE(name); - strupr(buf); - } - } - else - found_flags++; - } - } - - return( found_flags ? buf : NIL(char) ); -} - - -/* -** getpath turns the DOS path into a char *vector, It is gotten and -** transformed only once since dmake can't modify the value of PATH while -** it is making targets. -*/ -static char ** -_getpath() -{ - static char **dir = NIL(char *); - register char *p; - - if( !dir ) { - register char *t; - int i; - char *semi = NIL(char); - - if( (p = getenv("PATH")) == NIL(char) ) p = ""; - for( i=1, t=p; *t; t++ ) if( *t == ';' ) i++; - - TALLOC(dir, i+1, char *); - p = DmStrDup(p); - - for( i=0; p; p = semi ? (semi+1):NIL(char),i++ ){ - if( (semi = strchr(p,';')) != NIL(char) ) *semi = '\0'; - dir[i] = p; - } - dir[i]=NIL(char); - } - - return( dir ); -} - - -static char far * -_dos_alloc( size )/* -==================== - This routine allocates size paragraphs from DOS. It changes the memory - allocation strategy to allocate from the tail and then changes it back. - to using first fit. */ -uint16 size; -{ - union REGS r; - - r.h.ah = 0x48; - r.x.bx = size; - - intdos( &r, &r ); - if( r.x.cflag ) No_ram(); - - return( (char far *) MK_FP(r.x.ax, 0) ); -} diff --git a/dmake/msdos/startup.h b/dmake/msdos/startup.h deleted file mode 100644 index 660285c4b19b..000000000000 --- a/dmake/msdos/startup.h +++ /dev/null @@ -1,26 +0,0 @@ -/* RCS $Id: startup.h,v 1.2 2006-04-20 12:06:36 hr Exp $ --- --- SYNOPSIS --- Dmake startup header file definition. --- --- DESCRIPTION --- Where we define the default value of MAKESTARTUP. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"MAKESTARTUP := $(DMAKEROOT)\\startup.mk", diff --git a/dmake/msdos/switchar.c b/dmake/msdos/switchar.c deleted file mode 100644 index 8879a9ad7c44..000000000000 --- a/dmake/msdos/switchar.c +++ /dev/null @@ -1,55 +0,0 @@ -/* RCS $Id: switchar.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- switch char query. --- --- DESCRIPTION --- Get the current value of the command line switch char. Only useful --- in a DOS environment, otherwise we #define it to be '-'. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#if defined(_MSC_VER) -#include -#endif -#include -#include -#include "stdmacs.h" - -getswitchar()/* -=============== - Try the environment first. If you don't find SWITCHAR there, then use - the DOS call. The call is undocumented, and doesn't work for DOS versions - 4.0 and up, so the check of the environment will fix that. */ -{ -#if defined(__MSDOS__) || defined(M_I86) - union REGS rg; - static char *_env_switchar = NIL(char); - - if( _env_switchar != NIL(char) || - (_env_switchar = (char *)getenv("SWITCHAR")) != NIL(char) ) - return(*_env_switchar); - - rg.h.ah = 0x37; /* switch char request */ - rg.h.al = 0; /* get (not set) */ - - intdos(&rg, &rg); - return (rg.h.dl); -#endif /* M_I86 */ - - return ('-'); -} diff --git a/dmake/msdos/sysintf.h b/dmake/msdos/sysintf.h deleted file mode 100644 index 9b7b45cdaab4..000000000000 --- a/dmake/msdos/sysintf.h +++ /dev/null @@ -1,52 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.2 2007-01-18 09:34:40 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp - -extern char * tempnam(); -extern char * getcwd(); - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX 12 - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX 64 diff --git a/dmake/msdos/tee.c b/dmake/msdos/tee.c deleted file mode 100644 index f2c8b5de6543..000000000000 --- a/dmake/msdos/tee.c +++ /dev/null @@ -1,31 +0,0 @@ -/* RCS $Id: tee.c,v 1.1.1.1 2000-09-22 15:33:27 hr Exp $ --- --- SYNOPSIS --- Hook_std_writes() dummy call for non swapping MSDOS versions. --- --- DESCRIPTION --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC void -Hook_std_writes( file ) -char *file; -{ -} diff --git a/dmake/msdos/zortech/config.h b/dmake/msdos/zortech/config.h deleted file mode 100644 index dabc8b014fe6..000000000000 --- a/dmake/msdos/zortech/config.h +++ /dev/null @@ -1,52 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:37:45 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* in sysintf.c: SIGQUIT is used, this is not defined in ZTC */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* in sysintf.c: tzset is not supported by ZTC */ -#define tzset() - -/* ZTC uses it's own swapping spawn. */ -#define spawnvpe(a,b,c,d) spawnvp(a,b,c) - -#ifndef CONST -# define CONST const -#endif - -#ifndef MSDOS -# define MSDOS 1 -#endif - -extern unsigned _psp; - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -#include diff --git a/dmake/msdos/zortech/config.mk b/dmake/msdos/zortech/config.mk deleted file mode 100644 index e947dc87620b..000000000000 --- a/dmake/msdos/zortech/config.mk +++ /dev/null @@ -1,73 +0,0 @@ -# This is the ZTC DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -TMPDIR := -.EXPORT : TMPDIR - -# Definition of macros for library, and C startup code. -# Swapping for DOS versions is enabled by default. ZTC will automatically -# perform swapping to XMS, EMS or disk by including _swapl.obj at link time. -# To be most effective, _swapl.obj should be the first file linked so we -# assign it to CSTARTUP if needed. -.IF $(SWAP) == y - CSTARTUP = _swapl.obj -.END - -# The following sources are required for ZTC -# The tempnam supplied with ZTC doesn't handle a NULL dir. -OSR_SRC = tempnam.c environ.c -.SETDIR=$(osrdir) : $(OSR_SRC) - -SRC += $(OSR_SRC) -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS -# If you have a 286, you can use -2 or appropriate to get better code, -# in that case uncomment the line below. (You can also simply set -# it in the CL environment variable.) -#CFLAGS += -2 -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Redefine this, it isn't needed! -LDTAIL = ; - -# Debugging libraries -DB_LDFLAGS += -g -DB_LDLIBS += - -# NO Debug ZTC flags: -# - -CFLAGS += -I$(osrdir) $(C_$(MODEL)) -CFLAGS += -DM_I86=1 -DMSDOS -CFLAGS += -b # use large compiler -#CFLAGS += -w # no warnings -CFLAGS += -mi # integer only -CFLAGS += -p # no auto-prototyping -NDB_CFLAGS += -o -DB_CFLAGS += -g - -# Redefine rule for making our objects, we don't need mv -%$O : %.c ;% $(CC) -c $(CFLAGS) -o$@ $< - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -C_s = -C_m = -mM -C_c = -mC -C_l = -mL - -S_s = -Dmsmall -S_m = -Dmmedium -S_c = -Dmcompact -S_l = -Dmlarge diff --git a/dmake/msdos/zortech/environ.c b/dmake/msdos/zortech/environ.c deleted file mode 100644 index c76d9a4831a6..000000000000 --- a/dmake/msdos/zortech/environ.c +++ /dev/null @@ -1,59 +0,0 @@ -/* RCS $Id: environ.c,v 1.1.1.1 2000-09-22 15:33:29 hr Exp $ --- --- SYNOPSIS --- environment routines. --- --- DESCRIPTION --- Someone thought that Zortech needs this. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -/*LINTLIBRARY*/ -#include -#include -#include -#include "alloc.h" - -/* ZTC++ doesn't have environ, so we have to create one. */ - -extern char *_envptr; -char **environ = { NULL }; - -void -make_env() -{ - int i; - char *cp; - - for (i = 0, cp = _envptr; *cp; i++, cp += strlen(cp)+1) - ; - - TALLOC(environ, i+1, char*); - - for (i = 0, cp = _envptr; *cp; i++, cp += strlen(cp)+1) - environ[i] = cp; - - return; -} - -void -free_env() -{ - FREE(environ); - - return; -} diff --git a/dmake/msdos/zortech/lib.rsp b/dmake/msdos/zortech/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/zortech/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/zortech/libswp.rsp b/dmake/msdos/zortech/libswp.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/msdos/zortech/libswp.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/msdos/zortech/mkswp.bat b/dmake/msdos/zortech/mkswp.bat deleted file mode 100755 index 60c12d37217e..000000000000 --- a/dmake/msdos/zortech/mkswp.bat +++ /dev/null @@ -1,36 +0,0 @@ -md objects -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\infer.obj infer.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\make.obj make.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\stat.obj stat.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\expand.obj expand.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dmstring.obj dmstring.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\hash.obj hash.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dag.obj dag.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dmake.obj dmake.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\path.obj path.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\imacs.obj imacs.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\sysintf.obj sysintf.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\parse.obj parse.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\getinp.obj getinp.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\quit.obj quit.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\state.obj state.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dmdump.obj dmdump.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\macparse.obj macparse.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\rulparse.obj rulparse.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\percent.obj percent.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\function.obj function.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\ruletab.obj msdos\ruletab.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dirbrk.obj msdos\dirbrk.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\runargv.obj msdos\runargv.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\arlib.obj msdos\arlib.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dchdir.obj msdos\dchdir.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\switchar.obj msdos\switchar.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\rmprq.obj msdos\rmprq.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\tee.obj msdos\tee.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\find.obj msdos\find.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dirlib.obj msdos\dirlib.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dstrlwr.obj msdos\dstrlwr.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\dcache.obj unix\dcache.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\tempnam.obj msdos\zortech\tempnam.c -ztc -c -I. -Imsdos -Imsdos\zortech -mL -DM_I86=1 -DMSDOS -b -mi -p -o -oobjects\environ.obj msdos\zortech\environ.c -blink @msdos\zortech\objswp.rsp,dmake.exe,NUL.MAP; diff --git a/dmake/msdos/zortech/obj.rsp b/dmake/msdos/zortech/obj.rsp deleted file mode 100644 index c97a42f9f0aa..000000000000 --- a/dmake/msdos/zortech/obj.rsp +++ /dev/null @@ -1,34 +0,0 @@ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\tee.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\environ.obj diff --git a/dmake/msdos/zortech/objswp.rsp b/dmake/msdos/zortech/objswp.rsp deleted file mode 100644 index 60a33c4eb523..000000000000 --- a/dmake/msdos/zortech/objswp.rsp +++ /dev/null @@ -1,35 +0,0 @@ -_swapl.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dirbrk.obj+ -objects\runargv.obj+ -objects\arlib.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\rmprq.obj+ -objects\tee.obj+ -objects\find.obj+ -objects\dirlib.obj+ -objects\dstrlwr.obj+ -objects\dcache.obj+ -objects\tempnam.obj+ -objects\environ.obj diff --git a/dmake/msdos/zortech/public.h b/dmake/msdos/zortech/public.h deleted file mode 100644 index 6265caa0ce3b..000000000000 --- a/dmake/msdos/zortech/public.h +++ /dev/null @@ -1,169 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:45:09 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int dchdir ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -void Hook_std_writes ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/msdos/zortech/startup.mk b/dmake/msdos/zortech/startup.mk deleted file mode 100644 index 2697f738bb5b..000000000000 --- a/dmake/msdos/zortech/startup.mk +++ /dev/null @@ -1,153 +0,0 @@ -# MSDOS DMAKE startup file. Customize to suit your needs. -# Assumes MKS toolkit for the tool commands, and Zortech C. Change as req'd. -# See the documentation for a description of internally defined macros. -# -# Disable warnings for macros redefined here that were given -# on the command line. -__.SILENT !:= $(.SILENT) -.SILENT !:= yes - -# Configuration parameters for DMAKE startup.mk file -# Set these to NON-NULL if you wish to turn the parameter on. -_HAVE_RCS := yes # yes => RCS is installed. -_HAVE_SCCS := # yes => SCCS is installed. - -# Applicable suffix definitions -A := .lib # Libraries -E := .exe # Executables -F := .for # Fortran -O := .obj # Objects -P := .pas # Pascal -S := .asm # Assembler sources -V := # RCS suffix - -# See if these are defined -.IMPORT .IGNORE : TMPDIR SHELL COMSPEC ROOTDIR -TMPDIR *:= $(ROOTDIR)/tmp - -# Recipe execution configurations -# First set SHELL, If it is not defined, use COMSPEC, otherwise -# it is assumed to be MKS Korn SHELL. -.IF $(SHELL) == $(NULL) -.IF $(COMSPEC) == $(NULL) - SHELL := $(ROOTDIR)/bin/sh$E -.ELSE - SHELL := $(COMSPEC) -.END -.END -GROUPSHELL := $(SHELL) - -# Now set remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn Shell. -.IF $(SHELL)==$(COMSPEC) - SHELLFLAGS := $(SWITCHAR)c - GROUPFLAGS := $(SHELLFLAGS) - SHELLMETAS := *"?<> - GROUPSUFFIX := .bat - DIRSEPSTR := \\\ - DIVFILE = $(TMPFILE:s,/,\,) -.ELSE - SHELLFLAGS := -c - GROUPFLAGS := - SHELLMETAS := *"?<>|()&][$$\#`' - GROUPSUFFIX := .ksh - .MKSARGS := yes - DIVFILE = $(TMPFILE:s,/,${DIVSEP_shell_${USESHELL}},) - DIVSEP_shell_yes := \\\ - DIVSEP_shell_no := \\ -.END - -# Standard C-language command names and flags - CC := ztc # C-compiler and flags - CFLAGS += - - AS := masm # Assembler and flags - ASFLAGS += - - LD = blink # Loader and flags - LDFLAGS += - LDLIBS = - -# Definition of $(MAKE) macro for recursive makes. - MAKE = $(MAKECMD) -S $(MFLAGS) - -# Language and Parser generation Tools and their flags - YACC := yacc # standard yacc - YFLAGS += - YTAB := ytab # yacc output files name stem. - - LEX := lex # standard lex - LFLAGS += - LEXYY := lex_yy # lex output file - -# Other Compilers, Tools and their flags - PC := any_pc # pascal compiler - RC := anyf77 # ratfor compiler - FC := anyf77 # fortran compiler - - CO := co # check out for RCS - COFLAGS += -q - - AR := ar # archiver - ARFLAGS+= ruv - - RM := rm # remove a file command - RMFLAGS += - -# Implicit generation rules for making inferences. -# We don't provide .yr or .ye rules here. They're obsolete. -# Rules for making *$O - %$O : %.c ; $(CC) $(CFLAGS) -c $< - %$O : %.cpp ; $(CC) $(CFLAGS) -c $< - %$O : %$P ; $(PC) $(PFLAGS) -c $< - %$O : %$S ; $(AS) $(ASFLAGS) $(<:s,/,\); - %$O : %.cl ; class -c $< - %$O :| %.e %.r %.F %$F ; $(FC) $(RFLAGS) $(EFLAGS) $(FFLAGS) -c $< - -# Executables - %$E : %$O ; $(CC) $(LDFLAGS) -o$@ $< $(LDLIBS) - -# lex and yacc rules - %.c : %.y ; $(YACC) $(YFLAGS) $<; mv $(YTAB).c $@ - %.c : %.l ; $(LEX) $(LFLAGS) $<; mv $(LEXYY).c $@ - -# RCS support -.IF $(_HAVE_RCS) - % : $$(@:d)RCS$$(DIRSEPSTR)$$(@:f)$V;- $(CO) $(COFLAGS) $@ - .NOINFER : $$(@:d)RCS$$(DIRSEPSTR)$$(@:f)$V -.END - -# SCCS support -.IF $(_HAVE_SCCS) - % : s.% ; get $< - .NOINFER : s.% -.END - -# Recipe to make archive files. -%$A .SWAP .GROUP : - $(AR) $(ARFLAGS) $@ $? - $(RM) $(RMFLAGS) $? - -# DMAKE uses this recipe to remove intermediate targets -.REMOVE :; $(RM) -f $< - -# AUGMAKE extensions for SYSV compatibility -"@B" = $(@:b) -"@D" = $(@:d) -"@F" = $(@:f) -"*B" = $(*:b) -"*D" = $(*:d) -"*F" = $(*:f) -"/readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* Zortech C stdio.h doesn't define P_tmpdir, so let's do it here */ -/* Under DOS leave the default tmpdir pointing here! */ -static char *P_tmpdir = ""; - -char * -tempnam(dir, prefix) -const char *dir; /* use this directory please (if non-NULL) */ -const char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/os2/config.mk b/dmake/os2/config.mk deleted file mode 100644 index 5e2b7689bd82..000000000000 --- a/dmake/os2/config.mk +++ /dev/null @@ -1,54 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# -OSRELEASE *= ibm -- := $(SWITCHAR) - -# Memory model to compile for -# set to s - small, m - medium, c - compact, l - large -# Use only large model now. -MODEL = l - -STARTUPFILE = $(OS)/startup.mk - -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDHEAD) @$(LDTMPOBJ),$(TARGET),NUL.MAP,,$(LDTAIL) -LDTAIL = $(_libs)$(LDFLAGS:s/ //) -_libs = $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ = $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"+\n")\n) -LDTMPLIB = $(mktmp,,$(DIVFILE) $(LDLIBS)\n) - -# Debug flags -DB_CFLAGS = -DDBUG -DB_LDFLAGS = -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -NDB_LDFLAGS = -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += $-I$(OS) - -# OS2 does not have a swap version. The operating system will -# handle all swapping. -# To save copying unchanged files in from elsewhere, I shall use them in situ. -OS_SRC += ruletab.c dchdir.c switchar.c -DOS_SRC += dirbrk.c arlib.c dstrlwr.c runargv.c rmprq.c - -SRC += $(OS_SRC) $(DOS_SRC) -.SETDIR=$(OS) : $(ASRC) $(OS_SRC) -.SETDIR=msdos : $(DOS_SRC) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE .IGNORE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/os2/dchdir.c b/dmake/os2/dchdir.c deleted file mode 100644 index 6244c630d2a6..000000000000 --- a/dmake/os2/dchdir.c +++ /dev/null @@ -1,41 +0,0 @@ -/* RCS $Id: dchdir.c,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- Change directory. --- --- DESCRIPTION --- Under DOS change the current drive as well as the current directory. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include "extern.h" - -PUBLIC int -_dchdir(path) -char *path; -{ - int res; - - res = _chdir(path); - - if (res == 0 && path[1] == ':') - DosSelectDisk((*path & ~0x20) - '@'); - - return (res); -} diff --git a/dmake/os2/dirent.h b/dmake/os2/dirent.h deleted file mode 100644 index eafaccbcc38a..000000000000 --- a/dmake/os2/dirent.h +++ /dev/null @@ -1,36 +0,0 @@ -/* DIRLIB.H by M. J. Weinstein Released to public domain 1-Jan-89 */ - -#ifndef _DIRLIB_h_ -#define _DIRLIB_h_ - -#define INCL_DOSFILEMGR -#include -#include -#include -#include "stdmacs.h" - -#define MAXNAMLEN _MAX_FNAME - -struct dirent { - long d_ino; - unsigned short d_reclen; - unsigned short d_namlen; - char d_name[MAXNAMLEN+1]; -}; - -typedef struct { - HDIR dd_handle; /* Handle for FindFirst/Next */ - FILEFINDBUF3 dd_dta; /* Disk transfer area for this dir. */ - ULONG dd_count; /* Count for FindFirst/Next */ - APIRET dd_stat; /* Status return from last lookup */ - char dd_name[1]; /* Full name of file -- struct is extended */ -} DIR; - -extern DIR *opendir ANSI((char *)); -extern struct dirent *readdir ANSI((DIR *)); -extern long telldir ANSI((DIR *)); -extern void seekdir ANSI((DIR *, long)); -extern void closedir ANSI((DIR *)); - -#define rewinddir(dirp) seekdir(dirp,0L) -#endif diff --git a/dmake/os2/ibm/config.h b/dmake/os2/ibm/config.h deleted file mode 100644 index cd8199445066..000000000000 --- a/dmake/os2/ibm/config.h +++ /dev/null @@ -1,78 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:38:08 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if defined (_MSC_VER) -# if _MSC_VER < 500 - Force a compile-time blowup. - Do not define define _MSC_VER for MSC compilers ealier than 5.0. -# endif -#endif - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -#define coreleft() 0L - -/* MSC Version 4.0 doesn't understand SIGTERM, later versions do. */ -#ifndef SIGTERM -# define SIGTERM SIGINT -#endif - -/* This should already be defined under C6.0, also for OS/2 we want buffering - * to minimise the mess during parallel makes. - */ -#ifndef _IOLBF -# define _IOLBF _IOFBF -#endif - -/* in alloc.h: size_t is redefined - * defined in stdio.h which is included by alloc.h - */ -#if defined(MSDOS) && defined (_MSC_VER) -# define _TYPES_ -#endif - -/* Don't need this one either */ -#define CONST - -/* in sysintf.c: SIGQUIT is used, this is not defined in MSC */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* C-lib redefinitions... */ -#define dup _dup -#define close _close -#define utime _utime -#define tzset _tzset -#define access _access -#define getpid _getpid -#define getcwd _getcwd diff --git a/dmake/os2/ibm/config.mk b/dmake/os2/ibm/config.mk deleted file mode 100644 index 716addd82abf..000000000000 --- a/dmake/os2/ibm/config.mk +++ /dev/null @@ -1,54 +0,0 @@ -# This is the MSC 4.0 and higher DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -TMPDIR := -.EXPORT : TMPDIR - -# Definition of macros for library, and C startup code. - -# The following sources are required for MSC -OSR_SRC = tempnam.c -.SETDIR=$(osrdir) : $(OSR_SRC) - -SRC += $(OSR_SRC) -.SOURCE.h : $(osrdir) - -SET_STACK = $-stack:32768 -NDB_LDFLAGS += - -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Microsoft C doesn't need tail but needs head -LDTAIL = ,; -LDHEAD = $(LDFLAGS) - -# Debugging libraries -DB_LDFLAGS += $-co $-li $-map $(SET_STACK) -DB_LDLIBS += - -# NO Debug MSC flags: -# Set the environment variable MSC_VER to be one of 5.1, 6.0, 8.0 (for VC++4.0) -# to get these by default when you make dmake using 'dmake'. -# -# Setting MSC_VER to one of the above sets the variable _MSC_VER appropriately -# and sets the flags appropriately. - -CFLAGS += $-I$(osrdir) -DB_CFLAGS += $-Ti+ - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -S_s = -Dmsmall -S_m = -Dmmedium -S_c = -Dmcompact -S_l = -Dmlarge diff --git a/dmake/os2/ibm/icc/config.mk b/dmake/os2/ibm/icc/config.mk deleted file mode 100644 index 2042f5636262..000000000000 --- a/dmake/os2/ibm/icc/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 6.0 - -CFLAGS += $-I$(osedir) $-Sp1 $-Q $-Fi- - -NDB_CFLAGS += $-O -NDB_LDFLAGS += $-de $-pmtype:vio $-align:16 $-nologo $-m $-stack:32768 -NDB_LDLIBS += diff --git a/dmake/os2/ibm/icc/lib.rsp b/dmake/os2/ibm/icc/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/os2/ibm/icc/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/os2/ibm/icc/mk.cmd b/dmake/os2/ibm/icc/mk.cmd deleted file mode 100755 index 563a88aad43c..000000000000 --- a/dmake/os2/ibm/icc/mk.cmd +++ /dev/null @@ -1,96 +0,0 @@ -md objects -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O infer.c -copy infer.obj objects -del infer.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O make.c -copy make.obj objects -del make.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O stat.c -copy stat.obj objects -del stat.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O expand.c -copy expand.obj objects -del expand.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O dmstring.c -copy dmstring.obj objects -del dmstring.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O hash.c -copy hash.obj objects -del hash.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O dag.c -copy dag.obj objects -del dag.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O dmake.c -copy dmake.obj objects -del dmake.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O path.c -copy path.obj objects -del path.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O imacs.c -copy imacs.obj objects -del imacs.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O sysintf.c -copy sysintf.obj objects -del sysintf.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O parse.c -copy parse.obj objects -del parse.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O getinp.c -copy getinp.obj objects -del getinp.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O quit.c -copy quit.obj objects -del quit.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O state.c -copy state.obj objects -del state.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O dmdump.c -copy dmdump.obj objects -del dmdump.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O macparse.c -copy macparse.obj objects -del macparse.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O rulparse.c -copy rulparse.obj objects -del rulparse.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O percent.c -copy percent.obj objects -del percent.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O function.c -copy function.obj objects -del function.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\ruletab.c -copy ruletab.obj objects -del ruletab.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\dchdir.c -copy dchdir.obj objects -del dchdir.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\switchar.c -copy switchar.obj objects -del switchar.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\dirlib.c -copy dirlib.obj objects -del dirlib.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\runargv.c -copy runargv.obj objects -del runargv.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O msdos\arlib.c -copy arlib.obj objects -del arlib.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O unix\rmprq.c -copy rmprq.obj objects -del rmprq.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O unix\dcache.c -copy dcache.obj objects -del dcache.obj -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc /Sp1 /Q /Fi- /O os2\ibm\tempnam.c -copy tempnam.obj objects -del tempnam.obj -link386 /de /pmtype:vio /align:16 /nologo /m /stack:32768 @os2\ibm\icc\obj.rsp,dmake.exe,NUL.MAP,,,; -copy os2\ibm\icc\template.mk startup\config.mk diff --git a/dmake/os2/ibm/icc/obj.rsp b/dmake/os2/ibm/icc/obj.rsp deleted file mode 100644 index 594535036c87..000000000000 --- a/dmake/os2/ibm/icc/obj.rsp +++ /dev/null @@ -1,31 +0,0 @@ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\dirlib.obj+ -objects\runargv.obj+ -objects\dirbrk.obj+ -objects\arlib.obj+ -objects\dstrlwr.obj+ -objects\rmprq.obj+ -objects\dcache.obj+ -objects\tempnam.obj diff --git a/dmake/os2/ibm/icc/public.h b/dmake/os2/ibm/icc/public.h deleted file mode 100644 index b3bd37964ec3..000000000000 --- a/dmake/os2/ibm/icc/public.h +++ /dev/null @@ -1,169 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:45:45 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int _dchdir ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void SetSessionTitle ANSI((char *)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -int If_root_path ANSI((char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -void dstrlwr ANSI((char *, char *)); -void Remove_prq ANSI((CELLPTR)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/os2/ibm/icc/template.mk b/dmake/os2/ibm/icc/template.mk deleted file mode 100644 index c9c5adbf21ae..000000000000 --- a/dmake/os2/ibm/icc/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= os2 - OSRELEASE *:= ibm - OSENVIRONMENT *:= icc diff --git a/dmake/os2/ibm/icc3/config.mk b/dmake/os2/ibm/icc3/config.mk deleted file mode 100644 index 2042f5636262..000000000000 --- a/dmake/os2/ibm/icc3/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 6.0 - -CFLAGS += $-I$(osedir) $-Sp1 $-Q $-Fi- - -NDB_CFLAGS += $-O -NDB_LDFLAGS += $-de $-pmtype:vio $-align:16 $-nologo $-m $-stack:32768 -NDB_LDLIBS += diff --git a/dmake/os2/ibm/icc3/lib.rsp b/dmake/os2/ibm/icc3/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/os2/ibm/icc3/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/os2/ibm/icc3/mk.cmd b/dmake/os2/ibm/icc3/mk.cmd deleted file mode 100755 index f45e63e64318..000000000000 --- a/dmake/os2/ibm/icc3/mk.cmd +++ /dev/null @@ -1,192 +0,0 @@ -md objects - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O infer.c - -copy infer.obj objects - -del infer.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O make.c - -copy make.obj objects - -del make.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O stat.c - -copy stat.obj objects - -del stat.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O expand.c - -copy expand.obj objects - -del expand.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O dmstring.c - -copy dmstring.obj objects - -del dmstring.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O hash.c - -copy hash.obj objects - -del hash.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O dag.c - -copy dag.obj objects - -del dag.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O dmake.c - -copy dmake.obj objects - -del dmake.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O path.c - -copy path.obj objects - -del path.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O imacs.c - -copy imacs.obj objects - -del imacs.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O sysintf.c - -copy sysintf.obj objects - -del sysintf.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O parse.c - -copy parse.obj objects - -del parse.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O getinp.c - -copy getinp.obj objects - -del getinp.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O quit.c - -copy quit.obj objects - -del quit.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O state.c - -copy state.obj objects - -del state.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O dmdump.c - -copy dmdump.obj objects - -del dmdump.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O macparse.c - -copy macparse.obj objects - -del macparse.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O rulparse.c - -copy rulparse.obj objects - -del rulparse.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O percent.c - -copy percent.obj objects - -del percent.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O function.c - -copy function.obj objects - -del function.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O os2\ruletab.c - -copy ruletab.obj objects - -del ruletab.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O os2\dchdir.c - -copy dchdir.obj objects - -del dchdir.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O os2\switchar.c - -copy switchar.obj objects - -del switchar.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O msdos\dirlib.c - -copy dirlib.obj objects - -del dirlib.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O msdos\runargv.c - -copy runargv.obj objects - -del runargv.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O msdos\dirbrk.c - -copy dirbrk.obj objects - -del dirbrk.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O msdos\arlib.c - -copy arlib.obj objects - -del arlib.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O msdos\dstrlwr.c - -copy dstrlwr.obj objects - -del dstrlwr.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O unix\rmprq.c - -copy rmprq.obj objects - -del rmprq.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O unix\dcache.c - -copy dcache.obj objects - -del dcache.obj - -icc /c /I. /Ios2 /Ios2\ibm /Ios2\ibm\icc3 /Sp1 /Q /Fi- /O tempnam.c - -copy tempnam.obj objects - -del tempnam.obj - -ilink /NOFREE /de /pmtype:vio /align:16 /nologo /m /stack:32768 @os2\ibm\icc3\obj.rsp,,,,, - -copy os2\ibm\icc3\template.mk startup\config.mk - diff --git a/dmake/os2/ibm/icc3/obj.rsp b/dmake/os2/ibm/icc3/obj.rsp deleted file mode 100644 index 6309577681b9..000000000000 --- a/dmake/os2/ibm/icc3/obj.rsp +++ /dev/null @@ -1,30 +0,0 @@ -objects\dmake.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\ruletab.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\runargv.obj+ -objects\dirbrk.obj+ -objects\arlib.obj+ -objects\dstrlwr.obj+ -objects\rmprq.obj+ -objects\tempnam.obj - diff --git a/dmake/os2/ibm/icc3/public.h b/dmake/os2/ibm/icc3/public.h deleted file mode 100644 index 012d30129fd0..000000000000 --- a/dmake/os2/ibm/icc3/public.h +++ /dev/null @@ -1,169 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:45:57 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int _dchdir ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void SetSessionTitle ANSI((char *)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -int If_root_path ANSI((char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -void dstrlwr ANSI((char *, char *)); -void Remove_prq ANSI((CELLPTR)); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/os2/ibm/icc3/template.mk b/dmake/os2/ibm/icc3/template.mk deleted file mode 100644 index c9c5adbf21ae..000000000000 --- a/dmake/os2/ibm/icc3/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= os2 - OSRELEASE *:= ibm - OSENVIRONMENT *:= icc diff --git a/dmake/os2/ibm/tempnam.c b/dmake/os2/ibm/tempnam.c deleted file mode 100644 index 5bf5c21b3544..000000000000 --- a/dmake/os2/ibm/tempnam.c +++ /dev/null @@ -1,111 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include "config.h" - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) - tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) - tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", getpid() ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return strlwr(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - p = name+strlen(name)-1; - if(*p == ':' ) strcat( p++, "\\" ); - r = access( name, flag ); - if(*p != '/' && *p != '\\') strcat( p, "\\" ); - - return( r ); -} diff --git a/dmake/os2/ruletab.c b/dmake/os2/ruletab.c deleted file mode 100644 index dfe6f72f63da..000000000000 --- a/dmake/os2/ruletab.c +++ /dev/null @@ -1,47 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.4 2007-10-15 15:45:20 ihi Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ -/* - * For OS/2 these are close to the Unix definitions in terms of limits. - * We dont need the two different cases of Makefile, so only keep the - * pretty one. - */ -static char *_rules[] = { - "MAXLINELENGTH := 8190", - "MAXPROCESSLIMIT := 16", -#include "dmakeroot.h" - ".IMPORT .IGNORE: DMAKEROOT" - ".MAKEFILES : makefile.mk Makefile", - ".SOURCE : .NULL", -#include "startup.h" - 0 }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/os2/startup.h b/dmake/os2/startup.h deleted file mode 100644 index bf6c94ff939f..000000000000 --- a/dmake/os2/startup.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: startup.h,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"MAKESTARTUP := $(DMAKEROOT)\\startup.mk", diff --git a/dmake/os2/switchar.c b/dmake/os2/switchar.c deleted file mode 100644 index 458030993d57..000000000000 --- a/dmake/os2/switchar.c +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: switchar.c,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- switch char query. --- --- DESCRIPTION --- Get the current value of the command line switch char. Only useful --- in a DOS environment, otherwise we #define it to be '-'. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#include -#include -#include "stdmacs.h" - -getswitchar()/* -=============== - Try the environment first. If you don't find SWITCHAR there, then use - the DOS call. The call is undocumented, and doesn't work for DOS versions - 4.0 and up, so the check of the environment will fix that. */ -{ - static char *_env_switchar = NIL(char); - - if( _env_switchar != NIL(char) || - (_env_switchar = (char *)getenv("SWITCHAR")) != NIL(char) ) - return(*_env_switchar); - - return ('/'); -} diff --git a/dmake/os2/sysintf.h b/dmake/os2/sysintf.h deleted file mode 100644 index 0a624b70e8c5..000000000000 --- a/dmake/os2/sysintf.h +++ /dev/null @@ -1,62 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.4 2007-10-15 15:45:33 ihi Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define Hook_std_writes(A) -#define GETPID getpid() -/* Disabled for CWS os2port01 - *#define S_IFMT (S_IFDIR|S_IFCHR|S_IFREG) - */ -extern char * tempnam(); -extern char * getcwd(); - -/* for directory cache */ -/* #define CacheStat(A,B) really_dostat(A,&buf)*/ - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -/* Disabled for CWS os2port01 - *#define chdir(p) _dchdir(p) - */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX 12 - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX 255 diff --git a/dmake/parse.c b/dmake/parse.c deleted file mode 100644 index 550f14223a91..000000000000 --- a/dmake/parse.c +++ /dev/null @@ -1,176 +0,0 @@ -/* $RCSfile: parse.c,v $ --- $Revision: 1.8 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:40:45 $ --- --- SYNOPSIS --- Parse the input, and perform semantic analysis --- --- DESCRIPTION --- This file contains the routines that parse the input makefile and --- call the appropriate routines to perform the semantic analysis and --- build the internal dag. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - -PUBLIC void -Parse( fil )/* -============== Parse the makefile input */ -FILE *fil; -{ - int rule = FALSE; /* have seen a recipe line */ - char *p; /* termporary pointer into Buffer */ - char *pTmpBuf; - - DB_ENTER( "Parse" ); - - State = NORMAL_SCAN; - Group = FALSE; /* true if scanning a group rcpe */ - while( TRUE ) { - if( Get_line( Buffer, fil ) ) { - if( Group ) Fatal( "Incomplete rule recipe group detected" ); - - /* If we are still in RULE_SCAN mode there might be unbound recipes. */ - if( State == RULE_SCAN ) - Bind_rules_to_targets( F_DEFAULT ); - - if( fil != NIL( FILE ) ) /* end of parsable input */ - Closefile(); - - DB_VOID_RETURN; - } - else { - -#ifdef _MPW - if ( Buffer[0] == 10 ) - pTmpBuf = Buffer+1; - else -#endif - pTmpBuf = Buffer; - -#ifdef _MPW - p = pTmpBuf; - while ( *p ) - { - if ( *p == 10 ) - *p = '\t'; - p++; - } -#endif - - switch( State ) { - case RULE_SCAN: - - /* Check for the `[' that starts off a group recipe definition. - * It must appear as the first non-white space - * character in the line. */ - - p = DmStrSpn( Buffer, " \t\r\n" ); - if( Set_group_attributes( p ) ) { - if( Group ) - Fatal( "New group recipe begin found within group recipe." ); - else if( rule ) - Fatal( "Cannot mix single and group recipe lines." ); - else - Group = TRUE; - - rule = TRUE; - - break; /* ignore the group start */ - } - - if( Group ) { - if( *p != ']' ) { - Add_recipe_to_list( pTmpBuf, TRUE, TRUE ); - rule = TRUE; - } - else - State = NORMAL_SCAN; - } - else { - if( *pTmpBuf == '\t' - || (Notabs && *pTmpBuf == ' ') ) { - Add_recipe_to_list( pTmpBuf, FALSE, FALSE ); - rule = TRUE; - } - else if( *p == ']' ) - Fatal( "Found unmatched ']'" ); - else if( *pTmpBuf ) /* Something that was no recipe. */ - State = NORMAL_SCAN; - /* The only thing that was not handled was an empty line. */ - } - - if( State == RULE_SCAN ) break; /* ie. keep going */ - - Bind_rules_to_targets( (Group) ? F_GROUP: F_DEFAULT ); - - rule = FALSE; - if( Group ) { - Group = FALSE; - break; - } - /*FALLTRHOUGH*/ - - /* In this case we broke out of the rule scan because we do not - * have a recipe line that begins with a , so lets - * try to scan the thing as a macro or rule definition. */ - - - case NORMAL_SCAN: - if( !*pTmpBuf ) continue; /* we have null input line */ - - /* STUPID AUGMAKE uses "include" at the start of a line as - * a signal to include a new file, so let's look for it. - * if we see it replace it by .INCLUDE: and stick this back - * into the buffer. */ - if( !strncmp( "include", pTmpBuf, 7 ) && - (pTmpBuf[7] == ' ' || pTmpBuf[7] == '\t') ) - { - char *tmp; - - tmp = DmStrJoin( ".INCLUDE:", pTmpBuf+7, -1, FALSE ); - strcpy( pTmpBuf, tmp ); - FREE( tmp ); - } - - /* look for a macro definition, they all contain an = sign - * if we fail to recognize it as a legal macro op then try to - * parse the same line as a rule definition, it's one or the - * other */ - - if( Parse_macro(pTmpBuf, M_DEFAULT) ) break;/* it's a macro def*/ - if( Parse_rule_def( &State ) ) break;/* it's a rule def */ - - /* if it is an empty or blank line then ignore it */ - if( !*Buffer || *DmStrSpn( Buffer, " \t\r\n" ) == '\0' ) break; - - /* otherwise assume it was a line of unrecognized input, or a - * recipe line out of place so print a message */ - - Fatal( "Expecting macro or rule defn, found neither" ); - break; - - default: - Fatal( "Internal -- UNKNOWN Parser state %d", State ); - } - } - } -} - diff --git a/dmake/path.c b/dmake/path.c deleted file mode 100644 index ead163394175..000000000000 --- a/dmake/path.c +++ /dev/null @@ -1,337 +0,0 @@ -/* RCS $Id: path.c,v 1.6 2008-03-05 18:29:34 kz Exp $ --- --- SYNOPSIS --- Pathname manipulation code --- --- DESCRIPTION --- Pathname routines to handle building and pulling appart --- pathnames. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" -#if __CYGWIN__ -#include -#include -#endif - - -/* -** Return the suffix portion of a filename, assumed to begin with a `.'. -*/ -PUBLIC char * -Get_suffix(name) -char *name; -{ - char *suff; - - if(name == NIL(char) || (suff = strrchr(name, '.')) == NIL(char)) - suff = ".NULL"; - - return (suff); -} - - -PUBLIC char * -Basename(path)/* -================ - Return pointer to the basename part of path. path itself remains - unchanged. */ -char *path; -{ - char *p; - char *q; - - if( path && *(q = path) ) { - for(; *(p=DmStrPbrk(q, DirBrkStr)) != '\0'; q = p+1 ); - if( !*q ) { - for( p=q-1; p != path; --p ) - if( strchr( DirBrkStr, *p ) == NIL(char) ) return( p+1 ); - return( strchr(DirBrkStr, *p)?path:(p+1) ); - } - path = q; - } - return( path ); -} - - -PUBLIC char * -Filedir(path) -char *path; -{ - char *p; - char *q; - - if( path && *(q = path) ) { - for(; *(p=DmStrPbrk(q,DirBrkStr)) != '\0'; q=p+1 ); - - if (q == path) return(""); - - for(p=q-1; p!=path; --p) - if( strchr(DirBrkStr,*p) == NIL(char) ) - break; - - p[1] = '\0'; - } - - return(path); -} - - - -PUBLIC char * -Build_path(dir, name)/* -======================= - Return a path that is created by concatenating dir and name. A directory - separater is added between them if needed. If dir is empty name is stripped - of leading slashes (if there) and returned. - - The returned path is also cleaned from unneeded './' and 'foo/../' - elements and also multiple consequtive '/' are removed. - - Note, the returned path is built in a static buffer, if it is to be used - later strdup should be used on the result returned by Build_path to create - a copy. */ - -char *dir; -char *name; -{ - static char *path = NIL(char); - static unsigned buflen = 0; - int plen = 0; - int dlen = 0; - int len; - - DB_ENTER( "Build_path" ); - - if( dir != NIL(char) ) dlen = strlen( dir ); - if( name != NIL(char) ) plen = strlen( name ); - len = plen+dlen+1+1; /* Reserve space for extra path separator. */ - - if( len > buflen ) { - buflen = (len+16) & ~0xf; /* buf is always multiple of 16 */ - - if( path == NIL(char) ) - path = MALLOC( buflen, char ); - else - path = realloc( path, (unsigned) (buflen*sizeof(char)) ); - } - - *path = '\0'; - - if( dlen ) { - strcpy( path, dir ); - if( *path && strchr(DirBrkStr, dir[dlen-1]) == NIL(char) ) - strcat( path, DirSepStr ); - } - - if ( plen ) { - while ( *name && strchr(DirBrkStr,*name) != 0 ) name++; - strcat( path, name ); - } - - DB_PRINT( "path", ("dir: %s name: %s", dir, name )); - DB_PRINT( "path", ("joined to: %s", path )); - - Clean_path( path ); - DB_PRINT( "path", ("cleaned to: %s", path )); - - DB_RETURN( path ); -} - - -void -Clean_path(path)/* -================== - Clean the path from irregular directory separators (if more than one are - allowed), remove unneeded './' and 'foo/../' elements and also multiple - consequtive '/'. - - The resulting string is shorter than the original, therefore this function - works on the original string. */ - -char *path; -{ - register char *p; - register char *q; - char *tpath; - int hasdriveletter = 0; - int delentry; - size_t len; - - DB_ENTER( "Clean_path" ); - - /* Skip the root part. */ - tpath=path; - -#ifdef HAVE_DRIVE_LETTERS - - /* Change all occurences from DirBrkStr to *DirSepStr. This assumes - * that when HAVE_DRIVE_LETTERS is set the directory separator is - * either '\' or '/'. */ - if (*DirSepStr == '/') - for( q = tpath; (q = strchr(q, '\\')) != NIL(char); ) - *q = *DirSepStr; - else - for( q = tpath; (q = strchr(q, '/')) != NIL(char); ) - *q = *DirSepStr; - - /* The following dosn't trigger often because normalize_path() uses - * a cygwin function and bypasses Clean_path() if it encounters a path - * with a drive letter. */ - if( *tpath && tpath[1] == ':' && isalpha(*tpath) ) { - hasdriveletter = 1; - tpath+=2; - if( *tpath != *DirSepStr ) - Warning("Malformed DOS path %s", path); - } - -#endif - - /* Collapse > 2 ( > 1 if its an absolute DOS path ) into one slash. - * Keep // as it is reserved in posix. */ - q = tpath; - for( ; *q == *DirSepStr ; ++q ) - ; - if( q - tpath > 2 - hasdriveletter ) { - strcpy(tpath+1, q); - } - - /* Set tpath after leading slash / drive letter. */ - for( ; *tpath == *DirSepStr ; ++tpath ) - ; - q = tpath; - - while( *q ) { - char *t; - - /* p is NULL or greater than q. */ - p=strchr(q, *DirSepStr); - if( !p ) break; - - /* Remove multiple consequtive DirSepStr. */ - if( p[1] == *DirSepStr ) { - t = p++; /* t points to first, p to second DirStrSep. */ - /* Move p after the second (or possible more) DirSepStr. */ - do { - p++; - } - while( *p == *DirSepStr); - len = strlen(p)+1; - memmove(t+1,p,len); - continue; - } - - /* Remove './'. If OOODMAKEMODE is set do this only if it is not at - * the start of the path. */ - if ( p-q == 1 && *q == '.' && (q != path || !STOBOOL(OOoDmMode)) ) { - len = strlen(p+1)+1; - memmove(q,p+1,len); - q = tpath; - continue; - } - - /* If two '/' are in path check/remove 'foo/../' elements. */ - t=strchr(p+1, *DirSepStr); - if( !t ) break; - - /* Collaps this only if foo is neither '.' nor '..'. */ - switch( p-q ) { - case 2: - delentry = !((q[0] == '.') && (q[1] == '.')); - break; - case 1: - delentry = !(q[0] == '.'); - break; - default: - delentry = TRUE; - break; - } - - if ( delentry - && (t-p-1 == 2 && strncmp(p+1,"..",2) == 0) ) { - /* Skip one (or possible more) DirSepStr. */ - do { - t++; - } - while( *t == *DirSepStr); - /* q points to first letter of the current directory/file. */ - len = strlen(t)+1; - memmove(q,t,len); - q = tpath; - } - else - q = p+1; - } - - DB_PRINT( "path", ("Cleaned path: %s", path )); - - DB_VOID_RETURN; -} - - -char * -normalize_path(path)/* -======================= - Normalize the given path unless it contains a $ indicating a dynamic - prerequisite. - Special case: For absolute DOSish paths under cygwin a cygwin API - function is used to normalize the path optherwise Clean_path() is used. - - Note, the returned path is built in a static buffer, if it is to be used - later a copy should be created. */ - -char *path; -{ - static char *cpath = NIL(char); - - DB_ENTER( "normalize_path" ); - - if ( !cpath && ( (cpath = MALLOC( PATH_MAX, char)) == NIL(char) ) ) - No_ram(); - - /* If there is a $ in the path this can either mean a '$' character in - * a target definition or a dynamic macro expression in a prerequisite - * list. As dynamic macro expression must not be normalized and is - * indistinguishable from a literal $ characters at this point we skip - * the normalization if a $ is found. */ - if( strchr(path, '$') ) { - DB_RETURN( path ); - } - -#if __CYGWIN__ - /* Use cygwin function to convert a DOS path to a POSIX path. */ - if( *path && path[1] == ':' && isalpha(*path) ) { - int err = cygwin_conv_to_posix_path(path, cpath); - if (err) - Fatal( "error converting \"%s\" - %s\n", - path, strerror (errno)); - if( path[2] != '/' && path[2] != '\\' ) - Warning("Malformed DOS path %s converted to %s", path, cpath); - } - else -#endif - { - strcpy( cpath, path ); - Clean_path( cpath ); - } - - DB_PRINT( "path", ("normalized: %s", cpath )); - - DB_RETURN( cpath ); -} diff --git a/dmake/percent.c b/dmake/percent.c deleted file mode 100644 index 8ecac4ce764d..000000000000 --- a/dmake/percent.c +++ /dev/null @@ -1,251 +0,0 @@ -/* RCS $Id: percent.c,v 1.1.1.1 2000-09-22 15:33:25 hr Exp $ --- --- SYNOPSIS --- Handle building or %-rule meta-target nfa. --- --- DESCRIPTION --- Builds the NFA used by dmake to match targets against %-meta --- rule constructs. The NFA is built as a set of DFA's. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -static DFAPTR _build_dfa ANSI((char *)); -static char _shift_dfa ANSI((DFAPTR, char *)); - - -#define NO_ACTION 0 -#define START_PERCENT 1 -#define END_PERCENT 2 -#define ACCEPT 4 -#define FAIL -1 - -static NFAPTR _nfa = NIL( NFA ); - - -PUBLIC DFALINKPTR -Match_dfa( buf )/* -================== - This routines runs all DFA's in parrallel and selects the one that best - matches the string. If no match then it returns NIL( DFA ) */ -char *buf; -{ - register NFAPTR nfa; - int adv; - DFALINKPTR dfa_list = NIL(DFALINK); - - DB_ENTER( "Match_dfa" ); - DB_PRINT( "dfa", ("Matching %s", buf) ); - - /* Run each of the DFA's on the input string in parallel, we terminate - * when all DFA's have either failed or ACCEPTED, if more than one DFA - * accepts we build a list of all accepting DFA's sorted on states with - * those matching in a higher numbered state heading the list. */ - - do { - adv = FALSE; - - for( nfa = _nfa; nfa != NIL( NFA ); nfa = nfa->next ) - if( nfa->status != (char) FAIL && nfa->status != (char) ACCEPT ) { - adv++; - nfa->status = _shift_dfa( nfa->dfa, buf ); - - /* Construct the list of matching DFA's */ - if( nfa->status == (char) ACCEPT ) { - DFALINKPTR dl; - - TALLOC( dl, 1, DFALINK ); - dl->dl_meta = nfa->dfa->node; - dl->dl_per = DmSubStr( nfa->dfa->pstart, nfa->dfa->pend ); - dl->dl_state = nfa->dfa->states - nfa->dfa->c_state; - - if( dfa_list == NIL(DFALINK) ) - dfa_list = dl; - else { - DFALINKPTR tdli = dfa_list; - DFALINKPTR tdlp = NIL(DFALINK); - - for( ; tdli != NIL(DFALINK); tdli = tdli->dl_next ) { - if( dl->dl_state >= tdli->dl_state ) - break; - tdlp = tdli; - } - - if( tdli != NIL(DFALINK) ) { - tdli->dl_prev = dl; - dl->dl_next = tdli; - } - - if( tdlp != NIL(DFALINK) ) { - tdlp->dl_next = dl; - dl->dl_prev = tdlp; - } - else - dfa_list = dl; - } - - DB_PRINT( "dfa", ("Matched [%s]", dl->dl_meta->CE_NAME) ); - } - } - - buf++; - } - while ( adv ); - - for( nfa = _nfa; nfa != NIL( NFA ); nfa = nfa->next ) { - nfa->status = 0; - nfa->dfa->c_state = nfa->dfa->states; - } - - DB_RETURN( dfa_list ); -} - - -PUBLIC void -Check_circle_dfa()/* -==================== - This function is called to test for circularities in the DFA lists - constructed from %-meta targets. */ -{ - register NFAPTR nfa; - - for( nfa = _nfa; nfa != NIL(NFA); nfa = nfa->next ) - if( Test_circle( nfa->dfa->node, FALSE ) ) - Fatal( "Detected circular dependency in inference graph at [%s]", - nfa->dfa->node->CE_NAME ); -} - - -PUBLIC void -Add_nfa( name )/* -================= - Given name, build a DFA and add it to the NFA. The NFA is maintained as - a singly linked list of DFA's. */ -char *name; -{ - NFAPTR nfa; - - TALLOC(nfa, 1, NFA); - nfa->dfa = _build_dfa(name); - - if( _nfa != NIL(NFA) ) nfa->next = _nfa; - - _nfa = nfa; -} - - -static DFAPTR -_build_dfa( name )/* -==================== - Construct a dfa for the passed in cell name. The routine returns a struct - that represents a finite state machine that can recognize a regular - expression with exactly one '%' sign in it. The '%' symbol is used as a - wildcard character that will match anything except the character that - immediately follows it or NUL. - - The Construction of DFA's is well known and can be found in Hopcroft and - Ullman or any other book discussing formal language theory. - A more practical treatise can be found in Compilers, Aho, Sethi and Ullman. -*/ -char *name; -{ - DFAPTR dfa; - int nstates; - register STATEPTR sp; - STATEPTR per_state = NIL(STATE); - int pcount=0; - int end_percent=FALSE; - - nstates = strlen(name)+2; - - /* Allocate a DFA node and the right number of states. */ - TALLOC(dfa, 1, DFA); - TALLOC(sp=dfa->c_state=dfa->states, nstates, STATE); - dfa->node = Def_cell( name ); - - /* Now construct the state table for the DFA */ - do { - if( *name == '%' ) { - if( pcount++ > 0 ) - Error( "Only one %% allowed within a %%-meta target" ); - - sp->symbol = 0; - sp->action = START_PERCENT; - sp->no_match = sp->match = per_state = sp+1; - end_percent = TRUE; - } - else { - sp->symbol = *name; - sp->no_match = per_state; - - if( *name == '\0' ) { - sp->action = ACCEPT; - sp->match = dfa->states; - } - else { - sp->action = NO_ACTION; - sp->match = sp+1; - } - - if( end_percent ) { - sp->action |= END_PERCENT; - end_percent = FALSE; - } - } - - sp++; - } - while( *name++ ); - - return(dfa); -} - - -static char -_shift_dfa( dfa, data )/* -========================= - Take a given dfa and advance it based on the current state, the shift - action in that state, and the current data value. */ -DFAPTR dfa; -char *data; -{ - register STATEPTR sp = dfa->c_state; - char c = *data; - - /* Check if it is a START_PERCENT action if so then we need to save - * a pointer to the start of the string and advance to the next state. */ - if( sp->action & START_PERCENT ) { - dfa->pstart = data; - sp++; - } - - /* Now check if the current char matches the character expected in the - * current state. If it does then perform the specified action, otherwise - * either shift it or fail. We fail if the next state on no-match is - * NIL. */ - if( sp->symbol == c ) { - if( sp->action & END_PERCENT ) dfa->pend = data; - if( sp->action & ACCEPT ) return(ACCEPT); - dfa->c_state = sp->match; - } - else if( (dfa->c_state = sp->no_match) == NIL(STATE) || !c ) - return((unsigned char) FAIL); - - return(NO_ACTION); -} diff --git a/dmake/posix.h b/dmake/posix.h deleted file mode 100644 index b39fc0336dc4..000000000000 --- a/dmake/posix.h +++ /dev/null @@ -1,66 +0,0 @@ -/* RCS $Id: posix.h,v 1.3 2006-04-20 12:01:40 hr Exp $ --- --- SYNOPSIS --- Definition for POSIX conforming defines in dmake. --- --- DESCRIPTION --- This file is intended to make certain that defines used within dmake --- for file name lengths, and number of children processes are defined. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* Define the minimum values that each system requires, and do so only if - * we have not defined these includes elsewhere. These should already be - * defined in if you have a C compiler that is POSIX compliant. - */ -#ifndef _POSIX_NAME_MAX -#define _POSIX_NAME_MAX 14 -#endif - -#ifndef _POSIX_PATH_MAX -#define _POSIX_PATH_MAX 64 -#endif - -#ifndef _POSIX_CHILD_MAX -#define _POSIX_CHILD_MAX 1 -#endif - -/* Now define the actual manifests used in the code. */ -#ifndef NAME_MAX -#define NAME_MAX _POSIX_NAME_MAX -#endif - -#ifndef PATH_MAX -#define PATH_MAX _POSIX_PATH_MAX -#endif - -#ifndef CHILD_MAX -#define CHILD_MAX _POSIX_CHILD_MAX -#endif - -/* FIXME! This is a very big hammer, these values should be set to - * sensible values in the architecture dependent sysintf.h files. */ -#if NAME_MAX < 255 -#undef NAME_MAX -#define NAME_MAX 255 -#endif - -#if PATH_MAX < 1024 -#undef PATH_MAX -#define PATH_MAX 1024 -#endif diff --git a/dmake/qssl/config.mk b/dmake/qssl/config.mk deleted file mode 100644 index d5d1534996eb..000000000000 --- a/dmake/qssl/config.mk +++ /dev/null @@ -1,43 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# PRINTER, PRINTFLAGS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# -PRINTER = hw -PRINTFLAGS = -P$(PRINTER) -STARTUPFILE = $(OS)/startup.mk -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDFLAGS) -o $@ $(LDOBJS) $(LDLIBS) - -# Debug flags -DB_CFLAGS = -g -DDBUG -DB_LDFLAGS = -g -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -O -NDB_LDFLAGS = -N 8192 -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) -3 - -# Sources that must be defined for each different version -OSSRC := ruletab.c runargv.c tempnam.c -UNIXSRC := dcache.c rmprq.c dirbrk.c -DOSSRC := arlib.c -SRC += $(OSSRC) $(UNIXSRC) $(DOSSRC) -.SETDIR=$(OS) : $(OSSRC) -.SETDIR=unix : $(UNIXSRC) -.SETDIR=msdos : $(DOSSRC) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE .IGNORE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/qssl/make.sh b/dmake/qssl/make.sh deleted file mode 100644 index 042e219adde7..000000000000 --- a/dmake/qssl/make.sh +++ /dev/null @@ -1,62 +0,0 @@ -mkdir objects -cc -c -I. -Iqssl -3 -O infer.c -mv infer.o objects -cc -c -I. -Iqssl -3 -O make.c -mv make.o objects -cc -c -I. -Iqssl -3 -O stat.c -mv stat.o objects -cc -c -I. -Iqssl -3 -O expand.c -mv expand.o objects -cc -c -I. -Iqssl -3 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iqssl -3 -O hash.c -mv hash.o objects -cc -c -I. -Iqssl -3 -O dag.c -mv dag.o objects -cc -c -I. -Iqssl -3 -O dmake.c -mv dmake.o objects -cc -c -I. -Iqssl -3 -O path.c -mv path.o objects -cc -c -I. -Iqssl -3 -O imacs.c -mv imacs.o objects -cc -c -I. -Iqssl -3 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iqssl -3 -O parse.c -mv parse.o objects -cc -c -I. -Iqssl -3 -O getinp.c -mv getinp.o objects -cc -c -I. -Iqssl -3 -O quit.c -mv quit.o objects -cc -c -I. -Iqssl -3 -O state.c -mv state.o objects -cc -c -I. -Iqssl -3 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iqssl -3 -O macparse.c -mv macparse.o objects -cc -c -I. -Iqssl -3 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iqssl -3 -O percent.c -mv percent.o objects -cc -c -I. -Iqssl -3 -O function.c -mv function.o objects -cc -c -I. -Iqssl -3 -O qssl/ruletab.c -mv ruletab.o objects -cc -c -I. -Iqssl -3 -O qssl/runargv.c -mv runargv.o objects -cc -c -I. -Iqssl -3 -O qssl/tempnam.c -mv tempnam.o objects -cc -c -I. -Iqssl -3 -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iqssl -3 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iqssl -3 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iqssl -3 -O msdos/arlib.c -mv arlib.o objects -cc -N 8192 -o dmake objects/infer.o objects/make.o objects/stat.o \ -objects/expand.o objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o \ -objects/path.o objects/imacs.o objects/sysintf.o objects/parse.o \ -objects/getinp.o objects/quit.o objects/state.o objects/dmdump.o \ -objects/macparse.o objects/rulparse.o objects/percent.o objects/function.o \ -objects/ruletab.o objects/runargv.o objects/tempnam.o objects/dcache.o objects/rmprq.o objects/dirbrk.o objects/arlib.o -cp qssl/template.mk startup/config.mk diff --git a/dmake/qssl/public.h b/dmake/qssl/public.h deleted file mode 100644 index 7f0f83faf9ce..000000000000 --- a/dmake/qssl/public.h +++ /dev/null @@ -1,166 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:46:09 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); -void Remove_prq ANSI((CELLPTR)); -int If_root_path ANSI((char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); - -#endif diff --git a/dmake/qssl/ruletab.c b/dmake/qssl/ruletab.c deleted file mode 100644 index cbfd285f3d71..000000000000 --- a/dmake/qssl/ruletab.c +++ /dev/null @@ -1,41 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.2 2006-04-20 12:09:28 hr Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -static char *_rules[] = { - "MAXPROCESSLIMIT := 10", - "MAXLINELENGTH := 8190", - ".IMPORT .IGNORE: ROOTDIR DMAKEROOT", - ".MAKEFILES : makefile.mk Makefile makefile", - ".SOURCE : .NULL", -#include "startup.h" - 0 }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ diff --git a/dmake/qssl/runargv.c b/dmake/qssl/runargv.c deleted file mode 100644 index c0e602ac9f3f..000000000000 --- a/dmake/qssl/runargv.c +++ /dev/null @@ -1,298 +0,0 @@ -/* RCS $Id: runargv.c,v 1.3 2007-10-15 15:46:20 ihi Exp $ --- --- SYNOPSIS --- Invoke a sub process. --- --- DESCRIPTION --- Use the standard methods of executing a sub process. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include "extern.h" -#include "sysintf.h" - -typedef struct prp { - char *prp_cmd; - int prp_group; - int prp_ignore; - int prp_last; - int prp_shell; - struct prp *prp_next; -} RCP, *RCPPTR; - -typedef struct pr { - int pr_valid; - int pr_pid; - CELLPTR pr_target; - int pr_ignore; - int pr_last; - RCPPTR pr_recipe; - RCPPTR pr_recipe_end; - char *pr_dir; -} PR; - -static PR *_procs = NIL(PR); -static int _proc_cnt = 0; -static int _abort_flg= FALSE; -static int _use_i = -1; -static int _do_upd = 0; - -static void _add_child ANSI((int, CELLPTR, int, int)); -static void _attach_cmd ANSI((char *, int, int, CELLPTR, int, int)); -static void _finished_child ANSI((int, int)); -static int _running ANSI((CELLPTR)); - -/* iz71422 changed the parameters for runargv but it (and the rest of - * qssl) got *NOT* fixed. */ -iz81252 changed the parameters for Pack_argv() and runargv() but this file -did not get fixed! -PUBLIC int -runargv(target, ignore, group, last, shell, cmd) -CELLPTR target; -int ignore; -int group; -int last; -int shell; -char *cmd; -{ - extern int errno; - int pid; - char **argv; - - if( _running(target) /*&& Max_proc != 1*/ ) { - /* The command will be executed when the previous recipe - * line completes. */ - _attach_cmd( cmd, group, ignore, target, last, shell ); - return(1); - } - - while( _proc_cnt == Max_proc ) - if( Wait_for_child(FALSE, -1) == -1 ) Fatal( "Lost a child %d", errno ); - - argv = Pack_argv( group, shell, cmd ); - - switch( pid=fork() ){ - int wid; - int status; - - case -1: /* fork failed */ - Error("%s: %s", argv[0], strerror(errno)); - Handle_result(-1, ignore, _abort_flg, target); - return(-1); - - case 0: /* child */ - execvp(argv[0], argv); - Continue = TRUE; /* survive error message */ - Error("%s: %s", argv[0], strerror(errno)); - kill(getpid(), SIGTERM); - /*NOTREACHED*/ - - default: /* parent */ - _add_child(pid, target, ignore, last); - } - - return(1); -} - - -PUBLIC int -Wait_for_child( abort_flg, pid ) -int abort_flg; -int pid; -{ - int wid; - int status; - int waitchild; - - waitchild = (pid == -1)? FALSE : Wait_for_completion; - - do { - if( (wid = wait(&status)) == -1 ) return(-1); - - _abort_flg = abort_flg; - _finished_child(wid, status); - _abort_flg = FALSE; - } - while( waitchild && pid != wid ); - - return(0); -} - - -PUBLIC void -Clean_up_processes() -{ - register int i; - - if( _procs != NIL(PR) ) { - for( i=0; ipr_valid = 1; - pp->pr_pid = pid; - pp->pr_target = target; - pp->pr_ignore = ignore; - pp->pr_last = last; - pp->pr_dir = DmStrDup(Get_current_dir()); - - Current_target = NIL(CELL); - - _proc_cnt++; - - if( Wait_for_completion ) Wait_for_child( FALSE, pid ); -} - - -static void -_finished_child(pid, status) -int pid; -int status; -{ - register int i; - register PR *pp; - char *dir; - - for( i=0; ice_attr & A_ERROR ) { - _procs[i].pr_last = TRUE; - goto ABORT_REMAINDER_OF_RECIPE; - } - - _procs[i].pr_recipe = rp->prp_next; - - _use_i = i; - runargv( _procs[i].pr_target, rp->prp_ignore, rp->prp_group, - rp->prp_last, rp->prp_shell, rp->prp_cmd ); - _use_i = -1; - - FREE( rp->prp_cmd ); - FREE( rp ); - - if( _proc_cnt == Max_proc ) Wait_for_child( FALSE, -1 ); - } - else { - Handle_result(status,_procs[i].pr_ignore,_abort_flg,_procs[i].pr_target); - - ABORT_REMAINDER_OF_RECIPE: - if( _procs[i].pr_last ) { - FREE(_procs[i].pr_dir ); - - if( !Doing_bang ) Update_time_stamp( _procs[i].pr_target ); - } - } - - Set_dir(dir); - FREE(dir); -} - - -static int -_running( cp ) -CELLPTR cp; -{ - register int i; - - if( !_procs ) return(FALSE); - - for( i=0; iprp_cmd = DmStrDup(cmd); - rp->prp_group = group; - rp->prp_ignore= ignore; - rp->prp_last = last; - rp->prp_shell = shell; - - if( _procs[i].pr_recipe == NIL(RCP) ) - _procs[i].pr_recipe = _procs[i].pr_recipe_end = rp; - else { - _procs[i].pr_recipe_end->prp_next = rp; - _procs[i].pr_recipe_end = rp; - } -} diff --git a/dmake/qssl/setup b/dmake/qssl/setup deleted file mode 100644 index 9aa004cd604f..000000000000 --- a/dmake/qssl/setup +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -if [ ! -d /usr/local ]; then mkdir /usr/local ; fi -if [ ! -d /usr/local/bin ]; then mkdir /usr/local/bin ; fi -if [ ! -d /usr/local/lib ]; then mkdir /usr/local/lib ; fi -if [ ! -d /usr/local/lib/dmake-4.1 ]; then mkdir /usr/local/lib/dmake-4.1 ; fi - - -if [ -d /usr/local/lib/dmake-4.1/startup ] -then - if [ -f /usr/local/lib/dmake-4.1/startup/local.mk ]; then - cp /usr/local/lib/dmake-4.1/startup/local.mk /tmp/local$$ - elif [ -d /usr/local/lib/dmake ]; then - if [ -f /usr/local/lib/dmake/startup/local.mk ]; then - cp /usr/local/lib/dmake/startup/local.mk /tmp/local$$ - fi - fi - /bin/rm -rf /usr/local/lib/dmake-4.1/startup /usr/local/lib/dmake -fi - -mkdir /usr/local/lib/dmake-4.1/startup - -echo "Installing Dmake into /usr/local/bin" - -cp dmake-4.1g/dmake /usr/local/bin/dmake-4.1; -/bin/rm -f /usr/local/bin/dmake -(cd /usr/local/bin; ln -s dmake-4.1 dmake; chmod a+x,og-w dmake-4.1) -cp -r dmake-4.1g/startup /usr/local/lib/dmake-4.1/startup -(cd /usr/local/lib; ln -s dmake-4.1 dmake) -find /usr/local/lib/dmake-4.1 -type d -exec chmod a+x {} \; -find /usr/local/lib/dmake-4.1 -type f -exec chmod og-w,a+r {} \; - -if [ -f /tmp/local$$ ] -then - cp /tmp/local$$ /usr/local/lib/dmake/startup/local.mk -fi - -/bin/rm -rf dmake-4.1g - -echo "Dmake setup is complete" diff --git a/dmake/qssl/startup.h b/dmake/qssl/startup.h deleted file mode 100644 index 139fc1e3e136..000000000000 --- a/dmake/qssl/startup.h +++ /dev/null @@ -1,28 +0,0 @@ -/* RCS $Id: startup.h,v 1.2 2006-04-20 12:09:40 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"DMAKEROOT *:= $(ROOTDIR)/usr/local/lib/dmake/startup", -"MAKESTARTUP := $(DMAKEROOT)/startup.mk", diff --git a/dmake/qssl/stdlib.h b/dmake/qssl/stdlib.h deleted file mode 100644 index c599d7104363..000000000000 --- a/dmake/qssl/stdlib.h +++ /dev/null @@ -1,48 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); - -#ifndef _AIX -/* The AIX compiler dies on illegal redefinition of free */ -extern free(); -#endif - -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/qssl/sysintf.h b/dmake/qssl/sysintf.h deleted file mode 100644 index 323003253afb..000000000000 --- a/dmake/qssl/sysintf.h +++ /dev/null @@ -1,42 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.2 2007-01-18 09:37:51 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define Hook_std_writes(A) -#define GETPID getpid() - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define getswitchar() '-' - -/* -** make parameters -*/ diff --git a/dmake/qssl/template.mk b/dmake/qssl/template.mk deleted file mode 100644 index e7e9837ae671..000000000000 --- a/dmake/qssl/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= qssl - OSRELEASE *:= - OSENVIRONMENT *:= diff --git a/dmake/qssl/tempnam.c b/dmake/qssl/tempnam.c deleted file mode 100644 index eb683da7ee4c..000000000000 --- a/dmake/qssl/tempnam.c +++ /dev/null @@ -1,102 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include - -#define max(A,B) (((A)<(B))?(B):(A)) - -extern int access(); - -static char *cpdir(); -static char seed[4]="AAA"; - -/* BSD stdio.h doesn't define P_tmpdir, so let's do it here */ -#ifndef P_tmpdir -static char *P_tmpdir = "/tmp"; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+16))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (access( cpdir(p, tmpdir), 3) != 0) ) - if( (dl == 0) || (access( cpdir(p, dir), 3) != 0) ) - if( access( cpdir(p, P_tmpdir), 3) != 0 ) - if( access( cpdir(p, "/tmp"), 3) != 0 ) - return(NULL); - - (void) strcat(p, "/"); - if(prefix) - { - *(p+strlen(p)+5) = '\0'; - (void)strncat(p, prefix, 5); - } - - (void)strcat(p, seed); - (void)strcat(p, "XXXXXX"); - - q = seed; - while(*q == 'Z') *q++ = 'A'; - ++*q; - - if(*tmpnam(p) == '\0') return(NULL); - return(p); -} - - - -static char * -cpdir(buf, str) -char *buf; -char *str; -{ - char *p; - - if(str != NULL) - { - (void) strcpy(buf, str); - p = buf - 1 + strlen(buf); - if(*p == '/') *p = '\0'; - } - - return(buf); -} diff --git a/dmake/qssl/time.h b/dmake/qssl/time.h deleted file mode 100644 index f3ddaf7962dd..000000000000 --- a/dmake/qssl/time.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:30 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Fix broken time_t definition. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/quit.c b/dmake/quit.c deleted file mode 100644 index 54043093de24..000000000000 --- a/dmake/quit.c +++ /dev/null @@ -1,116 +0,0 @@ -/* $RCSfile: quit.c,v $ --- $Revision: 1.8 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:29:56 $ --- --- SYNOPSIS --- End the dmake session. --- --- DESCRIPTION --- Handles dmake termination. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -static void _handle_quit ANSI((char*)); -static int _quitting = 0; /* Set to 1 once Quit() is called for the - * first time. */ - - -PUBLIC void -Quit( sig )/* -======== Error or quit */ -int sig; -{ - if( sig == SIGINT ) - fprintf(stderr, "Caught SIGINT. Trying to quit ...\n"); - else -#ifdef SIGQUIT - /* MinGW, maybe others also, does not have SIGQUIT. */ - if( sig == SIGQUIT ) - fprintf(stderr, "Caught SIGQUIT. Trying to quit ...\n"); - else -#endif - if( sig == 0 ) - /* Don't be verbose during regular program termination. */ - ; - else - fprintf(stderr, "Caught signal %d. Trying to quit ...\n", sig); - - if( _quitting ) return; /* Guard to only quit once. */ - _quitting = 1; - - while( Closefile() != NIL( FILE ) ); - - /* CTRL-c sends SIGINT and CTRL-\ sends SIGQUIT to the parent and to all - * children. No need to kill them. */ - if( sig != SIGINT -#ifdef SIGQUIT - /* MinGW, maybe others also, does not have SIGQUIT. */ - && sig != SIGQUIT -#endif - ) - /* This should be called Kill_all_processes(). */ - Clean_up_processes(); - - /* Wait until all Processes are done. */ - while( Wait_for_child(TRUE, -1) != -1 ) - ; - - if( Current_target != NIL(CELL) ) - Unlink_temp_files(Current_target); - - if( _quitting == 0 ) _handle_quit( ".ERROR" ); - - Set_dir( Makedir ); /* No Error message if we can't do it */ - Epilog( ERROR_EXIT_VALUE ); -} - - -PUBLIC const int -in_quit( void )/* -================= - Called to check if we are already quitting. - (Only used in unix/runargv.c.) */ -{ - return _quitting; -} - -static void -_handle_quit( err_target )/* -============================ - Called by Quit() to handle the execution of termination code - from within make */ -char *err_target; -{ - HASHPTR hp; - CELLPTR cp; - - if( (hp = Get_name(err_target, Defs, FALSE)) != NIL(HASH) ) { - cp = hp->CP_OWNR; - Glob_attr |= A_IGNORE; - - cp->ce_flag |= F_TARGET; - Make( cp, NIL(CELL) ); - - /* Beware! If the ".ERROR" target doesn't finish the following - * wait will never return!!! */ - while( Wait_for_child(FALSE, -1) != -1 ); - - } -} diff --git a/dmake/rcsclean.awk b/dmake/rcsclean.awk deleted file mode 100644 index 8fdba716bacd..000000000000 --- a/dmake/rcsclean.awk +++ /dev/null @@ -1,57 +0,0 @@ -/^\/\* RCS/ { print "/* RCS $Id: rcsclean.awk,v 1.1.1.1 2000-09-22 15:33:25 hr Exp $"; next } -/^-- LOG/,/^\*\// { - if( ! flag ) { - print "-- LOG"; - print "-- Use cvs log to obtain detailed change logs."; - print "*/"; - flag = 1; - } - - next; -} -/^-- SYNOPSIS --/ { - print "--"; - print "-- SYNOPSIS"; - printf "-- %s%s\n", toupper(substr($0, 16,1)), substr($0,17); - next; -} -/^-- WWW/,/^--$/ { - if( !wflag ) { - print "-- WWW"; - print "-- http://dmake.wticorp.com/"; - print "--"; - wflag = 1; - } - next; -} -/^-- AUTHOR/,/^--$/ { - if( !aflag ) { - print "-- AUTHOR"; - print "-- Dennis Vadura, dvadura@dmake.wticorp.com"; - print "--"; - aflag = 1; - } - next; -} -/^-- COPYRIGHT/,/^--$/ { - if( !wflag ) { - print "-- WWW"; - print "-- http://dmake.wticorp.com/"; - print "--"; - wflag = 1; - } - - if( !cflag ) { -print "-- COPYRIGHT"; -print "-- Copyright (c) 1996,1997 by WTI Corp. All rights reserved."; -print "-- "; -print "-- This program is NOT free software; you can redistribute it and/or"; -print "-- modify it under the terms of the Software License Agreement Provided"; -print "-- in the file /readme/license.txt."; -print "--"; -cflag = 1; - } - next; -} - -{ print; } diff --git a/dmake/readme/intro.txt b/dmake/readme/intro.txt deleted file mode 100644 index 8e25f9523b5b..000000000000 --- a/dmake/readme/intro.txt +++ /dev/null @@ -1,40 +0,0 @@ -DMAKE ------ - -The original sources of dmake were available on http://dmake.wticorp.com. -This site has not been reachable for some time and the source is hosted -in the OpenOffice.org http://www.openoffice.org/ cvs now. You can view -the source at: http://tools.openoffice.org/source/browse/tools/dmake. - -dmake is different from other versions of Make in that it supports significant -enhancements. A short summary of the more important features follows: - - . support for portable makefiles - . portable accross many platforms - . significantly enhanced macro facilities - . sophisticated inference algorithm supporting transitive closure - over the inference graph - . support for traversing the file sytem both during making of targets - and during inference - . %-meta rules for specifying rules to be used for inferring - prerequisites - . conditional macros - . local rule macro variables - . proper support for libraries - . parallel making of targets on architectures that support it - . attributed targets - . text diversions - . group recipes - . swapping itself to DISK under MSDOS - . supports MKS extended argument passing convention - . directory caching - . highly configurable - -Current release notes can be found in the file: - - NEWS - -Release notes for older dmake versions (4.1 and before) can be found in -the file: - - readme/release.txt diff --git a/dmake/readme/license.txt b/dmake/readme/license.txt deleted file mode 100644 index 3c68f02bb420..000000000000 --- a/dmake/readme/license.txt +++ /dev/null @@ -1,248 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 1, February 1989 - - Copyright (C) 1989 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The license agreements of most software companies try to keep users -at the mercy of those companies. By contrast, our General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. The -General Public License applies to the Free Software Foundation's -software and to any other program whose authors commit to using it. -You can use it for your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Specifically, the General Public License is designed to make -sure that you have the freedom to give away or sell copies of free -software, that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new free -programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of a such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any program or other work which -contains a notice placed by the copyright holder saying it may be -distributed under the terms of this General Public License. The -"Program", below, refers to any such program or work, and a "work based -on the Program" means either the Program or any work containing the -Program or a portion of it, either verbatim or with modifications. Each -licensee is addressed as "you". - - 1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -General Public License and to the absence of any warranty; and give any -other recipients of the Program a copy of this General Public License -along with the Program. You may charge a fee for the physical act of -transferring a copy. - - 2. You may modify your copy or copies of the Program or any portion of -it, and copy and distribute such modifications under the terms of Paragraph -1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating that - you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, that - in whole or in part contains the Program or any part thereof, either - with or without modifications, to be licensed at no charge to all - third parties under the terms of this General Public License (except - that you may choose to grant warranty protection to some or all - third parties, at your option). - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use - in the simplest and most usual way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this General - Public License. - - d) You may charge a fee for the physical act of transferring a - copy, and you may at your option offer warranty protection in - exchange for a fee. - -Mere aggregation of another independent work with the Program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other work under the scope of these terms. - - 3. You may copy and distribute the Program (or a portion or derivative of -it, under Paragraph 2) in object code or executable form under the terms of -Paragraphs 1 and 2 above provided that you also do one of the following: - - a) accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal charge - for the cost of distribution) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form alone.) - -Source code for a work means the preferred form of the work for making -modifications to it. For an executable file, complete source code means -all the source code for all modules it contains; but, as a special -exception, it need not include source code for modules which are standard -libraries that accompany the operating system on which the executable -file runs, or for standard header files or definitions files that -accompany that operating system. - - 4. You may not copy, modify, sublicense, distribute or transfer the -Program except as expressly provided under this General Public License. -Any attempt otherwise to copy, modify, sublicense, distribute or transfer -the Program is void, and will automatically terminate your rights to use -the Program under this License. However, parties who have received -copies, or rights to use copies, from you under this General Public -License will not have their licenses terminated so long as such parties -remain in full compliance. - - 5. By copying, distributing or modifying the Program (or any work based -on the Program) you indicate your acceptance of this license to do so, -and all its terms and conditions. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the original -licensor to copy, distribute or modify the Program subject to these -terms and conditions. You may not impose any further restrictions on the -recipients' exercise of the rights granted herein. - - 7. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of the license which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -the license, you may choose any version ever published by the Free Software -Foundation. - - 8. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to humanity, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19xx name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w' and `show -c'; they could even be mouse-clicks or menu items--whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision' (a program to direct compilers to make passes - at assemblers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/dmake/readme/public/install.txt b/dmake/readme/public/install.txt deleted file mode 100644 index a5ee339d2730..000000000000 --- a/dmake/readme/public/install.txt +++ /dev/null @@ -1,203 +0,0 @@ - DMAKE UNPACKING AND INSTALLATION INSTRUCTIONS - - -We attempt to keep the information presented here accurate. However, the -defacto location of the most up to date information is the dmake WWW site -found at: - - http://dmake.wticorp.com/ - -DMAKE is available in several formats: a compressed tar src archive, -a pkzip src archive, a variety of executable archives. Refer to the -appropriate section below for unpacking instructions. - - -1. UNPACKING THE DISTRIBUTION FILES - - OPTION 'A' (compressed tar src archive): - -------------------------------------- - Assumption: The current directory contains the latest version of dmake in - the file 'dm41src.tgz'. - - This file is a standard GNU zip compressed tar archive. To unpack the file - issue the following command. gunzip is available for most UNIX platforms - as well as DOS. - - gunzip -c dm41src.tgz | tar xf - - - - OPTION 'B' (src zip archive): - ----------------------------- - Assumption: The current directory contains the latest version of DMAKE in - the file dm41src.zip. - - To unpack the full zip distribution simply use pkunzip with the - following command: - - pkunzip dm41src.zip - or - unzip dm41src.zip - - - Instructions for unpacking executable only versions are given on the - dmake WWW site. - - -2. BUILDING THE EXECUTABLE - - Skip this step if you have purchased a prebuilt binary distribution. - - The only supported method for building a new executable from a fresh or - patched distribution is to use the self building scripts rather than DMAKE - itself. This is necessary in order to allow for the use of new DMAKE - features and functionality in the DMAKE 'makefile' itself. Once built - the DMAKE executable can be used to rebuild DMAKE. - - To determine the set of supported environments issue the following - commands: - - cd src - make - - The output of this command will be a set of arguments representing the - supported environments that DMAKE can be compiled in. Choose the one - that most closely represents your environment and issue the command: - - make environ_tag - - where 'environ_tag' is from the previous list, for example on a Solaris - System the option is Solaris, so you would issue the command 'make Solaris'. - - The script runs the appropriate set of commands; upon completion the file - 'dmake' or 'dmake.exe' is found in the current directory. - This is the binary executable. - - Note: before issuing the build command please read Section 3 and decide - if you need or want to modify the pre-compiled value of MAKESTARTUP. - - During the build it is safe to ignore any warnings that may - be generated by your build. If you get errors from the build then - it is probably the case that you have chosen a build target that is - not compatible with your environment. - - -3. INSTALLING AND CONFIGURING THE EXECUTABLE - - To install the dmake executable place the executable into the - location where your system normally finds executables. That is - place dmake into a subdirectory that is or will be in your - executable search PATH. - - You can now issue the command 'dmake -V'; the output will be - similar to: - - dmake - Copyright (c) 1990,...,1996 by Dennis Vadura, Version 4.10, PL 0 - - Default Configuration: - MAXPROCESSLIMIT := 10 - MAXLINELENGTH := 8190 - .IMPORT .IGNORE: ROOTDIR - .MAKEFILES : makefile.mk Makefile makefile - .SOURCE : .NULL - MAKESTARTUP := $(ROOTDIR)/usr/local/lib/dmake/startup/startup.mk - - Please read the file readme/release for the latest release notes. - - - Take note of the line defining the value of MAKESTARTUP; to configure - the executable you must perform two steps: - - 1. Copy the /startup subtree to a suitable location, - 2. Tell dmake where you put it, - - - Step 1: - ------- - The above example build of dmake assumes that the directory path (assuming - ROOTDIR is NULL) - - /usr/local/lib/dmake/ - - is a directory which contains a copy of the "/startup" - subtree. Thus to properly configure dmake so that the precompiled - defaults would be used you would have to perform the following: - - cd - mkdir /usr/local/lib/dmake - cp -r startup /usr/local/lib/dmake - - or if you are in the MSDOS or Windows-95/NT world: - - cd - md \usr\local\lib\dmake - xcopy startup \usr\local\lib\dmake - - and you are done Step 1. - - - Step 2: - ------- - You must tell dmake where it is that you placed the "startup" subtree. If - the location is the directory that is pre-compiled into dmake then you - are done. If the directory where you copied the dmake subtree is not the - precompiled value you must either set the global environment variable - MAKESTARTUP to point at the new location of "startup/startup.mk" or you - must rebuild dmake with a new precompiled value of MAKESTARTUP. To do the - latter create the file: - - src/startup.h - - and make sure that it contains an entry similar to the following: - - /* This file contains the default value of the MAKESTARTUP variable. - * You must set the quoted string below to the default path to the startup - * variable, so that it gets compiled in. LEAVE ROOTDIR at the front of - * the path. This allows the user to customize his environment for dmake - * by setting up a new ROOTDIR environment variable. */ - - "MAKESTARTUP := $(ROOTDIR)/usr/local/lib/dmake/startup/startup.mk", - - (See src/msdos/startup.h for an example). Once set properly rerun your - previous build. In the rare instance that your compiler has broken - #include search rules, the shipped "startup.h" files are located in - architecture specific subdirectories as described in the file - "readme/srcorg". - - -4. DMAKE SPECIFIC ENVIRONMENT VARIABLES - - Once you have built dmake, the dmake startup directory contains the file - "config.mk". This file contains definitions corresponding to your installed - target environment for the variables: - - OS - Specifies the flavour of operating system. - OSRELEASE - Specifies the particular version of the operating - system. - OSENVIRONMENT - An optional configuration parameter for the operating - system release. - - Appropriate values for these variables are found in the - - /startup/templates////template.mk - - file. Select the OS, OSRELEASE, and OSENVIRONMENT that best suits your - setup (check readme.1st) for hints on selecting the most appropriate - settings. - - These three variables are used to determine the correct dmake configuration - when dmake starts up, and loads its builtin definitions from the startup - subtree hierarchy. The only time you should have a need to change these - values or the contents of the startup subtree is when you wish to supply - your own customized default environment or you are building dmake for a - new as yet unsupported target environment. - - -5. LOCALE SPECIFIC CONFIGURATION - - Locale specific macro definitions that are not part of the predefined macro - set should be placed into the file "startup/local.mk". This ensures that - future dmake releases will not overwrite your prior definitions. We - guarantee that the file "startup/local.mk" will never be part of any future - dmake distribution. - - diff --git a/dmake/readme/public/mac.txt b/dmake/readme/public/mac.txt deleted file mode 100644 index 34a2dca5f820..000000000000 --- a/dmake/readme/public/mac.txt +++ /dev/null @@ -1,43 +0,0 @@ -MAC specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a MAC -environment. - - -1. ENVIRONMENT VARIABLE SETTINGS - -Only a single set of settings is available for the macintosh. There are no -sub-selections for specific OS release and/or environment. - - OS - mac - OSRELEASE - NULL - OSENVIRONMENT - NULL - - -2. IMPLEMENTATION NOTES - -This port for the Macintosh is specifically designed to be run -under MPW. - -I had to make a couple of changes to dmake in order to get it to work -on the Mac. First, MPW provides no documented way to run a -subprocess, so when you use dmake, you MUST use the -n option and -execute the output. Typically, you will probably want to write a -simple script file to do these operations for you. - -I added some code so that the Macintosh version of dmake can -use UNIX-style directories to specify include paths and target -and dependency file names. I.e., if you specify a file "/dir/file", -dmake will look at the file "dir:file". However, Mac dmake does not -do any translation from files specified by UNIX-style directories -in the recipe line that gets executed. If you need to translate, -you can use substitution commands. (For example, -":$(RELATIVEUNIXFILE:s,/,:,)".) This code was added so one could -execute dmake's makefile, and also so one would have an easier time -porting other UNIX makefiles. I would suggest you stick with -Macintosh-style directories for all other makefiles. - -In order to run dmake, you must set (and export) the environmental -variable "OS" to "mac". - -Micah Doyle -micah@leland.Stanford.EDU diff --git a/dmake/readme/public/msdos.txt b/dmake/readme/public/msdos.txt deleted file mode 100644 index 72664843a644..000000000000 --- a/dmake/readme/public/msdos.txt +++ /dev/null @@ -1,124 +0,0 @@ -MSDOS specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake under MSDOS. -I will be happy to hear of erroneous information and will make every effort -to correct it. - -NOTE: If you are seeking information for Win32 compiles please refer to - the file "readme/winnt". - - -1. ENVIRONMENT VARIABLE SETTINGS - -There are many environment variable settings available for MSDOS. Each -option is described below. - - OS - msdos - - OSRELEASE - borland # Borland compilers - - microsft # Microsoft compilers - - zortech # zortech compilers (unsupported) - - OSENVIRONMENT - tcc20 # Borland Turbo C 2.0 - - bcc30 # Borland C++ V3.0 MSDOS compile - - bcc40 # Borland C++ V4.0 MSDOS compile - - bcc45 # Borland C++ V4.5 MSDOS compile - - bcc50 # Borland C++ V5.0 MSDOS compile - - - msc51 # Microsoft 5.1 Compiler MSDOS compile - - msc60 # Microsoft 6.0 Compiler MSDOS compile - - MSC_VER - 5.1 # Microsoft Compiler version - - 6.0 # Microsoft Compiler version - - -2. IMPLEMENTATION NOTES - -Bootstrapping the binary: -------------------------- - A make.bat file is provided to bootstrap the binary. The file contains - several targets for bootstrapping. Invoking the batch file with no - arguments lists the possibilities shown below. - - INDEX: You must specify one of: - tccswp - Turbo C 2.0 compile of swapping dmake. - bcc30swp - Borland C++ 3.0 compile of swapping dmake. - bcc40swp - Borland C++ 4.0 compile of swapping dmake. - bcc45swp - Borland C++ 4.5 compile of swapping dmake. - bcc50swp - Borland C++ 5.0 compile of swapping dmake. - - msc51 - Microsoft C 5.1 compile. - msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake. - msc60 - Microsoft C 6.0 compile. - msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake. - - Based on the compiler you have installed and whether or not you - want the swapping version of dmake, you should select the appropriate - target and issue 'make.bat target'. - - The batch file runs a second batch script that comes with the distribution - which compiles the sources using the appropriate compiler and flags. The - MSC Versions of the batch files should not require any further user - intervention during the build. The Borland versions, as a final step, - invoke tlink with two response files. The second of these response files, - named in msdos/borland/{bcc*,tcc20}/mk*.bat, contains absolute path names to - Borland's libraries. You likely need to edit these before getting a - successful binary linked. The reason for this is that not all of us - install the Borland compiler in the same place. - - Note that the file msdos/exec.uue is a uuencoded version of a BCC++ - compiled exec.obj (from exec.asm). If you do not have an assembler - either microsoft MASM or Borland TASM (or some other), you can uudecode - this file and put it into src/objects/exec.obj. The build will then - link against it to build your binary. - - -Using dmake to Make itself: ---------------------------- - See the file "readme/install" for information on building dmake by using - dmake itself. Once successfully built using the presupplied scripts it - should be straight forward to rebuild dmake. - - -Memory Requirements and Swapping: ---------------------------------- - The swapping code currently only swaps to DISK, there are hooks - in the code to accomodate XMS and EMS, but have not been used (and - probably never will). - - It appears that a ramdisk seems to work just fine. If anyone - wishes to fill in the hooks please do so and send us the differences. - - -^C and stopping a make: ------------------------ - Thanks to the efforts of Len Reed, appears to now work. I have been unable - to hang my machine if it's swapped out and I hit ^C a couple thousand times. - - -Other notes: ------------- - dmake does not care if you are running command.com or some other command - interpretter, you must however specify the proper values of the environment - variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things - to work correctly. Read the man page FIRST, if you still have trouble - then send email. - - Group recipes under DOS that use command.com as the command interpretter - require you to set the GROUPSUFFIX macro. - - As shipped the startup.mk files for the DOS version try to figure out what - command interpretter you are using and set things up appropriately. - Two command interpretters are supported in the shipped startup.mk file, - command.com, and the MKS Korn shell. - - The dos version of dmake contains one builtin command. noop which - simply ignores the remainder of the line and always retuns success, - - dmake supports the MKS argument passing conventions. The facility is - enabled by setting .MKSARGS:=1. It is set by default in the startup.mk file - if an MKS Korn shell is detected as being the active command interpretter. - - At this time there are no plans to support the other popular UNIX like - argument passing conventions available under DOS. We recommend you get - a copy of the MKS Toolkit from Mortice Kern Systems in Waterloo, Ontario, - Canada [http://www.mks.com/]. diff --git a/dmake/readme/public/os2.txt b/dmake/readme/public/os2.txt deleted file mode 100644 index 5acf4cc6ab0a..000000000000 --- a/dmake/readme/public/os2.txt +++ /dev/null @@ -1,76 +0,0 @@ -OS/2 specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a OS/2 -environment. - -Notes on the OS/2 implementation of dmake: -========================================== - -As shipped the DOS versions of dmake will run under OS/2 protected mode. -However, support for a full OS/2 version is also provided. The OS/2 version -will run in parallel under OS/2. - -Bootstrapping the binary: -------------------------- - A make.cmd file is provided to bootstrap the binary. The file contains - several targets for bootstrapping. Invoking the batch file with no - arguments lists the possibilities shown below. - - INDEX: You must specify one of: - ibm - IBM C2 compile. - - The only supported compiler under OS/2 is the Visual Age ICC compiler. - I have tested the build using this compiler. The resulting binary - performs proper directory caching and file-name case mapping for cached - directories and is capable of parallel target builds. The only known - limitation of the OS/2 implementation is the treatment of library time - stamps. Libraries do not have time stamps on members and the timestamp - of the library is used instead. - - -OS/2 Specifics --------------- - - There is a small number of OS/2 specific features that need to be - stated. - - 1. The environment variables TMP as well as TMPDIR are checked for the - location of the directory where dmake should place any temporary files. - TMPDIR is checked before TMP. - - 2. Appropriate limits are setup for MAXPROCESSES and buffer sizes etc. - See output of 'dmake -V'. - - 3. By default dmake will look for the startup.mk file in the path: - - $(ROOTDIR)/dmake/startup/startup.mk - - This is more in keeping with OS/2 philosophy. You may still rename - and put it anywhere else you like by defining the MAKESTARTUP - environment variable. - - 4. Swapping the dmake binary to disk is not supported under OS/2. - - -Other notes: ------------- - dmake does not care if you are running cmd.exe or some other command - interpretter, you must however specify the proper values of the environment - variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things - to work correctly. Read the man page first. - - Group recipes under OS/2 that use cmd.exe as the command interpretter - require you to set the GROUPSUFFIX macro. - - As shipped the startup.mk files try to figure out what - command interpretter you are using and set things up appropriately. - Two command interpretters are supported in the shipped startup.mk file, - cmd.exe (via COMSPEC), and the MKS Korn shell. - - dmake does not contain any builtin commands. It gets all commands it - executes from an external file system. It is therefore most useful if it - is used in conjunction with an environment similar to that provided by - the MKS Tool kit, or equivalent. - - dmake now supports the MKS argument passing conventions. The facility is - enabled by setting .MKSARGS:=1 and is set by default in the startup.mk file - if an MKS Korn shell is detected as being the active command interpretter. diff --git a/dmake/readme/public/qssl-qnx.txt b/dmake/readme/public/qssl-qnx.txt deleted file mode 100644 index 80fc8b56aa4d..000000000000 --- a/dmake/readme/public/qssl-qnx.txt +++ /dev/null @@ -1,5 +0,0 @@ -QNX differs from UNIX only in that the library format is that of MSDOS and -as such the normal stating of library members does not work. QNX versions of -dmake stat the library instead of the members (as does the MSDOS -implementation). Otherwise see the readme/unix file for further unix related -information. diff --git a/dmake/readme/public/srcorg.txt b/dmake/readme/public/srcorg.txt deleted file mode 100644 index 89ff914eec4b..000000000000 --- a/dmake/readme/public/srcorg.txt +++ /dev/null @@ -1,74 +0,0 @@ -SOURCE CODE ORGANIZATION: -------------------------- -The source code is organized as follows: - - dmake [source for all common functions] - | - | - ---------------------------- - | | | | | - unix tos qnx os2 msdos [source for OS specific functions] - | | | - -------------------- | ------------------- - | | | | | | | -386ix bsd43 sysvr[134] | tccdos bccdos mscdos [source for OSRELEASE - | | | specific functions] - | --------- ------------------ - | | | | | | - | ibm mscdos bcc30 bcc32 bcc40 - | - | - | - -------- - | | - uw vf [source for OSENVIRONMENT specific functions] - - -Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source -that is specific to that release of the OS (and possibly C-library) - - -CREATING A NEW VERSION: ------------------------ -To create yet another version of dmake you should follow the following steps. - -The sysvr3 version as sent is the base version, all dmake versions must provide -the equivalent of the functions defined in the sysvr3 directory, and MUST -provide the same semantics (MSDOS archive lib searches are an exception since -we cannot search libraries for timestamps in MSDOS, Actually the MKS version -of dmake does this, I don't have the inclination to add this code though). - -1. Create a new directory for the version you will be making at the level - that is appropriate. If it is a new OS then add the dir at the top level, - if it is a new version of UNIX then add it below the unix directory. - -2. Copy the files from the unix and unix/sysvr3 directories to the new dir. - (Or from any other directory sub-tree that is more appropriate) - -3. Not all OS/OSRELEASE combinations are compatible so in order to make - dmake on each, the particular directory may contain C-source for functions - present in the SVID SysV R3 distribution which are used by dmake but are - not supplied by the C-library in the target system. For example the bsd43 - directory contains source for tempnam.c since it is not provided with - the BSD C-library. Before writing a new version of the source file - check the other directories to see if one already exists. - -4. Under some systems the standard include files may be missing or incorrect. - eg. under BSD stdarg.h and string.h. If this is the case - you should create the proper .h file in the proper directory. - This works as expected as the compile line includes the flag -Idir - where dir is the configuration dir, (bsd43 for example) and any - standard include files will be searched for in dir before the compiler - looks in the normal places (if you have a sane compiler :-). - -5. Modify dmake.sh to contain the appropriate C compiler flags and link command - and to include any specific C files that you have had to add for this - version of dmake, and run the result through the shell. - (make the same changes to config.mk so that once you have a working copy of - dmake you can use it to bring itself up to date) - -6. Send me the changes :-) so that I can incorporate them into future - distributions. - -7. This should be all that you require to create a new version of dmake. - If you have any questions send e-mail to dvadura@plg.uwaterloo.ca diff --git a/dmake/readme/public/tos.txt b/dmake/readme/public/tos.txt deleted file mode 100644 index ddcc43104483..000000000000 --- a/dmake/readme/public/tos.txt +++ /dev/null @@ -1,31 +0,0 @@ -Atari TOS specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a TOS -environment. I do not own an ST. As a result I rely on others to insure that -this version of dmake works as advertized. If you have any problems with it -please fix them and send me the differences so that I can incorporate them -into future releases and patches. - - -1. ENVIRONMENT VARIABLE SETTINGS - -Only a single set of settings is available for Atari TOS. There are no -sub-selections for specific OS release and/or environment. - - OS - tos - OSRELEASE - NULL - OSENVIRONMENT - NULL - - -2. IMPLEMENTATION NOTES - -The code to compile on an Atari-ST using GCC was supplied by Edgar Roeder -(roeder@cs.uni-sb.de). I do not have an ST on which to verify the -distribution sources but I have no reason to believe them to not work. -If there are any problems please let Edgar or myself know. - -I know of no bugs or limitation to the Atari-ST implementation. Note that -it is similar to the DOS version but it does not swap itself out. This does -not appear to be as much of a problem on the Atari as it is on MSDOS boxes :-). -See the msdos specific info file for further information. - --dennis diff --git a/dmake/readme/public/unix.txt b/dmake/readme/public/unix.txt deleted file mode 100644 index b50ab9afad1c..000000000000 --- a/dmake/readme/public/unix.txt +++ /dev/null @@ -1,171 +0,0 @@ -UNIX specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake under UNIX. -I will be happy to hear of erroneous information and will make every effort -to correct it. - - -1. ENVIRONMENT VARIABLE SETTINGS - -There are many environment variable settings available for UNIX. Each -option is described below. - - OS - unix - - OSRELEASE - bsd43 # generic BSD 4.3 - - solaris # Solaris environments - - sysvr1 # System V R1 - - sysvr3 # System V R3 - - sysvr4 # System V R4 - - xenix # Xenix - - 386ix # Sun IPX 386 boxen - - coherent # Coherent... - - qnx # QNX - - OSENVIRONMENT - uw # U of Waterloo mfcf environment for BSD4.3 - - vf # for environments needing vfprintf - - pwd # for environments needing new pwd - - gcc # for GCC compiles with Solaris2.3 and greater - - verxx # for specific OS versions. - - -The table below lists valid combinations for settings of OS, OSRELEASE, and -OSENVIRONMENT. - - OS OSRELEASE OSENVIRONMENT - -- --------- ------------- - unix bsd43 - unix bsd43 uw - unix bsd43 vf - unix solaris - unix solaris gcc - unix sysvr1 - unix sysvr3 - unix sysvr3 pwd - unix sysvr4 - unix xenix - unix xenix pwd - unix 386ix - unix coherent ver40 - unix coherent ver42 - -You must set OS and OSRELEASE, OSENVIRONMENT to correspond to one of the -configurations in the above table. - - -2. IMPLEMENTATION NOTES - -Bootstrapping the binary: -------------------------- - A 'makefile' file is provided to bootstrap the binary. The file contains - many targets for bootstrapping. Issuing 'make' will provide the list of - possible targets that can be built. A restricted sample is shown below: - - INDEX: You must specify 'make target' where target is one of: - ------------- - make bsd43 - Generic BSD 4.3 System - make bsd43uw - Generic BSD 4.3 at U of Waterloo - make bsd43vf - Generic BSD 4.3 that needs vfprintf - make sysvr4 - Generic SysV R4 UNIX System - make sysvr3 - Generic SysV R3 UNIX System - make sysvr3pwd - Generic SysV R3 UNIX System, our PWD - make sysvr1 - Generic SysV R1 UNIX System - make dynix - Sequent DYNIX System - make linux - Linux - make ultrix - Ultrix 3.0 System - make mips - Any MIPS System - make coherent40 - Any Coherent Version 4.0 System - make coherent42 - Any Coherent Version 4.2 or greater System - make hpux - HP Unix - make 386ix - 386/ix (SysV R3) System - make xenix - 386 Xenix System - make xenixpwd - 386 Xenix System, our PWD - make aix - IBM RS6000/AIX System - make Solaris - SUN Solaris 1.0 to 2.0 - make Solaris2.1 - SUN Solaris 2.1 or greater - make gccSolaris2.1 - SUN Solaris 2.1 or greater with gcc - - The above shows only the possible builds for UNIX like operating systems. - Choose the one that best suits your needs and issue the command - - 'make target' - - -Using dmake to Make itself: ---------------------------- - If you use dmake to make itself you must first set a number of makefile - control variables, either through the environment or on the command line. - - The following variables must be set: - - OS - defines operating system (must be set) - OSRELEASE - particular version of it. - OSENVIRNOMENT - more customization - - These three variables should be defined in your environment. Valid values - for UNIX are listed above in Section 1. You must chose one a setting from - the table that best matches your system. - - Once set simply issue the command: 'dmake' and the sources will be - automatically rebuilt. You do not need to specify a target when you - use dmake and the environment variables are correctly set. - - -.NAMEMAX and length of file names: ----------------------------------- -dmake assumes that no file name component has a name longer than .NAMEMAX -(a user-settable variable, see the man page). Files whose basename is -longer than .NAMEMAX return a timestamp of 0 when statted. The reason for -this test is to handle broken versions of stat that return non-zero times -for stating files that are longer than the legal file name length but for -which a file whose name is the legal maximum file name length and is a prefix -of the longer name exists. This used to cause infinite loops in the inference -engine. - -As a result the value of .NAMEMAX is important. dmake attempts to determine -it at from your system header files when compiled however sometimes even these -may be erroneous thus as a result as of dmake 4.0 users may set the value of -.NAMEMAX to any value they wish. - - -Library Name Length: --------------------- -By default the maximum length of library member names is defined in the the -ar.h header file and is usually 14. Elf libraries allow for a arbitrarily -long member names, if your archiver supports the elf archiver extension for -long member names then edit the file unix/arlib.c and set the CHECKELF define -to indicate that the Elf archiver extension is to be checked for. - -If Elf is not supported and your archiver truncates member names you should -set (in unix/arlib.c) the macro AR_TRUNCATE_MEMBER_NAMES. dmake will then -also truncate member names and perform a length limitted comparison when -scanning the library for matching member names. - - -UNIX Sysv R3 and getcwd: ------------------------- -Some versions of UNIX SysV R3 and Xenix use the popen call to capture the -output of pwd when invoking the C library function getcwd(). These versions -of the function cause dmake to terminate with the "lost a child" message -due to the fact that the parent dmake process may catch the pwd and not -recognize it as a child. For systems that have this problem use the version -of dmake that supplies its own getcwd function. The settings are: - - OS = unix - OSRELEASE = sysvr3 - OSENVIRONMENT = pwd - -It is directly available through the 'makefile' by typing one of: - - make sysvr3pwd - make xenixpwd - -both include the getcwd code but the xenixpwd target compiles for a Xenix -system. - - -UNIX and "limits.h": --------------------- -Some compilers do not yet provide the "limits.h" file, if yours is one of -these then simply copy the file "namemax.h" in the source root directory to -"limits.h". Make sure the length of a file name is correctly set in -"limits.h" as it is processed prior to "namemax.h". diff --git a/dmake/readme/read1st.txt b/dmake/readme/read1st.txt deleted file mode 100644 index 1ff1229e6b32..000000000000 --- a/dmake/readme/read1st.txt +++ /dev/null @@ -1,58 +0,0 @@ -DMAKE 4.12 -========== - -This directory tree contains a number of files. Here is a short -description of what each file contains so that you do not need to -search as much. There is also a recommended order for reading them. - - read1st.txt - This file; generic information. - intro.txt - Short note describing what 'dmake' is and where to - get it from. - release.txt - Changes of previous releases, and release specific - notes. (Not longer continued.) - ../NEWS - Changes from previous release. (Continuation of - release.txt.) - ../man/ - directory containing DMAKE manual page. - - public/ - Old build and installation instructions - for the Dmake 4.1 public release. As of Dmake 4.2 - dmake switched to an autotools based build system - and these instructions are not longer valid for - operating systems that are supported by the autotools - system. - If you are on a system that is not supported you - might still find some useful information there. - -Building Dmake -============== - -With autotools --------------- -Building dmake on systems that are supported by the autotools build system -only requires the usual "./configure && make && make install" command. -The configure command will notify you when your platform is not supported. - -With Microsoft C++ compiler ---------------------------- -For MS Visual C++ 6 and up run "make.bat win95-vpp40" in a command shell. -This should create a dmake.exe in the top-level directory. - -It is possible to rename this to, say, dmake0.exe, delete the objects/ -sub-directory and then simply run "dmake0.exe" to build a new dmake.exe. -Note that it is not necessary to have dmake rebuild itself in this way, -but it is a nice test that your new dmake is working to see that it can. - -To install dmake, simply copy dmake.exe and the startup/ sub-directory to -a directory of your choice. You may also want to copy the man/ -sub-directory for future access to the manual page. - - -All other systems might look in the public/ directory for usefull hints. - - -The original sources of dmake were available on http://dmake.wticorp.com. -This site has not been reachable for some time and the source is hosted -in the OpenOffice.org http://www.openoffice.org/ cvs now. You can view -the source at: http://tools.openoffice.org/source/browse/tools/dmake. -Please send questions regarding dmake to the tools project mailing list -at dev@tools.openoffice.org. diff --git a/dmake/readme/release.txt b/dmake/readme/release.txt deleted file mode 100644 index 41b95097679c..000000000000 --- a/dmake/readme/release.txt +++ /dev/null @@ -1,196 +0,0 @@ -This file is superseded/continued by the toplevel NEWS file. - -DMAKE Version 4.1 -================= -FINAL FREE RELEASE OF DMAKE, REPLACES VERSION 4.0 - -Nature: This distribution advances dmake to Version 4.1, patch level 0. -------- This release adds significant functionality and eliminates - bugs that were introduced with release 4.0. - - -DETAILS OF ENHANCEMENTS/TWEAKS: -=============================== - -BUG FIXES: ----------- - -1. General clean up all over to fix small incompatibilities and obvious - typos. - -2. Fixed bug in getinp.c where buffer was being erroneously overwritten, - this caused the invalidation of the return address on the stack on - DOS systems. - -3. Fixed a bug that caused the " is up to date" message to be - suppressed. - -4. Fixed a bug involving the value of $@ in conjunction with dynamic - prerequisites. - -5. Relegated the warning associated with duplicate entries in prerequisite - lists to a non-essential warning. Added an option flag -Vw to display - it if you wish to check your makefile for duplicate entries. Either way - the parser ignores duplicates. - -6. Better default action on checking out RCS targets. If an RCS target has - no directory prefix of its own it is checked out into the directory - which contains the RCS subdirectory, otherwise it ends up in its directory - qualified location. - -7. Improved the speed of lookups in the directory cache; handle mixed case - file name entries on OS/2 and Win95/NT. - -8. Improved prerequisite list generation for long prerequisite lists. - -9. Rearanged startup macro files to form an architectural hierarchy. - This greatly simplifies the maintenance of the startup files. They - might even be right at some point in the future. Please let me know if - you encounter difficulties, as I don't have access to all possible - platforms, this sub-hierarchy is bound to have ommisions at this release - and hence is intended to be evolutionary over time. - -10. A build that only touches targets (-t) uses the same algorithm to decide - valid names as a normal build. - -11. Conditional macro assignments fixed, and now work for builtin macro - variables as well. - - -NEW FEATURES: -------------- - -0. Complete reorganization of Dmake STARTUP scripts. Please refer to the - installation notes for details. THIS ONE IS IMPORTANT!!! - -1. Support for long archive member names if Elf is available, plus better - support for archivers that truncate member names (see comments in - unix/arlib.c for details). - -2. Added variable MAKEVERSION which contains a string indicating the current - version of dmake. - -3. Added the .EXECUTE attribute, see man page for details. - -4. Added the .ERRREMOVE attribute, see man page for details. - -5. Added support for gmake style if/else/endif, but only if not part of - a Group recipe. - -6. Added initial build target for Coherent version 4.2 UNIX - and for Windows-NT/Windows-95 32-bit app using Borland C++ 4.0,4.5, 5.0, - and Microsoft Visual C++ 4.0. - -7. MSDOS version now supports two builtin runtime commands, noop, and echo. - -8. Added new macro $(uniq list) which returns a sorted version of the - white space separated tokens in list such that there are no repetitions. - -9. Added the function macro $(echo list) which simply returns list. - This is most useful in conjunction with the new $(foreach ...) - function macro. - -10. Added gmake style function macro - - $(foreach,var,list data) - - where var and list are expanded, and the result is the concatenation of - expanding data with var being set to each white space separated token in - list in turn. For example: - - list = a b c - all : - echo [$(foreach,i,$(list) [$i])] - - will output - - [[a] [b] [c]] - - The iterator variable is defined as a local variable to this foreach - instance. The following expression illustrates this: - - $(foreach,i,$(foreach,i,$(sort c a b) root/$i) [$i/f.h]) - - when evaluated the result is: - - [root/a/f.h] [root/b/f.h] [root/c/f.h] - - The specification of list must be a valid macro expression, such as: - - $($(assign list=a b c)) - $(sort d a b c) - $(echo a b c) - - and cannot just be the list itself. That is, the following foreach - expression: - - $(foreach,i,a b c [$i]) - - yields: - - "b c [a]" - - when evaluated. - -11. Added the macro $(and list). - -12. Added the macro $(or list). - -13. Added the macro $(not term). - -14. Added the .NOINFER attribute to the .INCLUDE directive. When specified - any prerequisite of the .INCLUDE directive which cannot be found in - the .INCLUDEDIRS search list is not automatically made. - -15. Improved the handling of internal macros for proper functioning of the *= - and *:= assignment constructs. Macros that are internally initially - defined are considered to be undefined for the purpose of *= and *:= - assignment until they are the target of an explicit assignment operation. - -16. Improved the caching of file names, and their matching on case insensitive - file systems. Two control macros help to manage the functionality: - - .DIRCACHE := yes - - Implies that the directory cache will be used. This is on by default for - systems that support the reading of directories. Setting the value of this - macro to 'no' is equivalent to supplying the '-d' command line switch. - - .DIRCACHERESPCASE := yes - - Causes dmake to respect the case of the directory entries when the cache - is enabled, thereby treating directory entries in a case sensitive manner. - Setting this to 'no' disables the matching of case. This macro has effect - only if .DIRCACHE := yes. Otherwise the facilities provided by the native - OS are used to match file names using 'stat'. - -17. Added parameterized user defined function macros. Yes it's true - you may now define your own parametized function macros. Here is - how it works. Any macro that is not a predefined function macro and - is invoked with parameters is looked up as a user defined function - macro. A new macro scope is created. The n'th argument to the - macro is then assigned to the value of the the macro $n where n is 0 - for the first argument, 1 for the second argument and so on. The - argument is expanded before it is assigned. The original macro is - then expanded. For example: - - FOO = a $0 b $1 c $2 d - echo :; $(FOO x y z) - - Will produce the result string "a z b y c z d". The - expansion of $(FOO) on it's own behaves as expected and returns the - string "a b c d" (assuming that each of $0, $1, $2 - are undefined). The only restriction when specifying function - macro arguments is as before: they cannot contain spaces - themselves. - - -ACKNOWLEDGEMENTS: -================= - Thanks to all who submitted code for new features, suggestions for - improvements, and bug fixes. I have tried to make sure no gotchas - remain, if you encounter problems installing or running dmake please - let me know. As always, I am always happy to receive e-mail. - - Many have contributed suggestions and bug fixes that make this - release possible. The NET thanks you. diff --git a/dmake/rulparse.c b/dmake/rulparse.c deleted file mode 100644 index f47f166ef7ae..000000000000 --- a/dmake/rulparse.c +++ /dev/null @@ -1,1739 +0,0 @@ -/* $RCSfile: rulparse.c,v $ --- $Revision: 1.12 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:41:24 $ --- --- SYNOPSIS --- Perform semantic analysis on input --- --- DESCRIPTION --- This code performs semantic analysis on the input, and builds --- the complex internal datastructure that is used to represent --- the user makefile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* prototypes for local functions */ -static void _add_indirect_prereq ANSI((CELLPTR)); -static int _add_root ANSI((CELLPTR)); -static CELLPTR _build_graph ANSI((int, CELLPTR, CELLPTR)); -static char* _build_meta ANSI((char*)); -static int _do_magic ANSI((int, char*, CELLPTR, CELLPTR, t_attr, char*)); -static void _do_special ANSI((int, int, t_attr,char*,CELLPTR,CELLPTR,int*)); -static int _do_targets ANSI((int, t_attr, char*, CELLPTR, CELLPTR)); -static t_attr _is_attribute ANSI((char*)); -static int _is_special ANSI((char*)); -static char* _is_magic ANSI((char*)); -static int _is_percent ANSI((char*)); -static CELLPTR _make_multi ANSI((CELLPTR)); -static CELLPTR _replace_cell ANSI((CELLPTR,CELLPTR,CELLPTR)); -static void _set_attributes ANSI((t_attr, char*, CELLPTR )); -static void _stick_at_head ANSI((CELLPTR, CELLPTR)); -static void _set_global_attr ANSI((t_attr)); - - -/* static variables that must persist across invocation of Parse_rule_def */ -static CELLPTR _sv_targets = NIL(CELL); -static STRINGPTR _sv_rules = NIL(STRING); /* first recipe element. */ -static STRINGPTR _sv_crule = NIL(STRING); /* current/last recipe element. */ -static CELLPTR _sv_edgel = NIL(CELL); -static LINKPTR _sv_ind_prq = NIL(LINK); /* indirect prerequisites for % cell */ -static int _sp_target = FALSE; -static t_attr _sv_attr; -static int _sv_flag; -static int _sv_op; -static char *_sv_setdir; -static char _sv_globprq_only = 0; - -/* Define for global attribute mask (A_SWAP == A_WINPATH) */ -#define A_GLOB (A_PRECIOUS | A_SILENT | A_IGNORE | A_EPILOG | A_SWAP |\ - A_SHELL | A_PROLOG | A_NOINFER | A_SEQ | A_MKSARGS ) - - -PUBLIC int -Parse_rule_def( state )/* -========================= - Parse the rule definition contained in Buffer, and modify the state - if appropriate. The function returns 0, if the definition is found to - be an illegal rule definition, and it returns 1 if it is a rule definition. - */ -int *state; -{ - TKSTR input; /* input string struct for token search */ - CELLPTR targets; /* list of targets if any */ - CELLPTR prereq; /* list of prereq if any */ - CELLPTR prereqtail; /* tail of prerequisite list */ - CELLPTR cp; /* temporary cell pointer for list making */ - char *result; /* temporary storage for result */ - char *tok; /* temporary pointer for tokens */ - char *set_dir; /* value of setdir attribute */ - char *brk; /* break char list for Get_token */ - char *firstrcp; /* first recipe line, from ; in rule line */ - t_attr attr; /* sum of attribute flags for current tgts*/ - t_attr at; /* temp place to keep an attribute code */ - int op; /* rule operator */ - int special; /* indicate special targets in rule */ - int augmeta; /* indicate . like target */ - int percent; /* indicate percent rule target */ - int percent_prq; /* indicate mixed %-rule prereq possible */ - - DB_ENTER( "Parse_rule_def" ); - - op = 0; - attr = 0; - special = 0; - augmeta = 0; - percent = 0; - set_dir = NIL( char ); - targets = NIL(CELL); - prereq = NIL(CELL); - prereqtail = NIL(CELL); - percent_prq = 0; - - /* Check to see if the line is of the form: - * targets : prerequisites; first recipe line - * If so remember the first_recipe part of the line. */ - - firstrcp = strchr( Buffer, ';' ); - if( firstrcp != NIL( char ) ) { - *firstrcp++ = 0; - firstrcp = DmStrSpn( firstrcp, " \t" ); - } - - result = Expand( Buffer ); - /* Remove CONTINUATION_CHAR, keep the */ - for( brk=strchr(result,CONTINUATION_CHAR); brk != NIL(char); brk=strchr(brk,CONTINUATION_CHAR) ) - if( brk[1] == '\n' ) - *brk = ' '; - else - brk++; - - DB_PRINT( "par", ("Scanning: [%s]", result) ); - - SET_TOKEN( &input, result ); - brk = ":-^!|"; - Def_targets = TRUE; - - /* Scan the input rule line collecting targets, the operator, and any - * prerequisites. Stop when we run out of targets and prerequisites. */ - - while( *(tok = Get_token( &input, brk, TRUE )) != '\0' ) - if( !op ) { - /* we are scanning targets and attributes - * check to see if token is an operator. */ - - op = Rule_op( tok ); - - if( !op ) { - /* Define a new cell, or get pointer to pre-existing cell. */ - /* Do we need cells for attributes? If not move the definition - * to the target part. */ - cp = Def_cell( tok ); - /* A $ character indicates either a literal $ in the pathname (this - * was broken before) or a dynamic macro (this is a syntax error). - * FIXME: Here would be the place to add a sanity check. */ - DB_PRINT( "par", ("tg_cell [%s]", tok) ); - - if( (at = _is_attribute(tok)) != 0 ) { - /* Ignore .SILENT when -vr is active. */ - if( (Verbose & V_FORCEECHO) && (at == A_SILENT) ) - at = 0; - - /* Logically OR the attributes specified into one main - * ATTRIBUTE mask. */ - - if( at == A_SETDIR ) { - if( set_dir != NIL( char ) ) - Warning( "Multiple .SETDIR attribute ignored" ); - else - set_dir = DmStrDup( tok ); - } - - attr |= at; - } - else { - /* Not an attribute, this must be a target. */ - int tmp; - - tmp = _is_special( tok ); - - if( _is_percent( tok ) ) { - /* First %-target checks if there were non-%-targets before. */ - if( !percent && targets != NIL(CELL) ) - Fatal( "A %%-target must not be mixed with non-%%-targets, offending target [%s]", tok ); - - percent++; - cp->ce_flag |= F_PERCENT; - } else { - if( percent ) - Fatal( "A non-%%-target must not be mixed with %%-targets, offending target [%s]", tok ); - } - - if( _is_magic( tok ) ) { - /* Check that AUGMAKE targets are not mixed with other - * targets. The return value of _is_magic() is discarded and - * calculated again in _do_targets() if this rule definition - * really is a . like target. - * If we would allow only one target per line we could easily - * store the result for later, but for multiple . - * targets this creates too much overhead. - * These targets should be rare (obsolete?) anyway. */ - if( !augmeta && targets != NIL(CELL) ) - Fatal( "An AUGMAKE meta target must not be mixed with non AUGMAKE meta targets, offending target [%s]", tok ); - - augmeta++; - cp->ce_flag |= F_MAGIC; /* do_magic will also add F_PERCENT later. */ - } else { - if( augmeta ) - Fatal( "A non AUGMAKE meta target must not be mixed with AUGMAKE meta targets, offending target [%s]", tok ); - } - - if( special ) - Fatal( "Special target must appear alone, found [%s]", tok ); - else if( !(cp->ce_flag & F_MARK) ) { - /* Targets are kept in this list in lexically sorted order. - * This allows for easy equality comparison of target - * sets.*/ - CELLPTR prev,cur; - for(prev=NIL(CELL),cur=targets;cur;prev=cur,cur=cur->ce_link) - if(strcmp(cur->CE_NAME,cp->CE_NAME) > 0) - break; - - cp->ce_link = cur; - - if (!prev) - targets = cp; - else - prev->ce_link = cp; - - cp->ce_flag |= F_MARK | F_EXPLICIT; - special = tmp; - } - else - Warning( "Duplicate target [%s]", cp->CE_NAME ); - } - } - else { - /* found an operator so empty out break list and clear mark - * bits on target list, setting them all to F_VISITED*/ - - brk = ""; - for( cp=targets; cp != NIL(CELL); cp=cp->ce_link ) { - cp->ce_flag ^= F_MARK; - cp->ce_flag |= F_VISITED; - } - - Def_targets = FALSE; - } - } - else { - /* Scanning prerequisites so build the prerequisite list. We use - * F_MARK flag to make certain we have only a single copy of the - * prerequisite in the list */ - - cp = Def_cell( tok ); - - /* %-prerequisits require eiter a %-target or this might be a rule of - * the "ATTRIBUTE_LIST : targets" form. */ - if( _is_percent( tok ) ) { - if( percent || ((targets == NIL(CELL)) && attr) ) - percent_prq = 1; - else - Fatal( "Syntax error in %% rule, missing %% target"); - } - - if( cp->ce_flag & F_VISITED ) { - if( cp->ce_attr & A_COMPOSITE ) - continue; - else - Fatal( "Detected circular dependency in graph at [%s]", - cp->CE_NAME ); - } - else if( !(cp->ce_flag & F_MARK) ) { - DB_PRINT( "par", ("pq_cell [%s]", tok) ); - cp->ce_flag |= F_MARK; - - if( prereqtail == NIL(CELL) ) /* keep prereq's in order */ - prereq = cp; - else - prereqtail->ce_link = cp; - - prereqtail = cp; - cp->ce_link = NIL(CELL); - } - else if( !(cp->ce_attr & A_LIBRARY) && (Verbose & V_WARNALL)) - Warning("Duplicate entry [%s] in prerequisite list",cp->CE_NAME); - } - - /* Check to see if we have a percent rule that has only global - * prerequisites, i.e. they are of the form: "%.a : foo". - * If so then set the flag so that later on, we don't issue - * an error if such targets supply an empty set of rules. */ - - if( percent && !percent_prq && (prereq != NIL(CELL)) ) - _sv_globprq_only = 1; - - /* It's ok to have targets with attributes, and no prerequisites, but it's - * not ok to have no targets and no attributes, or no operator */ - - CLEAR_TOKEN( &input ); FREE(result); result = NIL(char); - if( !op ) { - DB_PRINT( "par", ("Not a rule [%s]", Buffer) ); - DB_RETURN( 0 ); - } - - /* More than one percent target didn't work with prior versions. */ - if( (percent > 1) && !(op & R_OP_OR) ) - Warning( "Prior to dmake 4.5 only one\n" - "%%-target per target-definition worked reliably. Check your makefiles.\n" ); - - if( !attr && targets == NIL(CELL) ) { - Fatal( "Missing targets or attributes in rule" ); - if( set_dir != NIL( char )) FREE( set_dir ); - DB_RETURN( 0 ); - } - - /* We have established we have a legal rules line, so we must process it. - * In doing so we must handle any special targets. Special targets must - * appear alone possibly accompanied by attributes. - * NOTE: special != 0 ==> targets != NIL(CELL) */ - - if( prereqtail != NIL(CELL) ) prereqtail->ce_link = NIL(CELL); - - /* Clear out MARK bits used in duplicate checking. I originally wanted - * to do this as the lists get processed but that got too error prone - * so I bit the bullit and added these two loops. */ - - for( cp=prereq; cp != NIL(CELL); cp=cp->ce_link ) cp->ce_flag &= ~F_MARK; - for( cp=targets; cp != NIL(CELL); cp=cp->ce_link ) cp->ce_flag &= ~F_VISITED; - - /* Check to see if the previous recipe was bound, if not the call - * Bind_rules_to_targets() to bind the recipe (_sv_rules) to the - * target(s) (_sv_targets). */ - /* was: if( _sv_rules != NIL(STRING) ) Bind_rules_to_targets( F_DEFAULT );*/ - /* Only Add_recipe_to_list() sets _sv_rules and Bind_rules_to_targets() - * clears the (static) variables again. Bind_rules_to_targets() is - * (should be) called after State is leaving RULE_SCAN in Parse(). - * Abort if there are unbound recipes. FIXME: Remove this paragraph - * if this never occurs. */ - if( _sv_rules != NIL(STRING) ) - Fatal( "Internal Error: _sv_rules not empty." ); - - /* Add the first recipe line to the list */ - if( firstrcp != NIL( char ) ) - Add_recipe_to_list( firstrcp, TRUE, FALSE ); - - /* Save these prior to calling _do_targets, since _build_graph needs the - * _sv_setdir value for matching edges. */ - _sv_op = op; - _sv_setdir = set_dir; - - if( special ) - /* _do_special() can alter *state */ - _do_special( special, op, attr, set_dir, targets, prereq, state ); - else - *state = _do_targets( op, attr, set_dir, targets, prereq ); - - if( (*state != RULE_SCAN) && (_sv_rules != NIL(STRING)) ) - Fatal( "Unexpected recipe found." ); - - DB_RETURN( 1 ); -} - - -PUBLIC int -Rule_op( op )/* -================ - Check the passed in op string and map it to one of the rule operators */ -char *op; -{ - int ret = 0; - - DB_ENTER( "rule_op" ); - - if( *op == TGT_DEP_SEP ) { - ret = R_OP_CL; - op++; - - /* All rule operations begin with a :, but may include any one of the - * four modifiers. In order for the rule to be properly mapped we must - * check for each of the modifiers in turn, building up our return bit - * string. */ - - while( *op && ret ) - switch( *op ) { - case ':': ret |= R_OP_DCL; op++; break; - case '!': ret |= R_OP_BG; op++; break; - case '^': ret |= R_OP_UP; op++; break; - case '-': ret |= R_OP_MI; op++; break; - case '|': ret |= R_OP_OR; op++; break; - - default : ret = 0; /* an invalid modifier, chuck whole string */ - } - - if( *op != '\0' ) ret = 0; - } - - DB_RETURN( ret ); -} - - -PUBLIC void -Add_recipe_to_list( rule, white_too, no_check )/* -================================================= - Take the provided string and add it to the list of recipe lines - we are saving to be added to the list of targets we have built - previously. If white_too == TRUE add the rule EVEN IF it contains only - an empty string (whitespace is handled by Def_recipe()). */ -char *rule; -int white_too; -int no_check; -{ - DB_ENTER( "Add_recipe_to_list" ); - - if( rule != NIL( char ) && (*rule != '\0' || white_too) ) { - DB_PRINT( "par", ("Adding recipe [%s]", rule) ); - _sv_crule = Def_recipe( rule, _sv_crule, white_too, no_check ); - - /* If _sv_rules is not yet set this must be the first recipe line, - * remember it. */ - if( _sv_rules == NIL(STRING) ) - _sv_rules = _sv_crule; - } - - DB_VOID_RETURN; -} - - -PUBLIC void -Bind_rules_to_targets( flag )/* -=============================== - Take the recipe lines we have defined and bind them with proper attributes - to the targets that were previously defined in the parse. The - attributes that get passed here are merged with those that are were - previously defined. (namely attribute F_SINGLE) */ -int flag; -{ - CELLPTR tg; /* pointer to current target in list */ - LINKPTR lp; /* pointer to link cell */ - int magic; /* TRUE if target of % or .xxx.yyy form */ - int tflag; /* TRUE if we assigned targets here */ - - DB_ENTER( "Bind_rules_to_targets" ); - - /* This line is needed since Parse may call us twice when the last - * GROUP rule appears at the end of file. In this case the rules - * have already been bound and we want to ignore them. */ - - if( _sv_targets == NIL(CELL) ) { DB_VOID_RETURN; } - - tflag = FALSE; - flag |= (_sv_flag & F_SINGLE); - flag |= ((_sv_attr & A_GROUP) ? F_GROUP : 0); - - for( tg = _sv_targets; tg != NIL(CELL); tg = tg->ce_link ) { - DB_PRINT( "par", ("Binding to %s, %04x", tg->CE_NAME, tg->ce_flag) ); - magic = tg->ce_flag & F_PERCENT; - -#if 0 - /* Check to see if we had a rule of the form '%.o : a.h b.h ; xxx' - * In which case we must build a NULL prq node to hold the recipe */ - if( _sv_globprq_only && (_sv_rules != NIL(STRING)) ) - _build_graph( _sv_op, tg, NIL(CELL) ); -#endif - - /* NOTE: For targets that are magic or special we ignore any - * previously defined rules, ie. We throw away the old definition - * and use the new, otherwise we complain. */ - if( !(tg->ce_flag & F_MULTI) && !magic && (tg->CE_RECIPE != NIL(STRING)) - && !_sp_target && (_sv_rules != NIL(STRING)) ) - Fatal( "Multiply defined recipe for target %s", tg->CE_NAME ); - - if( (magic || _sp_target) && (_sv_rules == NIL(STRING)) && - !(tg->ce_flag & F_SPECIAL) && !_sv_globprq_only ) - Warning( "Empty recipe for special or meta target %s", tg->CE_NAME ); - - if( magic ) { - CELLPTR ep; - - for( ep=_sv_edgel; ep != NIL(CELL); ep=ep->ce_link ) { - DB_PRINT( "par", ("ep address: %#x", ep) ); - /* %.xx :| '%.yy' abc xx '%.tt' ; touch $@ - * loops here ... */ - _set_attributes( _sv_attr, _sv_setdir, ep ); - ep->ce_flag |= (F_TARGET|flag); - - if( _sv_rules != NIL(STRING) ) { - ep->ce_recipe = _sv_rules; - ep->ce_indprq = _sv_ind_prq; - } - } - } - else { - tg->ce_attr |= _sv_attr; - tg->ce_flag |= flag; - - if( _sv_rules != NIL(STRING) ) { - tg->ce_recipe = _sv_rules; - tg->ce_flag |= F_RULES | F_TARGET; - - /* Bind the current set of prerequisites as belonging to the - * original recipe given for the target */ - for( lp=tg->ce_prq; lp != NIL(LINK); lp = lp->cl_next ) - if( !(lp->cl_flag & F_VISITED) ) lp->cl_flag |= F_TARGET; - } - else for( lp=tg->ce_prq; lp != NIL(LINK); lp = lp->cl_next ) - lp->cl_flag |= F_VISITED; - } - - tflag |= _add_root(tg); - } - - if( tflag ) Target = TRUE; - if( _sv_setdir ) FREE(_sv_setdir); - _sv_rules = NIL(STRING); - _sv_crule = NIL(STRING); - _sv_targets = NIL(CELL); - _sv_ind_prq = NIL(LINK); - _sv_edgel = NIL(CELL); - _sp_target = FALSE; - _sv_globprq_only = 0; - - DB_VOID_RETURN; -} - - - -PUBLIC int -Set_group_attributes( list )/* -============================== - Scan list looking for the standard @,-,% and + (as in recipe line - defs) (+ is set but ignored for group recipes) - and set the flags accordingly so that they apply when we bind the - rules to the appropriate targets. - Return TRUE if group recipe start '[' was found, otherwise FALSE. */ -char *list; -{ - int res = FALSE; - char *s; - - if ( !((_sv_attr|Glob_attr)&A_IGNOREGROUP) ) { - s = DmStrSpn(list,"@-%+ \t"); - res = (*s == '['); - if( res ) { - /* Check for non-white space characters after the [. */ - for( s++; *s && iswhite(*s) ; s++ ) - ; - if( *s ) - Warning("Found non-white space character after '[' in [%s].", list); - - _sv_attr |= Rcp_attribute(list); - } - } - - return(res); -} - - -static void -_do_special( special, op, attr, set_dir, target, prereq, state )/* -================================================================== - Process a special target (always only a single target). So far the only - special targets we have are those recognized by the _is_special function. - Some of the special targets can take recipes, they call _do_targets() - and (implicitly) set *state to to RULE_SCAN. Otherwise *state remains - unaffected, i.e. NORMAL_SCAN. - - target is always only a single special target. - - NOTE: For the cases of .IMPORT, and .INCLUDE, the cells created by the - parser are never freed. This is due to the fact that it is too much - trouble to get them out of the hash table once they are defined, and - if they are per chance used again it will be ok, anyway, since the - cell is not really used by the code below. */ - -int special; -int op; -t_attr attr; -char *set_dir; -CELLPTR target; -CELLPTR prereq; -int *state; -{ - HASHPTR hp; /* pointer to macro def cell */ - CELLPTR cp; /* temporary pointer into cells list */ - CELLPTR dp; /* pointer to directory dir cell */ - LINKPTR lp; /* pointer at prerequisite list */ - char *dir; /* current dir to prepend */ - char *path; /* resulting path to try to read */ - char *name; /* File name for processing a .INCLUDE */ - char *tmp; /* temporary string pointer */ - FILE *fil; /* File descriptor returned by Openfile */ - - DB_ENTER( "_do_special" ); - - target->ce_flag = F_SPECIAL; /* mark the target as special */ - - switch( special ) { - case ST_EXPORT: - for( ; prereq != NIL(CELL); prereq = prereq->ce_link ) { - DB_PRINT( "par", ("Exporting [%s]", prereq->CE_NAME) ); - hp = GET_MACRO( prereq->CE_NAME ); - - if( hp != NIL(HASH) ) { - char *tmpstr = hp->ht_value; - - if( tmpstr == NIL(char) ) tmpstr = ""; - - if( Write_env_string( prereq->CE_NAME, tmpstr ) != 0 ) - Warning( "Could not export %s", prereq->CE_NAME ); - } - } - break; - - /* Simply cause the parser to fail on the next input read */ - case ST_EXIT: - Skip_to_eof = TRUE; - break; - - case ST_IMPORT: - for( ; prereq != NIL(CELL); prereq = prereq->ce_link ) { - char *tmpstr; - - DB_PRINT( "par", ("Importing [%s]", prereq->CE_NAME) ); - - if( strcmp(prereq->CE_NAME, ".EVERYTHING") == 0 ) { - t_attr sattr = Glob_attr; - Glob_attr |= A_SILENT; - - ReadEnvironment(); - - Glob_attr = sattr; - } - else { - tmpstr = Read_env_string( prereq->CE_NAME ); - - if( tmpstr != NIL(char) ) - Def_macro(prereq->CE_NAME, tmpstr, M_EXPANDED|M_LITERAL); - else - if( !((Glob_attr | attr) & A_IGNORE) ) - Fatal("Imported macro `%s' not found",prereq->CE_NAME); - } - } - - attr &= ~A_IGNORE; - break; - - case ST_INCLUDE: - { - int pushed = FALSE; - int first = (attr & A_FIRST); - int ignore = (((Glob_attr | attr) & A_IGNORE) != 0); - int found = FALSE; - int noinf = (attr & A_NOINFER); - LINKPTR prqlnk = NIL(LINK); - LINKPTR prqlst = NIL(LINK); - - if( prereq == NIL(CELL) ) Fatal( "No .INCLUDE file(s) specified" ); - - dp = Def_cell( ".INCLUDEDIRS" ); - - if( (attr & A_SETDIR) && *(dir = strchr(set_dir, '=')+1) ) - pushed = Push_dir( dir, ".INCLUDE", ignore ); - - for( cp=prereq; cp != NIL(CELL); cp = cp->ce_link ) { - LINKPTR ltmp; - TALLOC(ltmp, 1, LINK); - ltmp->cl_prq = cp; - - if( prqlnk == NIL(LINK) ) - prqlst = ltmp; - else - prqlnk->cl_next = ltmp; - - prqlnk = ltmp; - } - - for( ; prqlst != NIL(LINK); FREE(prqlst), prqlst=prqlnk ) { - prqlnk = prqlst->cl_next; - cp = prqlst->cl_prq; - name = cp->CE_NAME; - - /* Leave this here, it ensures that prqlst gets propely free'd */ - if ( first && found ) - continue; - - if( *name == '<' ) { - /* We have a file name enclosed in <....> - * so get rid of the <> arround the file name */ - - name++; - if( (tmp = strrchr( name, '>' )) != NIL( char ) ) - *tmp = 0; - - if( If_root_path( name ) ) - fil = Openfile( name, FALSE, FALSE ); - else - fil = NIL(FILE); - } - else - fil = Openfile( name, FALSE, FALSE ); - - if( fil == NIL(FILE) && !If_root_path( name ) ) { /*if true ==> not found in current dir*/ - - /* Now we must scan the list of prerequisites for .INCLUDEDIRS - * looking for the file in each of the specified directories. - * if we don't find it then we issue an error. The error - * message is suppressed if the .IGNORE attribute of attr is - * set. If a file is found we call Parse on the file to - * perform the parse and then continue on from where we left - * off. */ - - for(lp=dp->CE_PRQ; lp && fil == NIL(FILE); lp=lp->cl_next) { - dir = lp->cl_prq->CE_NAME; - if( strchr(dir, '$') ) dir = Expand(dir); - path = Build_path( dir, name ); - - DB_PRINT( "par", ("Trying to include [%s]", path) ); - - fil = Openfile( path, FALSE, FALSE ); - if( dir != lp->cl_prq->CE_NAME ) FREE(dir); - } - } - - if (!noinf && fil == NIL(FILE)) { - t_attr glob = Glob_attr; - t_attr cattr = prqlst->cl_prq->ce_attr; - - prqlst->cl_next = NIL(LINK); - Glob_attr |= (attr&A_IGNORE); - prqlst->cl_prq->ce_attr &= ~A_FRINGE; - - if( Verbose & V_FILE_IO ) - printf( "%s: Inferring include file [%s].\n", - Pname, name ); - fil = TryFiles(prqlst); - - Glob_attr = glob; - prqlst->cl_prq->ce_attr |= (cattr & A_FRINGE); - } - - if( fil != NIL(FILE) ) { - if( Verbose & V_FILE_IO ) - printf( "%s: Parsing include file [%s].\n", - Pname, name ); - Parse( fil ); - found = TRUE; - } - else if( !(ignore || first) ) - Fatal( "Include file %s, not found", name ); - else if( Verbose & V_FILE_IO ) - printf( "%s: Include file [%s] was not found.\n", - Pname, name ); - } - - if ( !ignore && first && !found ) - Fatal( "No include file was found" ); - - if( pushed ) Pop_dir(FALSE); - attr &= ~(A_IGNORE|A_SETDIR|A_FIRST|A_NOINFER); - } - break; - - case ST_SOURCE: - if( prereq != NIL(CELL) ) - _do_targets( op & (R_OP_CL | R_OP_MI | R_OP_UP), attr, set_dir, - target, prereq ); - else { - /* The old semantics of .SOURCE were that an empty list of - * prerequisites clears the .SOURCE list. So we must implement - * that here as a clearout prerequisite operation. Since this is - * a standard operation with the :- opcode we can simply call the - * proper routine with the target cell and it should do the trick - */ - - if( op == R_OP_CL || (op & R_OP_MI) ) - Clear_prerequisites( target ); - } - - op &= ~(R_OP_MI | R_OP_UP); - break; - - case ST_KEEP: - if( Keep_state != NIL(char) ) break; - Def_macro( ".KEEP_STATE", "_state.mk", M_EXPANDED ); - break; - - case ST_REST: - /* The rest of the special targets can all take recipes, as such they - * must be able to affect the state of the parser. */ - - { - int s_targ = Target; - - Target = TRUE; - _sp_target = TRUE; - *state = _do_targets( op, attr, set_dir, target, prereq ); - Target = s_targ; - - target->ce_flag |= F_TARGET; - - attr = A_DEFAULT; - op = R_OP_CL; - } - break; - - default:break; - } - - if( op != R_OP_CL ) Warning( "Modifier(s) for operator ignored" ); - if( attr != A_DEFAULT ) Warning( "Extra attributes ignored" ); - - DB_VOID_RETURN; -} - - -static int -_do_targets( op, attr, set_dir, targets, prereq )/* -=================================================== - Evaluate the values derived from the current target definition - line. Helper functions _build_graph(), _do_magic(), _make_multi(), - _add_root(), _replace_cell(), _set_attributes(), Clear_prerequisites() - _stick_at_head(), Add_prerequisite() and _set_global_attr() are used. - If successfull "_sv_targets" is set to "targets". - Return RULE_SCAN if a recipe is expected to follow, otherwise - NORMAL_SCAN. */ -int op; /* rule operator */ -t_attr attr; /* attribute flags for current targets */ -char *set_dir; /* value of setdir attribute */ -CELLPTR targets; /* list of targets (each cell maybe already - * defined by a previous target definition - * line. */ -CELLPTR prereq; /* list of prerequisites */ -{ - CELLPTR tg1; /* temporary target pointer */ - CELLPTR tp1; /* temporary prerequisite pointer */ - LINKPTR prev_cell; /* pointer for .UPDATEALL processing */ - char *p; /* temporary char pointer */ - int tflag = FALSE; /* set to TRUE if we add target to root */ - int ret_state = RULE_SCAN; /* Return state */ - - DB_ENTER( "_do_targets" ); - - /* If .UPDATEALL is set sort the target list that was temporary linked - * with ce_link into a list using ce_link with ce_set pointing to the first - * element. */ - /* FIXME: Check that .UPDATEALL and %-targets on one line work together. */ - if( attr & A_UPDATEALL ) { - if( targets == NIL(CELL) ) - Fatal( ".UPDATEALL attribute requires non-empty list of targets" ); - - if (targets->ce_set == NIL(CELL)) { - for( - prev_cell=CeMeToo(targets),tg1=targets->ce_link; - tg1 != NIL(CELL); - tg1=tg1->ce_link - ) { - if (tg1->ce_set) - Fatal( "Target [%s] appears on multiple .UPDATEALL lists", - tg1->CE_NAME); - tg1->ce_set = targets; - TALLOC(prev_cell->cl_next, 1, LINK); - prev_cell = prev_cell->cl_next; - prev_cell->cl_prq = tg1; - } - targets->ce_set = targets; - } - else { - LINKPTR ap; - CELLPTR tp; - - tp = targets; - ap = CeMeToo(targets); - while (ap && tp && ap->cl_prq == tp && tp->ce_set == targets) { - ap = ap->cl_next; - tp = tp->ce_link; - } - if (ap || tp) - Fatal("Inconsistent .UPDATEALL lists for target [%s]", - targets->CE_NAME); - } - targets->ce_link = NIL(CELL); - } - - for( tg1 = targets; tg1 != NIL(CELL); tg1 = tg1->ce_link ) { - /* Check if tg1 is already marked as a %-target, but not a magic - * (.xxx.yyy) target. */ - int purepercent = (tg1->ce_flag & F_PERCENT) && !(tg1->ce_flag & F_MAGIC); - - /* Check each target. Check for inconsistencies between :: and : rule - * sets. :: may follow either : or :: but not the reverse. - * - * Any F_MULTI target (contains :: rules) is represented by a prerequisite - * list hanging off the main target cell where each of the prerequisites - * is a copy of the target cell but is not entered into the hash table. - */ - if( !(op & R_OP_DCL ) && (tg1->ce_flag & F_MULTI) && !purepercent ) - Fatal( "':' vs '::' inconsistency in rules for %s", tg1->CE_NAME ); - - if( purepercent ) { - /* Handle %-targets. */ - CELLPTR cur; - CELLPTR tpq = NIL(CELL); - CELLPTR nprq = NULL; - -#ifdef DBUG - DB_PRINT( "%", ("Handling %%-target [%s : : ]", - tg1->CE_NAME) ); - for(cur=prereq;cur;cur=cur->ce_link) { - DB_PRINT( "%", (" %%-prerequisites : %s ", - cur->CE_NAME ? cur->CE_NAME : "") ); - } -#endif - - /* Handle indirect (global) prerequisites first. */ - for(cur=prereq;cur;cur=cur->ce_link) { - char *name = cur->CE_NAME; - int len = strlen(name); - - if( *name == '\'' && name[len-1]=='\'' ){ - name[len-1] = '\0'; - len = strlen(name+1)+1; - memmove(name,name+1,len); - /* add indirect prerequisite */ - _add_indirect_prereq( cur ); - } - else { - /* Sort all "other" prerequisits into tpq, with nprq - * pointing to the first element. */ - if (tpq) - tpq->ce_link = cur; - else - nprq = cur; - tpq = cur; - } - } - /* Mark the last element of nprq. */ - if(tpq) - tpq->ce_link=NIL(CELL); - else - nprq = NIL(CELL); - - /* Handle "normal" prerequisites now. */ - - if ( op & R_OP_OR ) { - /* for op == ':|' transform: - * <%-target> :| ... ; - * into: - * <%-target> : ; - * .. - * <%-target> : ; - */ - for(tp1=nprq; tp1; tp1=tp1->ce_link) { - CELLPTR tmpcell = tp1->ce_link; - tp1->ce_link = NIL(CELL); - _build_graph(op,tg1,tp1); - tp1->ce_link = tmpcell; - } - } - else { - /* The inference mechanism for %-targets limits the number of - * (non-indirect) prerequisite to one, but an unlimited number - * of indirect prerequisites is possible. */ - if ( nprq && nprq->ce_link && !(op & R_OP_OR)) - Warning("More than one prerequisite\n" - "for %%-target. Use :| ruleop or indirect prerequisites."); - - _build_graph(op,tg1,nprq); - } - } - else if( tg1->ce_flag & F_MAGIC && - (p = _is_magic( tg1->CE_NAME )) != NIL(char) && - _do_magic( op, p, tg1, prereq, attr, set_dir ) ) - ; /* _do_magic() does all that is needed (if return value is TRUE). */ - else if( op & R_OP_DCL ) { /* op == :: */ - CELLPTR tmp_cell = _make_multi(tg1); - - /* Add the F_MULTI master to .TARGETS (If not set already). - * Do this here so that the member cell is not added instead - * when the recipies are bound in Bind_rules_to_targets(). */ - tflag |= _add_root(tg1); - - /* Replace the F_MULTI master with the member cell. */ - targets = _replace_cell( targets, tg1, tmp_cell ); - - /* We have to set (add) the attributes also for the F_MULTI master - * target cell. As there is no recipe the setdir value is not - * needed. _set_attributes() that follows in approx. 8 lines - * will set the attributes for the F_MULTI member cell. */ - tg1->ce_attr |= (attr & ~A_SETDIR); - - /* Now switch tg1 to the current (F_MULTI prereq.) target. - * All recipes have to be added to that cell and not to the - * F_MULTI master. */ - tg1 = tmp_cell; - } - - if( !purepercent ) _set_attributes( attr, set_dir, tg1 ); - - /* Build the proper prerequisite list of the target. If the `-', - * modifier was used clear the prerequisite list before adding any - * new prerequisites. Else add them to the head/tail as appropriate. - * - * If the target has F_PERCENT set then no prerequisites are used. */ - - if( !(tg1->ce_flag & F_PERCENT) ) { - if( op & R_OP_MI ) Clear_prerequisites( tg1 ); /* op == :- */ - - if( (op & R_OP_UP) && (tg1->ce_prq != NIL(LINK)) ) /* op == :^ */ - _stick_at_head( tg1, prereq ); - else for( tp1=prereq; tp1 != NIL(CELL); tp1 = tp1->ce_link ) - Add_prerequisite( tg1, tp1, FALSE, FALSE ); - } - else if( op & (R_OP_MI | R_OP_UP) ) - Warning( "Modifier(s) `^-' for %-meta target ignored" ); - } - - /* In case a F_MULTI member that was the first prerequisite of .TARGETS */ - if(tflag) - Target = TRUE; - - /* Check to see if we have NO targets but some attributes, i.e. an - * Attribute-Definition. If so then apply all of the attributes to the - * complete list of prerequisites. No recipes are allowed to follow. */ - - if( (targets == NIL(CELL)) && attr ) { - ret_state = NORMAL_SCAN; - if( prereq != NIL(CELL) ) - for( tp1=prereq; tp1 != NIL(CELL); tp1 = tp1->ce_link ) - _set_attributes( attr, set_dir, tp1 ); - else - _set_global_attr( attr ); - } - - /* Now that we have built the lists of targets, the parser must parse the - * recipes if there are any. However we must start the recipe list with the - * recipe specified as via the ; kludge, if there is one */ - _sv_targets = targets; - _sv_attr = attr; - _sv_flag = ((op & R_OP_BG) ? F_SINGLE : F_DEFAULT); - - DB_RETURN( ret_state ); -} - - -static int -_do_magic( op, dot, target, prereq, attr, set_dir )/* -===================================================== - This function investigates dot for being a magic target of the form - .. or . and creates the appropriate % rules for - that target. - If the target is given with an undefined syntax, i.e. with prerequisites, - then this function terminates early without creating % rules and - returns 0. - If successful the function returns 1. - - The function builds the % rule, `%.o : %.c' from .c.o, and - `% : %.a' from .a */ - -int op; -char *dot; -CELLPTR target; -CELLPTR prereq; -t_attr attr; -char *set_dir; -{ - CELLPTR tg; - CELLPTR prq; - char *tmp, *tmp2; - - DB_ENTER( "_do_magic" ); - - DB_PRINT("%", ("Analysing magic target [%s]", target->CE_NAME)); - - if( prereq != NIL(CELL) ) { - Warning( "Ignoring AUGMAKE meta-target [%s] because prerequisites are present.", target->CE_NAME ); - DB_RETURN(0); - } - - if( dot == target->CE_NAME ) { /* its of the form .a */ - tg = Def_cell( "%" ); - tmp = _build_meta( target->CE_NAME ); - prq = Def_cell( tmp ); - FREE( tmp ); - - _build_graph( op, tg, prq ); - } - else { - tmp = _build_meta( dot ); - tg = Def_cell( tmp ); - FREE( tmp ); - - tmp = _build_meta( tmp2 = DmSubStr( target->CE_NAME, dot ) ); - prq = Def_cell( tmp ); - FREE( tmp ); - FREE( tmp2 ); - - _build_graph( op, tg, prq ); - } - - tg->ce_flag |= F_PERCENT; - target->ce_flag |= (F_MAGIC|F_PERCENT); - - _set_attributes( attr, set_dir, tg ); - - DB_RETURN(1); -} - - -static CELLPTR -_replace_cell( lst, cell, rep )/* -================================= - Replace cell with rep in lst. Note if cell is not part of lst we are in - real trouble. */ -CELLPTR lst; -CELLPTR cell; -CELLPTR rep; -{ - register CELLPTR tp; - - if( lst == cell ) { - rep->ce_link = lst->ce_link; - lst = rep; - } - else { - for( tp=lst; tp->ce_link != cell && tp ; tp=tp->ce_link ); - if( !tp ) - Fatal( "Internal Error: cell not part of lst." ); - rep->ce_link = tp->ce_link->ce_link; - tp->ce_link = rep; - } - - return(lst); -} - - -static char * -_build_meta( name )/* -===================== - Check to see if the name is of the form .c~ if so and if Augmake - translation is enabled then return s.%.c, else return %.suff, where if the - suffix ends in '~' then leave it be.*/ -char *name; -{ - char *tmp; - int test = (STOBOOL(Augmake) ? name[strlen(name)-1] == '~' : 0); - - tmp = DmStrJoin( test ? "s.%" : "%", name, -1, FALSE); - if( test ) tmp[ strlen(tmp)-1 ] = '\0'; - - return(tmp); -} - - -static CELLPTR -_build_graph( op, target, prereq )/* -==================================== - This function is called to build the graph for the % rule given by - target : prereq cell combination. This function assumes that target - is a % target and that prereq is one or multiple non-indirect prerequisite. - It also assumes that target cell has F_PERCENT set already. - - NOTE: If more than one prerequisite is present this function handles them - correctly but the lookup still only uses the first (BUG!). - - R_OP_CL (:) rules replace existing rules if any, %.o :: %.c is meaningless. - - The function always returns NIL(CELL). */ -int op; -CELLPTR target; -CELLPTR prereq; -{ - LINKPTR edl; - CELLPTR edge = 0; - CELLPTR tpq,cur; - int match; - -#ifdef DBUG - DB_ENTER( "_build_graph" ); - DB_PRINT( "%", ("Building graph for [%s : ]", - target->CE_NAME) ); - for(tpq=prereq;tpq;tpq=tpq->ce_link) { - DB_PRINT( "%", (" %%-prerequisites : %s ", - tpq->CE_NAME ? tpq->CE_NAME : "") ); - } -#endif - - /* Currently multiple prerequisites are not (yet) handled correctly. - * We already issue a warning in _do_targets(), don't issue it here - * again. - if ( prereq && prereq->ce_link ) - Warning( "Internal Error: more than one prerequisite in _build_graph." ); - */ - - /* There cannot be more than one target name ( linked with - * (CeMeToo(target))->cl_next ) per %-target master. - * FIXME: remove this check after verifying that it never triggers. */ - if ( (CeMeToo(target))->cl_next ) - Fatal( "Internal Error: more than one target name in _build_graph." ); - - /* Search the list of prerequisites for the current target and see if - * any of them match the current %-meta's : prereq's pair. NOTE that - * %-metas are built as if they were F_MULTI targets, i.e. the target - * definitions for the %-target members are stored in the prerequisites - * list of the master target. */ - /* This relies on target->ce_prq being NULL if this is the first - * occurence of this %-target and therefore not yet having a %-target - * master. */ - match = FALSE; - for(edl=target->ce_prq; !match && edl != NIL(LINK); edl=edl->cl_next) { - LINKPTR l1,l2; - edge = edl->cl_prq; - - DB_PRINT("%", ("Trying to match [%s]",edge?edge->CE_NAME:"(nil)")); - - /* First we match the target sets, if this fails then we don't have to - * bother with the prerequisite sets. The targets sets are sorted. - * this makes life very simple. */ - /* ce_dir is handled per member target, no check needed for the - * master target. */ - - /* FIXME: We already checked above that there is only one target - * name. Remove the comparisons for following names. */ - l1 = CeMeToo(target); /* Used by .UPDATEALL !!! */ - l2 = CeMeToo(edge); - while(l1 && l2 && l1->cl_prq == l2->cl_prq) { - l1=l1->cl_next; - l2=l2->cl_next; - } - /* If both l1 and l2 are NULL we had a match. */ - if (l1 || l2) - continue; - - /* target sets match, so check prerequisites. */ - if( (!edge->ce_prq && !prereq) /* matches both empty - separate this. */ - || ( edge->ce_prq - && ( edge->ce_dir == _sv_setdir - || ( edge->ce_dir - && _sv_setdir - && !strcmp(edge->ce_dir,strchr(_sv_setdir,'=')+1) - ) - ) - ) - ) { - LINKPTR prql; - - /* this is a really gross way to compare two sets, it's n^2 but - * since the sets are assumed to always be tiny, it should be ok. */ - for(tpq=prereq; tpq; tpq=tpq->ce_link) { - for(prql=edge->ce_prq;prql;prql=prql->cl_next) - if (prql->cl_prq == tpq) - break; - - if(prql == NIL(LINK)) - break; - - prql->cl_prq->ce_flag |= F_MARK; - } - - if (tpq == NIL(CELL)) { - for(prql=edge->ce_prq;prql;prql=prql->cl_next) - if(!(prql->cl_prq->ce_flag & F_MARK)) - break; - - if(prql == NIL(LINK)) - match = TRUE; - } - - /* clean up the mark bits. */ - for(prql=edge->ce_prq;prql;prql=prql->cl_next) - prql->cl_prq->ce_flag &= ~F_MARK; - } - } - - if( match ) { - /* match is TRUE hence, we found an edge joining the target and the - * prerequisite so reset the new edge so that new values replace it. */ - DB_PRINT( "%", ("It's an old edge") ); - - edge->ce_dir = NIL(char); - edge->ce_flag &= (F_PERCENT|F_MAGIC|F_DFA); - edge->ce_attr &= A_NOINFER; - } - else { - DB_PRINT( "%", ("Adding a new edge") ); - - edge = _make_multi(target); - - /* FIXME: There can be only one %-target. */ - for(edl=CeMeToo(target);edl;edl=edl->cl_next) { - if( !((tpq=edl->cl_prq)->ce_flag & F_DFA) ) { - Add_nfa( tpq->CE_NAME ); - tpq->ce_flag |= F_DFA; - } - - edl->cl_prq->ce_set = edge; - } - - edge->ce_all = target->ce_all; - target->ce_all.cl_next = NIL(LINK); - target->ce_set = NIL(CELL); - - /* Add all prerequisites to edge. */ - for(tpq=prereq; tpq; tpq=tpq->ce_link) - Add_prerequisite(edge, tpq, FALSE, TRUE); - } - - if( op & R_OP_DCL ) - Warning("'::' operator for meta-target '%s' ignored, ':' operator assumed.", - target->CE_NAME ); - - /* If edge was already added we're in BIG trouble. */ - /* Re-use cur as temporary variable. */ - for( cur=_sv_edgel; cur != NIL(CELL); cur=cur->ce_link ) { - if( cur == edge ) - Fatal( "Internal Error: edge already in _sv_edgel." ); - } - - edge->ce_link = _sv_edgel; - _sv_edgel = edge; - _sv_globprq_only = 0; - - DB_RETURN(NIL(CELL)); -} - - -static CELLPTR -_make_multi( tg )/* -=================== - This function is called to convert tg into an F_MULTI target. - Return a pointer to the new member cell. - I don't know what the author intended but the ce_index entry is only - used in this function (set to 0 for added targets) and undefined otherwise! - The undefined value is hopefully set to 0 by the C compiler as each added - target sets its ce_count to ++ce_index (==1). (FIXME) */ -CELLPTR tg; -{ - CELLPTR cp; - - /* This creates a new master F_MULTI target if tg existed before as a normal - * target with prerequisites or recipes. */ - if( !(tg->ce_flag & F_MULTI) && (tg->ce_prq || tg->ce_recipe) ) { - /* Allocate a new master cell. */ - TALLOC(cp, 1, CELL); - *cp = *tg; - - /* F_MULTI master */ - tg->ce_prq = NIL(LINK); - tg->ce_flag |= F_RULES|F_MULTI|F_TARGET; - tg->ce_attr |= A_SEQ; - tg->ce_recipe = NIL(STRING); - tg->ce_dir = NIL(char); - - /* F_MULTI member for preexisting elements */ - cp->ce_count = ++tg->ce_index; - cp->ce_cond = NIL(STRING); - cp->ce_set = NIL(CELL); - cp->ce_all.cl_prq = cp; - CeNotMe(cp) = NIL(LINK); - - Add_prerequisite(tg, cp, FALSE, TRUE); - } - - /* Alocate memory for new member of F_MULTI target */ - TALLOC(cp, 1, CELL); - *cp = *tg; - - /* This is reached if the target already exists, but without having - * prerequisites or recepies. Morph it into a F_MULTI master cell. */ - if( !(tg->ce_flag & F_MULTI) ) { - tg->ce_prq = NIL(LINK); - tg->ce_flag |= F_RULES|F_MULTI|F_TARGET; - tg->ce_attr |= A_SEQ; - tg->ce_recipe = NIL(STRING); - tg->ce_dir = NIL(char); - cp->ce_cond = NIL(STRING); - } - /* This handles the case of adding an additional target as a - * prerequisite to a F_MULTI target. */ - else { - cp->ce_flag &= ~(F_RULES|F_MULTI); - cp->ce_attr &= ~A_SEQ; - cp->ce_prq = NIL(LINK); - cp->ce_index = 0; - cp->ce_cond = NIL(STRING); - } - cp->ce_count = ++tg->ce_index; - cp->ce_flag |= F_TARGET; - cp->ce_set = NIL(CELL); - cp->ce_all.cl_prq = cp; - CeNotMe(cp) = NIL(LINK); - - Add_prerequisite(tg, cp, FALSE, TRUE); - return(cp); -} - - -static void -_add_indirect_prereq( pq )/* -========================== - Prerequisite is an indirect prerequisite for a %-target, add it to - the target's list of indirect prerequsites to add on match. */ -CELLPTR pq; -{ - register LINKPTR ln; - - /* Only add to list of indirect prerequsites if it is not in already. */ - for(ln=_sv_ind_prq; ln; ln=ln->cl_next) - if(strcmp(ln->cl_prq->CE_NAME,pq->CE_NAME) == 0) - return; - - /* Not in, add it. */ - TALLOC( ln, 1, LINK ); - ln->cl_next = _sv_ind_prq; - ln->cl_prq = pq; - _sv_ind_prq = ln; -} - - - -static void -_set_attributes( attr, set_dir, cp )/* -====================================== - Set the appropriate attributes for a cell */ -t_attr attr; -char *set_dir; -CELLPTR cp; -{ - char *dir = 0; - - DB_ENTER( "_set_attributes" ); - - /* If .SETDIR attribute is set then we have at least .SETDIR= in the - * set_dir string. So go and fishout what is at the end of the =. - * If not set and not NULL then propagate it to the target cell. */ - - if( attr & A_SETDIR ) { - char *p; - if( (p = strchr( set_dir, '=' )) != NULL ) - dir = p + 1; - - if( cp->ce_dir ) - Warning( "Multiple .SETDIR for %s ignored", cp->CE_NAME ); - else if( *dir ) - cp->ce_dir = DmStrDup(dir); - } - cp->ce_attr |= attr; /* set rest of attributes for target */ - - DB_VOID_RETURN; -} - - - -static void -_set_global_attr( attr )/* -========================== - Handle the setting of the global attribute functions based on - The attribute flags set in attr. */ -t_attr attr; -{ - t_attr flag; - - /* Some compilers can't handle a switch on a long, and t_attr is now a long - * integer on some systems. foey! */ - for( flag = MAX_ATTR; flag; flag >>= 1 ) - if( flag & attr ) { - if( flag == A_PRECIOUS) Def_macro(".PRECIOUS", "y", M_EXPANDED); - else if( flag == A_SILENT) Def_macro(".SILENT", "y", M_EXPANDED); - else if( flag == A_IGNORE ) Def_macro(".IGNORE", "y", M_EXPANDED); - else if( flag == A_EPILOG ) Def_macro(".EPILOG", "y", M_EXPANDED); - else if( flag == A_PROLOG ) Def_macro(".PROLOG", "y", M_EXPANDED); - else if( flag == A_NOINFER ) Def_macro(".NOINFER", "y", M_EXPANDED); - else if( flag == A_SEQ ) Def_macro(".SEQUENTIAL","y", M_EXPANDED); - else if( flag == A_SHELL ) Def_macro(".USESHELL", "y", M_EXPANDED); - else if( flag == A_MKSARGS ) Def_macro(".MKSARGS", "y", M_EXPANDED); -#if !defined(__CYGWIN__) - else if( flag == A_SWAP ) Def_macro(".SWAP", "y", M_EXPANDED); -#else - else if( flag == A_WINPATH ) Def_macro(".WINPATH", "y", M_EXPANDED); -#endif - } - - attr &= ~A_GLOB; - if( attr ) Warning( "Non global attribute(s) ignored" ); -} - - - -static void -_stick_at_head( cp, pq )/* -========================== - Add the prerequisite list to the head of the existing prerequisite - list */ - -CELLPTR cp; /* cell for target node */ -CELLPTR pq; /* list of prerequisites to add */ -{ - DB_ENTER( "_stick_at_head" ); - - if( pq->ce_link != NIL(CELL) ) _stick_at_head( cp, pq->ce_link ); - Add_prerequisite( cp, pq, TRUE, FALSE ); - - DB_VOID_RETURN; -} - - - -static t_attr -_is_attribute( name )/* -======================= - Check the passed name against the list of valid attributes and return the - attribute index if it is, else return 0, indicating the name is not a valid - attribute. The present attributes are defined in dmake.h as A_xxx #defines, - with the corresponding makefile specification: (note they must be named - exactly as defined below) - - Valid attributes are: .IGNORE, .SETDIR=, .SILENT, .PRECIOUS, .LIBRARY, - .EPILOG, .PROLOG, .LIBRARYM, .SYMBOL, .UPDATEALL, - .USESHELL, .NOINFER, .PHONY, .SWAP/.WINPATH, .SEQUENTIAL - .NOSTATE, .MKSARGS, .IGNOREGROUP, .GROUP, .FIRST - .EXECUTE, .ERRREMOVE - - NOTE: The strcmp's are OK since at most three are ever executed for any - one attribute check, and that happens only when we can be fairly - certain we have an attribute. */ -char *name; -{ - t_attr attr = 0; - - DB_ENTER( "_is_attribute" ); - - if( *name++ == '.' ) - switch( *name ) - { - case 'E': - if( !strcmp(name, "EPILOG") ) attr = A_EPILOG; - else if( !strcmp(name, "EXECUTE")) attr = A_EXECUTE; - else if( !strcmp(name, "ERRREMOVE")) attr = A_ERRREMOVE; - else attr = 0; - break; - - /* A_FIRST implies A_IGNORE, handled in ST_INCLUDE */ - case 'F': - attr = (strcmp(name, "FIRST")) ? 0 : A_FIRST; - break; - - case 'G': attr = (strcmp(name, "GROUP")) ? 0 : A_GROUP; break; - case 'L': attr = (strcmp(name, "LIBRARY")) ? 0 : A_LIBRARY; break; - case 'M': attr = (strcmp(name, "MKSARGS")) ? 0 : A_MKSARGS; break; - - case 'I': - if( !strcmp(name, "IGNORE") ) attr = A_IGNORE; - else if( !strcmp(name, "IGNOREGROUP")) attr = A_IGNOREGROUP; - else attr = 0; - break; - - case 'N': - if( !strcmp(name, "NOINFER") ) attr = A_NOINFER; - else if( !strcmp(name, "NOSTATE")) attr = A_NOSTATE; - else attr = 0; - break; - - case 'U': - if( !strcmp(name, "UPDATEALL") ) attr = A_UPDATEALL; - else if( !strcmp(name, "USESHELL")) attr = A_SHELL; - else attr = 0; - break; - - case 'P': - if( !strcmp(name, "PRECIOUS") ) attr = A_PRECIOUS; - else if( !strcmp(name, "PROLOG") ) attr = A_PROLOG; - else if( !strcmp(name, "PHONY") ) attr = A_PHONY; - else attr = 0; - break; - - case 'S': - if( !strncmp(name, "SETDIR=", 7) ) attr = A_SETDIR; - else if( !strcmp(name, "SILENT") ) attr = A_SILENT; - else if( !strcmp(name, "SYMBOL") ) attr = A_SYMBOL; - else if( !strcmp(name, "SEQUENTIAL")) attr = A_SEQ; - /* A_SWAP has no meaning except for MSDOS. */ - else if( !strcmp(name, "SWAP")) attr = A_SWAP; - else attr = 0; - break; - - case 'W': attr = (strcmp(name, "WINPATH")) ? 0 : A_WINPATH; break; - } - - DB_RETURN( attr ); -} - - - -static int -_is_special( tg )/* -=================== - This function returns TRUE if the name passed in represents a special - target, otherwise it returns false. A special target is one that has - a special meaning to dmake, and may require processing at the time that - it is parsed. - - Current Special targets are: - .GROUPPROLOG .GROUPEPILOG .INCLUDE .IMPORT - .EXPORT .SOURCE .SUFFIXES .ERROR .EXIT - .INCLUDEDIRS .MAKEFILES .REMOVE .KEEP_STATE - .TARGETS .ROOT -*/ -char *tg; -{ - DB_ENTER( "_is_special" ); - - if( *tg++ != '.' ) DB_RETURN( 0 ); - - switch( *tg ) - { - case 'E': - if( !strcmp( tg, "ERROR" ) ) DB_RETURN( ST_REST ); - else if( !strcmp( tg, "EXPORT" ) ) DB_RETURN( ST_EXPORT ); - else if( !strcmp( tg, "EXIT" ) ) DB_RETURN( ST_EXIT ); - break; - - case 'G': - if( !strcmp( tg, "GROUPPROLOG" )) DB_RETURN( ST_REST ); - else if( !strcmp( tg, "GROUPEPILOG" )) DB_RETURN( ST_REST ); - break; - - case 'I': - if( !strcmp( tg, "IMPORT" ) ) DB_RETURN( ST_IMPORT ); - else if( !strcmp( tg, "INCLUDE" ) ) DB_RETURN( ST_INCLUDE ); - else if( !strcmp( tg, "INCLUDEDIRS" )) DB_RETURN( ST_REST ); - break; - - case 'K': - if( !strcmp( tg, "KEEP_STATE" ) ) DB_RETURN( ST_KEEP ); - break; - - case 'M': - if( !strcmp( tg, "MAKEFILES" ) ) DB_RETURN( ST_REST ); - break; - - case 'R': - if( !strcmp( tg, "REMOVE" ) ) DB_RETURN( ST_REST ); - else if( !strcmp( tg, "ROOT" ) ) DB_RETURN( ST_REST ); - break; - - case 'S': - if( !strncmp( tg, "SOURCE", 6 ) ) DB_RETURN( ST_SOURCE ); - else if( !strncmp(tg, "SUFFIXES", 8 )) { - if (Verbose & V_WARNALL) - Warning( "The .SUFFIXES target has no special meaning and is deprecated." ); - DB_RETURN( ST_SOURCE ); - } - break; - - case 'T': - if( !strcmp( tg, "TARGETS" ) ) DB_RETURN( ST_REST ); - break; - } - - DB_RETURN( 0 ); -} - - - -static int -_is_percent( np )/* -=================== - return TRUE if np points at a string containing a % sign */ -char *np; -{ - return( (strchr(np,'%') && (*np != '\'' && np[strlen(np)-1] != '\'')) ? - TRUE : FALSE ); -} - - -static char * -_is_magic( np )/* -================= - return NULL if np does not points at a string of the form - .. or . - where chars are "visible characters" for the current locale. If np is of the - first form we return a pointer to the second '.' and for the second form we - return a pointer to the '.'. - - NOTE: reject target if it contains / or begins with .. - reject also .INIT and .DONE because they are mentioned in the - man page. */ -char *np; -{ - register char *n; - - n = np; - if( *n != '.' ) return( NIL(char) ); - if (strchr(DirBrkStr, *(n+1))!=NULL || *(n+1) == '.' ) - return (NIL(char)); - if( !strcmp( n+1, "INIT" ) || !strcmp( n+1, "DONE" ) ) - return (NIL(char)); - - for( n++; isgraph(*n) && (*n != '.'); n++ ); - - if( *n != '\0' ) { - if( *n != '.' ) return( NIL(char) ); - for( np = n++; isgraph( *n ) && (*n != '.'); n++ ); - if( *n != '\0' ) return( NIL(char) ); - } - /* Until dmake 4.5 a . target was ignored when AUGMAKE was - * set and evaluated as a meta target if unset (also for -A). - * To keep maximum compatibility accept this regardles of the AUGMAKE - * status. */ - - /* np points at the second . of .. string. - * if the special target is of the form . then np points at the - * first . in the token. */ - - return( np ); -} - - -static int -_add_root(tg)/* -=============== - Adds "tg" to the prerequisits list of "Targets" if "Target" is not TRUE, - i.e. to the list of targets that are to be build. - Instead io setting "Target" to TRUE, TRUE is returned as more targets - might be defined in the current makefile line and they all have to be - add to "Targets" in this case. */ - -CELLPTR tg; -{ - int res = FALSE; - - if(tg == Targets) - return(TRUE); - - if( !Target && !(tg->ce_flag & (F_SPECIAL|F_PERCENT)) ) { - Add_prerequisite(Targets, tg, FALSE, TRUE); - - tg->ce_flag |= F_TARGET; - tg->ce_attr |= A_FRINGE; - res = TRUE; - } - - return(res); -} diff --git a/dmake/stamp-h b/dmake/stamp-h deleted file mode 100755 index 9788f70238c9..000000000000 --- a/dmake/stamp-h +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/dmake/startup/Makefile.am b/dmake/startup/Makefile.am deleted file mode 100755 index ca907266c38b..000000000000 --- a/dmake/startup/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ - -startupdir = $(datadir)/startup - -startup_DATA = startup.mk config.mk - -DIST_SUBDIRS = unix winnt -SUBDIRS = @OS_TYPE@ diff --git a/dmake/startup/Makefile.in b/dmake/startup/Makefile.in deleted file mode 100644 index 0bede9b62255..000000000000 --- a/dmake/startup/Makefile.in +++ /dev/null @@ -1,492 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/config.mk.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = config.mk -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup -startup_DATA = startup.mk config.mk -DIST_SUBDIRS = unix winnt -SUBDIRS = @OS_TYPE@ -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -config.mk: $(top_builddir)/config.status $(srcdir)/config.mk.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/config.mk.in b/dmake/startup/config.mk.in deleted file mode 100644 index b2429a8fbe81..000000000000 --- a/dmake/startup/config.mk.in +++ /dev/null @@ -1,5 +0,0 @@ -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED - -OS := @OS_TYPE@ -OSRELEASE := @OS_VERSION@ -#OSENVIRONMENT := ??? diff --git a/dmake/startup/mac/macros.mk b/dmake/startup/mac/macros.mk deleted file mode 100644 index ca161a8baa5c..000000000000 --- a/dmake/startup/mac/macros.mk +++ /dev/null @@ -1,41 +0,0 @@ -# Define MPW MAC specific macros. -# Assumes CodeWarrior for Mac 5.0 C, change as needed. -# - -A *:= .lib -S *:= .s -V *:= v -TMPDIR *:= $(TempFolder) - -# import library definitions -.IMPORT .IGNORE : CLibraries Libraries - -# Set arguments for the SHELL. Since we can't execute sub-processes, -# these variables are not important, except for some makefiles that check -# for some values to determine the platform. -SHELL *:= "{MPW}MPW Shell" -SHELLFLAGS *:= -GROUPFLAGS *:= -SHELLMETAS *:= - -# Define toolkit macros -CC *:= MWCPPC -AS *:= PPCAsm -LD *:= MWLinkPPC -AR *:= -ARFLAGS *:= -RM *:= delete -RMFLAGS *:= -MV *:= rename -YTAB *:= -LEXYY *:= - -LDLIBS *= "{SharedLibraries}StdCLib" "{SharedLibraries}InterfaceLib" \ - "{PPCLibraries}StdCRuntime.o" "{PPCLibraries}PPCCRuntime.o" \ - "{Libraries}MathLib.o" "{PPCLibraries}PPCToolLibs.o" - -# Disable the print command -PRINT *= - -# Make certain to disable defining how to make executables. -__.EXECS !:= diff --git a/dmake/startup/msdos/borland/bcc30/macros.mk b/dmake/startup/msdos/borland/bcc30/macros.mk deleted file mode 100644 index 599ba52c0a61..000000000000 --- a/dmake/startup/msdos/borland/bcc30/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Borland-C customization. - -# Standard C-language command names and flags -CC *:= bcc # C compiler diff --git a/dmake/startup/msdos/borland/bcc40/macros.mk b/dmake/startup/msdos/borland/bcc40/macros.mk deleted file mode 100644 index 599ba52c0a61..000000000000 --- a/dmake/startup/msdos/borland/bcc40/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Borland-C customization. - -# Standard C-language command names and flags -CC *:= bcc # C compiler diff --git a/dmake/startup/msdos/borland/bcc45/macros.mk b/dmake/startup/msdos/borland/bcc45/macros.mk deleted file mode 100644 index 599ba52c0a61..000000000000 --- a/dmake/startup/msdos/borland/bcc45/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Borland-C customization. - -# Standard C-language command names and flags -CC *:= bcc # C compiler diff --git a/dmake/startup/msdos/borland/bcc50.32/macros.mk b/dmake/startup/msdos/borland/bcc50.32/macros.mk deleted file mode 100644 index 599ba52c0a61..000000000000 --- a/dmake/startup/msdos/borland/bcc50.32/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Borland-C customization. - -# Standard C-language command names and flags -CC *:= bcc # C compiler diff --git a/dmake/startup/msdos/borland/bcc50/macros.mk b/dmake/startup/msdos/borland/bcc50/macros.mk deleted file mode 100644 index 599ba52c0a61..000000000000 --- a/dmake/startup/msdos/borland/bcc50/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Borland-C customization. - -# Standard C-language command names and flags -CC *:= bcc # C compiler diff --git a/dmake/startup/msdos/borland/macros.mk b/dmake/startup/msdos/borland/macros.mk deleted file mode 100644 index 1e8915171ff1..000000000000 --- a/dmake/startup/msdos/borland/macros.mk +++ /dev/null @@ -1,33 +0,0 @@ -# MSDOS Borland-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= tasm # Assembler and flags -ASFLAGS *= -LD *= tlink # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= tlib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= tpc # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/msdos/borland/tcc20/macros.mk b/dmake/startup/msdos/borland/tcc20/macros.mk deleted file mode 100644 index 7d922e44d03a..000000000000 --- a/dmake/startup/msdos/borland/tcc20/macros.mk +++ /dev/null @@ -1,4 +0,0 @@ -# MSDOS Turbo-C customization. - -# Standard C-language command names and flags -CC *:= tcc # C compiler diff --git a/dmake/startup/msdos/macros.mk b/dmake/startup/msdos/macros.mk deleted file mode 100644 index 8f8c57c5a479..000000000000 --- a/dmake/startup/msdos/macros.mk +++ /dev/null @@ -1,62 +0,0 @@ -# Define additional MSDOS specific settings. -# - -# Execution environment configuration. -# Grab the current setting of COMSPEC. -# -.IMPORT .IGNORE : COMSPEC ROOTDIR - -# First check if SHELL is defined to be something other than COMSPEC. -# If it is, then assume that SHELL is a Korn compatible shell like MKS's -.IF $(SHELL) == $(NULL) - .IF $(COMSPEC) == $(NULL) - SHELL *:= $(ROOTDIR)$/bin$/sh$E - .ELSE - SHELL *:= $(COMSPEC) - .END -.END -GROUPSHELL *:= $(SHELL) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk - -# Applicable suffix definitions -A *:= .lib # Libraries -E *:= .exe # Executables -F *:= .for # Fortran -O *:= .obj # Objects -P *:= .pas # Pascal -S *:= .asm # Assembler sources -V *:= # RCS suffix - -# Now set the remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn shell. -.IF $(SHELL) == $(COMSPEC) - SHELLFLAGS *:= $(SWITCHAR)c - GROUPFLAGS *:= $(SHELLFLAGS) - SHELLMETAS *:= "<>| - GROUPSUFFIX *:= .bat - DIVFILE *= $(TMPFILE:s,/,\,) - RM *= del - RMFLAGS *= - MV *= rename - __.DIVSEP-sh-yes *:= \\ - __.DIVSEP-sh-no *:= \\ -.ELSE - SHELLFLAGS *:= -c - GROUPFLAGS *:= - SHELLMETAS *:= *";?<>|()&][$$\#`' - GROUPSUFFIX *:= .ksh - .MKSARGS *:= yes - RM *= $(ROOTDIR)$/bin$/rm - RMFLAGS *= -f - MV *= $(ROOTDIR)$/bin$/mv - DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}},) - __.DIVSEP-sh-yes *:= \\\ - __.DIVSEP-sh-no *:= \\ -.ENDIF - - -# Does not respect case of filenames. -.DIRCACHERESPCASE := no diff --git a/dmake/startup/msdos/microsft/macros.mk b/dmake/startup/msdos/microsft/macros.mk deleted file mode 100644 index 3891f84fde21..000000000000 --- a/dmake/startup/msdos/microsft/macros.mk +++ /dev/null @@ -1,34 +0,0 @@ -# MSDOS Microsoft-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CC *:= cl # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= link # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= lib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/msdos/recipes.mk b/dmake/startup/msdos/recipes.mk deleted file mode 100644 index 39a5965e844c..000000000000 --- a/dmake/startup/msdos/recipes.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Define additional MSDOS specific build recipes. -# - -# Executables - %$E .SWAP : %$O ; $(CC) $(LDFLAGS) -o$@ $< $(LDLIBS) - %$O : %$S ; $(AS) $(ASFLAGS) $(<:s,/,\) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/recipes.mk diff --git a/dmake/startup/msdos/zortech/macros.mk b/dmake/startup/msdos/zortech/macros.mk deleted file mode 100644 index f9166150f13d..000000000000 --- a/dmake/startup/msdos/zortech/macros.mk +++ /dev/null @@ -1,30 +0,0 @@ -# MSDOS Zortech-C environment customization. - -# Standard C-language command names and flags -CC *:= ztc # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= blink # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= ???? # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/os2/ibm/macros.mk b/dmake/startup/os2/ibm/macros.mk deleted file mode 100644 index 4b848d93cc4c..000000000000 --- a/dmake/startup/os2/ibm/macros.mk +++ /dev/null @@ -1,30 +0,0 @@ -# OS/2 1.3 and 2.1 specific customization. - -# Standard C-language command names and flags -CC *:= icc # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= link386 # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= lib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/os2/macros.mk b/dmake/startup/os2/macros.mk deleted file mode 100644 index 08c829ba0c58..000000000000 --- a/dmake/startup/os2/macros.mk +++ /dev/null @@ -1,60 +0,0 @@ -# Define additional OS/2 specific macros. -# - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk - -# Execution environment configuration. -# Grab the current setting of COMSPEC. -# -.IMPORT .IGNORE : COMSPEC ROOTDIR - -# First check if SHELL is defined to be something other than COMSPEC. -# If it is assume that SHELL is a Korn compatible shell like MKS's -.IF $(SHELL) == $(NULL) - .IF $(COMSPEC) == $(NULL) - SHELL *:= $(ROOTDIR)$/bin$/sh$E - .ELSE - SHELL *:= $(COMSPEC) - .END -.END -GROUPSHELL *:= $(SHELL) - -# Directory entries are case incensitive -.DIRCACHERESPCASE *:= no - -# Applicable suffix definitions -A *:= .lib # Libraries -E *:= .exe # Executables -F *:= .for # Fortran -O *:= .obj # Objects -P *:= .pas # Pascal -S *:= .asm # Assembler sources -V *:= # RCS suffix - -# Now set the remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn shell. -.IF $(SHELL) == $(COMSPEC) - SHELLFLAGS *:= $(SWITCHAR)c - GROUPFLAGS *:= $(SHELLFLAGS) - SHELLMETAS *:= *"?<> - GROUPSUFFIX *:= .bat - DIRSEPSTR *:= \\\ - DIVFILE *= $(TMPFILE:s,/,\,) - RM *= del - RMFLAGS *= - MV *= rename -.ELSE - SHELLFLAGS *:= -c - GROUPFLAGS *:= - SHELLMETAS *:= *"?<>|()&][$$\#`' - GROUPSUFFIX *:= .ksh - .MKSARGS *:= yes - RM *= $(ROOTDIR)$/bin$/rm - RMFLAGS *= -f - MV *= $(ROOTDIR)$/bin$/mv - DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}},) - __.DIVSEP-sh-yes !:= \\\ - __.DIVSEP-sh-no !:= \\ -.ENDIF diff --git a/dmake/startup/qssl/macros.mk b/dmake/startup/qssl/macros.mk deleted file mode 100644 index de89485e8541..000000000000 --- a/dmake/startup/qssl/macros.mk +++ /dev/null @@ -1,11 +0,0 @@ -# QNX Specific macro definitions -# - -# Primary suffixes in common use -A *:= .lib # Libraries - -# Standard C-language command names and flags -AS *:= # Don't have an assembler - -AR *:= wlib # archiver -ARFLAGS *= diff --git a/dmake/startup/qssl/qnx/macros.mk b/dmake/startup/qssl/qnx/macros.mk deleted file mode 100644 index de89485e8541..000000000000 --- a/dmake/startup/qssl/qnx/macros.mk +++ /dev/null @@ -1,11 +0,0 @@ -# QNX Specific macro definitions -# - -# Primary suffixes in common use -A *:= .lib # Libraries - -# Standard C-language command names and flags -AS *:= # Don't have an assembler - -AR *:= wlib # archiver -ARFLAGS *= diff --git a/dmake/startup/qssl/qnx/recipes.mk b/dmake/startup/qssl/qnx/recipes.mk deleted file mode 100644 index 4458b43924a7..000000000000 --- a/dmake/startup/qssl/qnx/recipes.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Define additional QNX specific build recipes. -# - -# Recipe to make archive files. -# --Figure out what to do about the librarian-- -%$A .GROUP : - $(AR) $(ARFLAGS) $@ $? - $(RM) $(RMFLAGS) $? diff --git a/dmake/startup/qssl/recipes.mk b/dmake/startup/qssl/recipes.mk deleted file mode 100644 index 4458b43924a7..000000000000 --- a/dmake/startup/qssl/recipes.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Define additional QNX specific build recipes. -# - -# Recipe to make archive files. -# --Figure out what to do about the librarian-- -%$A .GROUP : - $(AR) $(ARFLAGS) $@ $? - $(RM) $(RMFLAGS) $? diff --git a/dmake/startup/startup.mk b/dmake/startup/startup.mk deleted file mode 100644 index 524ad1efba26..000000000000 --- a/dmake/startup/startup.mk +++ /dev/null @@ -1,211 +0,0 @@ -# This is the root DMAKE startup file. -# -# Definitions common to all environments are given at the root. -# Definitions parameterized at the root have their parameters specified -# in sub-makefiles which are included based on the values of the three -# make variables: -# -# OS - core operating system flavour -# OSRELEASE - specific release of the operating system -# OSENVIRONMENT - software construction environment in use -# -# See the file 'summary', found in this directory for a list of -# environments supported by this release. - -# Disable warnings for macros given on the command line but redefined here. -__.silent !:= $(.SILENT) # Preserve user's .SILENT flag -.SILENT !:= yes - -# startup.mk configuration parameters, for each, set it to non-null if you wish -# to enable the named facility. -__.HAVE_RCS !:= yes # yes => RCS is installed. -__.HAVE_SCCS !:= # yes => SCCS is installed. -__.DEFAULTS !:= yes # yes => define default construction rules. -__.EXECS !:= yes # yes => define how to build executables. - -# Grab key definitions from the environment -# The variables OS OSRELEASE OSENVIRONMENT were removed from this -# list because of windows. See issue 43254 for details. -.IMPORT .IGNORE : TMPDIR SHELL - -# Default DMAKE configuration, if not overriden by environment -.INCLUDE .NOINFER $(!null,$(OS) .IGNORE) : $(INCFILENAME:d)config.mk - -# Look for a local defaults configuration -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)local.mk - -# Define the directory separator string. -/ *= $(DIRSEPSTR) - -# Customize macro definitions based on setings of OS, OSRELEASE and -# OSENVIRONMENT, this must come before the default macro definitions which -# follow. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OS)$/macros.mk - -# ----------------- Default Control Macro definitions ----------------------- -# Select appropriate defaults for basic macros - MAKE *= $(MAKECMD) -S $(MFLAGS) - TMPDIR *:= $/tmp - DIVFILE *= $(TMPFILE) - AUGMAKE *:= no - -# Recipe execution configuration - SHELL *:= $/bin$/sh - SHELLFLAGS *:= -ce - GROUPSHELL *:= $(SHELL) - GROUPFLAGS *:= - SHELLMETAS *:= |();&<>?*][$$:\\#`'" - GROUPSUFFIX *:= - -# Intermediate target removal configuration - RM *:= $/bin$/rm - RMFLAGS *= -f - RMTARGET *= $< - -# Default recipe that is used to remove intermediate targets. -.REMOVE :; $(RM) $(RMFLAGS) $(RMTARGET) - -# Check and enable AUGMAKE extensions for SYSV compatibility -.IF $(AUGMAKE) - "@B" != $(@:b) - "@D" != $(@:d) - "@F" != $(@:f) - "*B" != $(*:b) - "*D" != $(*:d) - "*F" != $(*:f) - "/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/bsd43/macros.mk b/dmake/startup/unix/bsd43/macros.mk deleted file mode 100644 index be4ae5fe45e9..000000000000 --- a/dmake/startup/unix/bsd43/macros.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Define additional Berkely UNIX specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Set defaults for local OS release -RANLIB *:= ranlib -PRINT *:= lpr diff --git a/dmake/startup/unix/bsd43/recipes.mk b/dmake/startup/unix/bsd43/recipes.mk deleted file mode 100644 index 557ac7c8c17b..000000000000 --- a/dmake/startup/unix/bsd43/recipes.mk +++ /dev/null @@ -1,13 +0,0 @@ -# Define additional Berkeley UNIX specific build rules and recipes. -# - -# Recipe to make archive files. -%$A .GROUP : - $(AR) $(ARFLAGS) $@ $? - $(RM) $(RMFLAGS) $? - $(RANLIB) $@ - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/recipes.mk -.ENDIF diff --git a/dmake/startup/unix/coherent/macros.mk b/dmake/startup/unix/coherent/macros.mk deleted file mode 100644 index e0201ebd14ba..000000000000 --- a/dmake/startup/unix/coherent/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard BSD'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/bsd43 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/coherent/recipes.mk b/dmake/startup/unix/coherent/recipes.mk deleted file mode 100644 index 5966640d3621..000000000000 --- a/dmake/startup/unix/coherent/recipes.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Use the same file as -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/bsd43 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : recipes.mk diff --git a/dmake/startup/unix/cygwin/Makefile.am b/dmake/startup/unix/cygwin/Makefile.am deleted file mode 100644 index 97848b4abeee..000000000000 --- a/dmake/startup/unix/cygwin/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -startupdir = $(datadir)/startup/unix/cygwin - -startup_DATA = macros.mk - - - diff --git a/dmake/startup/unix/cygwin/Makefile.in b/dmake/startup/unix/cygwin/Makefile.in deleted file mode 100644 index 9b8adb8245ba..000000000000 --- a/dmake/startup/unix/cygwin/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/cygwin -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/cygwin -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/cygwin/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/cygwin/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/cygwin/macros.mk b/dmake/startup/unix/cygwin/macros.mk deleted file mode 100644 index 91956ca4736a..000000000000 --- a/dmake/startup/unix/cygwin/macros.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Define additional Cygwin specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Make OS-release-specific settings -#PRINT *:= lpr diff --git a/dmake/startup/unix/linux/Makefile.am b/dmake/startup/unix/linux/Makefile.am deleted file mode 100755 index c19307b12a21..000000000000 --- a/dmake/startup/unix/linux/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ - -startupdir = $(datadir)/startup/unix/linux - -startup_DATA = macros.mk - - diff --git a/dmake/startup/unix/linux/Makefile.in b/dmake/startup/unix/linux/Makefile.in deleted file mode 100644 index 6c58d38dcd51..000000000000 --- a/dmake/startup/unix/linux/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/linux -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/linux -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/linux/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/linux/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/linux/gnu/macros.mk b/dmake/startup/unix/linux/gnu/macros.mk deleted file mode 100644 index 3d9c437d9e70..000000000000 --- a/dmake/startup/unix/linux/gnu/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d:d:d)/sysvr3/gnu - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/linux/macros.mk b/dmake/startup/unix/linux/macros.mk deleted file mode 100644 index 228dafff2992..000000000000 --- a/dmake/startup/unix/linux/macros.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Define additional Linux specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Make OS-release-specific settings -PRINT *:= lpr diff --git a/dmake/startup/unix/macosx/Makefile.am b/dmake/startup/unix/macosx/Makefile.am deleted file mode 100755 index 54bf5b17b5d3..000000000000 --- a/dmake/startup/unix/macosx/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ - -startupdir = $(datadir)/startup/unix/macosx - -startup_DATA = macros.mk - - diff --git a/dmake/startup/unix/macosx/Makefile.in b/dmake/startup/unix/macosx/Makefile.in deleted file mode 100644 index b391080f6e80..000000000000 --- a/dmake/startup/unix/macosx/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/macosx -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/macosx -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/macosx/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/macosx/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/macosx/gnu/macros.mk b/dmake/startup/unix/macosx/gnu/macros.mk deleted file mode 100644 index 3d9c437d9e70..000000000000 --- a/dmake/startup/unix/macosx/gnu/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d:d:d)/sysvr3/gnu - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/macosx/macros.mk b/dmake/startup/unix/macosx/macros.mk deleted file mode 100644 index b29e917ec8e1..000000000000 --- a/dmake/startup/unix/macosx/macros.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Define additional Mac OS X specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Make OS-release-specific settings -PRINT *:= lpr diff --git a/dmake/startup/unix/macros.mk b/dmake/startup/unix/macros.mk deleted file mode 100644 index 362b81d2c2f6..000000000000 --- a/dmake/startup/unix/macros.mk +++ /dev/null @@ -1,5 +0,0 @@ -# Define additional UNIX specific macros. -# - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk diff --git a/dmake/startup/unix/os2/Makefile.am b/dmake/startup/unix/os2/Makefile.am deleted file mode 100644 index be69ae315058..000000000000 --- a/dmake/startup/unix/os2/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ - -startupdir = $(datadir)/startup/unix/os2 - -startup_DATA = macros.mk - - diff --git a/dmake/startup/unix/os2/Makefile.in b/dmake/startup/unix/os2/Makefile.in deleted file mode 100644 index 3fabee1a12a9..000000000000 --- a/dmake/startup/unix/os2/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/os2 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/os2 -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/os2/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/os2/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/os2/macros.mk b/dmake/startup/unix/os2/macros.mk deleted file mode 100644 index 08c829ba0c58..000000000000 --- a/dmake/startup/unix/os2/macros.mk +++ /dev/null @@ -1,60 +0,0 @@ -# Define additional OS/2 specific macros. -# - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk - -# Execution environment configuration. -# Grab the current setting of COMSPEC. -# -.IMPORT .IGNORE : COMSPEC ROOTDIR - -# First check if SHELL is defined to be something other than COMSPEC. -# If it is assume that SHELL is a Korn compatible shell like MKS's -.IF $(SHELL) == $(NULL) - .IF $(COMSPEC) == $(NULL) - SHELL *:= $(ROOTDIR)$/bin$/sh$E - .ELSE - SHELL *:= $(COMSPEC) - .END -.END -GROUPSHELL *:= $(SHELL) - -# Directory entries are case incensitive -.DIRCACHERESPCASE *:= no - -# Applicable suffix definitions -A *:= .lib # Libraries -E *:= .exe # Executables -F *:= .for # Fortran -O *:= .obj # Objects -P *:= .pas # Pascal -S *:= .asm # Assembler sources -V *:= # RCS suffix - -# Now set the remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn shell. -.IF $(SHELL) == $(COMSPEC) - SHELLFLAGS *:= $(SWITCHAR)c - GROUPFLAGS *:= $(SHELLFLAGS) - SHELLMETAS *:= *"?<> - GROUPSUFFIX *:= .bat - DIRSEPSTR *:= \\\ - DIVFILE *= $(TMPFILE:s,/,\,) - RM *= del - RMFLAGS *= - MV *= rename -.ELSE - SHELLFLAGS *:= -c - GROUPFLAGS *:= - SHELLMETAS *:= *"?<>|()&][$$\#`' - GROUPSUFFIX *:= .ksh - .MKSARGS *:= yes - RM *= $(ROOTDIR)$/bin$/rm - RMFLAGS *= -f - MV *= $(ROOTDIR)$/bin$/mv - DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}},) - __.DIVSEP-sh-yes !:= \\\ - __.DIVSEP-sh-no !:= \\ -.ENDIF diff --git a/dmake/startup/unix/recipes.mk b/dmake/startup/unix/recipes.mk deleted file mode 100644 index 1650430f3ed8..000000000000 --- a/dmake/startup/unix/recipes.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Define additional UNIX specific build recipes. -# - -# Define additional build targets. -%$E : %.sh; cp $< $@; chmod 0777 $@ - -# This rule tells how to make a non-suffixed executable from its single -# file source. -% : %$O; $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) - -# This rule tells how to make a.out from it's immediate list of prerequisites. -%.out :; $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/recipes.mk diff --git a/dmake/startup/unix/solaris/Makefile.am b/dmake/startup/unix/solaris/Makefile.am deleted file mode 100755 index 2eb9126720e6..000000000000 --- a/dmake/startup/unix/solaris/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ - -startupdir = $(datadir)/startup/unix/solaris - -startup_DATA = macros.mk - - diff --git a/dmake/startup/unix/solaris/Makefile.in b/dmake/startup/unix/solaris/Makefile.in deleted file mode 100644 index 66503539efda..000000000000 --- a/dmake/startup/unix/solaris/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/solaris -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/solaris -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/solaris/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/solaris/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/solaris/macros.mk b/dmake/startup/unix/solaris/macros.mk deleted file mode 100644 index a359b302f546..000000000000 --- a/dmake/startup/unix/solaris/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/sysvr3 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/sysvr1/macros.mk b/dmake/startup/unix/sysvr1/macros.mk deleted file mode 100644 index a359b302f546..000000000000 --- a/dmake/startup/unix/sysvr1/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/sysvr3 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/sysvr3/gnu/macros.mk b/dmake/startup/unix/sysvr3/gnu/macros.mk deleted file mode 100644 index 13141971fe40..000000000000 --- a/dmake/startup/unix/sysvr3/gnu/macros.mk +++ /dev/null @@ -1,12 +0,0 @@ -# System V R3 GCC compiler specific macro definitions... -# - -# Common tool renamings -CC *:= gcc -"C++" *:= g++ -AS *:= gas -YACC *:= bison -LEX *:= flex - -# Common flag settings -ARFLAGS *= -rvs diff --git a/dmake/startup/unix/sysvr3/macros.mk b/dmake/startup/unix/sysvr3/macros.mk deleted file mode 100644 index 2ccd730acfc0..000000000000 --- a/dmake/startup/unix/sysvr3/macros.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Define additional UNIX specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF diff --git a/dmake/startup/unix/sysvr4/Makefile.am b/dmake/startup/unix/sysvr4/Makefile.am deleted file mode 100755 index 6c1b9590f54e..000000000000 --- a/dmake/startup/unix/sysvr4/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ - -startupdir = $(datadir)/startup/unix/sysvr4 - -startup_DATA = macros.mk - - diff --git a/dmake/startup/unix/sysvr4/Makefile.in b/dmake/startup/unix/sysvr4/Makefile.in deleted file mode 100644 index 2722634d7b4f..000000000000 --- a/dmake/startup/unix/sysvr4/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/unix/sysvr4 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/unix/sysvr4 -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/unix/sysvr4/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/unix/sysvr4/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/unix/sysvr4/macros.mk b/dmake/startup/unix/sysvr4/macros.mk deleted file mode 100644 index a359b302f546..000000000000 --- a/dmake/startup/unix/sysvr4/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/sysvr3 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/unix/xenix/macros.mk b/dmake/startup/unix/xenix/macros.mk deleted file mode 100644 index a359b302f546..000000000000 --- a/dmake/startup/unix/xenix/macros.mk +++ /dev/null @@ -1,6 +0,0 @@ -# We hang off the standard sysvr3'isms -# -__.incdir !:= $(INCFILENAME:d:d:d:d)/sysvr3 - -# Process environment-specific refinements, if any. -.INCLUDE .SETDIR=$(__.incdir) .NOINFER .IGNORE : macros.mk diff --git a/dmake/startup/win95/borland/macros.mk b/dmake/startup/win95/borland/macros.mk deleted file mode 100644 index 2017f02d3f1f..000000000000 --- a/dmake/startup/win95/borland/macros.mk +++ /dev/null @@ -1,34 +0,0 @@ -# MSDOS Borland-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CPP *:= # C-preprocessor -CC *:= bcc32 -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= tasm # Assembler and flags -ASFLAGS *= -LD *= tlink32 # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= tlib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= tpc # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/win95/macros.mk b/dmake/startup/win95/macros.mk deleted file mode 100644 index 5490634e6762..000000000000 --- a/dmake/startup/win95/macros.mk +++ /dev/null @@ -1,75 +0,0 @@ -# Define additional MSDOS specific settings. -# - -# Execution environment configuration. -# Grab the current setting of COMSPEC. -# -.IMPORT .IGNORE : COMSPEC ROOTDIR - -# First check if SHELL is defined to be something other than COMSPEC. -# If it is, then assume that SHELL is a Korn compatible shell like MKS's -.IF $(SHELL) == $(NULL) - .IF $(COMSPEC) == $(NULL) - SHELL *:= $(ROOTDIR)$/bin$/sh$E - .ELSE - SHELL *:= $(COMSPEC) - .END -.END -GROUPSHELL *:= $(SHELL) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk - -# Applicable suffix definitions -A *:= .lib # Libraries -E *:= .exe # Executables -F *:= .for # Fortran -O *:= .obj # Objects -P *:= .pas # Pascal -S *:= .asm # Assembler sources -V *:= # RCS suffix - -# Now set the remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn shell. -.IF $(SHELL) == $(COMSPEC) -.IF $(COMSPEC:lf) == cmd.exe - SHELLFLAGS *:= $(SWITCHAR)S $(SWITCHAR)c - SHELLCMDQUOTE *:= " -# " fix syntax highlighting -.ELIF $(COMSPEC:lf) == command.com - SHELLFLAGS *:= $(SWITCHAR)c - SHELLCMDQUOTE *:= " -# " fix syntax highlighting -.ELSE - SHELLFLAGS *:= $(SWITCHAR)c -.END - GROUPFLAGS *:= $(SWITCHAR)c - SHELLMETAS *:= "<>| -# " fix syntax highlighting - GROUPSUFFIX *:= .bat - DIVFILE *= $(TMPFILE:s,/,\,) - RM *= del - RMFLAGS *= - MV *= rename - __.DIVSEP-sh-yes *:= \\ - __.DIVSEP-sh-no *:= \\ -.ELSE - SHELL !:= $(SHELL:s,/,\,) - COMMAND *= $(CMNDNAME:s,/,\,) $(CMNDARGS) - SHELLFLAGS *:= -c - GROUPFLAGS *:= - SHELLMETAS *:= *";?<>|()&][$$\#`' - GROUPSUFFIX *:= .ksh - .MKSARGS *:= yes - RM *= $(ROOTDIR)$/bin$/rm - RMFLAGS *= -f - MV *= $(ROOTDIR)$/bin$/mv - DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}},) - __.DIVSEP-sh-yes *:= \\\ - __.DIVSEP-sh-no *:= \\ -.ENDIF - - -# Does not respect case of filenames. -.DIRCACHERESPCASE := no diff --git a/dmake/startup/win95/microsft/macros.mk b/dmake/startup/win95/microsft/macros.mk deleted file mode 100644 index f10b1fdfa69d..000000000000 --- a/dmake/startup/win95/microsft/macros.mk +++ /dev/null @@ -1,38 +0,0 @@ -# MSDOS Microsoft-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CC *:= cl # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= link # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= lib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler - - -# Directory cache configuration. -.DIRCACHE *:= no diff --git a/dmake/startup/win95/recipes.mk b/dmake/startup/win95/recipes.mk deleted file mode 100644 index 5a98f22b1e05..000000000000 --- a/dmake/startup/win95/recipes.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Define additional MSDOS specific build recipes. -# - -# Executables - %$E : %$O ; $(CC) $(LDFLAGS) -o$@ $< $(LDLIBS) - %$O : %$S ; $(AS) $(ASFLAGS) $(<:s,/,\) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/recipes.mk diff --git a/dmake/startup/winnt/Makefile.am b/dmake/startup/winnt/Makefile.am deleted file mode 100644 index 5bbd4d63247b..000000000000 --- a/dmake/startup/winnt/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ - -startupdir = $(datadir)/startup/winnt - -startup_DATA = macros.mk recipes.mk - -DIST_SUBDIRS = mingw msvc6 -SUBDIRS = @OS_VERSION@ - diff --git a/dmake/startup/winnt/Makefile.in b/dmake/startup/winnt/Makefile.in deleted file mode 100644 index 48812e431714..000000000000 --- a/dmake/startup/winnt/Makefile.in +++ /dev/null @@ -1,489 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/winnt -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/winnt -startup_DATA = macros.mk recipes.mk -DIST_SUBDIRS = mingw msvc6 -SUBDIRS = @OS_VERSION@ -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/winnt/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/winnt/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/winnt/borland/macros.mk b/dmake/startup/winnt/borland/macros.mk deleted file mode 100644 index 2017f02d3f1f..000000000000 --- a/dmake/startup/winnt/borland/macros.mk +++ /dev/null @@ -1,34 +0,0 @@ -# MSDOS Borland-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CPP *:= # C-preprocessor -CC *:= bcc32 -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= tasm # Assembler and flags -ASFLAGS *= -LD *= tlink32 # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= tlib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= tpc # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler diff --git a/dmake/startup/winnt/macros.mk b/dmake/startup/winnt/macros.mk deleted file mode 100644 index 507773b36c45..000000000000 --- a/dmake/startup/winnt/macros.mk +++ /dev/null @@ -1,75 +0,0 @@ -# Define additional MSDOS specific settings. -# - -# Execution environment configuration. -# Grab the current setting of COMSPEC. -# -.IMPORT .IGNORE : COMSPEC ROOTDIR - -# First check if SHELL is defined to be something other than COMSPEC. -# If it is, then assume that SHELL is a Korn compatible shell like MKS's -.IF $(SHELL) == $(NULL) - .IF $(COMSPEC) == $(NULL) - SHELL *:= $(ROOTDIR)$/bin$/sh$E - .ELSE - SHELL *:= $(COMSPEC) - .END -.END -GROUPSHELL *:= $(SHELL) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk - -# Applicable suffix definitions -A *:= .lib # Libraries -E *:= .exe # Executables -F *:= .for # Fortran -O *:= .obj # Objects -P *:= .pas # Pascal -S *:= .asm # Assembler sources -V *:= # RCS suffix - -# Now set the remaining arguments depending on which SHELL we -# are going to use. COMSPEC (assumed to be command.com) or -# MKS Korn shell. -.IF $(SHELL) == $(COMSPEC) -.IF $(COMSPEC:lf) == cmd.exe - SHELLFLAGS *:= $(SWITCHAR)S $(SWITCHAR)c - SHELLCMDQUOTE *:= " -# " fix syntax highlighting -.ELIF $(COMSPEC:lf) == command.com - SHELLFLAGS *:= $(SWITCHAR)c - SHELLCMDQUOTE *:= " -# " fix syntax highlighting -.ELSE - SHELLFLAGS *:= $(SWITCHAR)c -.END - GROUPFLAGS *:= $(SWITCHAR)c - SHELLMETAS *:= "<>| -# " fix syntax highlighting - GROUPSUFFIX *:= .cmd - DIVFILE *= $(TMPFILE:s,/,\,) - RM *= del - RMFLAGS *= - MV *= rename - __.DIVSEP-sh-yes *:= \\ - __.DIVSEP-sh-no *:= \\ -.ELSE - SHELL !:= $(SHELL:s,/,\,) - COMMAND *= $(CMNDNAME:s,/,\,) $(CMNDARGS) - SHELLFLAGS *:= -c - GROUPFLAGS *:= - SHELLMETAS *:= *";?<>|()&][$$\#`' - GROUPSUFFIX *:= .ksh - .MKSARGS *:= yes - RM *= $(ROOTDIR)$/bin$/rm - RMFLAGS *= -f - MV *= $(ROOTDIR)$/bin$/mv - DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}},) - __.DIVSEP-sh-yes *:= \\\ - __.DIVSEP-sh-no *:= \\ -.ENDIF - - -# Does not respect case of filenames. -.DIRCACHERESPCASE := no diff --git a/dmake/startup/winnt/microsft/macros.mk b/dmake/startup/winnt/microsft/macros.mk deleted file mode 100644 index eed3fbdeeedb..000000000000 --- a/dmake/startup/winnt/microsft/macros.mk +++ /dev/null @@ -1,37 +0,0 @@ -# MSDOS Microsoft-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CC *:= cl # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= link # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= lib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler - -# Directory cache configuration. -.DIRCACHE *:= no diff --git a/dmake/startup/winnt/mingw/Makefile.am b/dmake/startup/winnt/mingw/Makefile.am deleted file mode 100644 index 7b91888be5bc..000000000000 --- a/dmake/startup/winnt/mingw/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -startupdir = $(datadir)/startup/winnt/mingw - -startup_DATA = macros.mk - - - diff --git a/dmake/startup/winnt/mingw/Makefile.in b/dmake/startup/winnt/mingw/Makefile.in deleted file mode 100644 index 5ded188bb9e4..000000000000 --- a/dmake/startup/winnt/mingw/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/winnt/mingw -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/winnt/mingw -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/winnt/mingw/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/winnt/mingw/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/winnt/mingw/macros.mk b/dmake/startup/winnt/mingw/macros.mk deleted file mode 100644 index 77cc4ef04d5f..000000000000 --- a/dmake/startup/winnt/mingw/macros.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Define additional MinGW specific macros. -# - -# Process environment-specific refinements, if any. -.IF $(OSENVIRONMENT) - .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Make OS-release-specific settings -#PRINT *:= lpr diff --git a/dmake/startup/winnt/msvc6/Makefile.am b/dmake/startup/winnt/msvc6/Makefile.am deleted file mode 100644 index d621377de8ed..000000000000 --- a/dmake/startup/winnt/msvc6/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -startupdir = $(datadir)/startup/winnt/msvc6 - -startup_DATA = macros.mk - - - diff --git a/dmake/startup/winnt/msvc6/Makefile.in b/dmake/startup/winnt/msvc6/Makefile.in deleted file mode 100644 index 10c03813f21f..000000000000 --- a/dmake/startup/winnt/msvc6/Makefile.in +++ /dev/null @@ -1,331 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = startup/winnt/msvc6 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(startupdir)" -startupDATA_INSTALL = $(INSTALL_DATA) -DATA = $(startup_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -startupdir = $(datadir)/startup/winnt/msvc6 -startup_DATA = macros.mk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign startup/winnt/msvc6/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign startup/winnt/msvc6/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -install-startupDATA: $(startup_DATA) - @$(NORMAL_INSTALL) - test -z "$(startupdir)" || $(mkdir_p) "$(DESTDIR)$(startupdir)" - @list='$(startup_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(startupDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(startupdir)/$$f'"; \ - $(startupDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(startupdir)/$$f"; \ - done - -uninstall-startupDATA: - @$(NORMAL_UNINSTALL) - @list='$(startup_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(startupdir)/$$f'"; \ - rm -f "$(DESTDIR)$(startupdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(startupdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-startupDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-startupDATA - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-startupDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am uninstall-startupDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/startup/winnt/msvc6/macros.mk b/dmake/startup/winnt/msvc6/macros.mk deleted file mode 100644 index eed3fbdeeedb..000000000000 --- a/dmake/startup/winnt/msvc6/macros.mk +++ /dev/null @@ -1,37 +0,0 @@ -# MSDOS Microsoft-C environment customization. - -.IF $(OSENVIRONMENT) - .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk -.ENDIF - -# Standard C-language command names and flags -CC *:= cl # C compiler -CPP *:= # C-preprocessor -CFLAGS *= # C compiler flags -"C++" *:= # C++ Compiler -"C++FLAGS" *= # C++ Compiler flags - -AS *:= masm # Assembler and flags -ASFLAGS *= -LD *= link # Loader and flags -LDFLAGS *= -LDLIBS *= # Default libraries -AR *:= lib # archiver -ARFLAGS *= ???? - -# Definition of Print command for this system. -PRINT *= print - -# Language and Parser generation Tools and their flags -YACC *:= yacc # standard yacc -YFLAGS *= -LEX *:= lex # standard lex -LFLAGS *= - -# Other Compilers, Tools and their flags -PC *:= ??? # pascal compiler -RC *:= ??? # ratfor compiler -FC *:= ??? # fortran compiler - -# Directory cache configuration. -.DIRCACHE *:= no diff --git a/dmake/startup/winnt/recipes.mk b/dmake/startup/winnt/recipes.mk deleted file mode 100644 index 5a98f22b1e05..000000000000 --- a/dmake/startup/winnt/recipes.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Define additional MSDOS specific build recipes. -# - -# Executables - %$E : %$O ; $(CC) $(LDFLAGS) -o$@ $< $(LDLIBS) - %$O : %$S ; $(AS) $(ASFLAGS) $(<:s,/,\) - -# Process release-specific refinements, if any. -.INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/recipes.mk diff --git a/dmake/stat.c b/dmake/stat.c deleted file mode 100644 index 4bd4db810af1..000000000000 --- a/dmake/stat.c +++ /dev/null @@ -1,278 +0,0 @@ -/* RCS $Id: stat.c,v 1.3 2007-10-15 15:41:38 ihi Exp $ --- --- SYNOPSIS --- Bind a target name to a file. --- --- DESCRIPTION --- This file contains the code to go and stat a target. The stat rules --- follow a predefined order defined in the comment for Stat_target. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - - -static int _check_dir_list ANSI((CELLPTR, CELLPTR, int, int)); - -#ifdef DBUG - /* Just a little ditty for debugging this thing */ - static time_t - _do_stat( name, lib, sym, force ) - char *name; - char *lib; - char **sym; - int force; - { - time_t res; - DB_ENTER( "_do_stat" ); - - res = Do_stat(name, lib, sym, force); - DB_PRINT( "stat", ("Statted [%s,%s,%d,%ld]", name, lib, sym, res) ); - - DB_RETURN( res ); - } -#define DO_STAT(A,B,C,D) _do_stat(A,B,C,D) -#else -#define DO_STAT(A,B,C,D) Do_stat(A,B,C,D) -#endif - -static char *_first; /* If set this variable saves the first pathname that was - * used to stat the target in, if subsequently a match is - * found it is overridden by the matched path name. */ - -PUBLIC void -Stat_target( cp, setfname, force )/* -==================================== - Stat a target. When doing so follow the following rules, suppose - that cp->CE_NAME points at a target called fred.o: - (See also man page: BINDING TARGETS) - - 0. If A_SYMBOL attribute set look into the library - then do the steps 1 thru 4 on the resulting name. - 1. Try path's obtained by prepending any dirs found as - prerequisites for .SOURCE.o. - 2. If not found, do same as 2 but use .SOURCE - The predefined '.SOURCE : .NULL' targets takes care - of local/absolute paths. - 3. If not found and .LIBRARYM attribute for the target is - set then look for it in the corresponding library. - 4. If found in step 0 thru 3, then ce_fname points at - file name associate with target, else ce_fname points - at a file name built by the first .SOURCE* dir that - applied. - If setfname is != 0 this tells _check_dir_list() to set the static - _first variable. setfname also controls the use of _first. - If it is -1 ce_fname (the file name associated with target) is only - set if a matching file was found and statted, if it is 1 ce_fname - is set to _first even if target doesn't exist yet. - - If force is TRUE really stat the target. Do not use the directory - cache but update the files entry if it's enabled. */ - -CELLPTR cp; -int setfname; -int force; -{ - register HASHPTR hp; - static HASHPTR srchp = NIL(HASH); - char *name; - char *tmp; - int res = 0; - - DB_ENTER( "Stat_target" ); - - name = cp->CE_NAME; - DB_PRINT( "stat", ("called on [%s]", name) ); - - if( srchp == NIL(HASH) ) srchp = Get_name(".SOURCE",Defs,FALSE); - - /* Look for a symbol of the form lib((symbol)) the name of the symbol - * as entered in the hash table is (symbol) so pull out symbol and try - * to find it's module. If successful DO_STAT will return the module - * as well as the archive member name (pointed at by tmp). We then - * replace the symbol name with the archive member name so that we - * have the proper name for any future refrences. */ - - if( cp->ce_attr & A_SYMBOL ) { - DB_PRINT( "stat", ("Binding lib symbol [%s]", name) ); - - cp->ce_time = DO_STAT( name, cp->ce_lib, &tmp, force ); - - if( cp->ce_time != (time_t) 0L ) { - /* stat the new member name below note tmp must point at a string - * returned by MALLOC... ie. the Do_stat code should use DmStrDup */ - - if( Verbose & V_MAKE ) - printf( "%s: Mapped ((%s)) to %s(%s)\n", Pname, - name, cp->ce_lib, tmp ); - - FREE( name ); - name = cp->CE_NAME = tmp; - cp->ce_attr &= ~(A_FFNAME | A_SYMBOL); - } - else - { DB_VOID_RETURN; } - } - - _first = NIL(char); - tmp = DmStrJoin( ".SOURCE", Get_suffix(name), -1, FALSE); - - /* Check .SOURCE.xxx target */ - if( (hp = Get_name(tmp, Defs, FALSE)) != NIL(HASH) ) - res = _check_dir_list( cp, hp->CP_OWNR, setfname, force ); - - /* Check just .SOURCE */ - if( !res && (srchp != NIL(HASH)) ) - res = _check_dir_list( cp, srchp->CP_OWNR, setfname, force ); - - /* If libmember and we haven't found it check the library */ - if( !res && (cp->ce_attr & A_LIBRARYM) ) { - cp->ce_time = DO_STAT(name, cp->ce_lib, NIL(char *), force); - - if( !cp->ce_time && Tmd && *Tmd && cp->ce_lib ) { - char *tmplib; - tmplib=DmStrDup(Build_path(Tmd,cp->ce_lib)); - - if ((cp->ce_time = DO_STAT(name, tmplib, NIL(char *),force)) != (time_t)0L){ - cp->ce_lib=DmStrDup(tmplib); - } - } - - if( Verbose & V_MAKE ) - printf( "%s: Checking library '%s' for member [%s], time %ld\n", - Pname, cp->ce_lib, name, cp->ce_time ); - } - - FREE( tmp ); - - if( setfname == 1 || (setfname == -1 && cp->ce_time != (time_t)0L) ) { - int setlib = (cp->ce_lib == cp->ce_fname); - - if( (cp->ce_attr & A_FFNAME) && (cp->ce_fname != NIL(char)) ) - FREE( cp->ce_fname ); - - if( _first != NIL(char) ) { - cp->ce_fname = _first; - cp->ce_attr |= A_FFNAME; - } - else { - cp->ce_fname = cp->CE_NAME; - cp->ce_attr &= ~A_FFNAME; - } - - if ( setlib ) cp->ce_lib = cp->ce_fname; - } - else if( _first ) - FREE( _first ); - - /* set it as stated only if successful, this way, we shall try again - * later. */ - if( cp->ce_time != (time_t)0L ) { - cp->ce_flag |= F_STAT; - - /* If it is a whatif this changed scenario then return the current - * time, but do so only if the stat was successful. */ - if ( (cp->ce_attr & A_WHATIF) && !(cp->ce_flag & F_MADE) ) { - cp->ce_time = Do_time(); - } - } - - DB_VOID_RETURN; -} - - -static int -_check_dir_list( cp, sp, setfname, force )/* -============================================ - Check the list of dir's given by the prerequisite list of sp, for a - file pointed at by cp. Returns 0 if path not bound, else returns - 1 and replaces old name for cell with new cell name. */ - -CELLPTR cp; -CELLPTR sp; -int setfname; -int force; -{ - /* FIXME: BCC 5.0 BUG??? If lp is assigned to a register variable then - * BCC 5.0 corrupts a field of the member structure when DO_STAT - * calls the native win95 stat system call. Blech!!! - * - * Making this a static variable forces it out of a register and - * seems to avoid the problem. */ - static LINKPTR lp; - char *dir; - char *path; - char *name; - int res = 0; - int fset = 0; - - DB_ENTER( "_check_dir_list" ); - DB_PRINT( "mem", ("%s:-> mem %ld", cp->CE_NAME, (long) coreleft()) ); - - if( sp->ce_prq != NIL(LINK) ) /* check prerequisites if any */ - { - /* Use the real name instead of basename, this prevents silly - * loops in inference code, and is consistent with man page */ - name = cp->CE_NAME; - - /* Here we loop through each directory on the list, and try to stat - * the target. We always save the first pathname we try to stat in - * _first. If we subsequently get a match we then replace the value of - * _first by the matched path name. */ - - for( lp=sp->CE_PRQ; lp != NIL(LINK) && !res; lp=lp->cl_next ) { - int nodup = 0; - dir = lp->cl_prq->CE_NAME; - - if( strchr( dir, '$' ) ) dir = Expand(dir); - if( strcmp( dir, ".NULL" ) == 0 ) { - nodup = 1; - path = cp->CE_NAME; - } else { - path = DmStrDup(Build_path(dir,name)); - } - - res = ((cp->ce_time=DO_STAT(path,NIL(char),NIL(char *),force))!=(time_t)0L); - - /* Have to use DmStrDup to set _first since Build_path, builds it's - * path names inside a static buffer. */ - if( setfname ) - if( (_first == NIL(char) && !fset) || res ) { - if( _first != NIL(char) ) FREE( _first ); - if (nodup) - _first = NIL(char); - else { - _first = path; - path = NIL(char); - } - fset = 1; - } - - DB_PRINT( "stat", ("_first [%s], path [%s]", _first, path) ); - if( dir != lp->cl_prq->CE_NAME ) FREE(dir); - if( path && path != cp->CE_NAME ) FREE(path); - } - } - - DB_PRINT( "mem", ("%s:-< mem %ld", cp->CE_NAME, (long) coreleft()) ); - DB_RETURN( res ); -} - - - - diff --git a/dmake/state.c b/dmake/state.c deleted file mode 100644 index 5179ead4fd14..000000000000 --- a/dmake/state.c +++ /dev/null @@ -1,231 +0,0 @@ -/* RCS $Id: state.c,v 1.3 2007-09-20 14:33:53 vg Exp $ --- --- SYNOPSIS --- .KEEP_STATE state file management --- --- DESCRIPTION --- Three routines to interface to the .KEEP_STATE state file. --- --- Read_state() - reads the state file if any. --- Write_state() - writes the state file. --- --- Check_state(cp,how) - checks an entry returns 0 or 1 --- and updates the entry. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -typedef struct se { - char *st_name; /* name of cell */ - uint32 st_nkey; /* name hash key */ - int st_count; /* how count for how */ - uint32 st_dkey; /* directory hash key */ - uint32 st_key; /* hash key */ - struct se *st_next; -} KSTATE, *KSTATEPTR; - -static KSTATEPTR _st_head = NIL(KSTATE); -static KSTATEPTR _st_tail = NIL(KSTATE); -static int _st_upd = FALSE; -static char *_st_file = NIL(char); - -static int _my_fgets ANSI((char *, int, FILE *)); - -PUBLIC void -Read_state() -{ - char *buf; - char sizeb[20]; - int size; - FILE *fp; - KSTATEPTR sp; - - if( (fp = Search_file(".KEEP_STATE", &_st_file)) != NIL(FILE) ) { - if( _my_fgets( sizeb, 20, fp ) ) { - size = atol(sizeb); - buf = MALLOC(size+2, char); - - while( _my_fgets(buf, size, fp) ) { - TALLOC(sp, 1, KSTATE); - sp->st_name = DmStrDup(buf); - (void) Hash(buf, &sp->st_nkey); - - if( _my_fgets(buf, size, fp) ) sp->st_count = atoi(buf); - if( _my_fgets(buf, size, fp) ) sp->st_dkey = (uint32) atol(buf); - - if( _my_fgets(buf, size, fp) ) - sp->st_key = (uint32) atol(buf); - else { - FREE(sp); - break; - } - - if( _st_head == NIL(KSTATE) ) - _st_head = sp; - else - _st_tail->st_next = sp; - - _st_tail = sp; - } - - FREE(buf); - } - - Closefile(); - } -} - - -PUBLIC void -Write_state() -{ - static int in_write = 0; - register KSTATEPTR sp; - FILE *fp; - - if( !_st_upd || !_st_file || (_st_file && !*_st_file) || - Trace || in_write ) return; - - in_write++; - if( (fp = Openfile(_st_file, TRUE, TRUE)) != NIL(FILE) ) { - int maxlen = 0; - int tmplen; - - for( sp = _st_head; sp; sp=sp->st_next ) - if( (tmplen = strlen(sp->st_name)+2) > maxlen ) - maxlen = tmplen; - - /* A nice arbitrary minimum size */ - if( maxlen < 20 ) maxlen = 20; - fprintf( fp, "%d\n", maxlen ); - - for( sp = _st_head; sp; sp=sp->st_next ) { - uint16 hv; - uint32 hk; - - if( Search_table(Defs, sp->st_name, &hv, &hk) ) { - fprintf( fp, "%s\n", sp->st_name ); - fprintf( fp, "%d\n", sp->st_count ); - /* long unsigned can be != uint32, silence the warning. */ - fprintf( fp, "%lu\n", (unsigned long)sp->st_dkey ); - fprintf( fp, "%lu\n", (unsigned long)sp->st_key ); - } - } - - Closefile(); - } - else - Fatal("Cannot open STATE file %s", _st_file); - - in_write = 0; -} - - -PUBLIC int -Check_state( cp, recipes, maxrcp ) -CELLPTR cp; -STRINGPTR *recipes; -int maxrcp; -{ - KSTATEPTR st; - STRINGPTR sp; - int i; - uint32 thkey; - uint32 hkey; - uint32 nkey; - uint32 dkey; - int update = FALSE; - - if( !_st_file || (_st_file && !*_st_file) || Trace ) - return(FALSE); - - if( strcmp(cp->CE_NAME,".REMOVE") == 0 - || (cp->ce_attr & (A_PHONY|A_NOSTATE)) ) - return(FALSE); - - (void) Hash( cp->CE_NAME, &nkey ); thkey = nkey + (uint32) cp->ce_count; - (void) Hash( Pwd, &dkey ); thkey += dkey; - - Suppress_temp_file = TRUE; - for( i=0 ; ist_next ) { - CELLPTR svct = Current_target; - char *cmnd; - t_attr silent = (Glob_attr & A_SILENT); - - Current_target = cp; - Glob_attr |= A_SILENT; - cmnd = Expand(sp->st_string); - Glob_attr = (Glob_attr & ~A_SILENT)|silent; - Current_target = svct; - - (void) Hash(cmnd, &hkey); thkey += hkey; - FREE(cmnd); - } - Suppress_temp_file = FALSE; - - for( st=_st_head; st != NIL(KSTATE); st=st->st_next ) { - if( st->st_nkey == nkey - && st->st_dkey == dkey - && st->st_count == cp->ce_count - && !strcmp(cp->CE_NAME, st->st_name) ) - break; - } - - if( st == NIL(KSTATE) ) { - KSTATEPTR nst; - - TALLOC(nst, 1, KSTATE); - nst->st_name = cp->CE_NAME; - nst->st_nkey = nkey; - nst->st_dkey = dkey; - nst->st_key = thkey; - nst->st_count = cp->ce_count; - - if( _st_head == NIL(KSTATE) ) - _st_head = nst; - else - _st_tail->st_next = nst; - - _st_tail = nst; - _st_upd = TRUE; - } - else if( st->st_key != thkey ) { - st->st_key = thkey; - _st_upd = update = TRUE; - } - - return(st != NIL(KSTATE) && update); -} - - -static int -_my_fgets(buf, size, fp) -char *buf; -int size; -FILE *fp; -{ - char *p; - - if( fgets(buf, size, fp) == NULL ) return(0); - - if( (p=strrchr(buf,'\n')) != NIL(char) ) *p='\0'; - if( (p=strrchr(buf,'\r')) != NIL(char) ) *p='\0'; - return(1); -} diff --git a/dmake/stdmacs.h b/dmake/stdmacs.h deleted file mode 100644 index 3ce3623e5ad7..000000000000 --- a/dmake/stdmacs.h +++ /dev/null @@ -1,60 +0,0 @@ -/* $RCSfile: stdmacs.h,v $ --- $Revision: 1.5 $ --- last change: $Author: hr $ $Date: 2006-04-20 12:02:29 $ --- --- SYNOPSIS --- General use macros. --- --- DESCRIPTION --- ANSI macro relies on the fact that it can be replaced by (), or by --- its value, where the value is one value due to the preprocessors --- handling of arguments that are surrounded by ()'s as a single --- argument. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef MACROS_h -#define MACROS_h - -/* AIX and Mac MPW define __STDC__ as special, but defined(__STDC__) is false, - * and it has no value. */ -#ifndef __STDC__ -#define __STDC__ 0 -#endif - -/* MSVC 6 and newer understand ANSI prototypes */ -#if __STDC__ || defined(__TURBOC__) || defined(__IBMC__) || defined (_MSC_VER) -#define ANSI(x) x -#else -#define ANSI(x) () -#endif - -#define NIL(p) ((p*)NULL) - -/* Cygwin defines _STDDEF_H with only one leading '_' */ -#if !defined(atarist) && !defined(__STDDEF_H) && !defined(_STDDEF_H) -#define offsetof(type,id) ((size_t)&((type*)NULL)->id) -#endif - -#define FALSE 0 -#define TRUE 1 - -#define PUBLIC - -#endif - diff --git a/dmake/struct.h b/dmake/struct.h deleted file mode 100644 index 3c1c350a8a06..000000000000 --- a/dmake/struct.h +++ /dev/null @@ -1,261 +0,0 @@ -/* RCS $Id: struct.h,v 1.2 2006-06-29 11:24:50 ihi Exp $ --- --- SYNOPSIS --- Structure definitions --- --- DESCRIPTION --- dmake main data structure definitions. See each of the individual --- struct declarations for more detailed information on the defined --- fields and their use. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STRUCT_INCLUDED_ -#define _STRUCT_INCLUDED_ - -typedef uint32 t_attr; - -/* The following struct is the cell used in the hash table. - * NOTE: It contains the actual hash value. This allows the hash table - * insertion to compare hash values and to do a string compare only - * for entries that have matching hash_key values. This elliminates - * 99.9999% of all extraneous string compare operations when searching - * a hash table chain for matching entries. */ - -typedef struct hcell { - struct hcell *ht_next; /* next entry in the hash table */ - struct hcell *ht_link; /* for temporary lists */ - char *ht_name; /* name of this cell */ - char *ht_value; /* cell value if any */ - uint32 ht_hash; /* actual hash_key of cell */ - int ht_flag; /* flags belonging to hash entry */ - - /* NOTE: some macros have corresponding variables defined - * that control program behaviour. For these macros a - * bit of ht_flag indicates the variable value will be set, and the - * type of the value that will be set. - * - * The struct below contains a mask for bit variables, and a - * pointer to the global STATIC location for that variable. - * String and char variables point to the same place as ht_value - * and must be updated when ht_value changes, bit variables must - * have their value recomputed. See Def_macro code for more - * details. - * - * NOTE: Macro variables and Targets are always distinct. Thus - * the value union contains pointers back at cells that own - * a particular name entry. A conflict in this can never - * arise, ie pointers at cells will never be used as - * values for a macro variable, since the cell and macro - * name spaces are completely distinct. */ - - struct { - int mv_mask; /* bit mask for bit variable */ - union { - char** mv_svar;/* ptr to string valued glob var */ - char* mv_cvar;/* ptr to char valued glob var */ - t_attr* mv_bvar;/* ptr to bit valued glob var */ - int* mv_ivar;/* ptr to int valued glob var */ - - struct { - struct tcell* ht_owner;/* ptr to CELL owning name */ - struct tcell* ht_root; /* root ptr for explode */ - } ht; - } val; - } var; /* variable's static equivalent */ -} HASH, *HASHPTR; - -#define MV_MASK var.mv_mask -#define MV_SVAR var.val.mv_svar -#define MV_CVAR var.val.mv_cvar -#define MV_BVAR var.val.mv_bvar -#define MV_IVAR var.val.mv_ivar -#define CP_OWNR var.val.ht.ht_owner -#define CP_ROOT var.val.ht.ht_root - - - -/* This struct holds the list of temporary files that have been created. - * It gets unlinked when Quit is called due to an execution error */ -typedef struct flst { - char *fl_name; /* file name */ - FILE *fl_file; /* the open file */ - struct flst *fl_next; /* pointer to next file */ -} FILELIST, *FILELISTPTR; - - -/* The next struct is used to link together prerequisite lists. It - * is also used to link multiple targets together. */ -typedef struct lcell { - struct tcell *cl_prq; /* link to a prerequisite */ - struct lcell *cl_next; /* next cell on dependency list */ - int cl_flag; /* flags for link cell */ -} LINK, *LINKPTR; - - -/* This is the structure of a target cell in the dag which represents the - * graph of dependencies. Each possible target is represented as a cell. - * - * Each cell contains a pointer to the hash table entry for this cell. - * The hash table entry records the name of the cell. */ - -typedef struct tcell { - struct hcell *ce_name; /* name of this cell */ - struct hcell *ce_pushed; /* local pushed macro definitions */ - - /* Def_cell sets ce_all.cl_prq to point back to itself. .UPDATEALL - * uses ce_all.cl_next to link the cells together. */ - struct lcell ce_all; - - /* If set it points to first element of the list linked by ce_all. */ - struct tcell *ce_set; - struct tcell *ce_setdir; /* SETDIR ROOT pointer for this cell*/ - struct tcell *ce_link; /* link for temporary list making */ - struct tcell *ce_parent; /* used by inner loop, not a static */ - - struct lcell *ce_prq; /* list of prerequisites for cell */ - struct lcell *ce_prqorg; /* list of original prerequisites */ - struct lcell *ce_indprq; /* indirect prerequisites for % cell*/ - - struct str *ce_recipe; /* recipe for making this cell */ - FILELISTPTR ce_files; /* list of temporary files for cell */ - struct str *ce_cond; /* conditional macro assignments */ - - char *ce_per; /* value of % in %-meta expansion */ - char *ce_fname; /* file name associated with target */ - char *ce_lib; /* archive name, if A_LIBRARYM */ - char *ce_dir; /* value for .SETDIR attribute */ - - int ce_count; /* value for :: recipe set */ - int ce_index; /* value of count for next :: child */ - int ce_flag; /* all kinds of goodies */ - t_attr ce_attr; /* attributes for this target */ - time_t ce_time; /* time stamp value of target if any*/ -} CELL, *CELLPTR; - -#define CE_NAME ce_name->ht_name -#define CE_RECIPE ce_recipe -#define CE_PRQ ce_prq -#define CeMeToo(C) &((C)->ce_all) -#define CeNotMe(C) (C)->ce_all.cl_next - - -/* This struct represents that used by Get_token to return and control - * access to a token list inside a particular string. This gives the - * ability to access non overlapping tokens simultaneously from - * multiple strings. */ - -typedef struct { - char *tk_str; /* the string to search for tokens */ - char tk_cchar; /* current char under *str */ - int tk_quote; /* if we are scanning a quoted str */ -} TKSTR, *TKSTRPTR; - - - -/* Below is the struct used to represent a string. It points at possibly - * another string, since the set of rules for making a target is a collection - * of strings. */ - - -typedef struct str { - char *st_string; /* the string value */ - struct str *st_next; /* pointer to the next string */ - t_attr st_attr; /* attr for rule operations */ -} STRING, *STRINGPTR; - - - -/* These structs are used in processing of the % rules, and in building - * the NFA machine that is used to match an arbitrary target string to - * one of the % rules that is represented by each DFA */ - -typedef int16 statecnt; /* limits the max number of dfa states */ - - -/* Each state of the DFA contains four pieces of information. */ -typedef struct st { - struct st *no_match; /* state to go to if no match */ - struct st *match; /* state to go to if we do match */ - char symbol; /* symbol on which we transit */ - char action; /* action to perform if match */ -} STATE, *STATEPTR; - - -/* Each DFA machine looks like this. It must have two pointers that represent - * the value of % in the matched string, and it contains a pointer into the - * current state, as well as the array of all states. */ -typedef struct { - char *pstart; /* start of % string match */ - char *pend; /* end of % string match */ - STATEPTR c_state; /* current DFA state */ - CELLPTR node; /* % target represented by this DFA */ - STATEPTR states; /* table of states for the DFA */ -} DFA, *DFAPTR; - - -/* An NFA is a collection of DFA's. For each DFA we must know it's current - * state and where the next NFA is. */ -typedef struct nfa_machine { - DFAPTR dfa; /* The DFA for this eps transition */ - char status; /* DFA state */ - struct nfa_machine *next; /* the next DFA in NFA */ -} NFA, *NFAPTR; - - - -/* The next struct is used to link together DFA nodes for inference. */ - -typedef struct dfal { - struct tcell *dl_meta; /* link to %-meta cell */ - struct dfal *dl_next; /* next cell on matched DFA list*/ - struct dfal *dl_prev; /* prev cell on matched DFA list*/ - struct dfal *dl_member; /* used during subset calc */ - char dl_delete; /* used during subset calc */ - char *dl_per; /* value of % for matched DFA */ - statecnt dl_state; /* matched state of the DFA */ - int dl_prep; /* repetion count for the cell */ -} DFALINK, *DFALINKPTR; - - -/* This struct is used to store the stack of DFA sets during inference */ -typedef struct dfst { - DFALINKPTR df_set; /* pointer to the set */ - struct dfst *df_next; /* next element in the stack */ -} DFASET, *DFASETPTR; - - -/* We need sets of items during inference, here is the item, we form sets - * by linking them together. */ - -typedef struct ic { - CELLPTR ic_meta; /* Edge we used to make this cell*/ - DFALINKPTR ic_dfa; /* Dfa that we matched against */ - CELLPTR ic_setdirroot; /* setdir root pointer for cell */ - DFASET ic_dfastack; /* set of dfas we're working with*/ - int ic_dmax; /* max depth of cycles in graph */ - char *ic_name; /* name of the cell to insert */ - char *ic_dir; /* dir to CD to prior to recurse */ - struct ic *ic_next; /* next pointer to link */ - struct ic *ic_link; /* link all ICELL'S together */ - struct ic *ic_parent; /* pointer to post-requisite */ - char ic_flag; /* flag, used for NOINFER only */ - char ic_exists; /* TRUE if prerequisite exists */ -} ICELL, *ICELLPTR; - -#endif diff --git a/dmake/sysintf.c b/dmake/sysintf.c deleted file mode 100644 index c55d72d331ab..000000000000 --- a/dmake/sysintf.c +++ /dev/null @@ -1,1163 +0,0 @@ -/* RCS $Id: sysintf.c,v 1.13 2008-03-05 18:30:58 kz Exp $ --- --- SYNOPSIS --- System independent interface --- --- DESCRIPTION --- These are the routines constituting the system interface. --- The system is taken to be essentially POSIX conformant. --- The original code was extensively revised by T J Thompson at MKS, --- and the library cacheing was added by Eric Gisin at MKS. I then --- revised the code yet again, to improve the lib cacheing, and to --- make it more portable. --- --- The following is a list of routines that are required by this file --- in order to work. These routines are provided as functions by the --- standard C lib of the target system or as #defines in system/sysintf.h --- or via appropriate C code in the system/ directory for the given --- system. --- --- The first group must be provided by a file in the system/ directory --- the second group is ideally provided by the C lib. However, there --- are instances where the C lib implementation of the specified routine --- does not exist, or is incorrect. In these instances the routine --- must be provided by the the user in the system/ directory of dmake. --- (For example, the bsd/ dir contains code for putenv(), and tempnam()) --- --- DMAKE SPECIFIC: --- seek_arch() --- touch_arch() --- void_lcache() --- runargv() --- DMSTAT() --- Remove_prq() --- --- C-LIB SPECIFIC: (should be present in your C-lib) --- utime() --- time() --- getenv() --- putenv() --- getcwd() --- signal() --- chdir() --- tempnam() --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -/* The following definition controls the use of GetModuleFileName() */ -#if defined(_MSC_VER) || defined(__MINGW32__) -# define HAVE_GETMODULEFILENAMEFUNC 1 - -/* this is needed for the _ftime call below. Only needed here. */ -# include -#endif - -/* for cygwin_conv_to_posix_path() in Prolog() and for cygdospath()*/ -#if __CYGWIN__ -# include -#endif - -#include "sysintf.h" -#if HAVE_ERRNO_H -# include -#else - extern int errno; -#endif - -/* -** Tries to stat the file name. Returns 0 if the file -** does not exist. Note that if lib is not null it tries to stat -** the name found inside lib. -** -** If member is NOT nil then look for the library object which defines the -** symbol given by name. If found DmStrDup the name and return make the -** pointer pointed at by sym point at it. Not handled for now! -*/ -static time_t -really_dostat(name, buf) -char *name; -struct stat *buf; -{ - return( ( DMSTAT(name,buf)==-1 - || (STOBOOL(Augmake) && (buf->st_mode & S_IFDIR))) - ? (time_t)0L - : (time_t) buf->st_mtime - ); -} - - -PUBLIC time_t -Do_stat(name, lib, member, force) -char *name; -char *lib; -char **member; -int force; -{ - struct stat buf; - time_t seek_arch(); - - if( member != NIL(char *) ) - Fatal("Library symbol names not supported"); - - buf.st_mtime = (time_t)0L; - if( lib != NIL(char) ) - return( seek_arch(Basename(name), lib) ); - else if( strlen(Basename(name)) > NameMax ) { - Warning( "Filename [%s] longer than value of NAMEMAX [%d].\n\ - Assume unix time 0.\n", Basename(name), NameMax ); - return((time_t)0L); - } - else if( STOBOOL(UseDirCache) ) - return(CacheStat(name,force)); - else - return(really_dostat(name,&buf)); -} - - -/* Touch existing file to force modify time to present. - */ -PUBLIC int -Do_touch(name, lib, member) -char *name; -char *lib; -char **member; -{ - if( member != NIL(char *) ) - Fatal("Library symbol names not supported"); - - if (lib != NIL(char)) - return( touch_arch(Basename(name), lib) ); - else if( strlen(Basename(name)) > NameMax ) { - Warning( "Filename [%s] longer than value of NAMEMAX [%d].\n\ - File timestamp not updated to present time.\n", Basename(name), NameMax ); - return(-1); - } - else -#ifdef HAVE_UTIME_NULL - return( utime(name, NULL) ); -#else -# error "Utime NULL not supported" -#endif -} - - - -PUBLIC void -Void_lib_cache( lib_name, member_name )/* -========================================= - Void the library cache for lib lib_name, and member member_name. */ -char *lib_name; -char *member_name; -{ - VOID_LCACHE( lib_name, member_name ); -} - - - -/* -** return the current time -*/ -PUBLIC time_t -Do_time() -{ - return (time( NIL(time_t) )); -} - - - -/* -** Print profiling information -*/ -PUBLIC void -Do_profile_output( text, mtype, target ) -char *text; -uint16 mtype; -CELLPTR target; -{ - - time_t time_sec; - uint32 time_msec; - char *tstrg; - char *tname; - -#ifdef HAVE_GETTIMEOFDAY - struct timeval timebuffer; - gettimeofday(&timebuffer, NULL); - time_sec = timebuffer.tv_sec; - time_msec = timebuffer.tv_usec/1000; -#else -#if defined(_MSC_VER) || defined(__MINGW32__) - struct _timeb timebuffer; - _ftime( &timebuffer ); - time_sec = timebuffer.time; - time_msec = timebuffer.millitm; -# else - time_sec = time( NIL(time_t) ); - time_msec = 0; -# endif -#endif - - tname = target->CE_NAME; - if( mtype & M_TARGET ) { - tstrg = "target"; - /* Don't print special targets .TARGETS and .ROOT */ - if( tname[0] == '.' && (strcmp(".TARGETS", tname) == 0 || \ - strcmp(".ROOT", tname) == 0) ) { - return; - } - } else { - tstrg = "recipe"; - } - - /* Don't print shell escape targets if not especially requested. */ - if( (target->ce_attr & A_SHELLESC) && !(Measure & M_SHELLESC) ) { - return; - } - - /* Print absolute path if requested. */ - if( !(target->ce_attr & A_SHELLESC) && (Measure & M_ABSPATH) ) { - printf("%s %s %lu.%.3u %s%s%s\n",text, tstrg, time_sec, time_msec, Pwd, DirSepStr, tname); - } else { - printf("%s %s %lu.%.3u %s\n",text, tstrg, time_sec, time_msec, tname); - } -} - - - -PUBLIC int -Do_cmnd(cmd, group, do_it, target, cmnd_attr, last)/* -===================================================== - Execute the string passed in as a command and return - the return code. The command line arguments are - assumed to be separated by spaces or tabs. The first - such argument is assumed to be the command. - - If group is true then this is a group of commands to be fed to the - the shell as a single unit. In this case cmd is of the form - "file" indicating the file that should be read by the shell - in order to execute the command group. - - If Wait_for_completion is TRUE add the A_WFC attribute to the new - process. -*/ -char **cmd; /* Simulate a reference to *cmd. */ -int group; /* if set cmd contains the filename of a (group-)shell - * script. */ -int do_it; /* Only execute cmd if not set to null. */ -CELLPTR target; -t_attr cmnd_attr; /* Attributes for current cmnd. */ -int last; /* Last recipe line in target. */ -{ - int i; - - DB_ENTER( "Do_cmnd" ); - - if( !do_it ) { - if( last && !Doing_bang ) { - /* Don't execute, just update the target when using '-t' - * switch. */ - Update_time_stamp( target ); - } - DB_RETURN( 0 ); - } - - /* Stop making the rest of the recipies for this target if an error occured - * but the Continue (-k) flag is set to build as much as possible. */ - if ( target->ce_attr & A_ERROR ) { - if ( last ) { - Update_time_stamp( target ); - } - DB_RETURN( 0 ); - } - - if( Max_proc == 1 ) Wait_for_completion = TRUE; - - /* Tell runargv() to wait if needed. */ - if( Wait_for_completion ) cmnd_attr |= A_WFC; - - /* remove leading whitespace - This should never trigger! */ - if( iswhite(**cmd) ) { - char *p; - if( (p = DmStrSpn(*cmd," \t") ) != *cmd ) - strcpy(*cmd,p); - } - - /* set shell if shell metas are found */ - if( (cmnd_attr & A_SHELL) || group || (*DmStrPbrk(*cmd, Shell_metas)!='\0') ) - cmnd_attr |= A_SHELL; /* If group is TRUE this doesn't hurt. */ - - /* runargv() returns either 0 or 1, 0 ==> command executed, and - * we waited for it to return, 1 ==> command started and is still - * running. */ - i = runargv(target, group, last, cmnd_attr, cmd); - - DB_RETURN( i ); -} - - -#define MINARGV 64 - -PUBLIC char ** -Pack_argv( group, shell, cmd )/* -================================ - Take a command and pack it into an argument vector to be executed. - If group is true cmd holds the group script file. -*/ -int group; -int shell; -char **cmd; /* Simulate a reference to *cmd. */ -{ - static char **av = NIL(char *); - static int avs = 0; - int i = 0; - char *s; /* Temporary string pointer. */ - - if( av == NIL(char *) ) { - TALLOC(av, MINARGV, char*); - avs = MINARGV; - } - av[0] = NIL(char); - - if (**cmd) { - if( shell||group ) { - char* sh = group ? GShell : Shell; - - if( sh != NIL(char) ) { - av[i++] = sh; - if( (av[i] = (group?GShell_flags:Shell_flags)) != NIL(char) ) i++; - - if( shell && Shell_quote && *Shell_quote ) { - /* Enclose the shell command with SHELLCMDQUOTE. */ - s = DmStrJoin(Shell_quote, *cmd, -1, FALSE); - FREE(*cmd); - *cmd = DmStrJoin(s, Shell_quote, -1, TRUE); - } - av[i++] = *cmd; - -#if defined(USE_CREATEPROCESS) - /* CreateProcess() needs one long command line. */ - av[0] = DmStrAdd(av[0], av[1], FALSE); - av[1] = NIL(char); - /* i == 3 means Shell_flags are given. */ - if( i == 3 ) { - s = av[0]; - av[0] = DmStrAdd(s, av[2], FALSE); - FREE(s); - av[2] = NIL(char); - } - /* The final free of cmd will free the concated command line. */ - FREE(*cmd); - *cmd = av[0]; -#endif - av[i] = NIL(char); - } - else - Fatal("%sSHELL macro not defined", group?"GROUP":""); - } - else { - char *tcmd = *cmd; - -#if defined(USE_CREATEPROCESS) - /* CreateProcess() needs one long command line, fill *cmd - * into av[0]. */ - while( iswhite(*tcmd) ) ++tcmd; - if( *tcmd ) av[i++] = tcmd; -#else - /* All other exec/spawn functions need the parameters separated - * in the argument vector. */ - do { - /* Fill *cmd into av[]. Whitespace is converted into '\0' to - * terminate each av[] member. */ - while( iswhite(*tcmd) ) ++tcmd; - if( *tcmd ) av[i++] = tcmd; - - while( *tcmd != '\0' && !iswhite(*tcmd) ) ++tcmd; - if( *tcmd ) *tcmd++ = '\0'; - - /* dynamically increase av size. */ - if( i == avs ) { - avs += MINARGV; - av = (char **) realloc( av, avs*sizeof(char *) ); - } - } while( *tcmd ); -#endif - - av[i] = NIL(char); - } - } - - return(av); -} - - -/* -** Return the value of ename from the environment -** if ename is not defined in the environment then -** NIL(char) should be returned -*/ -PUBLIC char * -Read_env_string(ename) -char *ename; -{ - return( getenv(ename) ); -} - - -/* -** Set the value of the environment string ename to value. -** Returns 0 if success, non-zero if failure -*/ -PUBLIC int -Write_env_string(ename, value) -char *ename; -char *value; -{ -#if defined(HAVE_SETENV) - - return( setenv(ename, value, 1) ); - -#else /* !HAVE_SETENV */ - - char* p; - char* envstr = DmStrAdd(ename, value, FALSE); - - p = envstr+strlen(ename); /* Don't change this code, DmStrAdd does not */ - *p++ = '='; /* add the space if *value is 0, it does */ - if( !*value ) *p = '\0'; /* allocate enough memory for one though. */ - - return( putenv(envstr) ); /* Possibly leaking 'envstr' */ - -#endif /* !HAVE_SETENV */ -} - - -PUBLIC void -ReadEnvironment() -{ - extern char **Rule_tab; -#if !defined(_MSC_VER) -#if defined(__BORLANDC__) && __BORLANDC__ >= 0x500 - extern char ** _RTLENTRY _EXPDATA environ; -#else - extern char **environ; -#endif -#endif - char **rsave; - -#if !defined(__ZTC__) && !defined(_MPW) -# define make_env() -# define free_env() -#else - void make_env(); - void free_env(); -#endif - - make_env(); - - rsave = Rule_tab; - Rule_tab = environ; - Readenv = TRUE; - - Parse( NIL(FILE) ); - - Readenv = FALSE; - Rule_tab = rsave; - - free_env(); -} - - - -/* -** All we have to catch is SIGINT -*/ -PUBLIC void -Catch_signals(fn) -void (*fn)(int); -{ - /* FIXME: Check this and add error handling. */ - if( (void (*)(int)) signal(SIGINT, SIG_IGN) != (void (*)(int))SIG_IGN ) - signal( SIGINT, fn ); - if( (void (*)(int)) signal(SIGQUIT, SIG_IGN) != (void (*)(int))SIG_IGN ) - signal( SIGQUIT, fn ); -} - - - -/* -** Clear any previously set signals -*/ -PUBLIC void -Clear_signals() -{ - if( (void (*)())signal(SIGINT, SIG_IGN) != (void (*)())SIG_IGN ) - signal( SIGINT, SIG_DFL ); - if( (void (*)())signal(SIGQUIT, SIG_IGN) != (void (*)())SIG_IGN ) - signal( SIGQUIT, SIG_DFL ); -} - - - -/* -** Set program name -*/ -PUBLIC void -Prolog(argc, argv) -int argc; -char* argv[]; -{ - Pname = (argc == 0) ? DEF_MAKE_PNAME : argv[0]; - - /* Only some native Windows compilers provide this functionality. */ -#ifdef HAVE_GETMODULEFILENAMEFUNC - if( (AbsPname = MALLOC( PATH_MAX, char)) == NIL(char) ) No_ram(); - GetModuleFileName(NULL, AbsPname, PATH_MAX*sizeof(char)); -#else - AbsPname = ""; -#endif - -#if __CYGWIN__ - /* Get the drive letter prefix used by cygwin. */ - if ( (CygDrvPre = MALLOC( PATH_MAX, char)) == NIL(char) ) - No_ram(); - else { - int err = cygwin_conv_to_posix_path("c:", CygDrvPre); - if (err) - Fatal( "error converting \"%s\" - %s\n", - CygDrvPre, strerror (errno)); - if( (CygDrvPreLen = strlen(CygDrvPre)) == 2 ) { - /* No prefix */ - *CygDrvPre = '\0'; - CygDrvPreLen = 0; - } else { - /* Cut away the directory letter. */ - CygDrvPre[CygDrvPreLen-2] = '\0'; - /* Cut away the leading '/'. We don't free the pointer, i.e. choose - * the easy way. */ - CygDrvPre++; - CygDrvPreLen -= 3; - } - } -#endif - - /* DirSepStr is used from Clean_path() in Def_cell(). Set it preliminary - * here, it will be redefined later in Create_macro_vars() in imacs.c. */ - DirSepStr = "/"; - - Root = Def_cell( ".ROOT" ); - Targets = Def_cell( ".TARGETS" ); - Add_prerequisite(Root, Targets, FALSE, FALSE); - - Targets->ce_flag = Root->ce_flag = F_RULES|F_TARGET|F_STAT; - Targets->ce_attr = Root->ce_attr = A_NOSTATE|A_PHONY; - - Root->ce_flag |= F_MAGIC; - Root->ce_attr |= A_SEQ; - - tzset(); -} - - - -/* -** Do any clean up for exit. -*/ -PUBLIC void -Epilog(ret_code) -int ret_code; -{ - Write_state(); - Unlink_temp_files(Root); - Hook_std_writes(NIL(char)); /* For MSDOS tee (-F option) */ - exit( ret_code ); -} - - - -/* -** Use the built-in functions of the operating system to get the current -** working directory. -*/ -PUBLIC char * -Get_current_dir() -{ - static char buf[PATH_MAX+2]; - - if( !getcwd(buf, sizeof(buf)) ) - Fatal("Internal Error: Error when calling getcwd()!"); - -#ifdef __EMX__BACKSLASH - char *slash; - slash = buf; - while( (slash=strchr(slash,'/')) ) - *slash = '\\'; -#endif - - return buf; -} - - - -/* -** change working directory -*/ -PUBLIC int -Set_dir(path) -char* path; -{ - return( chdir(path) ); -} - - - -/* -** return switch char -*/ -PUBLIC char -Get_switch_char() -{ - return( getswitchar() ); -} - - -int Create_temp(tmpdir, path)/* -=============================== - Create a temporary file and open with exclusive access - Path is updated with the filename and the file descriptor - is returned. Note that the new name should be freed when - the file is removed. -*/ -char *tmpdir; -char **path; -{ - int fd; /* file descriptor */ - -#if defined(HAVE_MKSTEMP) - mode_t mask; - - *path = DmStrJoin( tmpdir, DirSepStr, -1, FALSE); - *path = DmStrJoin( *path, "mkXXXXXX", -1, TRUE ); - - mask = umask(0066); - fd = mkstemp( *path ); - umask(mask); - -#elif defined(HAVE_TEMPNAM) - char pidbuff[32]; -#if _MSC_VER >= 1300 - /* Create more unique filename for .NET2003 and newer. */ - long npid; - long nticks; - - npid = _getpid(); - nticks = GetTickCount() & 0xfff; - sprintf(pidbuff,"mk%d_%d_",npid,nticks); -#else - sprintf(pidbuff,"mk"); -#endif - *path = tempnam(tmpdir, pidbuff); - fd = open(*path, O_CREAT | O_EXCL | O_TRUNC | O_RDWR, 0600); -#else - -#error mkstemp() or tempnam() is needed - -#endif - - return fd; -} - - -PUBLIC FILE* -Get_temp(path, mode)/* -====================== - Generate a temporary file name and open the file for writing. - If a name cannot be generated or the file cannot be opened - return -1, else return the fileno of the open file. - and update the source file pointer to point at the new file name. - Note that the new name should be freed when the file is removed. - The file stream is opened with the given mode. -*/ -char **path; -char *mode; -{ - int fd; - FILE *fp; - char *tmpdir; - int tries = 20; - - tmpdir = Read_env_string( "TMPDIR" ); - if( tmpdir == NIL(char) ) - tmpdir = "/tmp"; - - while( --tries ) - { - /* This sets path to the name of the created temp file. */ - if( (fd = Create_temp(tmpdir, path)) != -1) - break; - - free(*path); /* free var if creating temp failed. */ - } - - if( fd != -1) - { - Def_macro( "TMPFILE", DO_WINPATH(*path), M_MULTI|M_EXPANDED ); - /* associate stream with file descriptor */ - fp = fdopen(fd, mode); - } - else - fp = NIL(FILE); - - return fp; -} - - -PUBLIC FILE * -Start_temp( suffix, cp, fname )/* -================================= - Open a new temporary file and set it up for writing. The file is linked - to cp and will be removed if once the target is finished. - If a suffix for the temporary files is requested two temporary files are - created. This is done because the routines that create a save temporary - file do not provide a definable suffix. The first (provided by Get_temp()) - is save and unique and the second file is generated by adding the desired - suffix the the first temporary file. The extra file is also linked to cp - so that it gets removed later. - The function returns the FILE pointer to the temporary file (with suffix - if specified) and leaves the file name in *fname. -*/ -char *suffix; -CELLPTR cp; -char **fname; -{ - FILE *fp, *fp2; - char *tmpname; - char *name; - char *fname_suff; - - name = (cp != NIL(CELL))?cp->CE_NAME:"makefile text"; - - /* This sets tmpname to the name that was used. */ - if( (fp = Get_temp(&tmpname, "w")) == NIL(FILE) ) - Open_temp_error( tmpname, name ); - - /* Don't free tmpname, it's stored in a FILELIST member in Link_temp(). */ - Link_temp( cp, fp, tmpname ); - *fname = tmpname; - - /* As Get_temp() doesn't provide a definable suffix (anymore) we create an - * additional temporary file with that suffix. */ - if ( suffix && *suffix ) { - -#ifdef HAVE_MKSTEMP - /* Only use umask if we are also using mkstemp - this basically - * avoids using the incompatible implementation from MSVC. */ - mode_t mask; - - mask = umask(0066); -#endif - - fname_suff = DmStrJoin( tmpname, suffix, -1, FALSE ); - - /* Overwrite macro, Get_temp didn't know of the suffix. */ - Def_macro( "TMPFILE", DO_WINPATH(fname_suff), M_MULTI|M_EXPANDED ); - - if( (fp2 = fopen(fname_suff, "w" )) == NIL(FILE) ) - Open_temp_error( fname_suff, name ); -#ifdef HAVE_MKSTEMP - umask(mask); -#endif - - /* Don't free fname_suff. */ - Link_temp( cp, fp2, fname_suff ); - fp = fp2; - *fname = fname_suff; - } - - return( fp ); -} - - -/* -** Issue an error on failing to open a temporary file -*/ -PUBLIC void -Open_temp_error( tmpname, name ) -char *tmpname; -char *name; -{ - Fatal("Cannot open temp file `%s' while processing `%s'", tmpname, name ); -} - - -/* -** Link a temp file onto the list of files. -*/ -PUBLIC void -Link_temp( cp, fp, fname ) -CELLPTR cp; -FILE *fp; -char *fname; -{ - FILELISTPTR new; - - if( cp == NIL(CELL) ) cp = Root; - - TALLOC( new, 1, FILELIST ); - - new->fl_next = cp->ce_files; - new->fl_name = fname; - new->fl_file = fp; /* indicates temp file is open */ - - cp->ce_files = new; -} - - -/* -** Close a previously used temporary file. -*/ -PUBLIC void -Close_temp(cp, file) -CELLPTR cp; -FILE *file; -{ - FILELISTPTR fl; - if( cp == NIL(CELL) ) cp = Root; - - for( fl=cp->ce_files; fl && fl->fl_file != file; fl=fl->fl_next ); - if( fl ) { - fl->fl_file = NIL(FILE); - fclose(file); - } -} - - -/* -** Clean-up, and close all temporary files associated with a target. -*/ -PUBLIC void -Unlink_temp_files( cp )/* -========================== - Unlink the tempfiles if any exist. Make sure you close the files first - though. This ensures that under DOS there is no disk space lost. */ -CELLPTR cp; -{ - FILELISTPTR cur, next; - - if( cp == NIL(CELL) || cp->ce_files == NIL(FILELIST) ) return; - - for( cur=cp->ce_files; cur != NIL(FILELIST); cur=next ) { - next = cur->fl_next; - - if( cur->fl_file ) fclose( cur->fl_file ); - - if( Verbose & V_LEAVE_TMP ) - fprintf( stderr, "%s: Left temp file [%s]\n", Pname, cur->fl_name ); - else - (void) Remove_file( cur->fl_name ); - - FREE(cur->fl_name); - FREE(cur); - } - - cp->ce_files = NIL(FILELIST); -} - - -PUBLIC void -Handle_result(status, ignore, abort_flg, target)/* -================================================== - Handle return value of recipe. -*/ -int status; -int ignore; -int abort_flg; -CELLPTR target; -{ - status = ((status&0xff)==0 ? status>>8 /* return from exit() */ - : (status & 0xff)==SIGTERM ? -1 /* terminated from SIGTERM */ - : (status & 0x7f)+128); /* terminated from signal - * ( =status-128 ) */ - - if( status ) { - if( !abort_flg ) { - char buf[512]; - - sprintf(buf, "%s: Error code %d, while making '%s'", - Pname, status, target->ce_fname ); - - if( ignore || Continue ) { - if (!(Glob_attr & A_SILENT)) { - strcat(buf, " (Ignored" ); - - if ( Continue ) { - /* Continue after error if '-k' was used. */ - strcat(buf,",Continuing"); - target->ce_attr |= A_ERROR; - } - strcat(buf,")"); - if (Verbose) - fprintf(stderr, "%s\n", buf); - } - - if( target->ce_attr & A_ERRREMOVE - && Remove_file( target->ce_fname ) == 0 - && !(Glob_attr & A_SILENT)) - fprintf(stderr,"%s: '%s' removed.\n", Pname, target->ce_fname); - } - else { - fprintf(stderr, "%s\n",buf); - - if(!(target->ce_attr & A_PRECIOUS)||(target->ce_attr & A_ERRREMOVE)) - if( Remove_file( target->ce_fname ) == 0 ) - fprintf(stderr,"%s: '%s' removed.\n", Pname, - target->ce_fname); - - Quit(0); - } - } - else if(!(target->ce_attr & A_PRECIOUS)||(target->ce_attr & A_ERRREMOVE)) - Remove_file( target->ce_fname ); - } -} - - -PUBLIC void -Update_time_stamp( cp )/* -========================= - Update the time stamp of cp and scan the list of its prerequisites for - files being marked as removable (ie. an inferred intermediate node). - Remove them if there are any. */ -CELLPTR cp; -{ - HASHPTR hp; - LINKPTR dp; - CELLPTR tcp; - time_t mintime; - int phony = ((cp->ce_attr&A_PHONY) != 0); - - for(dp=CeMeToo(cp); dp; dp=dp->cl_next) { - tcp=dp->cl_prq; - /* When calling Make() on this target ce_time was set to the minimal - * required time the target should have after building, i.e. the time - * stamp of the newest prerequisite or 1L if there is no - * prerequisite. */ - mintime = tcp->ce_time; - - if( tcp->ce_attr & A_LIBRARY ) - Void_lib_cache( tcp->ce_fname, NIL(char) ); - else if( !Touch && (tcp->ce_attr & A_LIBRARYM) ) - Void_lib_cache( tcp->ce_lib, tcp->ce_fname ); - - /* phony targets are treated as if they were recently made - * and get the current time assigned. */ - if( phony ) { - tcp->ce_time = Do_time(); - } - else if (Trace) { - tcp->ce_time = Do_time(); - } - else { - Stat_target(tcp, -1, TRUE); - - if( tcp->ce_time == (time_t) 0L ) { - /* If the target does not exist after building set its - * time stamp depending if it has recipes or not. Virtual - * Targets (without recipes) get the newest time stamp of - * its prerequisites assigned. (This was conveniently stored - * in mintime.) - * Targets with recipes are treated as if they were recently - * made and get the current time assigned. */ - if( cp->ce_recipe == NIL(STRING) && mintime > 1 ) { - tcp->ce_time = mintime; - } - else { - tcp->ce_time = Do_time(); - } - } - else { - /* The target exist. If the target does not have recipe - * lines use the newest time stamp of either the target or - * the newest time stamp of its prerequisites and issue - * a warning. */ - if( cp->ce_recipe == NIL(STRING) ) { - time_t newtime = ( mintime > 1 ? mintime : Do_time() ); - - if( !(tcp->ce_attr & A_SILENT) ) - Warning( "Found file corresponding to virtual target [%s].", - tcp->CE_NAME ); - - if( newtime > tcp->ce_time ) - tcp->ce_time = mintime; - } - } - } - - if( Trace ) { - tcp->ce_flag |= F_STAT; /* pretend we stated ok */ - } - - if( Verbose & V_MAKE ) - printf( "%s: <<<< Set [%s] time stamp to %lu\n", - Pname, tcp->CE_NAME, tcp->ce_time ); - - if( Measure & M_TARGET ) - Do_profile_output( "e", M_TARGET, tcp ); - - /* At this point cp->ce_time is updated to either the actual file - * time or the current time. */ - DB_PRINT( "make", ("time stamp: %ld, required mintime: %ld", - cp->ce_time, mintime) ); - if( tcp->ce_time < mintime && !(tcp->ce_attr & A_SILENT) ) { - Warning( "Target [%s] was made but the time stamp has not been updated.", - tcp->CE_NAME ); - } - - /* The target was made, remove the temp files now. */ - Unlink_temp_files( tcp ); - tcp->ce_flag |= F_MADE; - tcp->ce_attr |= A_UPDATED; - } - - /* Scan the list of prerequisites and if we find one that is - * marked as being removable, (ie. an inferred intermediate node) - * then remove it. We remove a prerequisite by running the recipe - * associated with the special target .REMOVE. - * Typically .REMOVE is defined in the startup file as: - * .REMOVE :; $(RM) $< - * with $< being the list of prerequisites specified in the current - * target. (Make() sets $< .) */ - - /* Make sure we don't try to remove prerequisites for the .REMOVE - * target. */ - if( strcmp(cp->CE_NAME,".REMOVE") != 0 && - (hp = Get_name(".REMOVE", Defs, FALSE)) != NIL(HASH) ) { - register LINKPTR dp; - int flag = FALSE; - int rem; - t_attr attr; - - tcp = hp->CP_OWNR; - - /* The .REMOVE target is re-used. Remove old prerequisites. */ - tcp->ce_flag |= F_TARGET; - Clear_prerequisites( tcp ); - - for(dp=cp->ce_prq; dp != NIL(LINK); dp=dp->cl_next) { - register CELLPTR prq = dp->cl_prq; - - attr = Glob_attr | prq->ce_attr; - /* We seem to have problems here that F_MULTI subtargets get removed - * that even though they are still needed because the A_PRECIOUS - * was not propagated correctly. Solution: Don't remove subtargets, the - * master target will be removed if is not needed. */ - rem = (prq->ce_flag & F_REMOVE) && - (prq->ce_flag & F_MADE ) && - !(prq->ce_count ) && /* Don't remove F_MULTI subtargets. */ - !(prq->ce_attr & A_PHONY) && - !(attr & A_PRECIOUS); - - /* remove if rem is != 0 */ - if(rem) { - LINKPTR tdp; - - /* Add the target plus all that are linked to it with the .UPDATEALL - * attribute. */ - for(tdp=CeMeToo(prq); tdp; tdp=tdp->cl_next) { - CELLPTR tmpcell=tdp->cl_prq; - - (Add_prerequisite(tcp,tmpcell,FALSE,FALSE))->cl_flag|=F_TARGET; - tmpcell->ce_flag &= ~F_REMOVE; - } - flag = TRUE; - } - } - - if( flag ) { - int sv_force = Force; - - Force = FALSE; - Remove_prq( tcp ); - Force = sv_force; - - for(dp=tcp->ce_prq; dp != NIL(LINK); dp=dp->cl_next) { - register CELLPTR prq = dp->cl_prq; - - prq->ce_flag &= ~(F_MADE|F_VISITED|F_STAT); - prq->ce_flag |= F_REMOVE; - prq->ce_time = (time_t)0L; - } - } - } -} - - -PUBLIC int -Remove_file( name ) -char *name; -{ - struct stat buf; - - if( stat(name, &buf) != 0 ) - return 1; - if( (buf.st_mode & S_IFMT) == S_IFDIR ) - return 1; - return(unlink(name)); -} - - -#if defined(__CYGWIN__) -char * -cygdospath(char *src, int winpath)/* -==================================== - Convert to DOS path if winpath is true. The returned pointer is - either the original pointer or a pointer to a static buffer. -*/ -{ - static char *buf = NIL(char); - - if ( !buf && ( (buf = MALLOC( PATH_MAX, char)) == NIL(char) ) ) - No_ram(); - - DB_PRINT( "cygdospath", ("converting [%s] with winpath [%d]", src, winpath ) ); - - /* Return immediately on NULL pointer or when .WINPATH is - * not set. */ - if( !src || !winpath ) - return src; - - if( *src && src[0] == '/' ) { - char *tmp; - int err = cygwin_conv_to_win32_path(src, buf); - if (err) - Fatal( "error converting \"%s\" - %s\n", - src, strerror (errno)); - - tmp = buf; - while ((tmp = strchr (tmp, '\\')) != NULL) { - *tmp = '/'; - tmp++; - } - - return buf; - } - else - return src; -} -#endif diff --git a/dmake/tests/Makefile.am b/dmake/tests/Makefile.am deleted file mode 100644 index 87be868bec2d..000000000000 --- a/dmake/tests/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Makefile for the tests subdirectory of dmake. - -TESTS = infra-0 function_macros-1 function_macros-2 function_macros-3 \ - function_macros-4 function_macros-5 function_macros-6 \ - function_macros-7 function_macros-8 function_macros-9 \ - function_macros-10 \ - macros-1 macros-2 macros-3 macros-4 macros-5 macros-6 macros-7 \ - macros-8 macros-9 macros-10 macros-11 \ - recipes-1 recipes-2 recipes-3 recipes-4 recipes-5 recipes-6 \ - recipes-7 recipes-8 recipes-9 \ - misc-1 misc-2 misc-3 misc-4 misc-5 misc-6 misc-7 misc-8 misc-9 \ - misc-10 misc-11 misc-12 misc-13 misc-14 misc-15 misc-16 misc-17 \ - misc-18 misc-19 misc-20 misc-21 \ - targets-1 targets-2 targets-3 targets-4 targets-5 targets-6 \ - targets-7 targets-8 targets-9 targets-10 targets-11 targets-12 \ - targets-13 targets-14 targets-15 targets-16 targets-17 targets-18 \ - targets-19 targets-20 targets-21 targets-22 targets-23 targets-24 \ - targets-25 targets-26 targets-27 targets-28 targets-29 targets-30 - -TESTS_ENVIRONMENT = DMAKEPROG="../dmake" - -EXTRA_DIST = $(TESTS) diff --git a/dmake/tests/Makefile.in b/dmake/tests/Makefile.in deleted file mode 100644 index 40868002e6be..000000000000 --- a/dmake/tests/Makefile.in +++ /dev/null @@ -1,392 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = tests -DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OSTYPEUNIX_FALSE = @OSTYPEUNIX_FALSE@ -OSTYPEUNIX_TRUE = @OSTYPEUNIX_TRUE@ -OSTYPEWIN32_FALSE = @OSTYPEWIN32_FALSE@ -OSTYPEWIN32_TRUE = @OSTYPEWIN32_TRUE@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -TESTS = infra-0 function_macros-1 function_macros-2 function_macros-3 \ - function_macros-4 function_macros-5 function_macros-6 \ - function_macros-7 function_macros-8 function_macros-9 \ - function_macros-10 \ - macros-1 macros-2 macros-3 macros-4 macros-5 macros-6 macros-7 \ - macros-8 macros-9 macros-10 macros-11 \ - recipes-1 recipes-2 recipes-3 recipes-4 recipes-5 recipes-6 \ - recipes-7 recipes-8 recipes-9 \ - misc-1 misc-2 misc-3 misc-4 misc-5 misc-6 misc-7 misc-8 misc-9 \ - misc-10 misc-11 misc-12 misc-13 misc-14 misc-15 misc-16 misc-17 \ - misc-18 misc-19 misc-20 misc-21 \ - targets-1 targets-2 targets-3 targets-4 targets-5 targets-6 \ - targets-7 targets-8 targets-9 targets-10 targets-11 targets-12 \ - targets-13 targets-14 targets-15 targets-16 targets-17 targets-18 \ - targets-19 targets-20 targets-21 targets-22 targets-23 targets-24 \ - targets-25 targets-26 targets-27 targets-28 targets-29 targets-30 - -TESTS_ENVIRONMENT = DMAKEPROG="../dmake" -EXTRA_DIST = $(TESTS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list='$(TESTS)'; \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ - ;; \ - *) \ - echo "PASS: $$tst"; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *" $$tst "*) \ - xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - echo "SKIP: $$tst"; \ - fi; \ - done; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="All $$all tests passed"; \ - else \ - banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all tests failed"; \ - else \ - banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - skipped="($$skip tests were not run)"; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - distclean distclean-generic distdir dvi dvi-am html html-am \ - info info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/tests/README b/dmake/tests/README deleted file mode 100644 index ac0af7a8e571..000000000000 --- a/dmake/tests/README +++ /dev/null @@ -1,12 +0,0 @@ -DMAKE TESTCASES -=============== - -The testcases in this directory will be executed by "make check" in -this or the top directory. - -Each test can be executed as a standalone script that will test the -first dmake that is found in the path. A different dmake to be tested -can be specified by setting the DMAKEPROG environment variable. - -Example: -$ DMAKEPROG=../dmake ./misc-4 diff --git a/dmake/tests/function_macros-1 b/dmake/tests/function_macros-1 deleted file mode 100755 index 6e5368005a63..000000000000 --- a/dmake/tests/function_macros-1 +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/sh - -# 01.06.2005 Volker Quetschke -# Tests for dmake function macros. (issue 36027, issue 37053) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -# Test 1 - Check that mktmp can write special characters into a file. -cat > $file1 < \$ ). -# Test 2 - Check output of '(' -cat > $file1 < \$ ). -# Test 3 - Test multiple line output. -cat > $file1 < \$ ). -# Test 4 - Test <+ ... +> -cat > $file1 < -EOT - -output4=`eval ${DMAKEPROG} -r -f $file1` -result4=$? -if test $result4 = 0 -a "$output4" = "fred.obj mary.obj joe.obj" ; then - echo "Subtest 4: OK" - result4=0 -else - echo "Subtest 4: Wrong result: $output4" - echo - result4=1 -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 -a $result4 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/function_macros-2 b/dmake/tests/function_macros-2 deleted file mode 100755 index c17501f2aa5d..000000000000 --- a/dmake/tests/function_macros-2 +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -# 01.06.2005 Volker Quetschke -# Tests for dmake function macros - part 2. -# (issue 36027, issue 37053, issue 37491) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < $file2 -EOT - -${DMAKEPROG} -P2 -r -f $file1 -result=$? -if test "`cat $file2`" != "AXshellexecXA"; then - echo "Wrong result: `cat $file2`, AXshellexecXA expected!" - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/function_macros-4 b/dmake/tests/function_macros-4 deleted file mode 100755 index eef22e334ab9..000000000000 --- a/dmake/tests/function_macros-4 +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -# 04.09.2005 Volker Quetschke -# Tests $(shell ..) if function macro is executed after previous recipe lines -# when using two concurrend (or more) processes. -# (issue 53148) - -: ${DMAKEPROG:=dmake} -file1="makefile.mk" -file2="stdout.txt" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < $file2 - +echo A\$(shell cat $file2)A -EOT - -${DMAKEPROG} -P2 -r -f $file1 -result=$? - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/function_macros-5 b/dmake/tests/function_macros-5 deleted file mode 100755 index 1be199068c7b..000000000000 --- a/dmake/tests/function_macros-5 +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# 03.14.2006 Volker Quetschke -# Verifies that $(shell ..) does not pick up stdout output from -# concurrent processes. (Stronger test for the spawn case.) -# (issue 61856 / issue 61940) - -: ${DMAKEPROG:=dmake} -file1="makefile.mk" -file2="stdout.txt" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < $file2 - -all1 : - @+echo "Before the sleeps ..." - @+echo A; sleep 1; echo B; sleep 1; echo C; sleep 1; echo D; sleep 1; echo E - @+echo "After the sleeps ..." - -all2 : - @+sleep 1; - @+echo "X\$(assign DYNMAC:=\$(shell @+echo "(shellpre)";sleep 2; echo "(shellpost)"))X" - @+echo "Z\$(DYNMAC)Z" -EOT - -${DMAKEPROG} -P3 -r -f $file1 -result=$? -if test "`cat $file2`" != "Y(shellpre) (shellpost)Y"; then - echo "Wrong result: `cat $file2`, Y(shellpre) (shellpost)Y expected!" - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/function_macros-6 b/dmake/tests/function_macros-6 deleted file mode 100755 index ce22d9c6e913..000000000000 --- a/dmake/tests/function_macros-6 +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -# 22.07.2006 Volker Quetschke -# Verifies that $(nil expression) expand expression but returns "". -# (issue 67585) - -: ${DMAKEPROG:=dmake} -file1="makefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test $output1 = "XOKX" ; then - dummy=1 - # OK -else - echo "Wrong result: $output1" - result1=1 -fi - -test $result1 -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result1 -ne 0 && echo "Failure!" -exit $result1 diff --git a/dmake/tests/function_macros-7 b/dmake/tests/function_macros-7 deleted file mode 100755 index e6fc03a3d84a..000000000000 --- a/dmake/tests/function_macros-7 +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -# 24.07.2006 Volker Quetschke -# Checks that $(mktmp ...) works. -# (issue 64583) - -: ${DMAKEPROG:=dmake} -file1="makefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test $output1 = "WRITTENTODISK" ; then - dummy=1 - # OK -else - echo "Wrong result: $output1" - result1=1 -fi - -test $result1 -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result1 -ne 0 && echo "Failure!" -exit $result1 diff --git a/dmake/tests/function_macros-8 b/dmake/tests/function_macros-8 deleted file mode 100755 index 911b1cff306a..000000000000 --- a/dmake/tests/function_macros-8 +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/sh - -# 24.07.2007 Volker Quetschke -# Test the $(normpath ..) function macro. -# (issue 78776) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Test if normpath works. -cat > $file1 < $file1 < /dev/null` = "xCygwin"; then - if test "$output2" != "2`cygpath -m /tmp`2"; then - echo "Subtest 2: Wrong result: $output2" - result2=1 - else - echo "Subtest 2: OK" - fi -else - if test "$output2" != "2/tmp2"; then - echo "Subtest 2: Wrong result: $output2" - result2=1 - else - echo "Subtest 2: OK" - fi -fi - -# Test 3 - Test if the optional parameter works -cat > $file1 < /dev/null` = "xCygwin"; then - if test "$output3" != "3/tmp3`cygpath -m /tmp`3"; then - echo "Subtest 3: Wrong result: $output3" - result3=1 - else - echo "Subtest 3: OK" - fi -else - if test "$output3" != "3/tmp3/tmp3"; then - echo "Subtest 3: Wrong result: $output3" - result3=1 - else - echo "Subtest 3: OK" - fi -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/function_macros-9 b/dmake/tests/function_macros-9 deleted file mode 100755 index e8d4d3a070a7..000000000000 --- a/dmake/tests/function_macros-9 +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# 05.08.2007 Volker Quetschke -# Test the $(shell,expand ..) function macro. -# (issue 50092) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Test if it works. -cat > $file1 < $file1 <&1` -result2=$? - -if echo $output2 | grep 'Error: -- Unknown argument \[XXX\] to shell' > /dev/null 2>&1 ; then - echo "Subtest 2: OK" -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=0 -fi - - - -if test $result1 -eq 0 -a $result2 -ne 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/infra-0 b/dmake/tests/infra-0 deleted file mode 100755 index 494ffa44283a..000000000000 --- a/dmake/tests/infra-0 +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# 01.06.2005 Volker Quetschke -# Basic test of dmake existence and the needed infrastructure. - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -file2="mytestfile" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Test for "test" programm in path -which test > /dev/null || { echo "Failure! \"test\" program missing." ; exit 1; } -echo "Found \"test\" program." -test=`which test` - -# Test for "echo" programm in path -which echo > /dev/null || { echo "Failure! \"echo\" program missing." ; exit 1; } -echo "Found \"echo\" program." - -# Test for dmake program -${test} -x "${DMAKEPROG}" || { echo "Failure! \"dmake\" is missing." ; exit 1; } -echo "Found \"dmake\" program." - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$ ). -# Test 1 -cat > $file1 < $file1 <&1` -result2=$? - -if test $result2 != 0 && echo $output2 | grep 'Error: -- Syntax error in macro assignment' > /dev/null 2>&1 ; then - echo "Subtest 2: OK" - result2=0 -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=1 -fi - - -# Test 3 -cat > $file1 <&1` -result3=$? -if test $result3 != 0 && echo $output3 | grep 'Error: -- Syntax error in macro assignment' > /dev/null 2>&1 ; then - echo "Subtest 3: OK" - result3=0 -else - echo "Subtest 3: Wrong result: $output3" - echo - result3=1 -fi - - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/macros-11 b/dmake/tests/macros-11 deleted file mode 100755 index 023b8a140e1d..000000000000 --- a/dmake/tests/macros-11 +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/sh - -# 26.08.2007 Volker Quetschke -# Test OOODMAKEMODE macro. -# (issue 74007) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="startup.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Without OOODMAKEMODE set strip leading ./ -cat > $file1 < \$ ). -# Test 2 - With OOODMAKEMODE=y do not strip leading ./ -cat > $file1 < \$ ). -# Test 3 - Test OOODMAKEMODE from environment. -cat > $file1 < \$ ). -# Test 4 - With OOODMAKEMODE= leading ./ -cat > $file1 < \$ ). -# Test 5 - Import from environment / targets from command line. -cat > $file1 < $file2 < \$ ). -# Testcase 1 -cat > $file1 < $file2 < targets -# and that dmake warns if . targets have prerequisites. -# (issue 65333). - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - No warning expected -cat > $file1 < $file2 <&1 ` -result1=$? -output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` -result2=$? - -if test "$output1" != "all"; then - echo "Test 1: Wrong result: $output1" - result1=1 -fi -if echo $output2 | grep -v 'Warning: -- Ignoring' ; then - echo "Test 2: Wrong result: $output2" - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/macros-4 b/dmake/tests/macros-4 deleted file mode 100755 index 89134d2fa9c3..000000000000 --- a/dmake/tests/macros-4 +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh - -# 15.08.2006 Volker Quetschke -# Check that single letter macros with (, {, ), } and : are rejected. -# (issue 44961). - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -file3="mfile3.mk" -file4="mfile4.mk" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - Warn about miising closing braket. -cat > $file1 < $file2 < $file3 < $file4 <&1 ` -result1=$? -output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` -result2=$? -output3=`eval ${DMAKEPROG} -r -f $file3 2>&1 ` -result3=$? -output4=`eval ${DMAKEPROG} -r -f $file4 2>&1 ` -result4=$? - -if echo $output1 | grep -v 'Error: -- Syntax error'; then - echo "Test 1: Missing error: $output1" - result1=0 -fi -if echo $output2 | grep -v 'Error: -- Syntax error' ; then - echo "Test 2: Missing error: $output2" - result2=0 -fi -if echo $output3 | grep -v 'Error: -- Syntax error'; then - echo "Test 3: Missing error: $output3" - result3=0 -fi -if test "$output4" != "XLA)YXX:Y"; then - echo "Test 2: Wrong result: $output4" - result4=1 -fi - -if test $result1 -ne 0 -a $result2 -ne 0 -a $result3 -ne 0 -a $result4 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/macros-5 b/dmake/tests/macros-5 deleted file mode 100755 index d175271ee6f9..000000000000 --- a/dmake/tests/macros-5 +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh - -# 24.09.2006 Volker Quetschke -# TMD is sometimes set incorrectly (issue 69821). - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -file3="test1/aaa" -file4="test2/aaa" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles test1 test2; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles test1 test2 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 -cat > $file1 < $file2 < \$ ). -# Testcase 1 -cat > $file1 < \$ ). -# Test 1 - Test if :n works. -cat > $file1 < $file1 < /dev/null` = "xCygwin"; then - if test "$output2" != "2`cygpath -m /tmp`2"; then - echo "Subtest 2: Wrong result: $output2" - result2=1 - else - echo "Subtest 2: OK" - fi -else - if test "$output2" != "2/tmp2"; then - echo "Subtest 2: Wrong result: $output2" - result2=1 - else - echo "Subtest 2: OK" - fi -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/macros-8 b/dmake/tests/macros-8 deleted file mode 100755 index 705a92878ad0..000000000000 --- a/dmake/tests/macros-8 +++ /dev/null @@ -1,157 +0,0 @@ -#!/bin/sh - -# 24.07.2007 Volker Quetschke -# Test the :b :d :e :f macro extensions. -# (issue 80009) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Test if :f works. -cat > $file1 < $file1 < $file1 < $file1 < $file1 < $file1 < \$ ). -# Test 1 -cat > $file1 < $file1 < $file1 < $file1 < $file1 < was used in an imported -# environment variable. -# This bug was - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles ( $ -> \$ ). -# Also quote line continuations ( \ -> \\ ). -cat > $file1 < \$ ). -cat > $file1 <= "122" - +@echo "true" -.ELSE - +@echo "false" -.ENDIF - -EOT - -output=`eval ${DMAKEPROG} -r -f $file1` -result=$? - -if test "$output" != "false"; then - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-11 b/dmake/tests/misc-11 deleted file mode 100755 index 93829497474c..000000000000 --- a/dmake/tests/misc-11 +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -# 16.06.2006 Volker Quetschke -# A comparison with the empty string crashes dmake - equality test with empty -# string must work too. -# (issue 65281) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -# Also quote line continuations ( \ -> \\ ). -cat > $file1 < $file2 - -# Remember to quote variables in generated makefiles ( $ -> \$ ). -# Also quote line continuations ( \ -> \\ ). -cat > $file1 < /dev/null 2>&1 ; then - echo "Wrong result: ${output}" - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-14 b/dmake/tests/misc-14 deleted file mode 100755 index 6f71b373c2df..000000000000 --- a/dmake/tests/misc-14 +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# 07.10.2006 Volker Quetschke -# Check if the line of the error is issued -# (issue 70027) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles ( $ -> \$ ). -# Also quote line continuations ( \ -> \\ ). -cat > $file1 <&1` -result=$? - -if echo "$output" | grep 'line .: Error: --' > /dev/null 2>&1 ; then - dummy=1 - result=0 - # OK -else - echo "Test 1: Wrong result: $output" - echo - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-15 b/dmake/tests/misc-15 deleted file mode 100755 index a213c2d885af..000000000000 --- a/dmake/tests/misc-15 +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# 09.11.2006 Volker Quetschke -# Check DOS style paths and directory caching with cygwin dmake or just -# normal paths with other versions. -# issue 69742, 69943 - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="target.abc" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -echo "Something" > $file2 - -# Remember to quote variables in generated makefiles ( $ -> \$ ). -# Also quote line continuations ( \ -> \\ ). -cat > $file1 < /dev/null 2>&1 ; then - # OK - dummy=1 -else - echo "Wrong result: ${output}" - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-16 b/dmake/tests/misc-16 deleted file mode 100755 index 2e234d3d15a1..000000000000 --- a/dmake/tests/misc-16 +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -# 17.11.2006 Volker Quetschke -# Check that parallel builds $(shell ...) only waits its own target and -# not for all previous recipe lines. -# (issue 61856) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mytarget.dpcc" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < my.inc - -.INCLUDE : my.inc - -all: - @+echo "MYMAXPROCESS:\$(MYMAXPROCESS):" - -EOT - -output=`eval ${DMAKEPROG} -S -P2 -rf $file1 all` -result=$? - -if test "$output" != "MYMAXPROCESS:1:"; then - echo "Wrong result: $output - expecting: MYMAXPROCESS:1:" - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-18 b/dmake/tests/misc-18 deleted file mode 100755 index a676df6580e2..000000000000 --- a/dmake/tests/misc-18 +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/sh - -# 23.03.2007 Volker Quetschke -# Test .WINPATH attribute (A cygwin only attribute that is ignored -# elsewhere). -# (issue 73499) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Test if .WINPATH is accepted as global attribute -cat > $file1 < $file1 < $file1 < /dev/null` = "xCygwin"; then - output3=`eval ${DMAKEPROG} -r -f $file1` - result3=$? - if test "$output3" != "at:`cygpath -m /tmp/blah.xx`:star:`cygpath -m /tmp/blah`:"; then - echo "Subtest : Wrong result: $output3" - result3=1 - else - echo "Subtest 3: OK" - fi -else - echo "Subtest 3 ignored for non cygwin environment" - result3=0 -fi - - -# Test 4 - Test if $(PWD), $(MAKEDIR) are DOSified. -cat > $file1 < /dev/null` = "xCygwin"; then - output4=`eval ${DMAKEPROG} -r -f $file1` - result4=$? - mypwd=`pwd` - if test "$output4" != ":`cygpath -m /tmp`:`cygpath -m $mypwd`:"; then - echo "Subtest : Wrong result: $output4" - result4=1 - else - echo "Subtest 4: OK" - fi -else - echo "Subtest 4 ignored for non cygwin environment" - result4=0 -fi - - -# Test 5 - Test if $(TMD) is DOSified (if it is an absolute path). -cat > $file1 < /dev/null` = "xCygwin"; then - output5=`eval ${DMAKEPROG} -r -f $file1` - result5=$? - mypwd=`pwd` - if test "$output5" != ":`cygpath -m /`:`cygpath -m $mypwd`:"; then - echo "Subtest : Wrong result: $output5" - result5=1 - else - echo "Subtest 5: OK" - fi -else - echo "Subtest 5 ignored for non cygwin environment" - result5=0 -fi - - -# Test 6 - Test if .WINPATH changes $@ in conditional macro. -cat > $file1 < /dev/null` = "xCygwin"; then - output6=`eval ${DMAKEPROG} -r -f $file1` - result6=$? - if test "$output6" != ":`cygpath -m /tmp/all.bla`:"; then - echo "Subtest : Wrong result: $output6" - result6=1 - else - echo "Subtest 6: OK" - fi -else - echo "Subtest 6 ignored for non cygwin environment" - result6=0 -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 -a $result4 -eq 0 \ - -a $result5 -eq 0 -a $result6 -eq 0; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/misc-19 b/dmake/tests/misc-19 deleted file mode 100755 index af824571219d..000000000000 --- a/dmake/tests/misc-19 +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# 02.09.2007 Volker Quetschke -# Check that temporary filenames are kept alive between recipe lines. -# (issue 67911) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test $result1 = 0 -a "$output1" = "abcd"; then - echo "OK" -else - echo "Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/misc-2 b/dmake/tests/misc-2 deleted file mode 100755 index 06748dd98037..000000000000 --- a/dmake/tests/misc-2 +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# 01.09.2005 Volker Quetschke -# Tests if dmake can work with makefiles with DOS lineendings. -# (issue 52238) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -file2="mymakefile_dos.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < $file2 -$AWK '{print $0"\r"}' $file1 > $file2 - -${DMAKEPROG} -r -f $file2 -result=$? - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-20 b/dmake/tests/misc-20 deleted file mode 100755 index c25bf05d8342..000000000000 --- a/dmake/tests/misc-20 +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -# 16.09.2007 Volker Quetschke -# Check that inferred makefiles for .INCLUDE do not disturb the dependency -# checking afterwards. -# (issue 81296) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="my.c" -file3="my.obj" -file4="my.foo" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - from testcase t_81296_5.mk -cat > $file1 <&1 ` -result1=$? - -if test $result1 = 0 -a "$output1" = "incbuild:my.dpo:my.c:my.obj:all"; then - echo "Subtest 1: OK" -else - echo "Subtest 1: Wrong result: $output1" - echo - result1=1 -fi - -# Remove files from prior run -rm -rf $tmpfiles -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 2 - from testcase t_81296_6.mk -cat > $file1 <&1 ` -result2=$? - -if test $result2 = 0 -a "$output2" = "incbuild:my.dpo:my.c:my.obj:all"; then - echo "Subtest 2: OK" -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=1 -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/misc-21 b/dmake/tests/misc-21 deleted file mode 100755 index 9dea6cc234a2..000000000000 --- a/dmake/tests/misc-21 +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# 13.10.2007 Volker Quetschke -# Check that SHELLCMDQUOTE adds the characters to the command. -# issue 81252 - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles ( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$@ - -testfile1 : - +@echo making \$@ 1>&2 - +@sleep 1 - +@printf t1 - +@echo 1 > \$@ - -testfile2 : - +@echo making \$@ 1>&2 - +@sleep 2 - +@printf t2 - +@echo 2 > \$@ - -testfile3 : - +@echo making \$@ 1>&2 - +@sleep 3 - +@printf t3 - +@echo 3 > \$@ - -EOT - -output=`eval ${DMAKEPROG} -r -P3 -f $file1` -result=$? - -# In parallel operation the targets with the smaller sleep value -# will finish first. -if test "$output" != "t1t2t3"; then - echo "Wrong result" - result=1 -fi - - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-5 b/dmake/tests/misc-5 deleted file mode 100755 index 5c458482d7c7..000000000000 --- a/dmake/tests/misc-5 +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# 06.10.2005 Volker Quetschke -# Test if infered makefile generation works. -# (issue 54938) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -file2="incfile.mk" -file3="incfiledepend" -tmpfiles="$file1 $file2 $file3" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$@ - -incfiledepend : - +@sleep 1 - +@echo 1234 > \$@ - -.INCLUDE : incfile.mk - -all : - +@echo aa:\$(AA):bb -EOT - -output=`eval ${DMAKEPROG} -r -P2 -f $file1 all` -result=$? - -# The space between aaa and bbb comes from the += -if test "$output" != "aa:123:bb"; then - echo "Wrong result" - result=1 -fi - - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/misc-6 b/dmake/tests/misc-6 deleted file mode 100755 index 9f74f1e77cc6..000000000000 --- a/dmake/tests/misc-6 +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -# 05.01.2006 Volker Quetschke -# Old dmakes throw a segmentation fault in special cases with -# dynamic prerequisits ( $$@ ). -# (issue 58259) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 -cat > $file1 < $file2 </dev/null 2>&1 -result1=$? -${DMAKEPROG} -r -f $file2 >/dev/null 2>&1 -result2=$? - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -f ${tmpfiles} - result=0 -else - test $result1 -ne 0 && echo "Failure in testcase 1! Remove the corefile!" - test $result2 -ne 0 && echo "Failure in testcase 2! Remove the corefile!" - result=1 -fi -exit $result diff --git a/dmake/tests/misc-7 b/dmake/tests/misc-7 deleted file mode 100755 index 285f44d50e81..000000000000 --- a/dmake/tests/misc-7 +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -# 06.02.2006 Volker Quetschke -# Verify that the .SETDIR attribute works separately from the target -# definition. (issue 61714) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="subdir" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$@ - -.INCLUDE : mytarget.dpcc - -ALL : mytarget.dpcc - -EOT - -output=`eval ${DMAKEPROG} -r -f $file1` -result=$? - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure! Invalid circular dependency detected." -exit $result diff --git a/dmake/tests/misc-9 b/dmake/tests/misc-9 deleted file mode 100755 index c3f8aad1ab39..000000000000 --- a/dmake/tests/misc-9 +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# 01.03.2006 Volker Quetschke -# If a dependency is added to a target after it is already build as an -# indered .INCLUDE makefile the new dependency can be lost in parallel -# builds. -# (issue 61969) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mytarget.dpcc" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$@ - -# This has to be build if mytarget.dpcc is included and is requested -# as a target -# Adding the wait makes sure that the unpatched dmake is ended before the -# next recipe line is started, therefore loosing it. -%.obj : - @sleep 1 - @echo making: \$@ - -.INCLUDE : mytarget.dpcc - -# Make this the main target -mytarget.dpcc : - -EOT - -output=`eval ${DMAKEPROG} -r -P2 -f $file1` -result=$? - -if test "$output" != "making: mytarget.obj"; then - result=1 -fi - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure! Recipe line got lost." -exit $result diff --git a/dmake/tests/recipes-1 b/dmake/tests/recipes-1 deleted file mode 100755 index c9108d86198f..000000000000 --- a/dmake/tests/recipes-1 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -# 01.06.2005 Volker Quetschke -# Tests for line continuation in recipes. -# (issue 37053) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$ ). -cat > $file1 < \$ ). -cat > $file1 < $file2 - @@+echo something -EOT - -output1=`eval ${DMAKEPROG} -r -f $file1` -result1=$? -if test "$output1" != ""; then - echo "Wrong result: $output1" - result1=1 -fi -if test -f $file2; then - if test `cat $file2 ` != "someoutput"; then - echo "Wrong file content: `cat $file2`" - result1=1 - fi -else - echo "No such file : $file2" - result1=1 -fi - -# Test if -vr enables the output again -output2=`eval ${DMAKEPROG} -vr -rf $file1` -result2=$? -if echo $output2 | grep -v 'echo someoutput > ofile1.out'; then - echo "Missing output: echo someoutput > ofile1.out" - result2=1 -fi -if echo $output2 | grep -v 'something'; then - echo "Missing output: something" - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -f ${tmpfiles} - exit 0 -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/recipes-6 b/dmake/tests/recipes-6 deleted file mode 100755 index 2a0af305ef6a..000000000000 --- a/dmake/tests/recipes-6 +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh - -# 13.11.2006 Volker Quetschke -# Test @@ recipe property with group recipes. -# (issue 71422) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="ofile1.out" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < $file2 - echo something -] -EOT - -output1=`eval ${DMAKEPROG} -r -f $file1` -result1=$? -if test "$output1" != ""; then - echo "Wrong result: $output1" - result1=1 -fi -if test -f $file2; then - if test `cat $file2` != "someoutput"; then - echo "Wrong file content: `cat $file2`" - result1=1 - fi -else - echo "No such file : $file2" - result1=1 -fi - -# Test if -vr enables the output again -output2=`eval ${DMAKEPROG} -vr -rf $file1` -result2=$? -if echo $output2 | grep -v 'echo someoutput > ofile1.out'; then - echo "Missing output: echo someoutput > ofile1.out" - result2=1 -fi -if echo $output2 | grep -v 'something'; then - echo "Missing output: something" - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -f ${tmpfiles} - exit 0 -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/recipes-7 b/dmake/tests/recipes-7 deleted file mode 100755 index 3a932bb597b0..000000000000 --- a/dmake/tests/recipes-7 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -# 01.12.2006 Volker Quetschke -# Test that the '-' recipe switch is honored. -# (issue 72210) - -: ${DMAKEPROG:=dmake} -file1="mymakefile.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -trap 'rm -rf $tmpfiles' 1 2 3 15 - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 < /dev/null` -result=$? -if test $result -eq 0 -a "$output" != "OK"; then - echo "Wrong result: $output" - result=1 -fi - - -test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles} -test $result -ne 0 && echo "Failure!" -exit $result diff --git a/dmake/tests/recipes-8 b/dmake/tests/recipes-8 deleted file mode 100755 index b4264a33df0c..000000000000 --- a/dmake/tests/recipes-8 +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh - -# 08.08.2007 Volker Quetschke -# Test group recipes syntax check. -# (issue 67709) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 -cat > $file1 <&1` -result1=$? - -if test $result1 != 0 && echo $output1 | grep 'Warning: -- Found non-white space character after' > /dev/null 2>&1 ; then - echo "Subtest 1: OK" - result1=0 -else - echo "Subtest 1: Wrong result: $output1" - echo - result1=1 -fi - - -# Test 2 -cat > $file1 <&1` -result2=$? - -if test $result2 != 0 && echo $output2 | grep 'Error: -- Cannot mix single and group recipe lines.' > /dev/null 2>&1 ; then - echo "Subtest 2: OK" - result2=0 -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=1 -fi - - -# Test 3 -cat > $file1 <&1` -result3=$? -if test $result3 != 0 && echo $output3 | grep 'Error: -- New group recipe begin found within group recipe.' > /dev/null 2>&1 ; then - echo "Subtest 3: OK" - result3=0 -else - echo "Subtest 3: Wrong result: $output3" - echo - result3=1 -fi - - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/recipes-9 b/dmake/tests/recipes-9 deleted file mode 100755 index 409b6cbabe33..000000000000 --- a/dmake/tests/recipes-9 +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/sh - -# 11.08.2007 Volker Quetschke -# Test that recipes with error can be ignored. -# (issue 80598) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Ignore, but display failed execution. -cat > $file1 <&1` -result1=$? - -if test "$result1" = "0" && echo $output1 | grep '(Ignored)' > /dev/null 2>&1 ; then - echo "Subtest 1: OK" - result1=0 -else - echo "Subtest 1: Wrong result: $output1" - echo - result1=1 -fi - - -# Test 2 - Ignore, but display failed execution. -cat > $file1 <&1` -result2=$? - -if test "$result2" = "0" && echo $output2 | grep '(Ignored)' > /dev/null 2>&1 ; then - echo "Subtest 2: OK" - result2=0 -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=1 -fi - - -# Test 3 -cat > $file1 <&1` -result3=$? -if test $result3 != 0 && echo $output3 | grep 'Error code -1, while making ' > /dev/null 2>&1 ; then - echo "Subtest 3: OK" - result3=0 -else - echo "Subtest 3: Wrong result: $output3" - echo - result3=1 -fi - - -# Test 4 - Ignore a succesfully executed, but failing recipe. -cat > $file1 <&1` -result4=$? - -if test "$result4" = "0" -a "$output4" = "false all" ; then - echo "Subtest 4: OK" - result4=0 -else - echo "Subtest 4: Wrong result: $output4" - echo - result4=1 -fi - - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 -a $result4 -eq 0 ; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-1 b/dmake/tests/targets-1 deleted file mode 100644 index 688c33cf024b..000000000000 --- a/dmake/tests/targets-1 +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh - -# 03.06.2006 Volker Quetschke -# Percent target definitions were not handled properly before. -# (issue 64869) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - This segfaulted before 4.5 -cat > $file1 < $file2 <&1 ` -result1=$? -output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` -result2=$? - -if echo $output1 | grep 'Error: -- A non-%' > /dev/null 2>&1 ; then - #echo "Test 1: Right result: $output1" - result1=0 -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if echo $output2 | grep -v 'building qqq.c' > /dev/null 2>&1 ; then - echo "Test 2: Wrong result: $output2" - echo - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-10 b/dmake/tests/targets-10 deleted file mode 100644 index 3f7931242b02..000000000000 --- a/dmake/tests/targets-10 +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -# 14.06.2006 Volker Quetschke -# If %-targets are defined with more than one (not indirect) prerequisite -# only the first is used. This is supposed to be fixed at one point but -# currently we issue a warning that it not working (yet). -# (issue 48087) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we warn. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Warning: -- More than one prerequisite' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-11 b/dmake/tests/targets-11 deleted file mode 100644 index 5dbff149d806..000000000000 --- a/dmake/tests/targets-11 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -# 09.07.2006 Volker Quetschke -# If %-targets are defined with the .SILENT attribute and the -vr verbose -# flag is used dmake 4.5 stops falsely with an error. -# (issue 67025) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we don't issue an error. -cat > $file1 <&1 ` -result1=$? - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure! dmake failed with error." - result=1 -fi -exit $result diff --git a/dmake/tests/targets-12 b/dmake/tests/targets-12 deleted file mode 100644 index ba9982c4f6be..000000000000 --- a/dmake/tests/targets-12 +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -# 10.07.2006 Volker Quetschke -# Check that dmake warns if it encounters .SUFFIXES -# (issue 66567) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we issue a warning. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Warning: -- The .SUFFIXES' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure! dmake failed to issue a warning." - result=1 -fi -exit $result diff --git a/dmake/tests/targets-13 b/dmake/tests/targets-13 deleted file mode 100755 index 702a9b0a10ca..000000000000 --- a/dmake/tests/targets-13 +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# 16.07.2006 Volker Quetschke -# Check that dmake warns if a previously unset macro (i.e. it is -# assumed to be empty) is used and later set to a different value. -# (issue 67166) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we issue a warning. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Warning: -- Macro .* redefined after use' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure! dmake failed to issue a warning." - result=1 -fi -exit $result diff --git a/dmake/tests/targets-14 b/dmake/tests/targets-14 deleted file mode 100755 index 7e1fae45f8d4..000000000000 --- a/dmake/tests/targets-14 +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# 16.07.2006 Volker Quetschke -# Check that evaluating an empty macro and thereby initializing it does not -# prevent the *= and *:= operator from assigning a new value. -# (issue 67166) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we set AAA to set_AAA. -cat > $file1 <&1 ` -result1=$? - -if test $output1 = "set_AAA" ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure! Unexpected result." - result=1 -fi -exit $result diff --git a/dmake/tests/targets-15 b/dmake/tests/targets-15 deleted file mode 100755 index 6a5310a6e4b0..000000000000 --- a/dmake/tests/targets-15 +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -# 06.10.2006 Volker Quetschke -# Check that normalized targets are treated as equal. -# (issue 69742) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we set AAA to set_AAA. -cat > $file1 <&1 ` -result1=$? - - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -else - echo "Failure! dmake reported:" - echo "$output1" -fi -exit $result diff --git a/dmake/tests/targets-16 b/dmake/tests/targets-16 deleted file mode 100755 index 795fb7a63650..000000000000 --- a/dmake/tests/targets-16 +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# 08.10.2006 Volker Quetschke -# Check that $ in dynamic prerequisites are handled correctly. -# (issue 70168) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we set AAA to set_AAA. -cat > $file1 <&1 ` -result1=$? - - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -else - echo "Failure! dmake reported:" - echo "$output1" -fi -exit $result diff --git a/dmake/tests/targets-17 b/dmake/tests/targets-17 deleted file mode 100755 index cea9c633615d..000000000000 --- a/dmake/tests/targets-17 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -# 08.10.2006 Volker Quetschke -# Check that empty dynamic prerequisites are handled correctly. -# (issue 70210) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -else - echo "Failure! dmake reported:" - echo "$output1" -fi -exit $result diff --git a/dmake/tests/targets-18 b/dmake/tests/targets-18 deleted file mode 100755 index 0e75ddb0f55e..000000000000 --- a/dmake/tests/targets-18 +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -# 21.06.2007 Volker Quetschke -# Check that OOODMAKEMODE can switches of the ./foo to foo normalization. -# (issue 74007) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? -if test $result1 -ne 0 -o "$output1" != "XallY"; then - echo "Test 1: Wrong result: $output1" - result1=1 -fi - - -output2=`eval OOODMAKEMODE=y ${DMAKEPROG} -rf $file1 2>&1 ` -result2=$? -if test $result2 -ne 0 -o "$output2" != "X./allY"; then - echo "Test 2: Wrong result: $output2" - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit 0 -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-19 b/dmake/tests/targets-19 deleted file mode 100755 index 3ca904f53e8d..000000000000 --- a/dmake/tests/targets-19 +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh - -# 22.06.2007 Volker Quetschke -# Check that multiple leading slashes are normalized. -# (issue 78061) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 - Test if excess leading slashes get removed -cat > $file1 <&1 ` -result1=$? -if test "$output1" != "X/allY"; then - echo "Subtest 1: Wrong result: $output1" - result1=1 -else - echo "Subtest 1: OK" -fi - - -# Test 2 - Test if excess leading slashes in DOS paths get removed -cat > $file1 < /dev/null` = "xCygwin"; then - output2=`eval ${DMAKEPROG} -r -f $file1` - result2=$? - if test "$output2" != "Xc:/allY"; then - echo "Subtest 2: Wrong result: $output2" - result2=1 - else - echo "Subtest 2: OK" - fi -else - echo "Subtest 2 ignored for non cygwin environment" - result2=0 -fi - - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" && rm -f ${tmpfiles} - exit -else - echo "Failure!" - exit 1 -fi \ No newline at end of file diff --git a/dmake/tests/targets-2 b/dmake/tests/targets-2 deleted file mode 100644 index fbc1b0e39c7c..000000000000 --- a/dmake/tests/targets-2 +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# 03.06.2006 Volker Quetschke -# Percent target definitions were not handled properly before. -# (issue 64869) - Two more testcases - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - %-target prerequisite - syntax error -cat > $file1 < $file2 <&1 ` -result1=$? -output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` -result2=$? - -if echo $output1 | grep 'Error: -- Syntax' > /dev/null 2>&1 ; then - result1=0 -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if echo $output2 | grep 'Error: -- Unexpected recipe' > /dev/null 2>&1 ; then - result2=0 -else - echo "Test 2: Wrong result: $output2" - echo - result1=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-20 b/dmake/tests/targets-20 deleted file mode 100755 index 64a6a5b06ad0..000000000000 --- a/dmake/tests/targets-20 +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -# 12.07.2007 Volker Quetschke -# Make sure that intermediate targets get created. BUG: If an intermediate -# %-target does not exist it inherits the time stamp of it's parent and -# doesn not get made. -# Recipe: Create ptarget.c and then (newer) ptarget.a but ptarget.b did -# not get made. -# (issue 69462) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="ptarget.a" -file3="ptarget.b" -file4="ptarget.c" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Create test environment -touch ptarget.c -touch ptarget.a - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "OKdone"; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-21 b/dmake/tests/targets-21 deleted file mode 100755 index 2aff2285ab69..000000000000 --- a/dmake/tests/targets-21 +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# 12.07.2007 Volker Quetschke -# Another %-target testcase. -# (issue 78837) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aaa.aaa" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Create test environment -touch aaa.aaa - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "building aaa.bbb"; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-22 b/dmake/tests/targets-22 deleted file mode 100755 index 14474f09792e..000000000000 --- a/dmake/tests/targets-22 +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# 12.07.2007 Volker Quetschke -# Check that intermediate targets are marked removable. -# (issue 80143) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aaa.aaa" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Create test environment -touch aaa.aaa - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "remove xx.b"; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-23 b/dmake/tests/targets-23 deleted file mode 100755 index ee670d496b34..000000000000 --- a/dmake/tests/targets-23 +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -# 03.08.2007 Volker Quetschke -# Check that a %-target without prereq has precedence over one with -# prerequisite. -# (issue 80144) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aaa.aaa" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Create test environment -touch aaa.aaa - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "Right choice"; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-24 b/dmake/tests/targets-24 deleted file mode 100755 index 98c7603980fa..000000000000 --- a/dmake/tests/targets-24 +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -# 03.08.2007 Volker Quetschke -# Check that ambigous %-target are found. -# prerequisite. -# (issue 80144) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aaa.aaa" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Create test environment -touch aaa.aaa - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep ': -- Ambiguous inference chains for target' > /dev/null 2>&1 ; then - echo "OK" -else - echo "Test 1: Wrong result: $output1" - echo - result1=0 -fi - -# Errorcode in $result1 means successfull test -if test $result1 -ne 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-25 b/dmake/tests/targets-25 deleted file mode 100755 index fa95f655bbb1..000000000000 --- a/dmake/tests/targets-25 +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh - -# 03.08.2007 Volker Quetschke -# Check that the .PRECIOUS attribute works. -# (issue 80352) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "Done"; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-26 b/dmake/tests/targets-26 deleted file mode 100755 index 10ac0d43f2b7..000000000000 --- a/dmake/tests/targets-26 +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -# 10.08.2007 Volker Quetschke -# Check that the .PHONY attribute works with %-targets. -# (issue 66751) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="phonyfile.a" -file3="phonyfile.b" -tmpfiles="$file1 $file2 $file3" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "Build phonyfile.b and phonyfile.a."; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-27 b/dmake/tests/targets-27 deleted file mode 100755 index 3ad33b4c20ff..000000000000 --- a/dmake/tests/targets-27 +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh - -# 15.08.2007 Volker Quetschke -# Another check that the .PHONY attribute works with %-targets. This test -# was still failing after issue 66751. -# (issue 80687) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aa.x" -file3="aa.y" -file4="aa.z" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? - -if test "$output1" != "Build aa.y and aa.x."; then - echo "Wrong result: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-28 b/dmake/tests/targets-28 deleted file mode 100755 index 0943eb6677ff..000000000000 --- a/dmake/tests/targets-28 +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/sh - -# 25.08.2007 Volker Quetschke -# Check that dmake handles dependencies correctly. -# (issue 64572) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aa.x" -file3="aa.y" -file4="aa.z" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 1 -cat > $file1 <&1` -result1=$? - -if test $result1 = 0 && echo $output1 | grep 'Warning: -- Target \[aa.x\] was made but the time stamp has not been updated.' > /dev/null 2>&1 ; then - echo "Subtest 1: OK" - result1=0 -else - echo "Subtest 1: Wrong result: $output1" - echo - result1=1 -fi - - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 2 - Warn if virtual targets have a corresponding file. -cat > $file1 <&1` -result2=$? - -if test $result2 = 0 && echo $output2 | grep 'Warning: -- Found file corresponding to virtual target \[aa.y\].' > /dev/null 2>&1 ; then - echo "Subtest 2: OK" - result2=0 -else - echo "Subtest 2: Wrong result: $output2" - echo - result2=1 -fi - - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 3 -cat > $file1 <&1` -result3=$? - -if test $result3 = 0 && echo "$output3" | grep "aa.x' is up to date" > /dev/null 2>&1 ; then - echo "Subtest 3: OK" - result3=0 -else - echo "Subtest 3: Wrong result: :$output3:" - echo - result3=1 -fi - - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Test 4 -cat > $file1 <&1` -result4=$? - -if test $result4 = 0 -a "$output4" = "Build aa.x" ; then - echo "Subtest 4: OK" - result4=0 -else - echo "Subtest 4: Wrong result: :$output4:" - echo - result4=1 -fi - - -if test $result1 -eq 0 -a $result2 -eq 0 \ - -a $result3 -eq 0 -a $result4 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-29 b/dmake/tests/targets-29 deleted file mode 100755 index 004553eb93d5..000000000000 --- a/dmake/tests/targets-29 +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh - -# 24.09.2007 Volker Quetschke -# Check that the .REMOVE target does not crash dmake in parallel builds. -# (issue 80012) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="aaa.aaa" -file3="aaa.bbb" -file4="aaa.ccc" -tmpfiles="$file1 $file2 $file3 $file4" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1` -result1=$? - -if test $result1 -ne 0; then - echo "Failure! Remove the corefile!" - echo "Output: $output1" - result1=1 -else - echo "OK" -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-3 b/dmake/tests/targets-3 deleted file mode 100644 index 288dd67f1e25..000000000000 --- a/dmake/tests/targets-3 +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# 03.06.2006 Volker Quetschke -# . targets were silently ignored despite the illegal syntax. -# (issue 65360) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - Check that warning is issued if . targets are ignored -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Warning: -- Ignoring AUGMAKE meta-target' > /dev/null 2>&1 ; then - result1=0 -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-30 b/dmake/tests/targets-30 deleted file mode 100755 index 31e2e9712504..000000000000 --- a/dmake/tests/targets-30 +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -# 05.02.2008 Volker Quetschke -# Check that OOODMAKEMODE=y does not normalize ./../foo. -# (issue 84800) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result1=$? -if test $result1 -ne 0 -o "$output1" != "X./../allY"; then - echo "Test 1: Wrong result: $output1" - result1=1 -fi -# Remember to quote variables in generated makefiles( $ -> \$ ). -cat > $file1 <&1 ` -result2=$? -if test $result2 -ne 0 -o "$output2" != "X../allY"; then - echo "Test 2: Wrong result: $output2" - result2=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - exit 0 -else - echo "Failure!" - exit 1 -fi diff --git a/dmake/tests/targets-4 b/dmake/tests/targets-4 deleted file mode 100644 index 2bc66d9ec519..000000000000 --- a/dmake/tests/targets-4 +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# 03.06.2006 Volker Quetschke -# Check that a warning is issued for special or meta targets with -# empty recipes. -# (issue 65360) - Well, the issue is talking about slightly a different -# issue but a related patch was committed with this issue reference. - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -file2="mfile2.mk" -tmpfiles="$file1 $file2" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - AUGMAKE meta targets -cat > $file1 < $file2 <&1 ` -result1=$? -output2=`eval ${DMAKEPROG} -r -f $file2 2>&1 ` -result2=$? - -if echo $output1 | grep -v 'Warning: -- Empty recipe' > /dev/null 2>&1 ; then - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if echo $output2 | grep -v 'Warning: -- Empty recipe' > /dev/null 2>&1 ; then - echo "Test 2: Wrong result: $output2" - echo - result1=1 -fi - -if test $result1 -eq 0 -a $result2 -eq 0; then - echo "Success - Cleaning up" - rm -rf $tmpfiles -exit - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-5 b/dmake/tests/targets-5 deleted file mode 100644 index 0e83ca43107c..000000000000 --- a/dmake/tests/targets-5 +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh - -# 13.06.2006 Volker Quetschke -# Error out if AUGMAKE meta and normal targets occur in the same rule -# definition. -# (issue 66083) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Testcase 1 - Check that warning is issued if . targets are ignored -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Error: -- A non AUGMAKE meta target must' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=0 -fi - -# Errorcode in $result1 means successfull test -if test $result1 -ne 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-6 b/dmake/tests/targets-6 deleted file mode 100644 index 08ec6591a29a..000000000000 --- a/dmake/tests/targets-6 +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -# 13.06.2006 Volker Quetschke -# Pre 4.5 dmakes didn't handle . targets if AUGMAKE was set. -# (issue 66365) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that .NIX is treated as meta target, making all the target -# that gets build. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Fallthrough' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-7 b/dmake/tests/targets-7 deleted file mode 100644 index 7fb091bd5bdf..000000000000 --- a/dmake/tests/targets-7 +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -# 13.06.2006 Volker Quetschke -# Check that `%.a %.b :| %.x %.y 'Z' ; recipe` rules are handled correctly. -# (issues 48087 and 65122) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Expect dummy, all.pp and all.xx to be build -# that gets build. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'dummyall.ppall.xx' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-8 b/dmake/tests/targets-8 deleted file mode 100644 index 1bb31959a4f6..000000000000 --- a/dmake/tests/targets-8 +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -# 13.06.2006 Volker Quetschke -# .SETDIR used to fail for multiple percent targets. -# (issue 64431) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Expect xxx.1 and xxx.2 to be build -# that gets build. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'OKOK' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tests/targets-9 b/dmake/tests/targets-9 deleted file mode 100644 index b82d3796750d..000000000000 --- a/dmake/tests/targets-9 +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# 14.06.2006 Volker Quetschke -# Prior to dmake 4.5 only one %-target per target-definition worked reliably. -# (issue 48087) - -: ${DMAKEPROG:=dmake} -file1="mfile1.mk" -tmpfiles="$file1" - -trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15 - -# Remove files from prior failed run -rm -rf $tmpfiles - -# Remember to quote variables in generated makefiles( $ -> \$ ). -# Check that we warn. -cat > $file1 <&1 ` -result1=$? - -if echo $output1 | grep 'Warning: -- Prior to dmake 4.5 only one' > /dev/null 2>&1 ; then - dummy=1 - # OK -else - echo "Test 1: Wrong result: $output1" - echo - result1=1 -fi - -if test $result1 -eq 0 ; then - echo "Success - Cleaning up" - rm -rf $tmpfiles - result=0 -else - echo "Failure!" - result=1 -fi -exit $result diff --git a/dmake/tos/config.mk b/dmake/tos/config.mk deleted file mode 100644 index 65076200175a..000000000000 --- a/dmake/tos/config.mk +++ /dev/null @@ -1,49 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# PRINTER, PRINTFLAGS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# -PRINTER = hw -PRINTFLAGS = -P$(PRINTER) -STARTUPFILE = $(OS)/startup.mk -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDFLAGS) -o $@ $(OBJDIR)/*$O -LDFLAGS += -s -LD = $(CC) - -# Debug flags -DB_CFLAGS = -g -DDBUG -DB_LDFLAGS = -g -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -O -NDB_LDFLAGS = -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) - -# Sources that must be defined for each different version -OS_SRC += ruletab.c -DOS_SRC = rmprq.c runargv.c dirbrk.c rmprq.c -UNIX_SRC = arlib.c -BSD_SRC = putenv.c tempnam.c - -.SETDIR=$(OS) : $(OS_SRC) -.SETDIR=msdos : $(DOS_SRC) -.SETDIR=unix : $(UNIX_SRC) -.SETDIR=unix/bsd43 : $(BSD_SRC) - -SRC += $(OS_SRC) $(DOS_SRC) $(UNIX_SRC) $(BSD_SRC) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE .IGNORE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/tos/make.sh b/dmake/tos/make.sh deleted file mode 100644 index 8ecb7db9c8e3..000000000000 --- a/dmake/tos/make.sh +++ /dev/null @@ -1,57 +0,0 @@ -mkdir objects -gcc -c -I. -Itos -O infer.c -mv infer.o objects -gcc -c -I. -Itos -O make.c -mv make.o objects -gcc -c -I. -Itos -O stat.c -mv stat.o objects -gcc -c -I. -Itos -O expand.c -mv expand.o objects -gcc -c -I. -Itos -O dmstring.c -mv dmstring.o objects -gcc -c -I. -Itos -O hash.c -mv hash.o objects -gcc -c -I. -Itos -O dag.c -mv dag.o objects -gcc -c -I. -Itos -O dmake.c -mv dmake.o objects -gcc -c -I. -Itos -O path.c -mv path.o objects -gcc -c -I. -Itos -O imacs.c -mv imacs.o objects -gcc -c -I. -Itos -O sysintf.c -mv sysintf.o objects -gcc -c -I. -Itos -O parse.c -mv parse.o objects -gcc -c -I. -Itos -O getinp.c -mv getinp.o objects -gcc -c -I. -Itos -O quit.c -mv quit.o objects -gcc -c -I. -Itos -O state.c -mv state.o objects -gcc -c -I. -Itos -O dmdump.c -mv dmdump.o objects -gcc -c -I. -Itos -O macparse.c -mv macparse.o objects -gcc -c -I. -Itos -O rulparse.c -mv rulparse.o objects -gcc -c -I. -Itos -O percent.c -mv percent.o objects -gcc -c -I. -Itos -O function.c -mv function.o objects -gcc -c -I. -Itos -O tos/ruletab.c -mv ruletab.o objects -gcc -c -I. -Itos -O msdos/rmprq.c -mv rmprq.o objects -gcc -c -I. -Itos -O msdos/runargv.c -mv runargv.o objects -gcc -c -I. -Itos -O msdos/dirbrk.c -mv dirbrk.o objects -gcc -c -I. -Itos -O unix/arlib.c -mv arlib.o objects -gcc -c -I. -Itos -O unix/bsd43/putenv.c -mv putenv.o objects -gcc -c -I. -Itos -O unix/bsd43/tempnam.c -mv tempnam.o objects -gcc -s -o dmake objects/*.o -cp tos/template.mk startup/config.mk diff --git a/dmake/tos/public.h b/dmake/tos/public.h deleted file mode 100644 index 4b2f0af5e8f7..000000000000 --- a/dmake/tos/public.h +++ /dev/null @@ -1,166 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:52:34 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -int If_root_path ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); - -#endif diff --git a/dmake/tos/putenv.c b/dmake/tos/putenv.c deleted file mode 100644 index 06e914d1fa0f..000000000000 --- a/dmake/tos/putenv.c +++ /dev/null @@ -1,78 +0,0 @@ -/* RCS $Id: putenv.c,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- My own putenv for BSD like systems. --- --- DESCRIPTION --- This originally came from MKS, but I rewrote it to fix a bug with --- replacing existing strings, probably never happened but the code --- was wrong nonetheless. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include - -int -putenv( str )/* -=============== - Take a string of the form NAME=value and stick it into the environment. - We do this by allocating a new set of pointers if we have to add a new - string and by replacing an existing pointer if the value replaces the value - of an existing string. */ -char *str; -{ - extern char **environ; /* The current environment. */ - static char **ourenv = NULL; /* A new environment */ - register char **p; - register char *q; - int size; - - /* First search the current environment and see if we can replace a - * string. */ - for( p=environ; *p; p++ ) { - register char *s = str; - - for( q = *p; *q && *s && *s == *q; q++, s++ ) - if( *s == '=' ) { - *p = str; - return(0); /* replaced it so go away */ - } - } - - /* Ok, can't replace a string so need to grow the environment. */ - size = p - environ + 2; /* size of new environment */ - /* size of old is size-1 */ - - /* It's the first time, so allocate a new environment since we don't know - * where the old one is comming from. */ - if( ourenv == NULL ) { - if( (ourenv = (char **) malloc( sizeof(char *)*size )) == NULL ) - return(1); - - memcpy( (char *)ourenv, (char *)environ, (size-2)*sizeof(char *) ); - } - else if( (ourenv = (char **)realloc( ourenv, size*sizeof(char *))) == NULL ) - return(1); - - ourenv[--size] = NULL; - ourenv[--size] = str; - - environ = ourenv; - return(0); -} diff --git a/dmake/tos/ruletab.c b/dmake/tos/ruletab.c deleted file mode 100644 index 2631131a8d7a..000000000000 --- a/dmake/tos/ruletab.c +++ /dev/null @@ -1,42 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.2 2006-04-20 12:18:01 hr Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -static char *_rules[] = { - "MAXPROCESSLIMIT := 1", - "MAXPROCESS := 1", - "MAXLINELENGTH := 8190", - ".IMPORT .IGNORE: ROOTDIR DMAKEROOT", - ".MAKEFILES : makefile.mk Makefile makefile", - ".SOURCE : .NULL", -#include "startup.h" - 0 }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ diff --git a/dmake/tos/startup.h b/dmake/tos/startup.h deleted file mode 100644 index 30a91342c718..000000000000 --- a/dmake/tos/startup.h +++ /dev/null @@ -1,28 +0,0 @@ -/* RCS $Id: startup.h,v 1.2 2006-04-20 12:18:14 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"DMAKEROOT *:= $(ROOTDIR)/etc/startup", -"MAKESTARTUP := $(DMAKEROOT)/startup.mk", diff --git a/dmake/tos/sysintf.h b/dmake/tos/sysintf.h deleted file mode 100644 index da9974365c11..000000000000 --- a/dmake/tos/sysintf.h +++ /dev/null @@ -1,45 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.2 2007-01-18 09:43:39 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) (void) void_lcache(l,m) -#define Hook_std_writes(A) -#define GETPID getpid() - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define getswitchar() '-' - -/* -** make parameters -*/ diff --git a/dmake/tos/template.mk b/dmake/tos/template.mk deleted file mode 100644 index 91ce656f14b0..000000000000 --- a/dmake/tos/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= tos - OSRELEASE *:= - OSENVIRONMENT *:= diff --git a/dmake/tos/tempnam.c b/dmake/tos/tempnam.c deleted file mode 100644 index 8c0e3077d65a..000000000000 --- a/dmake/tos/tempnam.c +++ /dev/null @@ -1,104 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - - -/*LINTLIBRARY*/ -#include -#include -#include - -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); - -static char *cpdir(); -static char *seed="AAA"; - -/* BSD stdio.h doesn't define P_tmpdir, so let's do it here */ -#ifndef P_tmpdir -static char *P_tmpdir = "/tmp"; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+16))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (access( cpdir(p, tmpdir), 3) != 0) ) - if( (dl == 0) || (access( cpdir(p, dir), 3) != 0) ) - if( access( cpdir(p, P_tmpdir), 3) != 0 ) - if( access( cpdir(p, "/tmp"), 3) != 0 ) - return(NULL); - - (void) strcat(p, "/"); - if(prefix) - { - *(p+strlen(p)+5) = '\0'; - (void)strncat(p, prefix, 5); - } - - (void)strcat(p, seed); - (void)strcat(p, "XXXXXX"); - - q = seed; - while(*q == 'Z') *q++ = 'A'; - ++*q; - - if(*mktemp(p) == '\0') return(NULL); - return(p); -} - - - -static char * -cpdir(buf, str) -char *buf; -char *str; -{ - char *p; - - if(str != NULL) - { - (void) strcpy(buf, str); - p = buf - 1 + strlen(buf); - if(*p == '/') *p = '\0'; - } - - return(buf); -} diff --git a/dmake/unix/386ix/ar.h b/dmake/unix/386ix/ar.h deleted file mode 100644 index 4c38e8944e99..000000000000 --- a/dmake/unix/386ix/ar.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: ar.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- ar header --- --- DESCRIPTION --- Make sure that PORTAR is defined. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define PORTAR 1 -#include "/usr/include/ar.h" diff --git a/dmake/unix/386ix/config.mk b/dmake/unix/386ix/config.mk deleted file mode 100644 index 4c1eac92b94d..000000000000 --- a/dmake/unix/386ix/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the 386IX UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/386ix/make.sh b/dmake/unix/386ix/make.sh deleted file mode 100644 index 68e0109bb576..000000000000 --- a/dmake/unix/386ix/make.sh +++ /dev/null @@ -1,60 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/386ix -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/386ix -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/386ix -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/386ix -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/386ix -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/386ix -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/386ix -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/386ix -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/386ix -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/386ix -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/386ix -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/386ix -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/386ix -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/386ix -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/386ix -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/386ix -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/386ix -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/386ix -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/386ix -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/386ix -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/386ix -O unix/dcache.c -mv dcache.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/386ix/template.mk startup/config.mk diff --git a/dmake/unix/386ix/public.h b/dmake/unix/386ix/public.h deleted file mode 100644 index 25a7778312be..000000000000 --- a/dmake/unix/386ix/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:53:49 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/386ix/stdlib.h b/dmake/unix/386ix/stdlib.h deleted file mode 100644 index 1ec47228432b..000000000000 --- a/dmake/unix/386ix/stdlib.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); -extern free(); -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/386ix/template.mk b/dmake/unix/386ix/template.mk deleted file mode 100644 index e59d37c7ca72..000000000000 --- a/dmake/unix/386ix/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= 386ix - OSENVIRONMENT *:= diff --git a/dmake/unix/386ix/time.h b/dmake/unix/386ix/time.h deleted file mode 100644 index aff117b02ade..000000000000 --- a/dmake/unix/386ix/time.h +++ /dev/null @@ -1,35 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Properly define time_t. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* -** Berkeley get this wrong! -*/ -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/unix/Makefile.am b/dmake/unix/Makefile.am deleted file mode 100755 index e92c23ae9275..000000000000 --- a/dmake/unix/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ - -noinst_LIBRARIES = libunix.a - -libunix_a_SOURCES = arlib.c dcache.c dirbrk.c rmprq.c ruletab.c runargv.c tempnam.c - - -INCLUDES = -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/unix/@OS_VERSION@/gnu -I$(top_srcdir)/unix -I$(top_srcdir)/unix/@OS_VERSION@ diff --git a/dmake/unix/Makefile.in b/dmake/unix/Makefile.in deleted file mode 100755 index c46390514170..000000000000 --- a/dmake/unix/Makefile.in +++ /dev/null @@ -1,396 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -LIBOBJDIR = -subdir = unix -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru -libunix_a_AR = $(AR) $(ARFLAGS) -libunix_a_LIBADD = -am_libunix_a_OBJECTS = arlib.$(OBJEXT) dcache.$(OBJEXT) \ - dirbrk.$(OBJEXT) rmprq.$(OBJEXT) ruletab.$(OBJEXT) \ - runargv.$(OBJEXT) tempnam.$(OBJEXT) -libunix_a_OBJECTS = $(am_libunix_a_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libunix_a_SOURCES) -DIST_SOURCES = $(libunix_a_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUG_FALSE = @DBUG_FALSE@ -DBUG_TRUE = @DBUG_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DMAKEROOT_H_LINE1 = @DMAKEROOT_H_LINE1@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OS_LIBRARY = @OS_LIBRARY@ -OS_SUBDIRS = @OS_SUBDIRS@ -OS_TYPE = @OS_TYPE@ -OS_VERSION = @OS_VERSION@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -noinst_LIBRARIES = libunix.a -libunix_a_SOURCES = arlib.c dcache.c dirbrk.c rmprq.c ruletab.c runargv.c tempnam.c -INCLUDES = -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/unix/@OS_VERSION@/gnu -I$(top_srcdir)/unix -I$(top_srcdir)/unix/@OS_VERSION@ -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign unix/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign unix/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -libunix.a: $(libunix_a_OBJECTS) $(libunix_a_DEPENDENCIES) - -rm -f libunix.a - $(libunix_a_AR) libunix.a $(libunix_a_OBJECTS) $(libunix_a_LIBADD) - $(RANLIB) libunix.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arlib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dcache.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirbrk.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmprq.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ruletab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runargv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempnam.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/dmake/unix/arlib.c b/dmake/unix/arlib.c deleted file mode 100644 index 3a667f08188f..000000000000 --- a/dmake/unix/arlib.c +++ /dev/null @@ -1,610 +0,0 @@ -/* $RCSfile: arlib.c,v $ --- $Revision: 1.5 $ --- last change: $Author: hr $ $Date: 2006-04-20 12:18:37 $ --- --- SYNOPSIS --- Unix archive manipulation code. --- --- DESCRIPTION --- Originally this code was provided by Eric Gisin of MKS. I took --- his code and completely rewrote it adding cacheing of lib members --- and other various optimizations. I kept the overal functional --- idea of the library routines as they are similar to those in GNU --- make and felt it advantageous to maintain a similar interface. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* Sun unix on 386i's has a broken ar.h that does not assume PORTAR format - * by default, so we fix it here. */ -#if defined(i386) || defined(__DGUX__) -#define PORTAR 1 -#endif - -#if !defined (COHERENT) && !defined(__COHERENT__) -#include -#else -#include -#endif /* COHERENT, __COHERENT__ */ -#include "extern.h" -#include "sysintf.h" - -/* By defining the defines below it is possible to configure the library - * code for library cacheing/non-cacheing, ASCII archive headers, and a full - * decode of the ar_hdr fields in the scan_ar function. */ - -#ifndef ASCARCH -#define ASCARCH 1 /* ASCII time stored in archive */ -#endif - -#ifndef LC -#define LC 1 /* Turn on library cacheing */ -#endif - -#ifndef CHECKELF -#define CHECKELF 1 /* Enable Elf long member names */ -#endif - -#ifndef DECODE_ALL_AR_FIELDS -#define DECODE_ALL_AR_FIELDS 0 /* decode only fields make needs*/ -#endif - -#ifndef AR_TRUNCATE_MEMBER_NAMES -#define AR_TRUNCATE_MEMBER_NAMES 0 /* truncate member names for */ -#endif /* comparison. */ - -#if LC -# define FOUND_MEMBER FALSE -#else -# define FOUND_MEMBER TRUE -# define _cache_member(a, b, c) -# define _check_cache(a, b, c, d) FALSE -#endif - -#define MAXFNAME 255 /* Max length of member name */ -#define MAXMNAME 8 /* Max module name < MAXFNAME */ - - -/* This struct is used to pass the library and member inrmation about the - * routines that perform the library seeking/cacheing */ -struct ar_args { - char *lib; - char *member; - time_t time; -}; - - -typedef struct AR { - char ar_name[MAXFNAME+1]; /* File name */ - long ar_size; /* Size in bytes */ - time_t ar_time; /* Modification time */ - -#ifdef DOS - char ar_modname[MAXMNAME+1]; /* DOS module name */ -#endif - -#if DECODE_ALL_AR_FIELDS - uint16 ar_mode; /* File mode */ - uint16 ar_uid; /* File owner */ - uint16 ar_gid; /* File group owner */ -#endif -} AR, *ARPTR; - - -static int ar_scan ANSI((FILE *, - int (*) ANSI((FILE *, struct AR *,struct ar_args *)), - struct ar_args *)); -static int ar_touch ANSI(( FILE *, time_t )); -static int time_function ANSI(( FILE *, struct AR *, struct ar_args * )); -static int touch_function ANSI(( FILE *, struct AR *, struct ar_args * )); -static int ar_name_equal ANSI((char *, char *)); - -#if LC -static int _cache_member ANSI((char *, char *, time_t)); -static int _check_cache ANSI((char *, char *, time_t *, int)); -#endif - -/* decoded archive header */ -static AR _ar; -static off_t arhdroffset; /* member seek offset */ - - -PUBLIC time_t -seek_arch(name, lib)/* -====================== - Look for module 'name' inside 'lib'. If compiled with cacheing then first - check to see if the specified lib is cached. If so then return that time - stamp instead of looking into the library. */ -char *name; -char *lib; -{ - FILE *f; - int rv; - time_t mtime; - struct ar_args args; - - /* Check the cache first (if there is a cache) */ - if( _check_cache(name, lib, &mtime, FALSE) ) return( mtime ); - - /* Open the lib file and perform the scan of the members, looking - * for our particular member. If cacheing is enabled it will be - * taken care of automatically during the scan. */ - - args.lib = lib; - args.member = name; - args.time = (time_t)0L; - - if( (f = fopen(lib, "r")) == NIL(FILE) ) return( (time_t)0L ); - rv = ar_scan(f, time_function, &args ); - fclose( f ); - - if( rv < 0 ) Fatal("(%s): Invalid library format", lib); - - return( args.time ); -} - - -PUBLIC int -touch_arch(name, lib)/* -======================= - Look for module 'name' inside 'lib'. If compiled with cacheing then first - check to see if the specified lib is cached. If so then set that time - stamp and write it into the library. Returns 0 on success, non-zero - on failure. */ -char *name; -char *lib; -{ - FILE *f; - int rv; - struct ar_args args; - - /* Open the lib file and perform the scan of the members, looking - * for our particular member. If cacheing is enabled it will be - * taken care of automatically during the scan. */ - - args.lib = lib; - args.member = name; - args.time = (time_t)0L; - - if( (f = fopen(lib, "r+")) == NIL(FILE) ) return( (time_t)1L ); - rv = ar_scan(f, touch_function, &args ); - fclose( f ); - - if( rv < 0 ) Fatal("(%s): Invalid library format", lib); - - return( 0 ); -} - - - -static int -time_function(f, arp, argp)/* -============================= - get library member's time, if it matches than return it in argp, if - cacheing is enabled than cache the library members also. */ -FILE *f; /* library file */ -struct AR *arp; /* library member header */ -struct ar_args *argp; -{ - int rv = _cache_member( arp->ar_name, argp->lib, arp->ar_time ); - - if( ar_name_equal (argp->member, arp->ar_name)) { - argp->time = arp->ar_time; - - if( arp->ar_time == 0 && !(Glob_attr & A_SILENT) ) - Warning( "(%s): Can't extract library member timestamp; using EPOCH", - argp->member); - - return( rv ); /* 1 => no cacheing, 0 => cacheing */ - } - - return( FALSE ); /* continue scan */ -} - - - -static int -touch_function(f, arp, argp)/* -============================== - Update library member's time stamp, and write new time value into cache - if required. */ -FILE *f; /* library file */ -struct AR *arp; /* library member header */ -struct ar_args *argp; -{ - extern time_t time ANSI(( time_t * )); - time_t now = time((time_t*) NULL); /* Current time. */ - - if( ar_name_equal(argp->member, arp->ar_name) ) { - _check_cache( argp->member, argp->lib, &now, TRUE ); - ar_touch(f, now ); - - return( TRUE ); - } - - return( FALSE ); /* continue scan */ -} - - -static int -ar_name_equal (char * name1, char * name2) -{ - int equal; - -#if AR_TRUNCATE_MEMBER_NAMES - struct ar_hdr hdr; - - equal = !strncmp (name1, name2, sizeof (hdr.ar_name)-1); -#else - equal = !strcmp (name1, name2); -#endif - - return equal; -} - - -static int -ar_scan(f, function, arg)/* -=========================== - Scan the opened archive, and call the given function for each member found. - The function will be called with the file positioned at the beginning of - the member and it can read up to arp->ar_size bytes of the archive member. - If the function returns 1, we stop and return 1. We return 0 at the end - of the archive, or -1 if the archive has invalid format. This interface - is more general than required by "make", but it can be used by other - utilities. */ -register FILE *f; -int (*function) ANSI((FILE *, struct AR *, struct ar_args *)); -struct ar_args *arg; -{ - extern long atol (); - register char *p; - struct ar_hdr arhdr; /* archive member header */ - long nsize; /* size of member name */ - long arind=0; /* archive index offset */ - int process; -#if defined(_AIX) - struct fl_hdr flhdr; /* archive file header */ - char magic[SAIAMAG]; /* size of magic string */ -#else -#if ASCARCH - char magic[SARMAG]; -#else - unsigned short word; -#endif -#endif - - fseek( f, 0L, 0 ); /* Start at the beginning of the archive file */ - -#if ASCARCH -#if defined(_AIX) - fread( (char *)&flhdr, sizeof(flhdr), 1, f ); - if( strncmp(flhdr.fl_magic,AIAMAG, SAIAMAG) != 0 ) return(-1); - fseek(f, atol(flhdr.fl_fstmoff), 0 ); /* postition to first member */ -#else - fread( magic, sizeof(magic), 1, f ); - if( strncmp(magic, ARMAG, SARMAG) != 0 ) return( -1 ); -#endif -#else - fread( (char*)&word, sizeof(word), 1, f ); - if( word != ARMAG ) return( -1 ); -#endif - - /* scan the library, calling `function' for each member - */ - while( 1 ) { - arhdroffset = ftell(f); -#if defined(_AIX) - if( fread((char*)&arhdr,sizeof(arhdr)-sizeof(arhdr._ar_name),1,f)!=1) - break; - nsize = atoi(arhdr.ar_namlen); - fseek(f, arhdroffset+(unsigned long)(((struct ar_hdr *)0)->_ar_name.ar_name), 0); - if( fread((char*)_ar.ar_name,nsize,1,f)!=1) - break; - _ar.ar_name[nsize]='\0'; -#else - if( fread((char*) &arhdr, sizeof(arhdr), 1, f) != 1 ) break; - strncpy(_ar.ar_name, arhdr.ar_name, nsize = sizeof(arhdr.ar_name)); -#endif - - for( p = &_ar.ar_name[nsize]; - --p >= _ar.ar_name && *p == ' ';); - - p[1] = '\0'; - if( *p == '/' ) *p = 0; /* SysV has trailing '/' */ - - /* check to see if this is an archive index using SsysV Index scheme. - * see ar(4) man page for more info */ -#if CHECKELF - if( _ar.ar_name[0] == '/' && _ar.ar_name[1] == '\0' ) { - arind = arhdroffset+sizeof(arhdr); - process = 0; - } - else -#endif - process = 1; - -#if !defined(_AIX) -#if ASCARCH - if( strncmp(arhdr.ar_fmag, ARFMAG, sizeof(arhdr.ar_fmag)) != 0 ) - return( -1 ); - _ar.ar_time = atol(arhdr.ar_date); - _ar.ar_size = atol(arhdr.ar_size); -#else - _ar.ar_time = arhdr.ar_date; - _ar.ar_size = arhdr.ar_size; -#endif -#if CHECKELF - /* check for names of the form /xxxx where xxxx is an offset into the - * name table pointed at by arind. */ - if(arind && _ar.ar_name[0] == '/') { - long offset = atol(_ar.ar_name+1); - long here = ftell(f); - int c; - - fseek(f, arind+offset, 0); - p = _ar.ar_name; - while((c=fgetc(f)) != EOF) { - *p++ = c; - if(c == '/') { - p[-1] = '\0'; - break; - } - } - - if (c==EOF) return(-1); /* 'c' should never be EOF */ - fseek(f, here, 0); - } -#endif -#else -#if ASCARCH - _ar.ar_time = atol(arhdr.ar_date); - _ar.ar_size = atol(arhdr.ar_nxtmem); -#else - _ar.ar_time = arhdr.ar_date; - _ar.ar_size = arhdr.ar_nxtmem; -#endif -#endif - - -#if DECODE_ALL_AR_FIELDS -#if ASCARCH - _ar.ar_mode = atoi(arhdr.ar_mode); - _ar.ar_uid = atoi(arhdr.ar_uid); - _ar.ar_gid = atoi(arhdr.ar_gid); -#else - _ar.ar_mode = arhdr.ar_mode; - _ar.ar_uid = arhdr.ar_uid; - _ar.ar_gid = arhdr.ar_gid; -#endif -#endif - if( process && (*function)(f, &_ar, arg) ) return( 1 ); - -#if defined(_AIX) - if( _ar.ar_size == 0L ) break; - fseek( f, (long) _ar.ar_size, 0 ); -#else - fseek( f, arhdroffset + sizeof(arhdr) + ((_ar.ar_size+1) & ~1L), 0 ); -#endif - } - -#if !defined(_AIX) - if( !feof(f) ) return( -1 ); -#endif - return 0; -} - - - -static int -ar_touch( f, now )/* -==================== - touch module header timestamp. */ -FILE *f; -time_t now; -{ - - fseek(f, arhdroffset + (unsigned long)(((struct ar_hdr *)0)->ar_date), 0); - -#if ASCARCH - fprintf(f, "%lu", now); -#else - fwrite((char *)now, sizeof(now), 1, f); -#endif - - return( ferror(f) ? 0 : 1 ); -} - - -#if LC -typedef struct mem { - time_t m_time; /* modify time of member*/ - struct mem *m_next; /* next member in lib */ - char m_valid; /* valid cache entry */ - char m_name[1]; /* lib member name */ -} MEM, *MEMPTR; - -typedef struct lib { - struct lib *lb_next; /* next library in list */ - struct mem *lb_members; /* list of lib members */ - char lb_valid; /* valid cache entry */ - char *lb_name; /* library name */ -} LIB, *LIBPTR; - -static LIBPTR _cache = NIL(LIB); -static MEMPTR _find_member ANSI(( LIBPTR, char * )); - -static int -_check_cache( name, lib, pmtime, touch )/* -========================================== - Check to see if we have cached member in lib, if so return time in pmtime - and return TRUE, otherwise return FALSE, if touch is TRUE then touch - the archive member instead. */ -char *name; -char *lib; -time_t *pmtime; -int touch; -{ - register MEMPTR mp; - register LIBPTR lp; - - for( lp=_cache; lp != NIL(LIB) && lp->lb_name != lib; lp=lp->lb_next ); - if( lp == NIL(LIB) ) return( FALSE ); - - mp = _find_member( lp, name ); - if( mp == NIL(MEM) || !mp->m_valid ) return( FALSE ); - - if( touch == TRUE ) - { - mp->m_time = *pmtime; - mp->m_valid = 1; - } - else - *pmtime = mp->m_time; - - lp->lb_valid = 1; - lp->lb_members = mp; - - return( TRUE ); -} - - - -static int -_cache_member( name, lib, mtime )/* -=================================== - Cache name in lib along with it's time */ -char *name; -char *lib; -time_t mtime; -{ - register MEMPTR mp; - register LIBPTR lp; - - for( lp=_cache; - lp != NIL(LIB) && lp->lb_name != NIL(char) && lp->lb_name != lib; - lp=lp->lb_next); - - if( lp == NIL(LIB) ) - { - lp = (LIBPTR) malloc(sizeof(LIB)); - if( lp == NIL(LIB) ) No_ram(); - - lp->lb_name = lib; - lp->lb_members = NIL(MEM); - lp->lb_next = _cache; - lp->lb_valid = 0; - _cache = lp; - } - - /* On UNIX ar does not allow multiple copies of the same .o file to live - * in the same AR file. If this is not TRUE then use the commented out - * version to set the value of mp. */ - - /*mp = _find_member(lp, name);*/ - mp = NIL(MEM); - - if( mp == NIL(MEM) ) - { - mp = (MEMPTR) malloc(sizeof(char)*offsetof(MEM,m_name[strlen(name)+1])); - if( mp == NIL(MEM) ) No_ram(); - - strcpy( mp->m_name, name ); - mp->m_time = mtime; - - if( lp->lb_members == NIL(MEM) ) { - mp->m_next = mp; - lp->lb_members = mp; - } - else { - mp->m_next = lp->lb_members->m_next; - lp->lb_members->m_next = mp; - lp->lb_members = mp; - } - } - else - mp->m_time = mtime; - - mp->m_valid = 1; - - return( lp->lb_valid ); -} - - -static MEMPTR -_find_member( lp, name ) -LIBPTR lp; -char *name; -{ - register MEMPTR mp = lp->lb_members; - - if( mp == NIL(MEM) ) return(mp); - - do { - if( !strcmp(mp->m_name, name ) ) return( mp ); - mp = mp->m_next; - } - while( mp != lp->lb_members ); - - return( NIL(MEM) ); -} -#endif - - - -PUBLIC void -void_lcache( lib, member )/* -============================ - Void the library cache for lib. If member is NIL(char) then nuke all - of the members, if member is NOT NIL(char) then invalidate only that - member. */ -char *lib; -char *member; -{ -#if LC - register LIBPTR lp; - register MEMPTR mp; - register MEMPTR tmp; - - for( lp=_cache; lp != NIL(LIB) && lp->lb_name != lib; lp=lp->lb_next ); - if( lp == NIL(LIB) ) return; - - if( member == NIL(char) ) { - mp = lp->lb_members; - do { - tmp = mp->m_next; - (void) free( mp ); - mp = tmp; - } while( mp != lp->lb_members ); - - lp->lb_valid = 0; - lp->lb_members = NIL(MEM); - lp->lb_name = NIL(char); - } - else { - mp=lp->lb_members; - do { - if( strcmp( member, mp->m_name) == 0 ) { - lp->lb_members = mp->m_next; - mp->m_valid = 0; - } - - mp=mp->m_next; - } while( mp != lp->lb_members ); - } -#endif -} diff --git a/dmake/unix/bsd43/config.mk b/dmake/unix/bsd43/config.mk deleted file mode 100644 index e99937342e68..000000000000 --- a/dmake/unix/bsd43/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the BSD 4.3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following sources are required for BSD4.3 -OSDSRC := putenv.c tempnam.c utime.c setvbuf.c -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local BSD includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/bsd43/dirent.h b/dmake/unix/bsd43/dirent.h deleted file mode 100644 index 82f910ed3a7d..000000000000 --- a/dmake/unix/bsd43/dirent.h +++ /dev/null @@ -1,28 +0,0 @@ -/* RCS $Id: dirent.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- dirent --- --- DESCRIPTION --- Deal with sysV'ish dirent.h on BSD4.3 systems, which have the stuff --- in sys/dir.h --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#define dirent direct diff --git a/dmake/unix/bsd43/limits.h b/dmake/unix/bsd43/limits.h deleted file mode 100644 index a08805d00d66..000000000000 --- a/dmake/unix/bsd43/limits.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: limits.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- limits --- --- DESCRIPTION --- Compensate for systems that don't have a limits.h header file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include - -#define NAME_MAX MAXNAMLEN -#define PATH_MAX MAXPATHLEN -#define CHILD_MAX 20 diff --git a/dmake/unix/bsd43/make.sh b/dmake/unix/bsd43/make.sh deleted file mode 100644 index e45d01952f46..000000000000 --- a/dmake/unix/bsd43/make.sh +++ /dev/null @@ -1,69 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/bsd43 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/bsd43/putenv.c -mv putenv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/bsd43/tempnam.c -mv tempnam.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/bsd43/utime.c -mv utime.o objects -cc -c -I. -Iunix -Iunix/bsd43 -O unix/bsd43/setvbuf.c -mv setvbuf.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o \ -objects/dcache.o objects/putenv.o objects/tempnam.o objects/utime.o objects/setvbuf.o -cp unix/bsd43/template.mk startup/config.mk diff --git a/dmake/unix/bsd43/public.h b/dmake/unix/bsd43/public.h deleted file mode 100644 index 1a08478125b6..000000000000 --- a/dmake/unix/bsd43/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:54:02 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/bsd43/putenv.c b/dmake/unix/bsd43/putenv.c deleted file mode 100644 index d0ed998158e0..000000000000 --- a/dmake/unix/bsd43/putenv.c +++ /dev/null @@ -1,78 +0,0 @@ -/* RCS $Id: putenv.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- My own putenv for BSD like systems. --- --- DESCRIPTION --- This originally came from MKS, but I rewrote it to fix a bug with --- replacing existing strings, probably never happened but the code --- was wrong nonetheless. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include - -int -putenv( str )/* -=============== - Take a string of the form NAME=value and stick it into the environment. - We do this by allocating a new set of pointers if we have to add a new - string and by replacing an existing pointer if the value replaces the value - of an existing string. */ -char *str; -{ - extern char **environ; /* The current environment. */ - static char **ourenv = NULL; /* A new environment */ - register char **p; - register char *q; - int size; - - /* First search the current environment and see if we can replace a - * string. */ - for( p=environ; *p; p++ ) { - register char *s = str; - - for( q = *p; *q && *s && *s == *q; q++, s++ ) - if( *s == '=' ) { - *p = str; - return(0); /* replaced it so go away */ - } - } - - /* Ok, can't replace a string so need to grow the environment. */ - size = p - environ + 2; /* size of new environment */ - /* size of old is size-1 */ - - /* It's the first time, so allocate a new environment since we don't know - * where the old one is comming from. */ - if( ourenv == NULL ) { - if( (ourenv = (char **) malloc( sizeof(char *)*size )) == NULL ) - return(1); - - memcpy( (char *)ourenv, (char *)environ, (size-2)*sizeof(char *) ); - } - else if( (ourenv = (char **)realloc( ourenv, size*sizeof(char *))) == NULL ) - return(1); - - ourenv[--size] = NULL; - ourenv[--size] = str; - - environ = ourenv; - return(0); -} diff --git a/dmake/unix/bsd43/setvbuf.c b/dmake/unix/bsd43/setvbuf.c deleted file mode 100644 index ce5d193fbe89..000000000000 --- a/dmake/unix/bsd43/setvbuf.c +++ /dev/null @@ -1,40 +0,0 @@ -/* RCS $Id: setvbuf.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- Setvbuf for BSD --- --- DESCRIPTION --- A sysv call, standard BSD doesn't have this. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include - -setvbuf(fp, bp, type, len_unused) -FILE* fp; -char* bp; -int type; -int len_unused; -{ - switch (type) { - case _IOLBF: setlinebuf(fp); return; - case _IONBF: setbuf(fp, NULL); return; - default: setbuf(fp, bp); return; - } -} - diff --git a/dmake/unix/bsd43/stdlib.h b/dmake/unix/bsd43/stdlib.h deleted file mode 100644 index 82ab9627cd65..000000000000 --- a/dmake/unix/bsd43/stdlib.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); -extern free(); -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/bsd43/string.h b/dmake/unix/bsd43/string.h deleted file mode 100644 index 862c17960a0b..000000000000 --- a/dmake/unix/bsd43/string.h +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: string.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- string function headers --- --- DESCRIPTION --- Supply correct definitions for certain string functions. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#ifndef STRING_h -#define STRING_h - -/* -** BSD does this wrong -*/ -#include - -#include "stdmacs.h" -extern char* strpbrk ANSI((char* src, char* any)); - -#ifndef DBUG -#define strchr(str,c) index(str,c) -#define strrchr(str,c) rindex(str,c) -#else -char *strchr ANSI((char*, char)); -char *strrchr ANSI((char*, char)); -#endif -#endif diff --git a/dmake/unix/bsd43/template.mk b/dmake/unix/bsd43/template.mk deleted file mode 100644 index 14a7cab8ed4b..000000000000 --- a/dmake/unix/bsd43/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= bsd43 - OSENVIRONMENT *:= diff --git a/dmake/unix/bsd43/tempnam.c b/dmake/unix/bsd43/tempnam.c deleted file mode 100644 index 12512ec9cb8b..000000000000 --- a/dmake/unix/bsd43/tempnam.c +++ /dev/null @@ -1,103 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include - -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); - -static char *cpdir(); -static char seed[4]="AAA"; - -/* BSD stdio.h doesn't define P_tmpdir, so let's do it here */ -#ifndef P_tmpdir -static char *P_tmpdir = "/tmp"; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+16))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (access( cpdir(p, tmpdir), 3) != 0) ) - if( (dl == 0) || (access( cpdir(p, dir), 3) != 0) ) - if( access( cpdir(p, P_tmpdir), 3) != 0 ) - if( access( cpdir(p, "/tmp"), 3) != 0 ) - return(NULL); - - (void) strcat(p, "/"); - if(prefix) - { - *(p+strlen(p)+5) = '\0'; - (void)strncat(p, prefix, 5); - } - - (void)strcat(p, seed); - (void)strcat(p, "XXXXXX"); - - q = seed; - while(*q == 'Z') *q++ = 'A'; - ++*q; - - if(*mktemp(p) == '\0') return(NULL); - return(p); -} - - - -static char * -cpdir(buf, str) -char *buf; -char *str; -{ - char *p; - - if(str != NULL) - { - (void) strcpy(buf, str); - p = buf - 1 + strlen(buf); - if(*p == '/') *p = '\0'; - } - - return(buf); -} diff --git a/dmake/unix/bsd43/utime.c b/dmake/unix/bsd43/utime.c deleted file mode 100644 index 9d26700d8006..000000000000 --- a/dmake/unix/bsd43/utime.c +++ /dev/null @@ -1,70 +0,0 @@ -/* RCS $Id: utime.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- utime --- --- DESCRIPTION --- Provide our own utime function. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include -#include - -int -utime(name, timep) -char* name; -time_t timep[2]; -{ - struct timeval tv[2], *tvp; - struct stat buf; - int fil; - char data; - - if (timep!=0) - { - tvp = tv, tv[0].tv_sec = timep[0], tv[1].tv_sec = timep[1]; - if (utimes(name, tvp)==0) - return (0); - } - - if (stat(name, &buf) != 0) - return (-1); - if (buf.st_size != 0) { - if ((fil = open(name, O_RDWR, 0666)) < 0) - return (-1); - if (read(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - lseek(fil, 0L, 0); - if (write(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - close(fil); - return (0); - } else if ((fil = creat(name, 0666)) < 0) { - return (-1); - } else { - close(fil); - return (0); - } -} diff --git a/dmake/unix/bsd43/uw/config.mk b/dmake/unix/bsd43/uw/config.mk deleted file mode 100644 index 1f94136f6d6e..000000000000 --- a/dmake/unix/bsd43/uw/config.mk +++ /dev/null @@ -1,17 +0,0 @@ -# This is the BSD 4.3 University of Waterloo (uw) UNIX configuration file -# for DMAKE -# It simply modifies the values of LDLIBS to include libuw.a -# so that vfprintf can be found. -# - -LDLIBS += -luw -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) -CFLAGS += -I$(osredir) - -# install script for UW's /usr/software hierarchy... -install: - mkdir ../bin; strip ./dmake; mv ./dmake ../bin - chmod a+rx ../bin/dmake ../bin - mkdir ../lib; chmod a+rx ../lib - cp $(STARTUPFILE) ../lib - chmod a+r ../lib/startup.mk diff --git a/dmake/unix/bsd43/uw/make.sh b/dmake/unix/bsd43/uw/make.sh deleted file mode 100644 index f23ecbb8ec44..000000000000 --- a/dmake/unix/bsd43/uw/make.sh +++ /dev/null @@ -1,69 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/bsd43/putenv.c -mv putenv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/bsd43/tempnam.c -mv tempnam.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/bsd43/utime.c -mv utime.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/uw -O unix/bsd43/setvbuf.c -mv setvbuf.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o \ -objects/dcache.o objects/putenv.o objects/tempnam.o objects/utime.o objects/setvbuf.o -luw -cp unix/bsd43/uw/template.mk startup/config.mk diff --git a/dmake/unix/bsd43/uw/public.h b/dmake/unix/bsd43/uw/public.h deleted file mode 100644 index fe2709c60023..000000000000 --- a/dmake/unix/bsd43/uw/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:54:14 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/bsd43/uw/template.mk b/dmake/unix/bsd43/uw/template.mk deleted file mode 100644 index 6afe91c1fc7a..000000000000 --- a/dmake/unix/bsd43/uw/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= bsd43 - OSENVIRONMENT *:= uw diff --git a/dmake/unix/bsd43/vf/config.mk b/dmake/unix/bsd43/vf/config.mk deleted file mode 100644 index bf4e64808d6c..000000000000 --- a/dmake/unix/bsd43/vf/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This config file adds vfprintf.c and memcpy.c for those systems that -# do not have it. -# - -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) -CFLAGS += -I$(osredir) - -# The following sources are required for BSD4.3 -OSDESRC := memcpy.c vfprintf.c -SRC += $(OSDESRC) -.SETDIR=$(osredir) : $(OSDESRC) diff --git a/dmake/unix/bsd43/vf/ctype.h b/dmake/unix/bsd43/vf/ctype.h deleted file mode 100644 index f229a9ab3967..000000000000 --- a/dmake/unix/bsd43/vf/ctype.h +++ /dev/null @@ -1,51 +0,0 @@ -/* RCS $Id: ctype.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- ctype --- --- DESCRIPTION --- ctype.h 4.2 85/09/04 --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define _U 01 -#define _L 02 -#define _N 04 -#define _S 010 -#define _P 020 -#define _C 040 -#define _X 0100 -#define _B 0200 - -extern char _ctype_[]; - -#define isalpha(c) ((_ctype_+1)[c]&(_U|_L)) -#define isupper(c) ((_ctype_+1)[c]&_U) -#define islower(c) ((_ctype_+1)[c]&_L) -#define isdigit(c) ((_ctype_+1)[c]&_N) -#define isxdigit(c) ((_ctype_+1)[c]&(_N|_X)) -#define isspace(c) ((_ctype_+1)[c]&_S) -#define ispunct(c) ((_ctype_+1)[c]&_P) -#define isalnum(c) ((_ctype_+1)[c]&(_U|_L|_N)) -#define isprint(c) ((_ctype_+1)[c]&(_P|_U|_L|_N|_B)) -#define isgraph(c) ((_ctype_+1)[c]&(_P|_U|_L|_N)) -#define iscntrl(c) ((_ctype_+1)[c]&_C) -#define isascii(c) ((unsigned)(c)<=0177) -#define toupper(c) ((c)-'a'+'A') -#define tolower(c) ((c)-'A'+'a') -#define toascii(c) ((c)&0177) diff --git a/dmake/unix/bsd43/vf/make.sh b/dmake/unix/bsd43/vf/make.sh deleted file mode 100644 index 231b683a80e6..000000000000 --- a/dmake/unix/bsd43/vf/make.sh +++ /dev/null @@ -1,73 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/putenv.c -mv putenv.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/tempnam.c -mv tempnam.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/utime.c -mv utime.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/setvbuf.c -mv setvbuf.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/vf/memcpy.c -mv memcpy.o objects -cc -c -I. -Iunix -Iunix/bsd43 -Iunix/bsd43/vf -O unix/bsd43/vf/vfprintf.c -mv vfprintf.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o \ -objects/dcache.o objects/putenv.o objects/tempnam.o objects/utime.o objects/setvbuf.o objects/memcpy.o objects/vfprintf.o -cp unix/bsd43/vf/template.mk startup/config.mk diff --git a/dmake/unix/bsd43/vf/memcpy.c b/dmake/unix/bsd43/vf/memcpy.c deleted file mode 100644 index 4ae47722e851..000000000000 --- a/dmake/unix/bsd43/vf/memcpy.c +++ /dev/null @@ -1,36 +0,0 @@ -/* RCS $Id: memcpy.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- memcpy --- --- DESCRIPTION --- BSD didn't have this in the library many moons ago. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -char * -memcpy(t, f, n) -register char *t, *f; -register n; -{ - register char *p = t; - - while( --n >= 0 ) *t++ = *f++; - - return (p); -} diff --git a/dmake/unix/bsd43/vf/public.h b/dmake/unix/bsd43/vf/public.h deleted file mode 100644 index 4483a04fe534..000000000000 --- a/dmake/unix/bsd43/vf/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:54:25 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/bsd43/vf/template.mk b/dmake/unix/bsd43/vf/template.mk deleted file mode 100644 index 395cd4718fa0..000000000000 --- a/dmake/unix/bsd43/vf/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= bsd43 - OSENVIRONMENT *:= vf diff --git a/dmake/unix/bsd43/vf/vfprintf.c b/dmake/unix/bsd43/vf/vfprintf.c deleted file mode 100644 index 675e2e83e5ab..000000000000 --- a/dmake/unix/bsd43/vf/vfprintf.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms are permitted - * provided that the above copyright notice and this paragraph are - * duplicated in all such forms and that any documentation, - * advertising materials, and other materials related to such - * distribution and use acknowledge that the software was developed - * by the University of California, Berkeley. The name of the - * University may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)vfprintf.c 5.2 (Berkeley) 6/27/88"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -int -vfprintf(iop, fmt, ap) - FILE *iop; - char *fmt; - va_list ap; -{ - int len; - char localbuf[BUFSIZ]; - - if (iop->_flag & _IONBF) { - iop->_flag &= ~_IONBF; - iop->_ptr = iop->_base = localbuf; - len = _doprnt(fmt, ap, iop); - (void) fflush(iop); - iop->_flag |= _IONBF; - iop->_base = NULL; - iop->_bufsiz = 0; - iop->_cnt = 0; - } else - len = _doprnt(fmt, ap, iop); - - return (ferror(iop) ? EOF : len); -} - diff --git a/dmake/unix/bsdarm32/config.mk b/dmake/unix/bsdarm32/config.mk deleted file mode 100644 index e99937342e68..000000000000 --- a/dmake/unix/bsdarm32/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the BSD 4.3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following sources are required for BSD4.3 -OSDSRC := putenv.c tempnam.c utime.c setvbuf.c -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local BSD includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/bsdarm32/dirent.h b/dmake/unix/bsdarm32/dirent.h deleted file mode 100644 index b50fa18a9d9e..000000000000 --- a/dmake/unix/bsdarm32/dirent.h +++ /dev/null @@ -1,30 +0,0 @@ -/* RCS $Id: dirent.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- dirent --- --- DESCRIPTION --- Deal with sysV'ish dirent.h on BSD4.3 systems, which have the stuff --- in sys/dir.h --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#define dirent direct - diff --git a/dmake/unix/bsdarm32/limits.h b/dmake/unix/bsdarm32/limits.h deleted file mode 100644 index 655d707bb4f6..000000000000 --- a/dmake/unix/bsdarm32/limits.h +++ /dev/null @@ -1,29 +0,0 @@ -/* RCS $Id: limits.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- limits --- --- DESCRIPTION --- Compensate for systems that don't have a limits.h header file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include - diff --git a/dmake/unix/bsdarm32/make.sh b/dmake/unix/bsdarm32/make.sh deleted file mode 100644 index f43dd9425774..000000000000 --- a/dmake/unix/bsdarm32/make.sh +++ /dev/null @@ -1,67 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/bsdarm32/putenv.c -mv putenv.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/bsdarm32/tempnam.c -mv tempnam.o objects -cc -c -I. -Iunix -Iunix/bsdarm32 -O unix/bsdarm32/utime.c -mv utime.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o \ -objects/dcache.o objects/putenv.o objects/tempnam.o objects/utime.o objects/setvbuf.o -cp unix/bsdarm32/template.mk startup/config.mk diff --git a/dmake/unix/bsdarm32/public.h b/dmake/unix/bsdarm32/public.h deleted file mode 100644 index f06831cdc264..000000000000 --- a/dmake/unix/bsdarm32/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:54:38 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/bsdarm32/putenv.c b/dmake/unix/bsdarm32/putenv.c deleted file mode 100644 index d0ed998158e0..000000000000 --- a/dmake/unix/bsdarm32/putenv.c +++ /dev/null @@ -1,78 +0,0 @@ -/* RCS $Id: putenv.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- My own putenv for BSD like systems. --- --- DESCRIPTION --- This originally came from MKS, but I rewrote it to fix a bug with --- replacing existing strings, probably never happened but the code --- was wrong nonetheless. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include - -int -putenv( str )/* -=============== - Take a string of the form NAME=value and stick it into the environment. - We do this by allocating a new set of pointers if we have to add a new - string and by replacing an existing pointer if the value replaces the value - of an existing string. */ -char *str; -{ - extern char **environ; /* The current environment. */ - static char **ourenv = NULL; /* A new environment */ - register char **p; - register char *q; - int size; - - /* First search the current environment and see if we can replace a - * string. */ - for( p=environ; *p; p++ ) { - register char *s = str; - - for( q = *p; *q && *s && *s == *q; q++, s++ ) - if( *s == '=' ) { - *p = str; - return(0); /* replaced it so go away */ - } - } - - /* Ok, can't replace a string so need to grow the environment. */ - size = p - environ + 2; /* size of new environment */ - /* size of old is size-1 */ - - /* It's the first time, so allocate a new environment since we don't know - * where the old one is comming from. */ - if( ourenv == NULL ) { - if( (ourenv = (char **) malloc( sizeof(char *)*size )) == NULL ) - return(1); - - memcpy( (char *)ourenv, (char *)environ, (size-2)*sizeof(char *) ); - } - else if( (ourenv = (char **)realloc( ourenv, size*sizeof(char *))) == NULL ) - return(1); - - ourenv[--size] = NULL; - ourenv[--size] = str; - - environ = ourenv; - return(0); -} diff --git a/dmake/unix/bsdarm32/stdlib.h b/dmake/unix/bsdarm32/stdlib.h deleted file mode 100644 index 82ab9627cd65..000000000000 --- a/dmake/unix/bsdarm32/stdlib.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); -extern free(); -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/bsdarm32/string.h b/dmake/unix/bsdarm32/string.h deleted file mode 100644 index c8abdf137696..000000000000 --- a/dmake/unix/bsdarm32/string.h +++ /dev/null @@ -1,42 +0,0 @@ -/* RCS $Id: string.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- string function headers --- --- DESCRIPTION --- Supply correct definitions for certain string functions. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - - -/* -** BSD does this wrong -*/ -#include - -#include "stdmacs.h" -extern char* strpbrk ANSI((const char* src, const char* any)); - -#ifndef DBUG -#define strchr(str,c) index(str,c) -#define strrchr(str,c) rindex(str,c) -#else -char *strchr ANSI((char*, char)); -char *strrchr ANSI((char*, char)); -#endif - diff --git a/dmake/unix/bsdarm32/template.mk b/dmake/unix/bsdarm32/template.mk deleted file mode 100644 index 830e9958394c..000000000000 --- a/dmake/unix/bsdarm32/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= bsdarm32 - OSENVIRONMENT *:= diff --git a/dmake/unix/bsdarm32/tempnam.c b/dmake/unix/bsdarm32/tempnam.c deleted file mode 100644 index a645f41abcf7..000000000000 --- a/dmake/unix/bsdarm32/tempnam.c +++ /dev/null @@ -1,105 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include - -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); - -static char *cpdir(); -static char seed[4]="AAA"; - -/* BSD stdio.h doesn't define P_tmpdir, so let's do it here */ -#ifndef P_tmpdir -static char *P_tmpdir = "/tmp"; -#endif - - -char * -tempnam(dir, prefix) -const char *dir; /* use this directory please (if non-NULL) */ -const char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+16))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (access( cpdir(p, tmpdir), 3) != 0) ) - if( (dl == 0) || (access( cpdir(p, dir), 3) != 0) ) - if( access( cpdir(p, P_tmpdir), 3) != 0 ) - if( access( cpdir(p, "/tmp"), 3) != 0 ) - return(NULL); - - (void) strcat(p, "/"); - if(prefix) - { - *(p+strlen(p)+5) = '\0'; - (void)strncat(p, prefix, 5); - } - - (void)strcat(p, seed); - (void)strcat(p, "XXXXXX"); - - q = seed; - while(*q == 'Z') *q++ = 'A'; - ++*q; - - if(*mktemp(p) == '\0') return(NULL); - return(p); -} - - - - -static char * -cpdir(buf, str) -char *buf; -char *str; -{ - char *p; - - if(str != NULL) - { - (void) strcpy(buf, str); - p = buf - 1 + strlen(buf); - if(*p == '/') *p = '\0'; - } - - return(buf); -} diff --git a/dmake/unix/bsdarm32/utime.c b/dmake/unix/bsdarm32/utime.c deleted file mode 100644 index 9d26700d8006..000000000000 --- a/dmake/unix/bsdarm32/utime.c +++ /dev/null @@ -1,70 +0,0 @@ -/* RCS $Id: utime.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- utime --- --- DESCRIPTION --- Provide our own utime function. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include -#include - -int -utime(name, timep) -char* name; -time_t timep[2]; -{ - struct timeval tv[2], *tvp; - struct stat buf; - int fil; - char data; - - if (timep!=0) - { - tvp = tv, tv[0].tv_sec = timep[0], tv[1].tv_sec = timep[1]; - if (utimes(name, tvp)==0) - return (0); - } - - if (stat(name, &buf) != 0) - return (-1); - if (buf.st_size != 0) { - if ((fil = open(name, O_RDWR, 0666)) < 0) - return (-1); - if (read(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - lseek(fil, 0L, 0); - if (write(fil, &data, 1) < 1) { - close(fil); - return (-1); - } - close(fil); - return (0); - } else if ((fil = creat(name, 0666)) < 0) { - return (-1); - } else { - close(fil); - return (0); - } -} diff --git a/dmake/unix/coherent/config.mk b/dmake/unix/coherent/config.mk deleted file mode 100644 index 9c5890c8065d..000000000000 --- a/dmake/unix/coherent/config.mk +++ /dev/null @@ -1,26 +0,0 @@ -# This is the COHERENT configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) -Dvoid=int - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/coherent/stdlib.h b/dmake/unix/coherent/stdlib.h deleted file mode 100644 index 82ab9627cd65..000000000000 --- a/dmake/unix/coherent/stdlib.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); -extern free(); -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/coherent/time.h b/dmake/unix/coherent/time.h deleted file mode 100644 index e3509ed8ec8b..000000000000 --- a/dmake/unix/coherent/time.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Properly define time_t. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/unix/coherent/ver40/config.mk b/dmake/unix/coherent/ver40/config.mk deleted file mode 100644 index df2a702ea02f..000000000000 --- a/dmake/unix/coherent/ver40/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This config file adds vfprintf.c and memcpy.c for those systems that -# do not have it. -# - -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) -CFLAGS += -I$(osredir) - -# The following sources are required for coherent version 4.0 -OSDESRC := vfprintf.c getcwd.c -SRC += $(OSDESRC) -.SETDIR=$(osredir) : $(OSDESRC) diff --git a/dmake/unix/coherent/ver40/getcwd.c b/dmake/unix/coherent/ver40/getcwd.c deleted file mode 100644 index cc2772494611..000000000000 --- a/dmake/unix/coherent/ver40/getcwd.c +++ /dev/null @@ -1,49 +0,0 @@ -/* RCS $Id: getcwd.c,v 1.1.1.1 2000-09-22 15:33:34 hr Exp $ --- --- SYNOPSIS --- getcwd --- --- DESCRIPTION --- Wrapper for getcwd. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if __STDC__ -char *getcwd(char *buffer, int length) -#else -char *getcwd (buffer, length) -char *buffer; -int length; -#endif -{ - extern char *getwd(); - - char *dir; - dir = getwd(); - if (dir) - { - strncpy(buffer,dir,length); - return buffer; - } - else - { - *buffer = 0; - return (char *) 0; - } -} - diff --git a/dmake/unix/coherent/ver40/make.sh b/dmake/unix/coherent/ver40/make.sh deleted file mode 100644 index 1a0c850452f0..000000000000 --- a/dmake/unix/coherent/ver40/make.sh +++ /dev/null @@ -1,64 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/coherent/ver40/vfprintf.c -mv vfprintf.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver40 -O unix/coherent/ver40/getcwd.c -mv getcwd.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/vfprintf.o objects/getcwd.o -cp unix/coherent/ver40/template.mk startup/config.mk diff --git a/dmake/unix/coherent/ver40/public.h b/dmake/unix/coherent/ver40/public.h deleted file mode 100644 index 63ae40f18087..000000000000 --- a/dmake/unix/coherent/ver40/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:54:51 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/coherent/ver40/template.mk b/dmake/unix/coherent/ver40/template.mk deleted file mode 100644 index ef23550cf651..000000000000 --- a/dmake/unix/coherent/ver40/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= coherent - OSENVIRONMENT *:= ver40 diff --git a/dmake/unix/coherent/ver40/vfprintf.c b/dmake/unix/coherent/ver40/vfprintf.c deleted file mode 100644 index 907230db2081..000000000000 --- a/dmake/unix/coherent/ver40/vfprintf.c +++ /dev/null @@ -1,190 +0,0 @@ -/* Portable vfprintf and vprintf by Robert A. Larson */ - -/* Copyright 1989 Robert A. Larson. - * Distribution in any form is allowed as long as the author - * retains credit, changes are noted by their author and the - * copyright message remains intact. This program comes as-is - * with no warentee of fitness for any purpouse. - * - * Thanks to Doug Gwen, Chris Torek, and others who helped clarify - * the ansi printf specs. - * - * Please send any bug fixes and improvments to blarson@skat.usc.edu . - * The use of goto is NOT a bug. - */ - -/* Feb 9, 1989 blarson First usenet release */ - -/* This code implements the vfprintf function, without relying on - * the existance of _doprint or other system specific code. - * - * Define NOVOID if void * is not a supported type. - * - * Two compile options are available for efficency: - * INTSPRINTF should be defined if sprintf is int and returns - * the number of chacters formated. - * LONGINT should be defined if sizeof(long) == sizeof(int) - * - * They only make the code smaller and faster, they need not be - * defined. - * - * UNSIGNEDSPECIAL should be defined if unsigned is treated differently - * than int in argument passing. If this is definded, and LONGINT is not, - * the compiler must support the type unsingned long. - * - * Most quirks and bugs of the available fprintf fuction are duplicated, - * however * in the width and precision fields will work correctly - * even if fprintf does not support this. The %n format and the return - * count will only work if fprintf returns the number of characters - * formatted. - * - * Bad format strings, or those with very long width and precision - * fields (including expanded * fields) will cause undesired results. - */ - -#ifdef OSK /* os9/68k can take advantage of both */ -#define INTSPRINTF -#define LONGINT -#endif -#define NOVOID 1 - -/* This must be a typedef not a #define! */ -#ifdef NOVOID -typedef char *pointer; -#else -typedef void *pointer; -#endif - -#include - -#ifdef INTSPRINTF -#define Sprintf(string,format,arg) (sprintf((string),(format),(arg))) -#else -#define Sprintf(string,format,arg) (\ - sprintf((string),(format),(arg)),\ - strlen(string)\ -) -#endif - -#include - -typedef int *intp; - -int vfprintf(dest, format, args) -FILE *dest; -register char *format; -va_list args; -{ - register char c; - register char *tp; - register int count = 0; - char tempfmt[64]; -#ifndef LONGINT - int longflag; -#endif - - tempfmt[0] = '%'; - while(c = *format++) { - if(c=='%') { - tp = &tempfmt[1]; -#ifndef LONGINT - longflag = 0; -#endif -continue_format: - switch(c = *format++) { - case 's': - *tp++ = c; - *tp = '\0'; - count += fprintf(dest, tempfmt, va_arg(args, char *)); - break; - case 'u': - case 'x': - case 'o': - case 'X': -#ifdef UNSIGNEDSPECIAL - *tp++ = c; - *tp = '\0'; -#ifndef LONGINT - if(longflag) - count += fprintf(dest, tempfmt, va_arg(args, unsigned long)); - else -#endif - count += fprintf(dest, tempfmt, va_arg(args, unsigned)); - break; -#endif - case 'd': - case 'c': - case 'i': - *tp++ = c; - *tp = '\0'; -#ifndef LONGINT - if(longflag) - count += fprintf(dest, tempfmt, va_arg(args, long)); - else -#endif - count += fprintf(dest, tempfmt, va_arg(args, int)); - break; - case 'f': - case 'e': - case 'E': - case 'g': - case 'G': - *tp++ = c; - *tp = '\0'; - count += fprintf(dest, tempfmt, va_arg(args, double)); - break; - case 'p': - *tp++ = c; - *tp = '\0'; - count += fprintf(dest, tempfmt, va_arg(args, pointer)); - break; - case '-': - case '+': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '.': - case ' ': - case '#': - case 'h': - *tp++ = c; - goto continue_format; - case 'l': -#ifndef LONGINT - longflag = 1; - *tp++ = c; -#endif - goto continue_format; - case '*': - tp += Sprintf(tp, "%d", va_arg(args, int)); - goto continue_format; - case 'n': - *va_arg(args, intp) = count; - break; - case '%': - default: - putc(c, dest); - count++; - break; - } - } else { - putc(c, dest); - count++; - } - } - return count; -} - -vprintf(format, args) -char *format; -va_list args; -{ - return vfprintf(stdout, format, args); -} diff --git a/dmake/unix/coherent/ver42/config.mk b/dmake/unix/coherent/ver42/config.mk deleted file mode 100644 index 2ff06b6b7917..000000000000 --- a/dmake/unix/coherent/ver42/config.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This config file adds vfprintf.c and memcpy.c for those systems that -# do not have it. -# - -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) -CFLAGS += -I$(osredir) - -# The following sources are required for Coherent version 4.2 -#OSDESRC := -#SRC += $(OSDESRC) -#.SETDIR=$(osredir) : $(OSDESRC) diff --git a/dmake/unix/coherent/ver42/make.sh b/dmake/unix/coherent/ver42/make.sh deleted file mode 100644 index bfc7f8252a5d..000000000000 --- a/dmake/unix/coherent/ver42/make.sh +++ /dev/null @@ -1,60 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/coherent -Dvoid=int -Iunix/coherent/ver42 -O unix/dcache.c -mv dcache.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/coherent/ver42/template.mk startup/config.mk diff --git a/dmake/unix/coherent/ver42/public.h b/dmake/unix/coherent/ver42/public.h deleted file mode 100644 index 3921d7ccda29..000000000000 --- a/dmake/unix/coherent/ver42/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:55:03 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/coherent/ver42/template.mk b/dmake/unix/coherent/ver42/template.mk deleted file mode 100644 index e5dd9f99ffac..000000000000 --- a/dmake/unix/coherent/ver42/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= coherent - OSENVIRONMENT *:= ver42 diff --git a/dmake/unix/config.mk b/dmake/unix/config.mk deleted file mode 100644 index a6859ceb3c50..000000000000 --- a/dmake/unix/config.mk +++ /dev/null @@ -1,39 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# PRINTER, PRINTFLAGS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# -PRINTER = hw -PRINTFLAGS = -P$(PRINTER) -STARTUPFILE = $(OS)/startup.mk -CPPFLAGS = $(CFLAGS) -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDFLAGS) -o $@ $(LDOBJS) $(LDLIBS) - -# Debug flags -DB_CFLAGS = -g -DDBUG -DB_LDFLAGS = -g -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -O -NDB_LDFLAGS = -O -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) - -# Sources that must be defined for each different version -OSSRC := arlib.c dirbrk.c rmprq.c ruletab.c runargv.c dcache.c -SRC += $(OSSRC) -.SETDIR=$(OS) : $(OSSRC) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE .IGNORE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/cygwin/public.h b/dmake/unix/cygwin/public.h deleted file mode 100644 index 02129e2b3d3a..000000000000 --- a/dmake/unix/cygwin/public.h +++ /dev/null @@ -1,172 +0,0 @@ -/* $RCSfile: public.h,v $ --- $Revision: 1.9 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:55:15 $ --- --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -const int in_quit ANSI((void)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - - -#endif diff --git a/dmake/unix/dcache.c b/dmake/unix/dcache.c deleted file mode 100644 index e0ebf59da553..000000000000 --- a/dmake/unix/dcache.c +++ /dev/null @@ -1,223 +0,0 @@ -/* $RCSfile: dcache.c,v $ --- $Revision: 1.9 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:52:47 $ --- --- SYNOPSIS --- Directory cache management routines. --- --- DESCRIPTION --- This is the code that maintains a directory cache for each directory --- that dmake visits. The entire directory is thus only read once and --- the need for performing costly 'stat' calls when performing target --- inference is much reduced. The improvement in performance should be --- significant for NFS or remote mounted file systems. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* For Borland 5.00 compile, for some reason they seem to insist on pulling - * in the winnt.h if __WIN32__ is defined and you include . This - * is, in my opinion, a BUG! on Borland's part. - */ -#if defined(__BORLANDC__) && defined(__WIN32__) -#undef __WIN32__ -#endif - -#ifdef __APPLE__ -#include -#endif -#include -#include "extern.h" -#include "sysintf.h" - - -typedef struct ent { - char *name; - uint32 hkey; - time_t mtime; - int isdir; - struct ent *next; -} Entry, *EntryPtr; - - -typedef struct mydir { - char *path; - uint32 hkey; - EntryPtr entries; - struct mydir *next; -} DirEntry, *DirEntryPtr; - -static DirEntryPtr dtab[HASH_TABLE_SIZE]; - - -/* Stat a path using the directory cache. - * - * We build a cannonical representation of the path using either an absolute - * path name if that is what 'path' is or the relative path name constructed - * from 'path' and the present value of Pwd. - * - * The present value of Pwd then gives a directory path that we search for - * in our cache using a hash lookup. If the directory component is located - * then we search the basename component of the path and return the result of - * the search: 0L if the component is not in the cache and it's time stamp - * otherwise. - * - * If the directory is not in our cache we insert it into the cache by - * openning the directory and reading all of the files within. Once read - * then we return the result of the above search. - * - * Optionally, if force is TRUE, and we did NOT read the directory to provide - * the result then stat the file anyway and update the internal cache. - */ - -PUBLIC time_t -CacheStat(path, force) -char *path; -int force; -{ - struct stat stbuf; - DirEntryPtr dp; - EntryPtr ep; - uint32 hkey; - uint16 hv; - char *fpath; - char *spath; - char *comp; - char *dir; - char *udir; /* Hold the unchanged (DcacheRespCase) directory. */ - int loaded=FALSE; - - if (If_root_path(path)) - spath = path; - else - spath = Build_path(Pwd,path); - - fpath = DmStrDup(spath); - - comp = Basename(fpath); /* Use before the Filedir() call. */ - dir = Filedir(fpath); - - /* do caching and comparing lower case if told so. */ - if( !STOBOOL(DcacheRespCase) ) { - udir = DmStrDup(dir); - strlwr(comp); - strlwr(dir); - } else - udir = dir; - - hv = Hash(dir,&hkey); - - for(dp=dtab[hv]; dp; dp=dp->next) - if (hkey == dp->hkey && strcmp(dp->path,dir) == 0) - break; - - if (!dp) { - /* Not cached yet, doing it now. */ - DIR *dirp; - struct dirent *direntp; - - if( Verbose & V_DIR_CACHE ) - printf( "%s: Caching directory [%s]\n", Pname, dir ); - - /* Load the directory, we have the right hash position already */ - loaded = TRUE; - - TALLOC(dp,1,DirEntry); - dp->next = dtab[hv]; - dtab[hv] = dp; - dp->path = DmStrDup(dir); - dp->hkey = hkey; - - /* We use the unchanged (not potentially lowercased because of - * DcacheRespCase) directory as this would fail on a case sensitive - * file system. - * Note: Using case insensitive directory caching on case sensitive - * file systems is a *BAD* idea. If in doubt use case sensitive - * directory caching even on case insensitive file systems as the - * worst case in this szenario is that /foo/bar/ and /foo/BAR/ are - * cached separately (with the same content) even though they are - * the same directory. This would only happen if different targets - * using different upper/lower case spellings for the same directory - * and is *never* a good idea. */ - if (Set_dir(udir) == 0) { - if((dirp=opendir(".")) != NIL(DIR)) { - while((direntp=readdir(dirp)) != NULL) { - TALLOC(ep,1,Entry); - ep->name = DmStrDup(direntp->d_name); /* basename only */ - if( !STOBOOL(DcacheRespCase) ) - strlwr(ep->name); - - Hash(ep->name, &ep->hkey); /* This sets ep->hkey. */ - - ep->next = dp->entries; - dp->entries = ep; - DMSTAT(direntp->d_name,&stbuf); - ep->isdir = (stbuf.st_mode & S_IFDIR); - ep->mtime = stbuf.st_mtime; - } - closedir(dirp); - } - Set_dir(Pwd); - } - } - - Hash(comp, &hkey); /* Calculate hkey. */ - - /* search in dp->entries for comp. */ - if (dp) { - for(ep=dp->entries; ep; ep=ep->next) - if(hkey == ep->hkey && strcmp(ep->name,comp) == 0) - break; - } - else - ep = NULL; - - if( force && !loaded) { - if (strlen(comp) > NameMax || DMSTAT(spath,&stbuf) != 0) { - /* Either file to long or the stat failed. */ - if (strlen(comp) > NameMax) - Warning( "File [%s] longer than value of NAMEMAX [%d].\n\ - Assume unix time 0.\n", comp, NameMax ); - if(ep) - ep->mtime = 0L; - } - else { - if (!ep) { - TALLOC(ep,1,Entry); - ep->name = DmStrDup(comp); - if( !STOBOOL(DcacheRespCase) ) - strlwr(ep->name); - Hash(ep->name, &ep->hkey); - ep->next = dp->entries; - ep->isdir = (stbuf.st_mode & S_IFDIR); - dp->entries = ep; - } - - ep->mtime = stbuf.st_mtime; - } - - if( Verbose & V_DIR_CACHE ) - printf("%s: Updating dir cache entry for [%s], new time is %ld\n", - Pname, spath, ep ? ep->mtime : 0L); - } - - if( udir != dir ) - FREE(udir); /* Keep this before the free of fpath. */ - - FREE(fpath); - return(!ep ? (time_t)0L : ((STOBOOL(Augmake) && ep->isdir)?0L:ep->mtime)); -} diff --git a/dmake/unix/dirbrk.c b/dmake/unix/dirbrk.c deleted file mode 100644 index 3032a58d4e96..000000000000 --- a/dmake/unix/dirbrk.c +++ /dev/null @@ -1,53 +0,0 @@ -/* RCS $Id: dirbrk.c,v 1.4 2007-10-15 15:52:59 ihi Exp $ --- --- SYNOPSIS --- Define the directory separator string. --- --- DESCRIPTION --- Define this string for any character that may appear in a path name --- and can be used as a directory separator. Also provide a function --- to indicate if a given path begins at the root of the file system. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -#ifdef __EMX__ -/* os2 uses /, \, and : */ -/* FIXME: The OS/2 port most probably wants to use the HAVE_DRIVE_LETTERS - * macro, see extern.h. */ -char* DirBrkStr = "/\\:"; -#else -/* Unix only uses / */ -char* DirBrkStr = "/"; -#endif - -/* -** Return TRUE if the name is the full specification of a path name to a file -** starting at the root of the file system, otherwise return FALSE -*/ -PUBLIC int -If_root_path(name) -char *name; -{ - return( strchr(DirBrkStr, *name) != NIL(char) -#ifdef HAVE_DRIVE_LETTERS - || (*name && name[1] == ':' && isalpha(*name)) -#endif - ); -} diff --git a/dmake/unix/linux/config.mk b/dmake/unix/linux/config.mk deleted file mode 100644 index 75bcf3c2a211..000000000000 --- a/dmake/unix/linux/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the SysV R3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/linux/gnu/config.mk b/dmake/unix/linux/gnu/config.mk deleted file mode 100644 index e351490a6b3d..000000000000 --- a/dmake/unix/linux/gnu/config.mk +++ /dev/null @@ -1,4 +0,0 @@ -# This is the Linux gnu configuration file for DMAKE -# It makes sure we include from the right place. -# -CFLAGS += -I$(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) diff --git a/dmake/unix/linux/gnu/make.sh b/dmake/unix/linux/gnu/make.sh deleted file mode 100644 index 8e0aa400a80b..000000000000 --- a/dmake/unix/linux/gnu/make.sh +++ /dev/null @@ -1,193 +0,0 @@ -platform=`uname -m`; export platform; - -mkdir objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O infer.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O infer.c -fi -mv infer.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O make.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O make.c -fi -mv make.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O stat.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O stat.c -fi -mv stat.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O expand.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O expand.c -fi -mv expand.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmstring.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmstring.c -fi -mv dmstring.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O hash.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O hash.c -fi -mv hash.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dag.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dag.c -fi -mv dag.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmake.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmake.c -fi -mv dmake.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O path.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O path.c -fi -mv path.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O imacs.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O imacs.c -fi -mv imacs.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O sysintf.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O sysintf.c -fi -mv sysintf.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O parse.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O parse.c -fi -mv parse.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O getinp.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O getinp.c -fi -mv getinp.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O quit.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O quit.c -fi -mv quit.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O state.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O state.c -fi -mv state.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmdump.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O dmdump.c -fi -mv dmdump.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O macparse.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O macparse.c -fi -mv macparse.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O rulparse.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O rulparse.c -fi -mv rulparse.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O percent.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O percent.c -fi -mv percent.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O function.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O function.c -fi -mv function.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/arlib.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/arlib.c -fi -mv arlib.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/dirbrk.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/dirbrk.c -fi -mv dirbrk.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/rmprq.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/rmprq.c -fi -mv rmprq.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/ruletab.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/ruletab.c -fi -mv ruletab.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/runargv.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/runargv.c -fi -mv runargv.o objects - -if test $platform = sparc -o $platform = sparc64; then -gcc -c -ansi -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/dcache.c -else -gcc -c -I. -Iunix -Iunix/linux -Iunix/linux/gnu -O unix/dcache.c -fi -mv dcache.o objects - -gcc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/linux/gnu/template.mk startup/config.mk diff --git a/dmake/unix/linux/gnu/public.h b/dmake/unix/linux/gnu/public.h deleted file mode 100644 index 8de24957f763..000000000000 --- a/dmake/unix/linux/gnu/public.h +++ /dev/null @@ -1,172 +0,0 @@ -/* $RCSfile: public.h,v $ --- $Revision: 1.9 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:55:29 $ --- --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -const int in_quit ANSI((void)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - - -#endif diff --git a/dmake/unix/linux/gnu/template.mk b/dmake/unix/linux/gnu/template.mk deleted file mode 100644 index a0bcef64097b..000000000000 --- a/dmake/unix/linux/gnu/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= linux - OSENVIRONMENT *:= gnu diff --git a/dmake/unix/macosx/config.mk b/dmake/unix/macosx/config.mk deleted file mode 100644 index 75bcf3c2a211..000000000000 --- a/dmake/unix/macosx/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the SysV R3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/macosx/gnu/config.mk b/dmake/unix/macosx/gnu/config.mk deleted file mode 100644 index e351490a6b3d..000000000000 --- a/dmake/unix/macosx/gnu/config.mk +++ /dev/null @@ -1,4 +0,0 @@ -# This is the Linux gnu configuration file for DMAKE -# It makes sure we include from the right place. -# -CFLAGS += -I$(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) diff --git a/dmake/unix/macosx/gnu/make.sh b/dmake/unix/macosx/gnu/make.sh deleted file mode 100644 index 65929e93026a..000000000000 --- a/dmake/unix/macosx/gnu/make.sh +++ /dev/null @@ -1,63 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/macosx -Iunix/macosx/gnu -O unix/macosx/tempnam.c -mv tempnam.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o \ -objects/dcache.o objects/tempnam.o -cp unix/macosx/gnu/template.mk startup/config.mk diff --git a/dmake/unix/macosx/gnu/public.h b/dmake/unix/macosx/gnu/public.h deleted file mode 100644 index e96dbb9dd34a..000000000000 --- a/dmake/unix/macosx/gnu/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.8 2007-10-15 15:55:41 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -PUBLIC int main ANSI((int argc, char **argv)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/macosx/gnu/template.mk b/dmake/unix/macosx/gnu/template.mk deleted file mode 100644 index 672878dfa095..000000000000 --- a/dmake/unix/macosx/gnu/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= macosx - OSENVIRONMENT *:= gnu diff --git a/dmake/unix/macosx/tempnam.c b/dmake/unix/macosx/tempnam.c deleted file mode 100644 index fc9eec04fb52..000000000000 --- a/dmake/unix/macosx/tempnam.c +++ /dev/null @@ -1,102 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1 2001-02-23 03:44:30 pluby Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -char * -dtempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", getpid() ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/unix/os2/public.h b/dmake/unix/os2/public.h deleted file mode 100644 index 845a16a2c80f..000000000000 --- a/dmake/unix/os2/public.h +++ /dev/null @@ -1,172 +0,0 @@ -/* $RCSfile: public.h,v $ --- $Revision: 1.2 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:55:51 $ --- --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -const int in_quit ANSI((void)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - - -#endif diff --git a/dmake/unix/rmprq.c b/dmake/unix/rmprq.c deleted file mode 100644 index 0144e18c2427..000000000000 --- a/dmake/unix/rmprq.c +++ /dev/null @@ -1,121 +0,0 @@ -/* $RCSfile: rmprq.c,v $ --- $Revision: 1.5 $ --- last change: $Author: obo $ $Date: 2007-06-12 06:09:05 $ --- --- SYNOPSIS --- Remove prerequisites code. --- --- DESCRIPTION --- This code is different for DOS and for UNIX and parallel make --- architectures since the parallel case requires the rm's to be --- run in parallel, whereas DOS guarantees to run them sequentially. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include "extern.h" - -PUBLIC void -Remove_prq( tcp )/* -=================== - Removable targets (ie. an inferred intermediate node) are removed - by this function by running Make() on the special target .REMOVE - (pointed to by tcp). - As this function can be called from within another Make() (for example - like this: - Make()->Exec_commands()->Do_cmnd()->runargv()->..->_finished_child() - ->Update_time_stamp()->Remove_prq() ) - it is necessary to store and restore the dynamic macros when Make() - is finished. - - FIXME: Another potential problem is that while building .REMOVE another - previously started target finishes and from _finished_child() calls - Remove_prq() again. This will delete the dynamic macros and possibly - clear/reset the prerequisites of the previous .REMOVE target. -*/ -CELLPTR tcp; -{ - static LINKPTR rlp = NIL(LINK); - static int flag = 0; - static HASHPTR m_at, m_q, m_b, m_g, m_l, m_bb, m_up; - char *m_at_s, *m_g_s, *m_q_s, *m_b_s, *m_l_s, *m_bb_s, *m_up_s; - LINKPTR tlp; - - /* Unset F_MADE and F_VISITED. */ - tcp->ce_flag &= ~(F_MADE|F_VISITED); - tcp->ce_time = 0L; - - /* The idea seems to be to create a target that is used to remove - * intermediate prerequisites. Why add something to the "CeMeToo(tlp)" - * list? I don't understand this yet. - * FIXME! Either comment on what is going on or fix the code. */ - for( tlp=rlp; tlp !=NIL(LINK); tlp=tlp->cl_next ) - /* Find first target that has F_VISITED not set or F_MADE set, - * i.e. it is not currently made or already done. */ - if( (tlp->cl_prq->ce_flag & (F_VISITED|F_MADE)) != F_VISITED ) - break; - - if( tlp == NIL(LINK) ) { - TALLOC(tlp, 1, LINK); - TALLOC(tlp->cl_prq, 1, CELL); - tlp->cl_next = rlp; - rlp = tlp; - } - - *tlp->cl_prq = *tcp; - - /* We save the dynamic macro values here, as it is possible that the - * .REMOVE recipe is getting executed for a target while some other target - * is in the middle of executing it's list of recipe lines, in this case - * the values of $@ etc, must be preserved so that when we return to - * complete the other recipe we must make certain that the values of it's - * dynamic macros are unmodified. */ - - if( !flag ) { - /* Do the getting of the macros only once. */ - flag = 1; - m_at = Get_name("@", Macs, TRUE); - m_g = Get_name(">", Macs, TRUE); - m_q = Get_name("?", Macs, TRUE); - m_b = Get_name("<", Macs, TRUE); - m_l = Get_name("&", Macs, TRUE); - m_bb = Get_name("*", Macs, TRUE); - m_up = Get_name("^", Macs, TRUE); - } - - m_at_s = m_at->ht_value; m_at->ht_value = NIL(char); - m_g_s = m_g->ht_value; m_g->ht_value = NIL(char); - m_q_s = m_q->ht_value; m_q->ht_value = NIL(char); - m_b_s = m_b->ht_value; m_b->ht_value = NIL(char); - m_l_s = m_l->ht_value; m_l->ht_value = NIL(char); - m_bb_s = m_bb->ht_value; m_bb->ht_value = NIL(char); - m_up_s = m_up->ht_value; m_up->ht_value = NIL(char); - - Make( tlp->cl_prq, tcp ); - if( tlp->cl_prq->ce_dir ){ - FREE(tlp->cl_prq->ce_dir); - tlp->cl_prq->ce_dir=NIL(char); - } - - m_at->ht_value = m_at_s; - m_g->ht_value = m_g_s; - m_q->ht_value = m_q_s; - m_b->ht_value = m_b_s; - m_l->ht_value = m_l_s; - m_bb->ht_value = m_bb_s; - m_up->ht_value = m_up_s; -} diff --git a/dmake/unix/ruletab.c b/dmake/unix/ruletab.c deleted file mode 100644 index d815a4f15d18..000000000000 --- a/dmake/unix/ruletab.c +++ /dev/null @@ -1,44 +0,0 @@ -/* $RCSfile: ruletab.c,v $ --- $Revision: 1.9 $ --- last change: $Author: ihi $ $Date: 2007-10-15 15:53:13 $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -static char *_rules[] = { - "MAXPROCESSLIMIT := 64", - "MAXLINELENGTH := 32766", -#include "dmakeroot.h" - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk Makefile makefile", - ".SOURCE : .NULL", -#include "startup.h" - 0 }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ diff --git a/dmake/unix/runargv.c b/dmake/unix/runargv.c deleted file mode 100644 index e8e39d21bd3d..000000000000 --- a/dmake/unix/runargv.c +++ /dev/null @@ -1,1098 +0,0 @@ -/* $RCSfile: runargv.c,v $ --- $Revision: 1.14 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:39:41 $ --- --- SYNOPSIS --- Invoke a sub process. --- --- DESCRIPTION --- Use the standard methods of executing a sub process. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -/* -This file (runargv.c) provides all the parallel process handling routines -for dmake on unix like operating systems. The following text briefly -describes the process flow. - -Exec_commands() [make.c] builds the recipes associated to the given target. - They are build sequentially in a loop that calls Do_cmnd() for each of them. - -Do_cmnd() [sysintf.c] feeds the given command or command group to runargv(). - -The following flowchart decripes the process flow starting with runargv, -descriptions for each of the functions are following. - - +--------------------------------+ - | runargv | <+ - +--------------------------------+ | - | ^ | - | | returns if | - | calls | wfc is false | - v | | - +--------------------------------+ | - | _add_child | | - +--------------------------------+ | - | ^ | - | calls if | | if another process - | wfc is true | returns | is queued: - v | | recursive call - +--------------------------------+ | - | Wait_for_Child | | - +--------------------------------+ | - | ^ | - | | process queue | - | calls | is empty | - v | | - +--------------------------------+ | - | _finished_child | -+ - +--------------------------------+ - - - -runargv() [unix/runargv] The runargv function manages up to MAXPROCESS - process queues (_procs[i]) for parallel process execution and hands - the actual commands down to the operating system. - Each of the process queues handles the sequential execution of commands - that belong to that process queue. Usually this means the sequential - execution of the recipe lines that belong to one target. - Even in non parallel builds (MAXPROCESS==1) child processes are - created and handled. - If recipes for a target are currently running attach them to the - corresponding process queue (_procs[i]) of that target and return. - If the maximum number (MAXPROCESS) of concurrently running queues is - reached use Wait_for_child(?, -1) to wait for a process queue to become - available. - New child processes are started using: - spawn: posix_spawnp (POSIX) or spawnvp (cygwin). - fork/execvp: Create a client process with fork and run the command - with execvp. - The parent calls _add_child() to track the child. - -_add_child(..., wfc) [unix/runargv] creates (or reuses) a process queue - and enters the child's parameters. - If wfc (wait for completion) is TRUE the function calls - Wait_for_child to wait for the whole process queue to be finished. - -Wait_for_child(abort_flg, pqid) [unix/runargv] waits either for the current - process from process queue pqid to finish or if the W_WFC attribute is - set for all entries of that process queue (recursively) to finish. - All finished processes are handled by calling _finished_child() for each - of them. - If pqid == -1 wait for the next process to finish but honor the A_WFC - attribute of that process (queue) and wait for the whole queue if needed. - If abort_flg is TRUE no further processes will be added to any process - queue. - If a pqid is given but a process from another process queue finishes - first that process is handled and A_WFC is also honored. - All finished processes are processed until the process from the given pqid - is reached or gone (might have been handled while finishing another process - queue). - -_finished_child(pid, status) [unix/runargv] handles the finished child. If - there are more commands in the corresponding process queue start the next - with runargv(). -*/ - -#include - -#include "extern.h" - -#ifdef HAVE_WAIT_H -# include -#else -# ifdef HAVE_SYS_WAIT_H -# include -# endif -#endif - -#if HAVE_SPAWN_H && ENABLE_SPAWN -# include -#endif - -#if __CYGWIN__ && ENABLE_SPAWN -# include -#endif - -#ifdef __EMX__ -# include -#define _P_NOWAIT P_NOWAIT -#endif - -#include "sysintf.h" -#if HAVE_ERRNO_H -# include -#else - extern int errno; -#endif - -typedef struct prp { - char *prp_cmd; - int prp_group; - t_attr prp_attr; - int prp_last; - struct prp *prp_next; -} RCP, *RCPPTR; - -#if defined(USE_CREATEPROCESS) - /* MS's HANDLE is basically a (void *) (winnt.h). */ -typedef HANDLE DMHANDLE; -#else -typedef int DMHANDLE; -#endif - -typedef struct pr { - int pr_valid; - DMHANDLE pr_pid; - DMHANDLE pr_tid; - CELLPTR pr_target; - int pr_ignore; - int pr_last; - int pr_wfc; - RCPPTR pr_recipe; - RCPPTR pr_recipe_end; - char *pr_dir; -} PR; - -typedef struct tpid { - DMHANDLE pid; - DMHANDLE tid; -} TPID; - -const TPID DMNOPID = { (DMHANDLE)-1, (DMHANDLE)0 }; - -static PR *_procs = NIL(PR); /* Array to hold concurrent processes. */ -static int _procs_size = 0; /* Savegard to find MAXPROCESS changes. */ -static int _proc_cnt = 0; /* Number of running processes. */ -static int _abort_flg= FALSE; -static int _use_i = -1; -#if defined(USE_CREATEPROCESS) -static HANDLE *_wpList = NIL(HANDLE); /* Array to hold pids to wait for. */ -#endif - -static int _add_child ANSI((TPID, CELLPTR, int, int, int)); -static void _attach_cmd ANSI((char *, int, CELLPTR, t_attr, int)); -static void _finished_child ANSI((DMHANDLE, int)); -static int _running ANSI((CELLPTR)); - -/* Machine/OS dependent helpers. */ -static int dmwaitnext ANSI((DMHANDLE *, int *)); -static int dmwaitpid ANSI((int, DMHANDLE *, int *)); - -#if defined( USE_SPAWN ) - -int terrno; /* Temporarily store errno. */ - -static TPID dmspawn ANSI((char **)); - -static TPID -dmspawn( argv ) - char **argv; -{ - TPID pid; - - /* No error output is done here as stdout/stderr might be redirected. */ -#if defined( __CYGWIN__) || defined( __EMX__) - pid.pid = spawnvp(_P_NOWAIT, argv[0], (const char**) argv); - pid.tid = 0; -#elif defined(USE_CREATEPROCESS) - static STARTUPINFO si; - static int initSTARTUPINFO = FALSE; - PROCESS_INFORMATION pi; - - /* si can be reused. */ - if( initSTARTUPINFO == FALSE ) { - initSTARTUPINFO = TRUE; - ZeroMemory( &si, sizeof(si) ); - si.cb = sizeof(si); - } - ZeroMemory( &pi, sizeof(pi) ); - - /* Start the child process. CreateProcess() parameters: - * No module name (use command line). - * Command line. This fails if the path to the program contains spaces. - * Process handle not inheritable. - * Thread handle not inheritable. - * Set handle inheritance (stdout, stderr, etc.) to TRUE. - * No creation flags. - * Use parent's environment block. - * Use parent's starting directory. - * Pointer to STARTUPINFO structure. - * Pointer to PROCESS_INFORMATION structure. */ - if( CreateProcess(NULL, argv[0], NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi) ) { - pid.pid = pi.hProcess; - pid.tid = pi.hThread; - } else { - fprintf(stderr, "CreateProcess failed (%d).\n", GetLastError() ); - pid.pid = (DMHANDLE)-1; - } -#else /* Non cygwin, OS/2, MinGW and MSC */ - int tpid; - if (posix_spawnp (&tpid, argv[0], NULL, NULL, argv, (char *)NULL)) - tpid = -1; /* posix_spawn failed */ - - pid.pid = tpid; - pid.tid = 0; -#endif /* __CYGWIN__ */ - return pid; -} - -#endif /* USE_SPAWN */ - -static int -dmwaitnext( wid, status ) - DMHANDLE *wid; /* Id we waited for. */ - int *status; /* status of the finished process. */ - /* return 1 if a process finished, -1 if there - * was nothing to wait for (ECHILD) and -2 for other errors. */ -{ - -#if !defined(USE_CREATEPROCESS) - /* Here might be the culprit for the famous OOo build hang. If - * cygwin manages to "loose" a process and none else is left the - * wait() will wait forever. */ - *wid = wait(status); - - /* If ECHILD is set from waitpid/wait then no child was left. */ - if( *wid == -1 ) { - fprintf(stderr, "%s: Internal Error: wait() failed: %d - %s\n", - Pname, errno, strerror(errno) ); - if(errno != ECHILD) { - /* Wait was interrupted or a child was terminated (SIGCHLD) */ - return -2; - } else { - return -1; - } - } -#else - DWORD pEvent; - DWORD dwExitCode; - int i; - int numProc = 0; - - *status = 0; - - /* Create a list of possible objects to wait for. */ - for( i=0; i= 0 && pEvent < WAIT_OBJECT_0 + numProc ) { - *wid = _wpList[pEvent - WAIT_OBJECT_0]; - for( i=0; i force it, with exit code 1. */ - TerminateProcess(*wid, 1); - dwExitCode = 1; - fprintf(stderr, "%s: Internal Error: Process still running - " - "terminate it!\n", Pname ); - } - - /* Close process and thread handles. */ - CloseHandle( *wid ); - CloseHandle( _procs[i].pr_tid ); - *status = dwExitCode; - } - else { - int err = GetLastError(); - LPVOID lpMsgBuf; - - FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - err, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR) &lpMsgBuf, - 0, NULL ); - - fprintf(stderr, "%s: Internal Error: WaitForMultipleObjects() (%d) failed:" - " %d - %s\n", Pname, numProc, err, lpMsgBuf); - LocalFree(lpMsgBuf); - - /* No way to identify something comparable to ECHILD, always return -2.*/ - return -2; - } - -#endif - return 1; -} - - -static int -dmwaitpid( pqid, wid, status ) - int pqid; /* Process queue to wait for. */ - DMHANDLE *wid; /* Id we waited for. */ - int *status; /* status of the finished process. */ - /* return 1 if the process finished, 0 if it didn't finish yet, -1 if there - * was nothing to wait for (ECHILD) and -2 for other errors. */ -{ - -#if !defined(USE_CREATEPROCESS) - *wid = waitpid(_procs[pqid].pr_pid, status, WNOHANG); - - /* Process still running. */ - if( *wid == 0 ) { - *status = 0; - return 0; - } - /* If ECHILD is set from waitpid/wait then no child was left. */ - if( *wid == -1 ) { - fprintf(stderr, "%s: Internal Error: waitpid() failed: %d - %s\n", - Pname, errno, strerror(errno) ); - if(errno != ECHILD) { - /* Wait was interrupted or a child was terminated (SIGCHLD) */ - return -2; - } else { - return -1; - } - } -#else - DWORD pEvent; - DWORD dwExitCode; - - *wid = _procs[pqid].pr_pid; - *status = 0; - - /* Wait ... (Check status and return) */ - pEvent = WaitForSingleObject(*wid, 0); - - if( pEvent == WAIT_OBJECT_0 ) { - GetExitCodeProcess(*wid, &dwExitCode); - if(dwExitCode == STILL_ACTIVE) { - /* Process did not terminate -> force it, with exit code 1. */ - TerminateProcess(*wid, 1); - dwExitCode = 1; - fprintf(stderr, "%s: Internal Error: Process still running - " - "terminate it!\n", Pname ); - } - - /* Close process and thread handles. */ - CloseHandle( *wid ); - CloseHandle( _procs[pqid].pr_tid ); - *status = dwExitCode; - } - else if( pEvent == WAIT_TIMEOUT ) { - return 0; - } - else { - int err = GetLastError(); - LPVOID lpMsgBuf; - - FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - err, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR) &lpMsgBuf, - 0, NULL ); - - fprintf(stderr, "%s: Internal Error: WaitForSingleObject() failed:" - " %d - %s\n", Pname, err, lpMsgBuf); - LocalFree(lpMsgBuf); - - /* No way to identify something comparable to ECHILD, always return -2.*/ - return -2; - } -#endif - - return 1; -} - - -#if ! HAVE_STRERROR -static char * -private_strerror (errnum) - int errnum; -{ -#ifndef __APPLE__ -# if defined(arm32) || defined(linux) || defined(__FreeBSD__) || defined(__OpenBSD__) - extern const char * const sys_errlist[]; -# else - extern char *sys_errlist[]; -# endif -#endif - extern int sys_nerr; - - if (errnum > 0 && errnum <= sys_nerr) - return sys_errlist[errnum]; - return "Unknown system error"; -} -#define strerror private_strerror -#endif /* HAVE_STRERROR */ - -PUBLIC int -runargv(target, group, last, cmnd_attr, cmd)/* -============================================== - Execute the command given by cmd. - - Return 0 if the command executed and finished or - 1 if the command started and is running. - */ -CELLPTR target; -int group; -int last; -t_attr cmnd_attr; /* Attributes for current cmnd. */ -char **cmd; /* Simulate a reference to *cmd. */ -{ - int ignore = (cmnd_attr & A_IGNORE)!= 0; /* Ignore errors ('-'). */ - int shell = (cmnd_attr & A_SHELL) != 0; /* Use shell ('+'). */ - int mute = (cmnd_attr & A_MUTE) != 0; /* Mute output ('@@'). */ - int wfc = (cmnd_attr & A_WFC) != 0; /* Wait for completion. */ - - TPID pid; - int st_pq = 0; /* Current _exec_shell target process index */ - char *tcmd = *cmd; /* For saver/easier string arithmetic on *cmd. */ - char **argv; - - int old_stdout = -1; /* For shell escapes and */ - int old_stderr = -1; /* @@-recipe silencing. */ - int internal = 0; /* Used to indicate internal command. */ - - DB_ENTER( "runargv" ); - - /* Special handling for the shell function macro is required. If the - * currend command is called as part of a shell escape in a recipe make - * sure that all previous recipe lines of this target have finished. */ - if( Is_exec_shell ) { - if( (st_pq = _running(Shell_exec_target)) != -1 ) { - RCPPTR rp; - /* Add WFC to _procs[st_pq]. */ - _procs[st_pq].pr_wfc = TRUE; - /* Set also the A_WFC flag in the recipe attributes. */ - for( rp = _procs[st_pq].pr_recipe ; rp != NIL(RCP); rp = rp->prp_next ) - rp->prp_attr |= A_WFC; - - Wait_for_child(FALSE, st_pq); - } - } else { - if( _running(target) != -1 /*&& Max_proc != 1*/ ) { - /* The command will be executed when the previous recipe - * line completes. */ - _attach_cmd( *cmd, group, target, cmnd_attr, last ); - DB_RETURN( 1 ); - } - } - - /* If all process array entries are used wait until we get a free - * slot. For Max_proc == 1 this forces sequential execution. */ - while( _proc_cnt == Max_proc ) { - Wait_for_child(FALSE, -1); - } - - /* Return immediately for empty line or noop command. */ - if ( !*tcmd || /* empty line */ - ( strncmp(tcmd, "noop", 4) == 0 && /* noop command */ - (iswhite(tcmd[4]) || tcmd[4] == '\0')) ) { - internal = 1; - } - else if( !shell && /* internal echo only if not in shell */ - strncmp(tcmd, "echo", 4) == 0 && - (iswhite(tcmd[4]) || tcmd[4] == '\0') ) { - int nl = 1; - - tcmd = tcmd+4; - while( iswhite(*tcmd) ) ++tcmd; - if ( strncmp(tcmd,"-n",2 ) == 0) { - nl = 0; - tcmd = tcmd+2; - while( iswhite(*tcmd) ) ++tcmd; - } - - /* redirect output for _exec_shell / @@-recipes. */ - if( Is_exec_shell ) { - /* Add error checking? */ - old_stdout = dup(1); - dup2( fileno(stdout_redir), 1 ); - } - if( mute ) { - old_stderr = dup(2); - dup2( zerofd, 2 ); - - if( !Is_exec_shell ) { - old_stdout = dup(1); - dup2( zerofd, 1 ); - } - } - - printf("%s%s", tcmd, nl ? "\n" : ""); - fflush(stdout); - - /* Restore stdout/stderr if needed. */ - if( old_stdout != -1 ) { - dup2(old_stdout, 1); - close(old_stdout); - if( old_stderr != -1 ) { - dup2(old_stderr, 2); - close(old_stderr); - } - } - - internal = 1; - } - if ( internal ) { - /* Use _add_child() / _finished_child() with internal command. */ - int cur_proc = _add_child(DMNOPID, target, ignore, last, FALSE); - _finished_child( (DMHANDLE)-cur_proc, 0 ); - DB_RETURN( 0 ); - } - - /* Pack cmd in argument vector. */ - argv = Pack_argv( group, shell, cmd ); - - /* Really spawn or fork a child. */ -#if defined( USE_SPAWN ) - /* As no other childs are started while the output is redirected this - * is save. */ - if( Is_exec_shell ) { - /* Add error checking? */ - old_stdout = dup(1); - dup2( fileno(stdout_redir), 1 ); - } - if( mute ) { - old_stderr = dup(2); - dup2( zerofd, 2 ); - - if( !Is_exec_shell ) { - old_stdout = dup(1); - dup2( zerofd, 1 ); - } - } - - pid = dmspawn( argv ); - terrno = errno; - - if( old_stdout != -1 ) { - dup2(old_stdout, 1); - close(old_stdout); - if( old_stderr != -1 ) { - dup2(old_stderr, 2); - close(old_stderr); - } - } - if(pid.pid == (DMHANDLE)-1) { - /* spawn failed */ - int cur_proc; - - fprintf(stderr, "%s: Error executing '%s': %s", - Pname, argv[0], strerror(terrno) ); - if( ignore||Continue ) { - fprintf(stderr, " (Ignored)" ); - } - fprintf(stderr, "\n"); - - /* Use _add_child() / _finished_child() to treat the failure - * gracefully, if so requested. */ - cur_proc = _add_child(DMNOPID, target, ignore, last, FALSE); - _finished_child((DMHANDLE)cur_proc, SIGTERM); - - /* _finished_child() aborts dmake if we are not told to - * ignore errors. If we reach the this point return 0 as - * errors are obviously ignored and indicate that the process - * finished. */ - DB_RETURN( 0 ); - } else { - _add_child(pid, target, ignore, last, wfc); - } -#else /* USE_SPAWN */ - - fflush(stdout); - switch( pid.pid = fork() ){ - - case -1: /* fork failed */ - Fatal("fork failed: %s: %s", argv[0], strerror( errno )); - - case 0: /* child */ - /* redirect output for _exec_shell / @@-recipes. */ - if( Is_exec_shell ) { - /* Add error checking? */ - old_stdout = dup(1); - dup2( fileno(stdout_redir), 1 ); - } - if( mute ) { - old_stderr = dup(2); - dup2( zerofd, 2 ); - - if( !Is_exec_shell ) { - old_stdout = dup(1); - dup2( zerofd, 1 ); - } - } - execvp(argv[0], argv); - /* restoring output to catch potential error output if execvp() - * failed. */ - if( old_stdout != -1 ) { - dup2(old_stdout, 1); - close(old_stdout); - if( old_stderr != -1 ) { - dup2(old_stderr, 2); - close(old_stderr); - } - } - fprintf(stderr, "%s: Error executing '%s': %s", - Pname, argv[0], strerror(errno) ); - if( ignore||Continue ) { - fprintf(stderr, " (Ignored)" ); - } - fprintf(stderr, "\n"); - - kill(getpid(), SIGTERM); - /*NOTREACHED*/ - Fatal("\nInternal Error - kill could't kill child %d.\n", getpid()); - - default: /* parent */ - _add_child(pid, target, ignore, last, wfc); - } - -#endif /* USE_SPAWN */ - - /* If wfc is set this command must have been finished. */ - if( wfc ) { - DB_RETURN( 0 ); - } else { - DB_RETURN( 1 ); - } -} - - -PUBLIC int -Wait_for_child( abort_flg, pqid )/* -=================================== - Wait for the next processes from process queue pqid to finish. All finished - processes are handled by calling _finished_child() for each of them. - If pqid == -1 wait for the next process to finish. - If abort_flg is TRUE no further processes will be added to any process - queue. The A_WFC attribute is honored, see the documentation at the top - of this file. - Return 0 if we successfully waited for a process and -1 if there was nothing - to wait for. -*/ -int abort_flg; -int pqid; -{ - DMHANDLE pid; - DMHANDLE wid; - int status; - int waitret; /* return value of the dmwait functions. */ - /* Never wait for internal commands. */ - int waitchild; - int is_exec_shell_status = Is_exec_shell; - - if( !_procs ) { - /* No process was ever created, i.e. _procs is not yet initialized. - * Nothing to wait for. */ - return -1; - } - - if( pqid > Max_proc ) Fatal("Internal Error: pqid > Max_proc !"); - - if( pqid == -1 ) { - /* Check if there is something to wait for. */ - int i; - for( i=0; i runargv(). */ - if( pid != wid ) { - if( !_procs[pqid].pr_valid || _procs[pqid].pr_pid != pid ) { - /* Someone finished pid, no need to wait further. */ - waitchild = FALSE; - } - } - else - /* We finished pid, no need to wait further. */ - waitchild = FALSE; - } - } - while( waitchild ); - - Is_exec_shell = is_exec_shell_status; - return(0); -} - - -PUBLIC void -Clean_up_processes() -{ - register int i; - int ret; - - if( _procs != NIL(PR) ) { - for( i=0; i sizeof(DMHANDLE) ) - Fatal( "Internal Error: Check type of DMHANDLE!" ); -#endif - } - else { - Fatal( "MAXPROCESS changed from `%d' to `%d' after a command was executed!", _procs_size, Max_proc ); - } - } - - if( Measure & M_RECIPE ) - Do_profile_output( "s", M_RECIPE, target ); - - /* If _use_i ! =-1 then this function is called by _finished_child() ( through runargv() ), - and we re-use the process queue number given by _use_i. */ - if( (i = _use_i) == -1 ) { - for( i=0; ipr_valid = 1; - pp->pr_pid = pid.pid; - pp->pr_tid = pid.tid; - pp->pr_target = target; - pp->pr_ignore = ignore; - pp->pr_last = last; - pp->pr_wfc = wfc; - - if( pp->pr_dir != NIL(char) ) - FREE(pp->pr_dir); - pp->pr_dir = DmStrDup(Get_current_dir()); - - Current_target = NIL(CELL); - - _proc_cnt++; - - if( pid.pid != (DMHANDLE)-1 ) { - /* Wait for each recipe to finish if wfc is TRUE. This - * basically forces sequential execution. */ - if( wfc ) { - Wait_for_child( FALSE, i ); - } - - return -1; - } else - return i; -} - - -static void -_finished_child(cid, status)/* -============================== - Handle process array entry for finished child. This can be a finished - process or a finished internal command depending on the content of cid. - For cid >= 1 the value of cid is used as the pid to of the finished - process and for cid < 1 -cid is used as the process array index of the - internal command. -*/ -DMHANDLE cid; -int status; -{ - register int i; - char *dir; - - if((int)cid < 1) { /* Force int. */ - /* internal command */ - i = -((int)cid); - } - else { - for( i=0; ice_attr & A_ERROR ) { - _procs[i].pr_last = TRUE; - goto ABORT_REMAINDER_OF_RECIPE; - } - - _procs[i].pr_recipe = rp->prp_next; - - _use_i = i; - /* Run next recipe line. The rp->prp_attr propagates a possible - * wfc condition. */ - runargv( _procs[i].pr_target, rp->prp_group, - rp->prp_last, rp->prp_attr, &rp->prp_cmd ); - _use_i = -1; - - FREE( rp->prp_cmd ); - FREE( rp ); - - /* If all process queues are used wait for the next process to - * finish. Is this really needed here? */ - if( _proc_cnt == Max_proc ) { - Wait_for_child( FALSE, -1 ); - } - } - else { - /* empty the queue on abort. */ - if( _abort_flg ) - _procs[i].pr_recipe = NIL(RCP); - - Handle_result(status,_procs[i].pr_ignore,_abort_flg,_procs[i].pr_target); - - ABORT_REMAINDER_OF_RECIPE: - if( _procs[i].pr_last ) { - FREE(_procs[i].pr_dir ); _procs[i].pr_dir = NIL(char); /* Set in _add_child() */ - - if( !Doing_bang ) { - /* Update_time_stamp() triggers the deletion of intermediate - * targets. This starts a new process queue, so we have to - * clear the _use_i variable. */ - int my_use_i = _use_i; - - _use_i = -1; - Update_time_stamp( _procs[i].pr_target ); - _use_i = my_use_i; - } - } - } - - Set_dir(dir); - FREE(dir); -} - - -static int -_running( cp )/* -================ - Check if target exists in process array AND is running. Return its - process array index if it is running, return -1 otherwise. -*/ -CELLPTR cp; -{ - register int i; - - if( !_procs ) return( -1 ); - - for( i=0; iprp_cmd = DmStrDup(cmd); - rp->prp_attr = cmnd_attr; - /* Inherit wfc from process queue. */ - if( _procs[i].pr_wfc ) - rp->prp_attr |= A_WFC; - rp->prp_group = group; - rp->prp_last = last; - - if( _procs[i].pr_recipe == NIL(RCP) ) - _procs[i].pr_recipe = _procs[i].pr_recipe_end = rp; - else { - _procs[i].pr_recipe_end->prp_next = rp; - _procs[i].pr_recipe_end = rp; - } -} diff --git a/dmake/unix/solaris/config.mk b/dmake/unix/solaris/config.mk deleted file mode 100644 index bc2364a33260..000000000000 --- a/dmake/unix/solaris/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the BSD 4.3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following sources are required for Solaris 2.1 or greater -OSDSRC := tempnam.c getcwd.c -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local BSD includes -# too. -CFLAGS += -I$(osrdir) -DSolaris - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/solaris/getcwd.c b/dmake/unix/solaris/getcwd.c deleted file mode 100644 index f2359bcc795b..000000000000 --- a/dmake/unix/solaris/getcwd.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - getcwd -- get pathname of current working directory - - public-domain implementation - - last edit: 03-Nov-1990 Gwyn@BRL.MIL - - complies with the following standards: - IEEE Std 1003.1-1988 - SVID Issue 3 - X/Open Portability Guide Issue 2 (when "XPG2" is defined) - X/Open Portability Guide Issue 3 - - This implementation of getcwd() can be used to replace the UNIX - System V library routine (which uses popen() to capture the output of - the "pwd" command). Once that is done, "pwd" can be reimplemented as - just puts(getcwd((char*)0,0)), assuming "XPG2" is defined below. - - This implementation depends on every directory having entries for - "." and "..". It also depends on the internals of the - data structures to some degree. - - I considered using chdir() to ascend the hierarchy, followed by a - final chdir() to the path being returned by getcwd() to restore the - location, but decided that error recovery was too difficult that way. - The algorithm I settled on was inspired by my rewrite of the "pwd" - utility, combined with the dotdots[] array trick from the SVR2 shell. -*/ -#define XPG2 /* define to support obsolete XPG2-mandated feature */ - - -#include -#include - -#ifdef M_XENIX -# include -# define dirent direct -#else -# include -#endif - -#include -#include - -typedef char *pointer; /* (void *) if you have it */ - -extern void free(); -extern pointer malloc(); -extern int fstat(), stat(); - -extern int errno; /* normally done by */ - -#ifndef NULL -#define NULL 0 /* amorphous null pointer constant */ -#endif - -#ifndef NAME_MAX -#define NAME_MAX 255 /* maximum directory entry size */ -#endif - - -char * -getcwd( buf, size ) /* returns pointer to CWD pathname */ - char *buf; /* where to put name (NULL to malloc) */ - int size; /* size of buf[] or malloc()ed memory */ - { - static char dotdots[] = -"../../../../../../../../../../../../../../../../../../../../../../../../../.."; - char *dotdot; /* -> dotdots[.], right to left */ - DIR *dirp; /* -> parent directory stream */ - struct dirent *dir; /* -> directory entry */ - struct stat stat1, - stat2; /* info from stat() */ - struct stat *d = &stat1; /* -> info about "." */ - struct stat *dd = &stat2; /* -> info about ".." */ - register char *buffer; /* local copy of buf, or malloc()ed */ - char *bufend; /* -> buffer[size] */ - register char *endp; /* -> end of reversed string */ - register char *dname; /* entry name ("" for root) */ - int serrno = errno; /* save entry errno */ - - if ( buf != NULL && size <= 0 -#ifndef XPG2 - || buf == NULL -#endif - ) { - errno = EINVAL; /* invalid argument */ - return NULL; - } - - buffer = buf; -#ifdef XPG2 - if ( buf == NULL /* wants us to malloc() the string */ - && (buffer = (char *) malloc( (unsigned) size )) == NULL - /* XXX -- actually should probably not pay attention to "size" arg */ - ) { - errno = ENOMEM; /* cannot malloc() specified size */ - return NULL; - } -#endif - - if ( stat( ".", dd ) != 0 ) /* prime the pump */ - goto error; /* errno already set */ - - endp = buffer; /* initially, empty string */ - bufend = &buffer[size]; - - for ( dotdot = &dotdots[sizeof dotdots]; dotdot != dotdots; ) - { - dotdot -= 3; /* include one more "/.." section */ - /* (first time is actually "..") */ - - /* swap stat() info buffers */ - { - register struct stat *temp = d; - - d = dd; /* new current dir is old parent dir */ - dd = temp; - } - - if ( (dirp = opendir( dotdot )) == NULL ) /* new parent */ - goto error; /* errno already set */ - - if ( fstat( dirp->dd_fd, dd ) != 0 ) - { - serrno = errno; /* set by fstat() */ - (void)closedir( dirp ); - errno = serrno; /* in case closedir() clobbered it */ - goto error; - } - - if ( d->st_dev == dd->st_dev ) - { /* not crossing a mount point */ - if ( d->st_ino == dd->st_ino ) - { /* root directory */ - dname = ""; - goto append; - } - - do - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - while ( dir->d_ino != d->st_ino ); - } - else { /* crossing a mount point */ - struct stat t; /* info re. test entry */ - char name[sizeof dotdots + 1 + NAME_MAX]; - - (void)strcpy( name, dotdot ); - dname = &name[strlen( name )]; - *dname++ = '/'; - - do { - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - - (void)strcpy( dname, dir->d_name ); - /* must fit if NAME_MAX is not a lie */ - } - while ( stat( name, &t ) != 0 - || t.st_ino != d->st_ino - || t.st_dev != d->st_dev - ); - } - - dname = dir->d_name; - - /* append "/" and reversed dname string onto buffer */ - append: - if ( endp != buffer /* avoid trailing / in final name */ - || dname[0] == '\0' /* but allow "/" when CWD is root */ - ) - *endp++ = '/'; - - { - register char *app; /* traverses dname string */ - - for ( app = dname; *app != '\0'; ++app ) - ; - - if ( app - dname >= bufend - endp ) - { - (void)closedir( dirp ); - errno = ERANGE; /* won't fit allotted space */ - goto error; - } - - while ( app != dname ) - *endp++ = *--app; - } - - (void)closedir( dirp ); - - if ( dname[0] == '\0' ) /* reached root; wrap it up */ - { - register char *startp; /* -> buffer[.] */ - - *endp = '\0'; /* plant null terminator */ - - /* straighten out reversed pathname string */ - for ( startp = buffer; --endp > startp; ++startp ) - { - char temp = *endp; - - *endp = *startp; - *startp = temp; - } - - errno = serrno; /* restore entry errno */ - /* XXX -- if buf==NULL, realloc here? */ - return buffer; - } - } - - errno = ENOMEM; /* actually, algorithm failure */ - - error: - if ( buf == NULL ) - free( (pointer)buffer ); - - return NULL; - } - diff --git a/dmake/unix/solaris/gnu/config.mk b/dmake/unix/solaris/gnu/config.mk deleted file mode 100644 index f6f4f2c68cbc..000000000000 --- a/dmake/unix/solaris/gnu/config.mk +++ /dev/null @@ -1,8 +0,0 @@ -# This is the Solaris gcc configuration file for DMAKE -# It modifies the value of CC to be gcc -# - -CC = gcc - -# disable a gcc bug when compiling runargv.c -runargv.o ?= CFLAGS += -g diff --git a/dmake/unix/solaris/gnu/make.sh b/dmake/unix/solaris/gnu/make.sh deleted file mode 100644 index 10a50a837dfa..000000000000 --- a/dmake/unix/solaris/gnu/make.sh +++ /dev/null @@ -1,64 +0,0 @@ -mkdir objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O infer.c -mv infer.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O make.c -mv make.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O stat.c -mv stat.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O expand.c -mv expand.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmstring.c -mv dmstring.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O hash.c -mv hash.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O dag.c -mv dag.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmake.c -mv dmake.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O path.c -mv path.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O imacs.c -mv imacs.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O sysintf.c -mv sysintf.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O parse.c -mv parse.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O getinp.c -mv getinp.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O quit.c -mv quit.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O state.c -mv state.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmdump.c -mv dmdump.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O macparse.c -mv macparse.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O rulparse.c -mv rulparse.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O percent.c -mv percent.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O function.c -mv function.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/arlib.c -mv arlib.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/dirbrk.c -mv dirbrk.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/rmprq.c -mv rmprq.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/ruletab.c -mv ruletab.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O -g unix/runargv.c -mv runargv.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/dcache.c -mv dcache.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/solaris/tempnam.c -mv tempnam.o objects -gcc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/solaris/getcwd.c -mv getcwd.o objects -gcc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/tempnam.o objects/getcwd.o -cp unix/solaris/gnu/template.mk startup/config.mk diff --git a/dmake/unix/solaris/gnu/public.h b/dmake/unix/solaris/gnu/public.h deleted file mode 100644 index e9236422a5e0..000000000000 --- a/dmake/unix/solaris/gnu/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:56:16 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/solaris/gnu/template.mk b/dmake/unix/solaris/gnu/template.mk deleted file mode 100644 index 3f9282027c5c..000000000000 --- a/dmake/unix/solaris/gnu/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= solaris - OSENVIRONMENT *:= gnu diff --git a/dmake/unix/solaris/make.sh b/dmake/unix/solaris/make.sh deleted file mode 100644 index 21894778a642..000000000000 --- a/dmake/unix/solaris/make.sh +++ /dev/null @@ -1,64 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/solaris/tempnam.c -mv tempnam.o objects -cc -c -I. -Iunix -Iunix/solaris -DSolaris -O unix/solaris/getcwd.c -mv getcwd.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/tempnam.o objects/getcwd.o -cp unix/solaris/template.mk startup/config.mk diff --git a/dmake/unix/solaris/public.h b/dmake/unix/solaris/public.h deleted file mode 100644 index 16f322b6a94c..000000000000 --- a/dmake/unix/solaris/public.h +++ /dev/null @@ -1,166 +0,0 @@ -/* RCS $Id: public.h,v 1.7 2007-10-15 15:56:04 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/solaris/template.mk b/dmake/unix/solaris/template.mk deleted file mode 100644 index 233917a6ba92..000000000000 --- a/dmake/unix/solaris/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= solaris - OSENVIRONMENT *:= diff --git a/dmake/unix/solaris/tempnam.c b/dmake/unix/solaris/tempnam.c deleted file mode 100644 index 56f23fbe21d4..000000000000 --- a/dmake/unix/solaris/tempnam.c +++ /dev/null @@ -1,103 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include - -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); - -static char *cpdir(); -static char seed[4]="AAA"; - -/* BSD stdio.h doesn't define P_tmpdir, so let's do it here */ -#ifndef P_tmpdir -static char *P_tmpdir = "/tmp"; -#endif - -char * -tempnam(dir, prefix) -const char *dir; /* use this directory please (if non-NULL) */ -const char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+16))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (access( cpdir(p, tmpdir), 3) != 0) ) - if( (dl == 0) || (access( cpdir(p, dir), 3) != 0) ) - if( access( cpdir(p, P_tmpdir), 3) != 0 ) - if( access( cpdir(p, "/tmp"), 3) != 0 ) - return(NULL); - - (void) strcat(p, "/"); - if(prefix) - { - *(p+strlen(p)+5) = '\0'; - (void)strncat(p, prefix, 5); - } - - (void)strcat(p, seed); - (void)strcat(p, "XXXXXX"); - - q = seed; - while(*q == 'Z') *q++ = 'A'; - ++*q; - - if(*mktemp(p) == '\0') return(NULL); - return(p); -} - - - -static char * -cpdir(buf, str) -char *buf; -char *str; -{ - char *p; - - if(str != NULL) - { - (void) strcpy(buf, str); - p = buf - 1 + strlen(buf); - if(*p == '/') *p = '\0'; - } - - return(buf); -} diff --git a/dmake/unix/startup.h b/dmake/unix/startup.h deleted file mode 100644 index b445a86cecef..000000000000 --- a/dmake/unix/startup.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: startup.h,v 1.1.1.1 2000-09-22 15:33:33 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"MAKESTARTUP := $(DMAKEROOT)/startup.mk", diff --git a/dmake/unix/sysintf.h b/dmake/unix/sysintf.h deleted file mode 100644 index 85bd198529e8..000000000000 --- a/dmake/unix/sysintf.h +++ /dev/null @@ -1,50 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.4 2007-10-15 15:53:38 ihi Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) (void) void_lcache(l,m) -#define Hook_std_writes(A) -#define GETPID getpid() - -#ifndef S_IFDIR -#define S_IFDIR 0040000 -#endif - -#ifndef S_IFMT -#define S_IFMT 0170000 -#endif - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define getswitchar() '-' - -/* -** Make parameters -*/ diff --git a/dmake/unix/sysvr1/config.mk b/dmake/unix/sysvr1/config.mk deleted file mode 100644 index d1cd2d8810f5..000000000000 --- a/dmake/unix/sysvr1/config.mk +++ /dev/null @@ -1,28 +0,0 @@ -# This is the SysV R3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := vfprintf.c - -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/sysvr1/make.sh b/dmake/unix/sysvr1/make.sh deleted file mode 100644 index 1db251f3361e..000000000000 --- a/dmake/unix/sysvr1/make.sh +++ /dev/null @@ -1,62 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/sysvr1 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/sysvr1 -O unix/sysvr1/vfprintf.c -mv vfprintf.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/vfprintf.o -cp unix/sysvr1/template.mk startup/config.mk diff --git a/dmake/unix/sysvr1/public.h b/dmake/unix/sysvr1/public.h deleted file mode 100644 index f61f0f42595f..000000000000 --- a/dmake/unix/sysvr1/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:56:28 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/sysvr1/putenv.c b/dmake/unix/sysvr1/putenv.c deleted file mode 100644 index 1453852710c2..000000000000 --- a/dmake/unix/sysvr1/putenv.c +++ /dev/null @@ -1,78 +0,0 @@ -/* RCS $Id: putenv.c,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- My own putenv for BSD like systems. --- --- DESCRIPTION --- This originally came from MKS, but I rewrote it to fix a bug with --- replacing existing strings, probably never happened but the code --- was wrong nonetheless. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include - -int -putenv( str )/* -=============== - Take a string of the form NAME=value and stick it into the environment. - We do this by allocating a new set of pointers if we have to add a new - string and by replacing an existing pointer if the value replaces the value - of an existing string. */ -char *str; -{ - extern char **environ; /* The current environment. */ - static char **ourenv = NULL; /* A new environment */ - register char **p; - register char *q; - int size; - - /* First search the current environment and see if we can replace a - * string. */ - for( p=environ; *p; p++ ) { - register char *s = str; - - for( q = *p; *q && *s && *s == *q; q++, s++ ) - if( *s == '=' ) { - *p = str; - return(0); /* replaced it so go away */ - } - } - - /* Ok, can't replace a string so need to grow the environment. */ - size = p - environ + 2; /* size of new environment */ - /* size of old is size-1 */ - - /* It's the first time, so allocate a new environment since we don't know - * where the old one is comming from. */ - if( ourenv == NULL ) { - if( (ourenv = (char **) malloc( sizeof(char *)*size )) == NULL ) - return(1); - - memcpy( (char *)ourenv, (char *)environ, (size-2)*sizeof(char *) ); - } - else if( (ourenv = (char **)realloc( ourenv, size*sizeof(char *))) == NULL ) - return(1); - - ourenv[--size] = NULL; - ourenv[--size] = str; - - environ = ourenv; - return(0); -} diff --git a/dmake/unix/sysvr1/stdlib.h b/dmake/unix/sysvr1/stdlib.h deleted file mode 100644 index 3b612c2fd601..000000000000 --- a/dmake/unix/sysvr1/stdlib.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); -extern free(); -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/sysvr1/template.mk b/dmake/unix/sysvr1/template.mk deleted file mode 100644 index 4eb40febb3a1..000000000000 --- a/dmake/unix/sysvr1/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= sysvr1 - OSENVIRONMENT *:= diff --git a/dmake/unix/sysvr1/time.h b/dmake/unix/sysvr1/time.h deleted file mode 100644 index 3b3dfac5684f..000000000000 --- a/dmake/unix/sysvr1/time.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Properly define time_t. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/unix/sysvr1/vfprintf.c b/dmake/unix/sysvr1/vfprintf.c deleted file mode 100644 index 1d24a1c19b08..000000000000 --- a/dmake/unix/sysvr1/vfprintf.c +++ /dev/null @@ -1,58 +0,0 @@ -/* From: - * John Limpert johnl@gronk.UUCP uunet!n3dmc!gronk!johnl - */ - -#include -#include - -#ifndef BUFSIZ -#include -#endif - -#ifndef va_dcl -#include -#endif - -int -vsprintf(str, fmt, ap) - char *str, *fmt; - va_list ap; -{ - FILE f; - int len; - - f._flag = _IOWRT+_IOMYBUF; - f._ptr = (char *)str; /* My copy of BSD stdio.h has this as (char *) - * with a comment that it should be - * (unsigned char *). Since this code is - * intended for use on a vanilla BSD system, - * we'll stick with (char *) for now. - */ - f._cnt = 32767; - len = _doprnt(fmt, ap, &f); - *f._ptr = 0; - return (len); -} - -int -vfprintf(iop, fmt, ap) - FILE *iop; - char *fmt; - va_list ap; -{ - int len; - - len = _doprnt(fmt, ap, iop); - return (ferror(iop) ? EOF : len); -} - -int -vprintf(fmt, ap) - char *fmt; - va_list ap; -{ - int len; - - len = _doprnt(fmt, ap, stdout); - return (ferror(stdout) ? EOF : len); -} diff --git a/dmake/unix/sysvr3/config.mk b/dmake/unix/sysvr3/config.mk deleted file mode 100644 index 75bcf3c2a211..000000000000 --- a/dmake/unix/sysvr3/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the SysV R3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/sysvr3/gnu/public.h b/dmake/unix/sysvr3/gnu/public.h deleted file mode 100644 index 829293cce720..000000000000 --- a/dmake/unix/sysvr3/gnu/public.h +++ /dev/null @@ -1,165 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:56:54 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -int Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -int Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/sysvr3/make.sh b/dmake/unix/sysvr3/make.sh deleted file mode 100644 index 505670f8b708..000000000000 --- a/dmake/unix/sysvr3/make.sh +++ /dev/null @@ -1,60 +0,0 @@ -mkdir objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O infer.c -mv infer.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O make.c -mv make.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O stat.c -mv stat.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O expand.c -mv expand.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O dmstring.c -mv dmstring.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O hash.c -mv hash.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O dag.c -mv dag.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O dmake.c -mv dmake.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O path.c -mv path.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O imacs.c -mv imacs.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O sysintf.c -mv sysintf.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O parse.c -mv parse.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O getinp.c -mv getinp.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O quit.c -mv quit.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O state.c -mv state.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O dmdump.c -mv dmdump.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O macparse.c -mv macparse.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O rulparse.c -mv rulparse.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O percent.c -mv percent.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O function.c -mv function.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/arlib.c -mv arlib.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/dirbrk.c -mv dirbrk.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/rmprq.c -mv rmprq.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/ruletab.c -mv ruletab.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/runargv.c -mv runargv.o objects -gcc -c -I. -Iunix -Iunix/sysvr3 -O unix/dcache.c -mv dcache.o objects -gcc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/sysvr3/template.mk startup/config.mk diff --git a/dmake/unix/sysvr3/public.h b/dmake/unix/sysvr3/public.h deleted file mode 100644 index ec7a7c1ba5f6..000000000000 --- a/dmake/unix/sysvr3/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:56:41 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/sysvr3/pwd/config.mk b/dmake/unix/sysvr3/pwd/config.mk deleted file mode 100644 index 86c535a64c1d..000000000000 --- a/dmake/unix/sysvr3/pwd/config.mk +++ /dev/null @@ -1,20 +0,0 @@ -# This is the Sys VR3 PWD configuration file. It configures SysvR3 unix -# versions of dmake to use a provided version of getcwd rather than the -# standard library version that uses popen to capture the output of pwd. -# - -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) - -# The following are required sources -OSRESRC := getcwd.c - -.IF $(OSRESRC) - SRC += $(OSRESRC) - .SETDIR=$(osredir) : $(OSRESRC) -.END - -.SOURCE.h : $(osredir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osredir) diff --git a/dmake/unix/sysvr3/pwd/getcwd.c b/dmake/unix/sysvr3/pwd/getcwd.c deleted file mode 100644 index f2359bcc795b..000000000000 --- a/dmake/unix/sysvr3/pwd/getcwd.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - getcwd -- get pathname of current working directory - - public-domain implementation - - last edit: 03-Nov-1990 Gwyn@BRL.MIL - - complies with the following standards: - IEEE Std 1003.1-1988 - SVID Issue 3 - X/Open Portability Guide Issue 2 (when "XPG2" is defined) - X/Open Portability Guide Issue 3 - - This implementation of getcwd() can be used to replace the UNIX - System V library routine (which uses popen() to capture the output of - the "pwd" command). Once that is done, "pwd" can be reimplemented as - just puts(getcwd((char*)0,0)), assuming "XPG2" is defined below. - - This implementation depends on every directory having entries for - "." and "..". It also depends on the internals of the - data structures to some degree. - - I considered using chdir() to ascend the hierarchy, followed by a - final chdir() to the path being returned by getcwd() to restore the - location, but decided that error recovery was too difficult that way. - The algorithm I settled on was inspired by my rewrite of the "pwd" - utility, combined with the dotdots[] array trick from the SVR2 shell. -*/ -#define XPG2 /* define to support obsolete XPG2-mandated feature */ - - -#include -#include - -#ifdef M_XENIX -# include -# define dirent direct -#else -# include -#endif - -#include -#include - -typedef char *pointer; /* (void *) if you have it */ - -extern void free(); -extern pointer malloc(); -extern int fstat(), stat(); - -extern int errno; /* normally done by */ - -#ifndef NULL -#define NULL 0 /* amorphous null pointer constant */ -#endif - -#ifndef NAME_MAX -#define NAME_MAX 255 /* maximum directory entry size */ -#endif - - -char * -getcwd( buf, size ) /* returns pointer to CWD pathname */ - char *buf; /* where to put name (NULL to malloc) */ - int size; /* size of buf[] or malloc()ed memory */ - { - static char dotdots[] = -"../../../../../../../../../../../../../../../../../../../../../../../../../.."; - char *dotdot; /* -> dotdots[.], right to left */ - DIR *dirp; /* -> parent directory stream */ - struct dirent *dir; /* -> directory entry */ - struct stat stat1, - stat2; /* info from stat() */ - struct stat *d = &stat1; /* -> info about "." */ - struct stat *dd = &stat2; /* -> info about ".." */ - register char *buffer; /* local copy of buf, or malloc()ed */ - char *bufend; /* -> buffer[size] */ - register char *endp; /* -> end of reversed string */ - register char *dname; /* entry name ("" for root) */ - int serrno = errno; /* save entry errno */ - - if ( buf != NULL && size <= 0 -#ifndef XPG2 - || buf == NULL -#endif - ) { - errno = EINVAL; /* invalid argument */ - return NULL; - } - - buffer = buf; -#ifdef XPG2 - if ( buf == NULL /* wants us to malloc() the string */ - && (buffer = (char *) malloc( (unsigned) size )) == NULL - /* XXX -- actually should probably not pay attention to "size" arg */ - ) { - errno = ENOMEM; /* cannot malloc() specified size */ - return NULL; - } -#endif - - if ( stat( ".", dd ) != 0 ) /* prime the pump */ - goto error; /* errno already set */ - - endp = buffer; /* initially, empty string */ - bufend = &buffer[size]; - - for ( dotdot = &dotdots[sizeof dotdots]; dotdot != dotdots; ) - { - dotdot -= 3; /* include one more "/.." section */ - /* (first time is actually "..") */ - - /* swap stat() info buffers */ - { - register struct stat *temp = d; - - d = dd; /* new current dir is old parent dir */ - dd = temp; - } - - if ( (dirp = opendir( dotdot )) == NULL ) /* new parent */ - goto error; /* errno already set */ - - if ( fstat( dirp->dd_fd, dd ) != 0 ) - { - serrno = errno; /* set by fstat() */ - (void)closedir( dirp ); - errno = serrno; /* in case closedir() clobbered it */ - goto error; - } - - if ( d->st_dev == dd->st_dev ) - { /* not crossing a mount point */ - if ( d->st_ino == dd->st_ino ) - { /* root directory */ - dname = ""; - goto append; - } - - do - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - while ( dir->d_ino != d->st_ino ); - } - else { /* crossing a mount point */ - struct stat t; /* info re. test entry */ - char name[sizeof dotdots + 1 + NAME_MAX]; - - (void)strcpy( name, dotdot ); - dname = &name[strlen( name )]; - *dname++ = '/'; - - do { - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - - (void)strcpy( dname, dir->d_name ); - /* must fit if NAME_MAX is not a lie */ - } - while ( stat( name, &t ) != 0 - || t.st_ino != d->st_ino - || t.st_dev != d->st_dev - ); - } - - dname = dir->d_name; - - /* append "/" and reversed dname string onto buffer */ - append: - if ( endp != buffer /* avoid trailing / in final name */ - || dname[0] == '\0' /* but allow "/" when CWD is root */ - ) - *endp++ = '/'; - - { - register char *app; /* traverses dname string */ - - for ( app = dname; *app != '\0'; ++app ) - ; - - if ( app - dname >= bufend - endp ) - { - (void)closedir( dirp ); - errno = ERANGE; /* won't fit allotted space */ - goto error; - } - - while ( app != dname ) - *endp++ = *--app; - } - - (void)closedir( dirp ); - - if ( dname[0] == '\0' ) /* reached root; wrap it up */ - { - register char *startp; /* -> buffer[.] */ - - *endp = '\0'; /* plant null terminator */ - - /* straighten out reversed pathname string */ - for ( startp = buffer; --endp > startp; ++startp ) - { - char temp = *endp; - - *endp = *startp; - *startp = temp; - } - - errno = serrno; /* restore entry errno */ - /* XXX -- if buf==NULL, realloc here? */ - return buffer; - } - } - - errno = ENOMEM; /* actually, algorithm failure */ - - error: - if ( buf == NULL ) - free( (pointer)buffer ); - - return NULL; - } - diff --git a/dmake/unix/sysvr3/pwd/make.sh b/dmake/unix/sysvr3/pwd/make.sh deleted file mode 100644 index 1f57569f61df..000000000000 --- a/dmake/unix/sysvr3/pwd/make.sh +++ /dev/null @@ -1,62 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/sysvr3 -Iunix/sysvr3/pwd -O unix/sysvr3/pwd/getcwd.c -mv getcwd.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/getcwd.o -cp unix/sysvr3/pwd/template.mk startup/config.mk diff --git a/dmake/unix/sysvr3/pwd/public.h b/dmake/unix/sysvr3/pwd/public.h deleted file mode 100644 index 78ce5609988e..000000000000 --- a/dmake/unix/sysvr3/pwd/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:57:06 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/sysvr3/pwd/template.mk b/dmake/unix/sysvr3/pwd/template.mk deleted file mode 100644 index fa6b4aa6bd1b..000000000000 --- a/dmake/unix/sysvr3/pwd/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= sysvr3 - OSENVIRONMENT *:= pwd diff --git a/dmake/unix/sysvr3/stdlib.h b/dmake/unix/sysvr3/stdlib.h deleted file mode 100644 index 077123d5494f..000000000000 --- a/dmake/unix/sysvr3/stdlib.h +++ /dev/null @@ -1,55 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -#ifndef _AIX -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); - -/* The AIX compiler dies on illegal redefinition of free */ -extern free(); -#endif - -/* AIX doesn't use NAME_MAX anylonger... */ -#ifdef _AIX -#include -#define NAME_MAX pathconf("/dev/null",_PC_NAME_MAX) -#endif - -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/sysvr3/template.mk b/dmake/unix/sysvr3/template.mk deleted file mode 100644 index 3cb518671142..000000000000 --- a/dmake/unix/sysvr3/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= sysvr3 - OSENVIRONMENT *:= diff --git a/dmake/unix/sysvr3/time.h b/dmake/unix/sysvr3/time.h deleted file mode 100644 index 3b3dfac5684f..000000000000 --- a/dmake/unix/sysvr3/time.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:35 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Properly define time_t. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/unix/sysvr4/config.mk b/dmake/unix/sysvr4/config.mk deleted file mode 100644 index 6443ff6a91c9..000000000000 --- a/dmake/unix/sysvr4/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the SysV R4 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/sysvr4/make.sh b/dmake/unix/sysvr4/make.sh deleted file mode 100644 index 9ab5904422f0..000000000000 --- a/dmake/unix/sysvr4/make.sh +++ /dev/null @@ -1,60 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/sysvr4 -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/sysvr4 -O unix/dcache.c -mv dcache.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/sysvr4/template.mk startup/config.mk diff --git a/dmake/unix/sysvr4/public.h b/dmake/unix/sysvr4/public.h deleted file mode 100644 index d8929a0ea7e5..000000000000 --- a/dmake/unix/sysvr4/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:57:19 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/sysvr4/template.mk b/dmake/unix/sysvr4/template.mk deleted file mode 100644 index 553878268e59..000000000000 --- a/dmake/unix/sysvr4/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= sysvr4 - OSENVIRONMENT *:= diff --git a/dmake/unix/tempnam.c b/dmake/unix/tempnam.c deleted file mode 100644 index 4b143ed8d0d7..000000000000 --- a/dmake/unix/tempnam.c +++ /dev/null @@ -1,106 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.2 2002-07-11 08:53:35 mh Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifdef __APPLE__ - -/*LINTLIBRARY*/ -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -char * -dtempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", getpid() ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} - -#endif diff --git a/dmake/unix/xenix/config.mk b/dmake/unix/xenix/config.mk deleted file mode 100644 index a4f8f78f3ee1..000000000000 --- a/dmake/unix/xenix/config.mk +++ /dev/null @@ -1,27 +0,0 @@ -# This is the SysV R3 UNIX configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# The following are required sources -OSDSRC := -.IF $(OSDSRC) - SRC += $(OSDSRC) - .SETDIR=$(osrdir) : $(OSDSRC) -.END - -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osrdir) -DM_XENIX - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END diff --git a/dmake/unix/xenix/make.sh b/dmake/unix/xenix/make.sh deleted file mode 100644 index 597936f38061..000000000000 --- a/dmake/unix/xenix/make.sh +++ /dev/null @@ -1,60 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -O unix/dcache.c -mv dcache.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o -cp unix/xenix/template.mk startup/config.mk diff --git a/dmake/unix/xenix/public.h b/dmake/unix/xenix/public.h deleted file mode 100644 index 7c24a76b9a0b..000000000000 --- a/dmake/unix/xenix/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:57:31 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/xenix/pwd/config.mk b/dmake/unix/xenix/pwd/config.mk deleted file mode 100644 index 095ff3587a68..000000000000 --- a/dmake/unix/xenix/pwd/config.mk +++ /dev/null @@ -1,23 +0,0 @@ -# This is the Sys VR3 PWD configuration file. It configures SysvR3 unix -# versions of dmake to use a provided version of getcwd rather than the -# standard library version that uses popen to capture the output of pwd. -# - -osredir := $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)$(OSENVIRONMENT) - -# The following are required sources -OSRESRC := getcwd.c - -.IF $(OSRESRC) - SRC += $(OSRESRC) - .SETDIR=$(osredir) : $(OSRESRC) -.END - -.SOURCE.h : $(osredir) - -# Local configuration modifications for CFLAGS, there's local SysV includes -# too. -CFLAGS += -I$(osredir) - -# Xenix needs -lx in order to link successfully. -LDLIBS += -lx diff --git a/dmake/unix/xenix/pwd/getcwd.c b/dmake/unix/xenix/pwd/getcwd.c deleted file mode 100644 index f2359bcc795b..000000000000 --- a/dmake/unix/xenix/pwd/getcwd.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - getcwd -- get pathname of current working directory - - public-domain implementation - - last edit: 03-Nov-1990 Gwyn@BRL.MIL - - complies with the following standards: - IEEE Std 1003.1-1988 - SVID Issue 3 - X/Open Portability Guide Issue 2 (when "XPG2" is defined) - X/Open Portability Guide Issue 3 - - This implementation of getcwd() can be used to replace the UNIX - System V library routine (which uses popen() to capture the output of - the "pwd" command). Once that is done, "pwd" can be reimplemented as - just puts(getcwd((char*)0,0)), assuming "XPG2" is defined below. - - This implementation depends on every directory having entries for - "." and "..". It also depends on the internals of the - data structures to some degree. - - I considered using chdir() to ascend the hierarchy, followed by a - final chdir() to the path being returned by getcwd() to restore the - location, but decided that error recovery was too difficult that way. - The algorithm I settled on was inspired by my rewrite of the "pwd" - utility, combined with the dotdots[] array trick from the SVR2 shell. -*/ -#define XPG2 /* define to support obsolete XPG2-mandated feature */ - - -#include -#include - -#ifdef M_XENIX -# include -# define dirent direct -#else -# include -#endif - -#include -#include - -typedef char *pointer; /* (void *) if you have it */ - -extern void free(); -extern pointer malloc(); -extern int fstat(), stat(); - -extern int errno; /* normally done by */ - -#ifndef NULL -#define NULL 0 /* amorphous null pointer constant */ -#endif - -#ifndef NAME_MAX -#define NAME_MAX 255 /* maximum directory entry size */ -#endif - - -char * -getcwd( buf, size ) /* returns pointer to CWD pathname */ - char *buf; /* where to put name (NULL to malloc) */ - int size; /* size of buf[] or malloc()ed memory */ - { - static char dotdots[] = -"../../../../../../../../../../../../../../../../../../../../../../../../../.."; - char *dotdot; /* -> dotdots[.], right to left */ - DIR *dirp; /* -> parent directory stream */ - struct dirent *dir; /* -> directory entry */ - struct stat stat1, - stat2; /* info from stat() */ - struct stat *d = &stat1; /* -> info about "." */ - struct stat *dd = &stat2; /* -> info about ".." */ - register char *buffer; /* local copy of buf, or malloc()ed */ - char *bufend; /* -> buffer[size] */ - register char *endp; /* -> end of reversed string */ - register char *dname; /* entry name ("" for root) */ - int serrno = errno; /* save entry errno */ - - if ( buf != NULL && size <= 0 -#ifndef XPG2 - || buf == NULL -#endif - ) { - errno = EINVAL; /* invalid argument */ - return NULL; - } - - buffer = buf; -#ifdef XPG2 - if ( buf == NULL /* wants us to malloc() the string */ - && (buffer = (char *) malloc( (unsigned) size )) == NULL - /* XXX -- actually should probably not pay attention to "size" arg */ - ) { - errno = ENOMEM; /* cannot malloc() specified size */ - return NULL; - } -#endif - - if ( stat( ".", dd ) != 0 ) /* prime the pump */ - goto error; /* errno already set */ - - endp = buffer; /* initially, empty string */ - bufend = &buffer[size]; - - for ( dotdot = &dotdots[sizeof dotdots]; dotdot != dotdots; ) - { - dotdot -= 3; /* include one more "/.." section */ - /* (first time is actually "..") */ - - /* swap stat() info buffers */ - { - register struct stat *temp = d; - - d = dd; /* new current dir is old parent dir */ - dd = temp; - } - - if ( (dirp = opendir( dotdot )) == NULL ) /* new parent */ - goto error; /* errno already set */ - - if ( fstat( dirp->dd_fd, dd ) != 0 ) - { - serrno = errno; /* set by fstat() */ - (void)closedir( dirp ); - errno = serrno; /* in case closedir() clobbered it */ - goto error; - } - - if ( d->st_dev == dd->st_dev ) - { /* not crossing a mount point */ - if ( d->st_ino == dd->st_ino ) - { /* root directory */ - dname = ""; - goto append; - } - - do - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - while ( dir->d_ino != d->st_ino ); - } - else { /* crossing a mount point */ - struct stat t; /* info re. test entry */ - char name[sizeof dotdots + 1 + NAME_MAX]; - - (void)strcpy( name, dotdot ); - dname = &name[strlen( name )]; - *dname++ = '/'; - - do { - if ( (dir = readdir( dirp )) == NULL ) - { - (void)closedir( dirp ); - errno = ENOENT; /* missing entry */ - goto error; - } - - (void)strcpy( dname, dir->d_name ); - /* must fit if NAME_MAX is not a lie */ - } - while ( stat( name, &t ) != 0 - || t.st_ino != d->st_ino - || t.st_dev != d->st_dev - ); - } - - dname = dir->d_name; - - /* append "/" and reversed dname string onto buffer */ - append: - if ( endp != buffer /* avoid trailing / in final name */ - || dname[0] == '\0' /* but allow "/" when CWD is root */ - ) - *endp++ = '/'; - - { - register char *app; /* traverses dname string */ - - for ( app = dname; *app != '\0'; ++app ) - ; - - if ( app - dname >= bufend - endp ) - { - (void)closedir( dirp ); - errno = ERANGE; /* won't fit allotted space */ - goto error; - } - - while ( app != dname ) - *endp++ = *--app; - } - - (void)closedir( dirp ); - - if ( dname[0] == '\0' ) /* reached root; wrap it up */ - { - register char *startp; /* -> buffer[.] */ - - *endp = '\0'; /* plant null terminator */ - - /* straighten out reversed pathname string */ - for ( startp = buffer; --endp > startp; ++startp ) - { - char temp = *endp; - - *endp = *startp; - *startp = temp; - } - - errno = serrno; /* restore entry errno */ - /* XXX -- if buf==NULL, realloc here? */ - return buffer; - } - } - - errno = ENOMEM; /* actually, algorithm failure */ - - error: - if ( buf == NULL ) - free( (pointer)buffer ); - - return NULL; - } - diff --git a/dmake/unix/xenix/pwd/make.sh b/dmake/unix/xenix/pwd/make.sh deleted file mode 100644 index e7c02e53ace6..000000000000 --- a/dmake/unix/xenix/pwd/make.sh +++ /dev/null @@ -1,62 +0,0 @@ -mkdir objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O infer.c -mv infer.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O make.c -mv make.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O stat.c -mv stat.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O expand.c -mv expand.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O dmstring.c -mv dmstring.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O hash.c -mv hash.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O dag.c -mv dag.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O dmake.c -mv dmake.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O path.c -mv path.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O imacs.c -mv imacs.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O sysintf.c -mv sysintf.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O parse.c -mv parse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O getinp.c -mv getinp.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O quit.c -mv quit.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O state.c -mv state.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O dmdump.c -mv dmdump.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O macparse.c -mv macparse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O rulparse.c -mv rulparse.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O percent.c -mv percent.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O function.c -mv function.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/arlib.c -mv arlib.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/dirbrk.c -mv dirbrk.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/rmprq.c -mv rmprq.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/ruletab.c -mv ruletab.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/runargv.c -mv runargv.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/dcache.c -mv dcache.o objects -cc -c -I. -Iunix -Iunix/xenix -DM_XENIX -Iunix/xenix/pwd -O unix/xenix/pwd/getcwd.c -mv getcwd.o objects -cc -O -o dmake objects/infer.o objects/make.o objects/stat.o objects/expand.o \ -objects/dmstring.o objects/hash.o objects/dag.o objects/dmake.o objects/path.o \ -objects/imacs.o objects/sysintf.o objects/parse.o objects/getinp.o \ -objects/quit.o objects/state.o objects/dmdump.o objects/macparse.o \ -objects/rulparse.o objects/percent.o objects/function.o objects/arlib.o \ -objects/dirbrk.o objects/rmprq.o objects/ruletab.o objects/runargv.o objects/dcache.o objects/getcwd.o -lx -cp unix/xenix/pwd/template.mk startup/config.mk diff --git a/dmake/unix/xenix/pwd/public.h b/dmake/unix/xenix/pwd/public.h deleted file mode 100644 index 593e2956b3e1..000000000000 --- a/dmake/unix/xenix/pwd/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:57:43 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -time_t seek_arch ANSI((char *, char *)); -int touch_arch ANSI(( char *, char *)); -void void_lcache ANSI(( char *, char *)); -int If_root_path ANSI((char *)); -void Remove_prq ANSI((CELLPTR)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); - -#endif diff --git a/dmake/unix/xenix/pwd/template.mk b/dmake/unix/xenix/pwd/template.mk deleted file mode 100644 index abd4066c347b..000000000000 --- a/dmake/unix/xenix/pwd/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= xenix - OSENVIRONMENT *:= pwd diff --git a/dmake/unix/xenix/stdlib.h b/dmake/unix/xenix/stdlib.h deleted file mode 100644 index fe814c798a0b..000000000000 --- a/dmake/unix/xenix/stdlib.h +++ /dev/null @@ -1,50 +0,0 @@ -/* RCS $Id: stdlib.h,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- stdlib interface --- --- DESCRIPTION --- Specially needed pieces of interface to the standard C lib. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - - -#ifndef _STDLIB_INCLUDED_ -#define _STDLIB_INCLUDED_ - -extern /*GOTO*/ _exit(); -extern /*GOTO*/ exit(); -extern /*GOTO*/ abort(); -extern int system(); -extern char *getenv(); -extern char *calloc(); -extern char *malloc(); -extern char *realloc(); - -#ifndef _AIX -/* The AIX compiler dies on illegal redefinition of free */ -extern free(); -#endif - -extern int errno; - -#ifndef EIO -# include -#endif - -#endif /* _STDLIB_INCLUDED_ */ diff --git a/dmake/unix/xenix/template.mk b/dmake/unix/xenix/template.mk deleted file mode 100644 index 7ab223fbdb9f..000000000000 --- a/dmake/unix/xenix/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= unix - OSRELEASE *:= xenix - OSENVIRONMENT *:= diff --git a/dmake/unix/xenix/time.h b/dmake/unix/xenix/time.h deleted file mode 100644 index c7102cfc18cb..000000000000 --- a/dmake/unix/xenix/time.h +++ /dev/null @@ -1,32 +0,0 @@ -/* RCS $Id: time.h,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- time_t --- --- DESCRIPTION --- Properly define time_t. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef TIME_h -#define TIME_h - -typedef long time_t; /* this is the thing we use */ - -#endif TIME_h - diff --git a/dmake/vextern.h b/dmake/vextern.h deleted file mode 100644 index ab9b8b9c1278..000000000000 --- a/dmake/vextern.h +++ /dev/null @@ -1,129 +0,0 @@ -/* RCS $Id: vextern.h,v 1.7 2007-10-15 15:42:04 ihi Exp $ --- --- SYNOPSIS --- Global variable declarations. --- --- DESCRIPTION --- Leave _DEFINE_GLOBALS_ undefined and the following declarations --- will be defined as global variables, otherwise you get the --- external declarations to the same global variables. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These two are defined in dir/ruletab.c and dir/dirbrk.c, and are always - * imported as externals by the other code. Their defining modules do not - * #include this file. */ -extern char* DirBrkStr; /* pointer to value of macro DIRBRKSTR */ -extern char** Rule_tab; /* Builtin rules */ - -#ifndef _DEFINE_GLOBALS_ -#define EXTERN extern -#else -#define EXTERN -#endif - -EXTERN int Line_number; /* Current line number in make file parse */ -EXTERN t_attr Glob_attr; /* Global attrs to control global ops */ -EXTERN char* Makedir; /* pointer to macro value for MAKEDIR */ -EXTERN char* Makedir_macval; /* value of MAKEDIR (for .WINPATH) */ -EXTERN char* Shell; /* pointer to macro value for SHELL */ -EXTERN char* Shell_flags; /* pointer to macro value for SHELLFLAGS */ -EXTERN char* Shell_quote; /* pointer to macro value for SHELLCMDQUOTE */ -EXTERN char* GShell; /* pointer to macro value for GROUPSHELL */ -EXTERN char* GShell_flags; /* pointer to macro value for GROUPFLAGS */ -EXTERN char* Shell_metas; /* pointer to macro value for SHELLMETAS */ -EXTERN char* Grp_suff; /* pointer to macro value for GROUPSUFFIX */ -EXTERN char* DirSepStr; /* pointer to macro value for DIRSEPSTR */ -EXTERN char* AbsPname; /* pointer to macro value for ABSMAKECMD */ -EXTERN char* Pname; /* dmake process invoke name */ -EXTERN char* Pwd; /* current working dir */ -EXTERN char* Pwd_macval; /* value of PWD (for .WINPATH) */ -EXTERN char* Tmd; /* path to directory where dmake started */ -EXTERN char* Tmd_macval; /* value of TMD (for .WINPATH) */ -EXTERN char* Spacechar; /* pointer to macro value for SPACECHAR */ -EXTERN char* Keep_state; /* current .KEEP_STATE file */ -EXTERN char* Escape_char; /* Current escape character */ -EXTERN char* LastMacName; /* Last macro successfully parsed */ -EXTERN char* UseDirCache; /* The value of .DIRCACHE */ -EXTERN char* DcacheRespCase; /* TRUE if we are to respect dcache case */ -EXTERN char* OOoDmMode; /* Enable special behavior for OOo build. */ -EXTERN int Target; /* TRUE if a default target was found in * - * a makefile or on the commandline */ -EXTERN int If_expand; /* TRUE if calling Expand from getinp.c */ -EXTERN int Suppress_temp_file;/* TRUE if doing a test in _exec_recipe*/ -EXTERN int Readenv; /* TRUE if defining macro from environment*/ -EXTERN int Makemkf; /* TRUE if making makefile(s) */ -EXTERN int Nest_level; /* Nesting level for .IF .ELSE .END ... */ -EXTERN int Prep; /* Value of macro PREP */ -EXTERN int Def_targets; /* TRUE if defining targets - Only used * - * in Def_cell(). */ -EXTERN int Skip_to_eof; /* TRUE if asked to skip to eof on input */ -EXTERN int NameMax; /* The value of NAMEMAX */ -EXTERN int UseWinpath; /* True if .WINPATH is set for currently * - * made target. */ -#if __CYGWIN__ -EXTERN char* CygDrvPre; /* Drive prefix used by cygwin */ -EXTERN int CygDrvPreLen; /* Drive prefix length used by cygwin */ -#endif - - -EXTERN CELLPTR Root; /* Root of the make graph (.ROOT) */ -EXTERN CELLPTR Targets; /* Targets in makefile (.TARGETS) */ - -EXTERN CELLPTR Current_target; /* cell of current target being made */ -EXTERN int Wait_for_completion; /* Wait for subprocess to finish */ -EXTERN int Is_exec_shell; /* Indicate shell escape */ -EXTERN CELLPTR Shell_exec_target; /* Keep Current_target for _exec__shell */ -EXTERN FILE* stdout_redir; /* For _exec_shell client redirects */ -EXTERN int zerofd; /* File descriptor for /dev/null */ -EXTERN int Doing_bang; /* TRUE if target timestamp needs not to be - * updated immediately. */ -EXTERN int Packed_shell; /* TRUE if packed args to use a shell */ -#if defined(MSDOS) -EXTERN int Swap_on_exec; /* TRUE if going to swap on exec call */ -#endif -EXTERN int State; /* parser state */ -EXTERN int Group; /* parsing a group recipe ==> TRUE */ - -/* Command line option flags are defined here. They correspond one-for one - * with the flags defined in dmake.c */ - -EXTERN char *Augmake; /* -A */ -EXTERN char Comment; /* -c */ -EXTERN char Get_env; /* -e or -E */ -EXTERN char* Notabs; /* -B */ -EXTERN int Continue; /* -k */ -EXTERN int Force; /* -u */ -EXTERN int Listing; /* -p */ -EXTERN int Rules; /* -r */ -EXTERN int Trace; /* -n */ -EXTERN int Touch; /* -t */ -EXTERN int Check; /* -q */ -EXTERN uint16 Verbose; /* -v */ -EXTERN uint16 Measure; /* -m */ -EXTERN int Microsoft; /* -M */ -EXTERN int Transitive; /* -T */ -EXTERN int No_exec; /* -X */ - -EXTERN HASHPTR Defs[HASH_TABLE_SIZE]; -EXTERN HASHPTR Macs[HASH_TABLE_SIZE]; - -EXTERN char *Buffer; /* a general purpose buffer */ -EXTERN int Buffer_size; -EXTERN int Max_proclmt; /* limit of max # of conc procs */ -EXTERN int Max_proc; /* max # of conc procs */ diff --git a/dmake/win95/borland/bcc50/config.h b/dmake/win95/borland/bcc50/config.h deleted file mode 100644 index 709aad379ea1..000000000000 --- a/dmake/win95/borland/bcc50/config.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:39:58 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGBREAK /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Borland redefined the environment variable, sigh */ -#define environ _environ diff --git a/dmake/win95/borland/bcc50/config.mk b/dmake/win95/borland/bcc50/config.mk deleted file mode 100644 index b63cae1c1977..000000000000 --- a/dmake/win95/borland/bcc50/config.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -# Change the CCROOT variable to reflect the installation directory of your -# C++ compiler. -.IMPORT .IGNORE : CCVER - -CCVER *:= c:/cc/borland/$(OSENVIRONMENT) - -# Definitions for compiles and links -CSTARTUP = $(CCVER)/lib/c0x32.obj -LDLIBS = $(CCVER)/lib/cw32 $(CCVER)/lib/import32 - -CFLAGS += -A- -w-pro -I$(osedir) diff --git a/dmake/win95/borland/bcc50/lib.rsp b/dmake/win95/borland/bcc50/lib.rsp deleted file mode 100644 index 6b6ffb39dc4e..000000000000 --- a/dmake/win95/borland/bcc50/lib.rsp +++ /dev/null @@ -1,2 +0,0 @@ -c:\cc\borland\bcc50\lib\cw32+ -c:\cc\borland\bcc50\lib\import32 diff --git a/dmake/win95/borland/bcc50/mk.bat b/dmake/win95/borland/bcc50/mk.bat deleted file mode 100755 index 1c77b3799df5..000000000000 --- a/dmake/win95/borland/bcc50/mk.bat +++ /dev/null @@ -1,96 +0,0 @@ -md objects -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 infer.c -copy infer.obj objects -del infer.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 make.c -copy make.obj objects -del make.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 stat.c -copy stat.obj objects -del stat.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 expand.c -copy expand.obj objects -del expand.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 hash.c -copy hash.obj objects -del hash.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dag.c -copy dag.obj objects -del dag.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmake.c -copy dmake.obj objects -del dmake.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 path.c -copy path.obj objects -del path.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 imacs.c -copy imacs.obj objects -del imacs.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 parse.c -copy parse.obj objects -del parse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 getinp.c -copy getinp.obj objects -del getinp.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 quit.c -copy quit.obj objects -del quit.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 state.c -copy state.obj objects -del state.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 macparse.c -copy macparse.obj objects -del macparse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 percent.c -copy percent.obj objects -del percent.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 function.c -copy function.obj objects -del function.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\switchar.c -copy switchar.obj objects -del switchar.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\utime.c -copy utime.obj objects -del utime.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\runargv.c -copy runargv.obj objects -del runargv.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 unix\rmprq.c -copy rmprq.obj objects -del rmprq.obj -tlink32 @win95\borland\bcc50\obj.rsp,dmake.exe,NUL.MAP,@win95\borland\bcc50\lib.rsp -copy win95\borland\bcc50\template.mk startup\config.mk diff --git a/dmake/win95/borland/bcc50/obj.rsp b/dmake/win95/borland/bcc50/obj.rsp deleted file mode 100644 index 0301270860f0..000000000000 --- a/dmake/win95/borland/bcc50/obj.rsp +++ /dev/null @@ -1,32 +0,0 @@ -c:\cc\borland\bcc50\lib\c0x32.obj+ -objects\infer.obj+ -objects\make.obj+ -objects\stat.obj+ -objects\expand.obj+ -objects\dmstring.obj+ -objects\hash.obj+ -objects\dag.obj+ -objects\dmake.obj+ -objects\path.obj+ -objects\imacs.obj+ -objects\sysintf.obj+ -objects\parse.obj+ -objects\getinp.obj+ -objects\quit.obj+ -objects\state.obj+ -objects\dmdump.obj+ -objects\macparse.obj+ -objects\rulparse.obj+ -objects\percent.obj+ -objects\function.obj+ -objects\dchdir.obj+ -objects\switchar.obj+ -objects\dstrlwr.obj+ -objects\arlib.obj+ -objects\dirbrk.obj+ -objects\tempnam.obj+ -objects\ruletab.obj+ -objects\utime.obj+ -objects\runargv.obj+ -objects\dcache.obj+ -objects\rmprq.obj diff --git a/dmake/win95/borland/bcc50/public.h b/dmake/win95/borland/bcc50/public.h deleted file mode 100644 index bca3bc332b31..000000000000 --- a/dmake/win95/borland/bcc50/public.h +++ /dev/null @@ -1,168 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:58:03 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/win95/borland/bcc50/template.mk b/dmake/win95/borland/bcc50/template.mk deleted file mode 100644 index b5095c40ce2a..000000000000 --- a/dmake/win95/borland/bcc50/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= win95 - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc50 diff --git a/dmake/win95/borland/config.mk b/dmake/win95/borland/config.mk deleted file mode 100644 index 8d5d69df5bd7..000000000000 --- a/dmake/win95/borland/config.mk +++ /dev/null @@ -1,51 +0,0 @@ -# This is the Turbo C++ 2.0 DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# OS specific sources -OSR_SRC += tempnam.c ruletab.c -DOS_SRC += runargv.c rmprq.c - -SRC += $(OSR_SRC) $(DOS_SRC) -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS. Make sure your turboc.cfg -# file contains a -D__STDC__=1 and -DM_I86=1, if not then uncomment the line -# below! -#CFLAGS += -DM_I86=1 -D__STDC__=1 - -# You can get a smaller executable still, buy adding a -1 to the list of -# flags below, but then you can't run this on an 8086/88 cpu. -#CFLAGS += -1 -CFLAGS += -I$(osrdir) -d -O -N- -w-nod -ASFLAGS += -t -mx $(S_$(MODEL)) - -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDHEAD) @$(LDTMPOBJ),$(TARGET),NUL.MAP$(LDTAIL) -LDTAIL = $(_libs)$(LDFLAGS:s/ //) -_libs = $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ = $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"+\n")\n) -LDTMPLIB = $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\\,:t"+\n")\n) - -# Debugging information for Turbo-C -DB_CFLAGS += -v -DB_LDFLAGS += /v - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -.SETDIR=$(osrdir) : $(OSR_SRC) -.SETDIR=msdos : $(DOS_SRC) - -S_s = -dmsmall -S_m = -dmmedium -S_c = -dmcompact -S_l = -dmlarge diff --git a/dmake/win95/borland/ruletab.c b/dmake/win95/borland/ruletab.c deleted file mode 100644 index 78aa04d04301..000000000000 --- a/dmake/win95/borland/ruletab.c +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.3 2006-06-29 11:32:01 ihi Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -#include - -static char *_rules[] = { - "MAXLINELENGTH := 32766", - "MAXPROCESSLIMIT := 4", - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk makefile", - ".SOURCE : .NULL", -#include "startup.h" - (char *)NULL }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/win95/borland/sysintf.h b/dmake/win95/borland/sysintf.h deleted file mode 100644 index d3d92cf68d34..000000000000 --- a/dmake/win95/borland/sysintf.h +++ /dev/null @@ -1,55 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.3 2007-01-18 09:49:31 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX _MAX_FNAME - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/win95/borland/tempnam.c b/dmake/win95/borland/tempnam.c deleted file mode 100644 index cb1bd9f5eb53..000000000000 --- a/dmake/win95/borland/tempnam.c +++ /dev/null @@ -1,114 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* Turbo C stdio.h doesn't define P_tmpdir, so let's do it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifndef P_tmpdir -static char *P_tmpdir = ""; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - -#if defined(__WIN32__) - unsigned int _psp = rand(); -#endif - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/win95/config.mk b/dmake/win95/config.mk deleted file mode 100644 index 721be05b00f4..000000000000 --- a/dmake/win95/config.mk +++ /dev/null @@ -1,53 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# - -# Memory model to compile for -# set to s - small, m - medium, c - compact, l - large -# Need large model now, dmake has grown up :-) -MODEL = l - -STARTUPFILE = startup/startup.mk - -CPPFLAGS = $(CFLAGS) - -# Debug flags -DB_CFLAGS = -DDBUG -DB_LDFLAGS = -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -NDB_LDFLAGS = -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) - -# Common Win32 source files. -OS_SRC += dchdir.c switchar.c - -# Imported MSDOS Files. -DOSSRC += dstrlwr.c arlib.c dirbrk.c - -SRC += $(OS_SRC) $(UNIXSRC) $(DOSSRC) - -# Provide our own %$O : %$S rule. -%$O : %$S - +$(AS) $(ASFLAGS) \ - $(<:s,\,${__.DIVSEP-sh-${USESHELL}},:s,/,${__.DIVSEP-sh-${USESHELL}},); - mv $(@:f) $(OBJDIR) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END - -.SETDIR=msdos : $(DOSSRC) -.SETDIR=$(OS) : $(ASRC) $(OS_SRC) diff --git a/dmake/win95/dchdir.c b/dmake/win95/dchdir.c deleted file mode 100644 index dab1d7163ede..000000000000 --- a/dmake/win95/dchdir.c +++ /dev/null @@ -1,49 +0,0 @@ -/* RCS $Id: dchdir.c,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- Change directory. --- --- DESCRIPTION --- Under DOS change the current drive as well as the current directory. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#if 0 -#include -#endif -#include -#include "extern.h" - -PUBLIC int -dchdir(path) -char *path; -{ - int res; - - res = chdir(path); - - if (res != -1 && path[1] == ':') { - unsigned new_drive; - - /* for WIN32 just use the _chdrive library call */ - new_drive = (*path & ~0x20) - 'A' + 1; - _chdrive(new_drive); - } - - return (res); -} diff --git a/dmake/win95/microsft/config.h b/dmake/win95/microsft/config.h deleted file mode 100644 index e04d1bd72669..000000000000 --- a/dmake/win95/microsft/config.h +++ /dev/null @@ -1,122 +0,0 @@ -/* $RCSfile: config.h,v $ --- $Revision: 1.14 $ --- last change: $Author: kz $ $Date: 2008-03-05 18:40:17 $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* Attention! In the UNIX like builds with the ./configure ; make - procedure a config.h is generated. The autogenerated config.h - must not be there to compile dmake with MSC and the - "dmake\make.bat win95-vpp40" command. This file sets (among other - things) the needed HAS_... and HAVE_... macros. - - Don't forget to update the PACKAGE and VERSION macros! -*/ - -/* Name and version number of this package */ -#define PACKAGE "dmake" -#define VERSION "4.12" -#define BUILDINFO "Windows / MS Visual C++" - -#if defined (_MSC_VER) -# if _MSC_VER < 500 - Force a compile-time blowup. - Do not define "#define _MSC_VER" for MSC compilers earlier than 5.0. -# endif -#endif - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -#define coreleft() 0L - -/* MSC Version 4.0 doesn't understand SIGTERM, later versions do. */ -/* config.h is included before signal.h therefore test MSC version */ -#if _MSC_VER < 500 -# define SIGTERM SIGINT -#endif - -/* Fixes unimplemented line buffering for MSC 5.x and 6.0. - * MSC _IOLBF is the same as _IOFBF - */ -#if defined(MSDOS) && defined (_MSC_VER) -# undef _IOLBF -# define _IOLBF _IONBF -#endif - -/* in alloc.h: size_t is redefined - * defined in stdio.h which is included by alloc.h - */ -#if defined(MSDOS) && defined (_MSC_VER) -# define _TYPES_ -#endif - -/* in sysintf.c: SIGQUIT is used, this is not defined in MSC */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* MSC didn't seem to care about CONST in the past */ -#ifndef CONST -# define CONST -#endif - -/* Assume case insensitive file system. */ -#define CASE_INSENSITIVE_FS 1 - -/* MSC has sys/types.h and sys/stat.h (this is tested only with MSVC++ 6.0) */ -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 - -/* These functions are available! (this is tested only with MSVC++ 6.0) */ -#define HAVE_GETCWD 1 -#define HAVE_UTIME_NULL 1 -#define HAVE_TZSET 1 -#define HAVE_STRLWR 1 - -#define HAVE_ERRNO_H 1 -#define HAVE_STRERROR 1 -#define HAVE_TEMPNAM 1 -#define HAVE_FCNTL_H 1 - -/* These defines are needed for itypes.h! (this is tested only with MSVC++ 6.0) */ -#define SIZEOF_INT 4 -#define SIZEOF_LONG 4 -#define SIZEOF_SHORT 2 - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Use my own tempnam for MSC Version less than 6.0 */ -#if _MSC_VER < 600 -# define tempnam dtempnam -#endif - diff --git a/dmake/win95/microsft/config.mk b/dmake/win95/microsft/config.mk deleted file mode 100644 index acc43fd3160c..000000000000 --- a/dmake/win95/microsft/config.mk +++ /dev/null @@ -1,62 +0,0 @@ -# This is the MSC 4.0 and higher DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -TMPDIR := -.EXPORT : TMPDIR - -# Definition of macros for library, and C startup code. - -# The following sources are required for MSC -OSR_SRC += ruletab.c -UNX_SRC += runargv.c rmprq.c - -.SETDIR=$(osrdir) : $(OSR_SRC) -.SETDIR=unix : $(UNX_SRC) - -SRC += $(OSR_SRC) $(UNX_SRC) -.SOURCE.h : $(osrdir) - -SET_STACK = /stack:4096 -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Microsoft C doesn't need tail but needs head -LDOBJS != $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDTAIL != -LDHEAD != $(LDFLAGS) -LDARGS != $(LDHEAD) -out:$(TARGET) @$(LDTMPOBJ) $(LDTAIL) -LDTAIL != $(_libs) -_libs != $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ != $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\,:t"\n")) -LDTMPLIB != $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\,:t"\n")) - -# Debugging libraries and flags -DB_LDFLAGS += /nologo /co /li /map -DB_LDLIBS += -DB_CFLAGS += -Zi - -# NO Debug MSC flags: -# Set the environment variable MSC_VER to be one of 5.1, 6.0, 8.0 (for VC++4.0) -# to get these by default when you make dmake using 'dmake'. -# - -NDB_LDFLAGS += /nologo -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -CFLAGS += /nologo - -S_s = -Dmsmall -S_m = -Dmmedium -S_c = -Dmcompact -S_l = -Dmlarge diff --git a/dmake/win95/microsft/optoff.h b/dmake/win95/microsft/optoff.h deleted file mode 100644 index 019605931851..000000000000 --- a/dmake/win95/microsft/optoff.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: optoff.h,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- Turn off microsoft loop optimization. --- --- DESCRIPTION --- This is broken in some pre 600 compilers so just turn it off. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#if _MSC_VER < 600 -# pragma loop_opt(off) -#endif diff --git a/dmake/win95/microsft/ruletab.c b/dmake/win95/microsft/ruletab.c deleted file mode 100644 index 12edbeb84de7..000000000000 --- a/dmake/win95/microsft/ruletab.c +++ /dev/null @@ -1,56 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.5 2008-03-05 18:40:54 kz Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -#include "extern.h" - -#if !defined(MAXIMUM_WAIT_OBJECTS) -#define MAXIMUM_WAIT_OBJECTS 1 -#endif - -/* To stringify the result of the expansion of a macro argument - * use two levels of macros. */ -#define dmstr2(s) dmstr1(s) -#define dmstr1(s) #s - -static char *_rules[] = { - "MAXLINELENGTH := 32766", - "MAXPROCESSLIMIT := " dmstr2(MAXIMUM_WAIT_OBJECTS) , - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk makefile", - ".SOURCE : .NULL", -#include "startup.h" -#if __MINGW32__ -# include "dmakeroot.h" -#endif - (char *)NULL }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/win95/microsft/sysintf.h b/dmake/win95/microsft/sysintf.h deleted file mode 100644 index 3434847f3327..000000000000 --- a/dmake/win95/microsft/sysintf.h +++ /dev/null @@ -1,57 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.3 2007-01-18 09:50:52 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX _MAX_FNAME - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/win95/microsft/tempnam.c b/dmake/win95/microsft/tempnam.c deleted file mode 100644 index c3a8fa140f29..000000000000 --- a/dmake/win95/microsft/tempnam.c +++ /dev/null @@ -1,110 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -dtempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", getpid() ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/win95/microsft/vpp40/config.mk b/dmake/win95/microsft/vpp40/config.mk deleted file mode 100644 index 14fe952eac00..000000000000 --- a/dmake/win95/microsft/vpp40/config.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 8.0 - -CFLAGS += -I$(osedir) - -NDB_CFLAGS += -Od -GF -Ge -NDB_LDFLAGS += -NDB_LDLIBS += - -# Redefine rule for making our objects, we don't need mv -%$O : %.c ;% $(CC) -c $(CFLAGS) -Fo$@ $< diff --git a/dmake/win95/microsft/vpp40/lib.rsp b/dmake/win95/microsft/vpp40/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/win95/microsft/vpp40/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/win95/microsft/vpp40/mk.bat b/dmake/win95/microsft/vpp40/mk.bat deleted file mode 100755 index 1f1cee1d0d34..000000000000 --- a/dmake/win95/microsft/vpp40/mk.bat +++ /dev/null @@ -1,41 +0,0 @@ -if not "%1" == "" goto link -if exist objects rd /S /Q objects -if exist config.h del config.h -if exist dmake.exe del dmake.exe -md objects -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\infer.obj infer.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\make.obj make.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\stat.obj stat.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\expand.obj expand.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmstring.obj dmstring.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\hash.obj hash.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dag.obj dag.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmake.obj dmake.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\path.obj path.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\imacs.obj imacs.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\sysintf.obj sysintf.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\parse.obj parse.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\getinp.obj getinp.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\quit.obj quit.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\state.obj state.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmdump.obj dmdump.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\macparse.obj macparse.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\rulparse.obj rulparse.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\percent.obj percent.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\function.obj function.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dchdir.obj win95\dchdir.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\switchar.obj win95\switchar.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dstrlwr.obj msdos\dstrlwr.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\arlib.obj msdos\arlib.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dirbrk.obj msdos\dirbrk.c -rem Not needed for MSVC 6 and up. Lesser versions not supported -rem cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\tempnam.obj tempnam.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\ruletab.obj win95\microsft\ruletab.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\runargv.obj unix\runargv.c -cl -c %c_flg% -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\rmprq.obj unix\rmprq.c - -:link -rem link /nologo /out:dmake.exe @fix95nt\win95\microsft\vpp40\obj.rsp -if "%c_flg%" == "" link /out:dmake.exe @.\win95\microsft\vpp40\obj.rsp -if not "%c_flg%" == "" link /DEBUG:notmapped,full /DEBUGTYPE:cv /PDB:NONE /out:dmake.exe @.\win95\microsft\vpp40\obj.rsp -copy win95\microsft\vpp40\template.mk startup\config.mk diff --git a/dmake/win95/microsft/vpp40/obj.rsp b/dmake/win95/microsft/vpp40/obj.rsp deleted file mode 100644 index ae89a27c3940..000000000000 --- a/dmake/win95/microsft/vpp40/obj.rsp +++ /dev/null @@ -1,28 +0,0 @@ -objects\infer.obj -objects\make.obj -objects\stat.obj -objects\expand.obj -objects\dmstring.obj -objects\hash.obj -objects\dag.obj -objects\dmake.obj -objects\path.obj -objects\imacs.obj -objects\sysintf.obj -objects\parse.obj -objects\getinp.obj -objects\quit.obj -objects\state.obj -objects\dmdump.obj -objects\macparse.obj -objects\rulparse.obj -objects\percent.obj -objects\function.obj -objects\dchdir.obj -objects\switchar.obj -objects\dstrlwr.obj -objects\arlib.obj -objects\dirbrk.obj -objects\ruletab.obj -objects\runargv.obj -objects\rmprq.obj diff --git a/dmake/win95/microsft/vpp40/public.h b/dmake/win95/microsft/vpp40/public.h deleted file mode 100644 index 94b50d22c214..000000000000 --- a/dmake/win95/microsft/vpp40/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.8 2007-10-15 15:58:42 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/win95/microsft/vpp40/runargv.c b/dmake/win95/microsft/vpp40/runargv.c deleted file mode 100644 index fab9258d6d61..000000000000 --- a/dmake/win95/microsft/vpp40/runargv.c +++ /dev/null @@ -1,288 +0,0 @@ -Blake sent me the wrong one. - -/* RCS $Id: runargv.c,v 1.2 2007-10-15 15:58:54 ihi Exp $ --- --- SYNOPSIS --- Invoke a sub process. --- --- DESCRIPTION --- Use the standard methods of executing a sub process. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include -#include "extern.h" -#include "sysintf.h" - -extern char **environ; - -typedef struct prp { - char *prp_cmd; - int prp_group; - int prp_ignore; - int prp_last; - int prp_shell; - struct prp *prp_next; -} RCP, *RCPPTR; - -typedef struct pr { - int pr_valid; - int pr_pid; - CELLPTR pr_target; - int pr_ignore; - int pr_last; - RCPPTR pr_recipe; - RCPPTR pr_recipe_end; - char *pr_dir; -} PR; - -static PR *_procs = NIL(PR); -static int _proc_cnt = 0; -static int _abort_flg= FALSE; -static int _use_i = -1; -static int _do_upd = 0; - -static void _add_child ANSI((int, CELLPTR, int, int)); -static void _attach_cmd ANSI((char *, int, int, CELLPTR, int, int)); -static void _finished_child ANSI((int, int)); -static int _running ANSI((CELLPTR)); - -PUBLIC int -runargv(target, ignore, group, last, shell, cmd) -CELLPTR target; -int ignore; -int group; -int last; -int shell; -char *cmd; -{ - extern int errno; - extern char *sys_errlist[]; - int pid; - char **argv; - - if( _running(target) /*&& Max_proc != 1*/ ) { - /* The command will be executed when the previous recipe - * line completes. */ - _attach_cmd( cmd, group, ignore, target, last, shell ); - return(1); - } - - while( _proc_cnt == Max_proc ) - if( Wait_for_child(FALSE, -1) == -1 ) Fatal( "Lost a child %d", errno ); - - argv = Pack_argv( group, shell, cmd ); - - pid = _spawnvpe(_P_NOWAIT, argv[0], argv, environ); - if (pid == -1) { /* failed */ - Error("%s: %s", argv[0], sys_errlist[errno]); - Handle_result(-1, ignore, _abort_flg, target); - return(-1); - } else - _add_child(pid, target, ignore, last); - - return(1); -} - - -PUBLIC int -Wait_for_child( abort_flg, pid ) -int abort_flg; -int pid; -{ - int wid; - int status; - int waitchild; - - waitchild = (pid == -1)? FALSE : Wait_for_completion; - - do { - if( (wid = wait(&status)) == -1 ) return(-1); - - _abort_flg = abort_flg; - _finished_child(wid, status); - _abort_flg = FALSE; - } while( waitchild && pid != wid ); - - return(0); -} - - -PUBLIC void -Clean_up_processes() -{ - register int i; - - if( _procs != NIL(PR) ) { - for( i=0; ipr_valid = 1; - pp->pr_pid = pid; - pp->pr_target = target; - pp->pr_ignore = ignore; - pp->pr_last = last; - pp->pr_dir = DmStrDup(Get_current_dir()); - - Current_target = NIL(CELL); - - _proc_cnt++; - - if( Wait_for_completion ) Wait_for_child( FALSE, pid ); -} - - -static void -_finished_child(pid, status) -int pid; -int status; -{ - register int i; - register PR *pp; - char *dir; - - for( i=0; ice_attr & A_ERROR ) { - _procs[i].pr_last = TRUE; - goto ABORT_REMAINDER_OF_RECIPE; - } - - _procs[i].pr_recipe = rp->prp_next; - - _use_i = i; - runargv( _procs[i].pr_target, rp->prp_ignore, rp->prp_group, - rp->prp_last, rp->prp_shell, rp->prp_cmd ); - _use_i = -1; - - FREE( rp->prp_cmd ); - FREE( rp ); - - if( _proc_cnt == Max_proc ) Wait_for_child( FALSE, -1 ); - } - else { - Handle_result(status,_procs[i].pr_ignore,_abort_flg,_procs[i].pr_target); - - ABORT_REMAINDER_OF_RECIPE: - if( _procs[i].pr_last ) { - FREE(_procs[i].pr_dir ); - - if( !Doing_bang ) Update_time_stamp( _procs[i].pr_target ); - } - } - - Set_dir(dir); - FREE(dir); -} - - -static int -_running( cp ) -CELLPTR cp; -{ - register int i; - - if( !_procs ) return(FALSE); - - for( i=0; iprp_cmd = DmStrDup(cmd); - rp->prp_group = group; - rp->prp_ignore= ignore; - rp->prp_last = last; - rp->prp_shell = shell; - - if( _procs[i].pr_recipe == NIL(RCP) ) - _procs[i].pr_recipe = _procs[i].pr_recipe_end = rp; - else { - _procs[i].pr_recipe_end->prp_next = rp; - _procs[i].pr_recipe_end = rp; - } -} diff --git a/dmake/win95/microsft/vpp40/template.mk b/dmake/win95/microsft/vpp40/template.mk deleted file mode 100644 index d4e6c9eb9f40..000000000000 --- a/dmake/win95/microsft/vpp40/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= win95 - OSRELEASE *:= microsft - OSENVIRONMENT *:= vpp40 diff --git a/dmake/win95/microsft/vpp40/tempnam.c b/dmake/win95/microsft/vpp40/tempnam.c deleted file mode 100644 index c27da47c7602..000000000000 --- a/dmake/win95/microsft/vpp40/tempnam.c +++ /dev/null @@ -1,110 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/win95/startup.h b/dmake/win95/startup.h deleted file mode 100644 index af0f88c1e6d3..000000000000 --- a/dmake/win95/startup.h +++ /dev/null @@ -1,28 +0,0 @@ -/* RCS $Id: startup.h,v 1.2 2006-04-20 12:23:16 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"DMAKEROOT *= $(ABSMAKECMD:d)startup", -"MAKESTARTUP := $(DMAKEROOT)\\startup.mk", diff --git a/dmake/win95/switchar.c b/dmake/win95/switchar.c deleted file mode 100644 index 783d02cefe77..000000000000 --- a/dmake/win95/switchar.c +++ /dev/null @@ -1,43 +0,0 @@ -/* RCS $Id: switchar.c,v 1.1.1.1 2000-09-22 15:33:36 hr Exp $ --- --- SYNOPSIS --- switchar settings --- --- DESCRIPTION --- Figure out the value of switchar. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include "stdmacs.h" - -getswitchar()/* -=============== - Try the environment first. If you don't find SWITCHAR there, then use - the DOS call. The call is undocumented, and doesn't work for DOS versions - 4.0 and up, so the check of the environment will fix that. */ -{ - static char *_env_switchar = NIL(char); - - if( _env_switchar != NIL(char) || - (_env_switchar = (char *)getenv("SWITCHAR")) != NIL(char) ) - return(*_env_switchar); - - return ('/'); -} diff --git a/dmake/winnt/borland/bcc50/config.h b/dmake/winnt/borland/bcc50/config.h deleted file mode 100644 index 77c577995664..000000000000 --- a/dmake/winnt/borland/bcc50/config.h +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: config.h,v 1.2 2008-03-05 18:41:34 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -/*#define coreleft() 0L*/ -extern unsigned int coreleft(); - -#define SIGQUIT SIGBREAK /* turbo C doesn't understand SIGQUIT */ - -/* Turbo-C understands const declarations. */ -#define CONST const - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Borland redefined the environment variable, sigh */ -#define environ _environ diff --git a/dmake/winnt/borland/bcc50/config.mk b/dmake/winnt/borland/bcc50/config.mk deleted file mode 100644 index 6e4fbd89e368..000000000000 --- a/dmake/winnt/borland/bcc50/config.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -# Change the CCROOT variable to reflect the installation directory of your -# C++ compiler. -CCVER *:= c:/cc/borland/$(OSENVIRONMENT) - -# Definitions for compiles and links -CSTARTUP = $(CCVER)/lib/c0x32.obj -LDLIBS = $(CCVER)/lib/cw32 $(CCVER)/lib/import32 - -CFLAGS += -A- -w-pro -I$(osedir) diff --git a/dmake/winnt/borland/bcc50/lib.rsp b/dmake/winnt/borland/bcc50/lib.rsp deleted file mode 100644 index 0bad32e7128d..000000000000 --- a/dmake/winnt/borland/bcc50/lib.rsp +++ /dev/null @@ -1,2 +0,0 @@ -c:\cc\borland\bcc50\lib\cw32 -c:\cc\borland\bcc50\lib\import32 diff --git a/dmake/winnt/borland/bcc50/mk.bat b/dmake/winnt/borland/bcc50/mk.bat deleted file mode 100755 index f6e3c75fce78..000000000000 --- a/dmake/winnt/borland/bcc50/mk.bat +++ /dev/null @@ -1,95 +0,0 @@ -md objects -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 infer.c -copy infer.obj objects -del infer.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 make.c -copy make.obj objects -del make.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 stat.c -copy stat.obj objects -del stat.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 expand.c -copy expand.obj objects -del expand.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 hash.c -copy hash.obj objects -del hash.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dag.c -copy dag.obj objects -del dag.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmake.c -copy dmake.obj objects -del dmake.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 path.c -copy path.obj objects -del path.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 imacs.c -copy imacs.obj objects -del imacs.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 parse.c -copy parse.obj objects -del parse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 getinp.c -copy getinp.obj objects -del getinp.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 quit.c -copy quit.obj objects -del quit.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 state.c -copy state.obj objects -del state.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 macparse.c -copy macparse.obj objects -del macparse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 percent.c -copy percent.obj objects -del percent.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 function.c -copy function.obj objects -del function.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\switchar.c -copy switchar.obj objects -del switchar.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\utime.c -copy utime.obj objects -del utime.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 win95\borland\runargv.c -copy runargv.obj objects -del runargv.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc32 -c -I. -Iwin95 -Iwin95\borland -d -O -N- -w-nod -A- -w-pro -Iwin95\borland\bcc50 unix\rmprq.c -copy rmprq.obj objects -del rmprq.obj -tlink32 @win95\borland\bcc50\obj.rsp,dmake.exe,NUL.MAP,@win95\borland\bcc50\lib.rsp diff --git a/dmake/winnt/borland/bcc50/mk.cmd b/dmake/winnt/borland/bcc50/mk.cmd deleted file mode 100755 index 7f212e9c4f09..000000000000 --- a/dmake/winnt/borland/bcc50/mk.cmd +++ /dev/null @@ -1,93 +0,0 @@ -md objects -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 infer.c -copy infer.obj objects -del infer.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 make.c -copy make.obj objects -del make.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 stat.c -copy stat.obj objects -del stat.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 expand.c -copy expand.obj objects -del expand.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 dmstring.c -copy dmstring.obj objects -del dmstring.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 hash.c -copy hash.obj objects -del hash.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 dag.c -copy dag.obj objects -del dag.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 dmake.c -copy dmake.obj objects -del dmake.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 path.c -copy path.obj objects -del path.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 imacs.c -copy imacs.obj objects -del imacs.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 sysintf.c -copy sysintf.obj objects -del sysintf.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 parse.c -copy parse.obj objects -del parse.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 getinp.c -copy getinp.obj objects -del getinp.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 quit.c -copy quit.obj objects -del quit.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 state.c -copy state.obj objects -del state.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 dmdump.c -copy dmdump.obj objects -del dmdump.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 macparse.c -copy macparse.obj objects -del macparse.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 rulparse.c -copy rulparse.obj objects -del rulparse.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 percent.c -copy percent.obj objects -del percent.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 function.c -copy function.obj objects -del function.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 winnt\dchdir.c -copy dchdir.obj objects -del dchdir.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 msdos\dstrlwr.c -copy dstrlwr.obj objects -del dstrlwr.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 msdos\arlib.c -copy arlib.obj objects -del arlib.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 msdos\dirbrk.c -copy dirbrk.obj objects -del dirbrk.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 winnt\borland\tempnam.c -copy tempnam.obj objects -del tempnam.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 winnt\borland\ruletab.c -copy ruletab.obj objects -del ruletab.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 winnt\borland\utime.c -copy utime.obj objects -del utime.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 winnt\borland\runargv.c -copy runargv.obj objects -del runargv.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 unix\dcache.c -copy dcache.obj objects -del dcache.obj -bcc32 -c -I. -Iwinnt -Iwinnt\borland -d -O -N- -w-nod -A- -w-pro -Iwinnt\borland\bcc50 unix\rmprq.c -copy rmprq.obj objects -del rmprq.obj -tlink32 @fix95nt\winnt\borland\bcc50\obj.rsp,dmake.exe,NUL.MAP,@fix95nt\winnt\borland\bcc50\lib.rsp -copy winnt\borland\bcc50\template.mk startup\config.mk diff --git a/dmake/winnt/borland/bcc50/obj.rsp b/dmake/winnt/borland/bcc50/obj.rsp deleted file mode 100644 index 9cf59afdedd2..000000000000 --- a/dmake/winnt/borland/bcc50/obj.rsp +++ /dev/null @@ -1,31 +0,0 @@ -c:\cc\borland\bcc50\lib\c0x32.obj -objects\infer.obj -objects\make.obj -objects\stat.obj -objects\expand.obj -objects\dmstring.obj -objects\hash.obj -objects\dag.obj -objects\dmake.obj -objects\path.obj -objects\imacs.obj -objects\sysintf.obj -objects\parse.obj -objects\getinp.obj -objects\quit.obj -objects\state.obj -objects\dmdump.obj -objects\macparse.obj -objects\rulparse.obj -objects\percent.obj -objects\function.obj -objects\dchdir.obj -objects\dstrlwr.obj -objects\arlib.obj -objects\dirbrk.obj -objects\tempnam.obj -objects\ruletab.obj -objects\utime.obj -objects\runargv.obj -objects\dcache.obj -objects\rmprq.obj diff --git a/dmake/winnt/borland/bcc50/public.h b/dmake/winnt/borland/bcc50/public.h deleted file mode 100644 index 1965c0210483..000000000000 --- a/dmake/winnt/borland/bcc50/public.h +++ /dev/null @@ -1,168 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:59:14 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -int Wait_for_child ANSI((int, int)); -void Clean_up_processes ANSI(()); -time_t CacheStat ANSI((char *, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/winnt/borland/bcc50/template.mk b/dmake/winnt/borland/bcc50/template.mk deleted file mode 100644 index b94ac034e0a1..000000000000 --- a/dmake/winnt/borland/bcc50/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= winnt - OSRELEASE *:= borland - OSENVIRONMENT *:= bcc50 diff --git a/dmake/winnt/borland/config.mk b/dmake/winnt/borland/config.mk deleted file mode 100644 index 85c929b4163e..000000000000 --- a/dmake/winnt/borland/config.mk +++ /dev/null @@ -1,51 +0,0 @@ -# This is the Turbo C++ 2.0 DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -# OS specific sources -OSR_SRC += tempnam.c ruletab.c -DOS_SRC += runargv.c rmprq.c - -SRC += $(OSR_SRC) $(DOS_SRC) -.SOURCE.h : $(osrdir) - -# Local configuration modifications for CFLAGS. Make sure your turboc.cfg -# file contains a -D__STDC__=1 and -DM_I86=1, if not then uncomment the line -# below! -#CFLAGS += -DM_I86=1 -D__STDC__=1 - -# You can get a smaller executable still, buy adding a -1 to the list of -# flags below, but then you can't run this on an 8086/88 cpu. -#CFLAGS += -1 -CFLAGS += -I$(osrdir) -d -O -N- -w-nod -ASFLAGS += -t -mx $(S_$(MODEL)) - -LDOBJS = $(CSTARTUP) $(OBJDIR)/{$(<:f)} -LDARGS = $(LDHEAD) @$(LDTMPOBJ),$(TARGET),NUL.MAP$(LDTAIL) -LDTAIL = $(_libs)$(LDFLAGS:s/ //) -_libs = $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ = $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"+\n")\n) -LDTMPLIB = $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\\,:t"+\n")\n) - -# Debugging information for Turbo-C -DB_CFLAGS += -v -DB_LDFLAGS += /v - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -.SETDIR=$(osrdir) : $(OSR_SRC) -.SETDIR=msdos : $(DOS_SRC) - -S_s = -dmsmall -S_m = -dmmedium -S_c = -dmcompact -S_l = -dmlarge diff --git a/dmake/winnt/borland/ruletab.c b/dmake/winnt/borland/ruletab.c deleted file mode 100644 index 855f05515e5c..000000000000 --- a/dmake/winnt/borland/ruletab.c +++ /dev/null @@ -1,44 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.3 2006-06-29 11:32:41 ihi Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -#include - -static char *_rules[] = { - "MAXLINELENGTH := 32766", - "MAXPROCESSLIMIT := 4", - ".IMPORT .IGNORE: DMAKEROOT", - ".MAKEFILES : makefile.mk makefile", - ".SOURCE : .NULL", -#include "startup.h" - (char *)NULL }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/winnt/borland/sysintf.h b/dmake/winnt/borland/sysintf.h deleted file mode 100644 index 23b6a6c247d3..000000000000 --- a/dmake/winnt/borland/sysintf.h +++ /dev/null @@ -1,55 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.3 2007-01-18 09:51:20 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX _MAX_FNAME - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/winnt/borland/tempnam.c b/dmake/winnt/borland/tempnam.c deleted file mode 100644 index a7d0df8d962b..000000000000 --- a/dmake/winnt/borland/tempnam.c +++ /dev/null @@ -1,114 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* Turbo C stdio.h doesn't define P_tmpdir, so let's do it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifndef P_tmpdir -static char *P_tmpdir = ""; -#endif - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - -#if defined(__WIN32__) - unsigned int _psp = rand(); -#endif - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/winnt/config.mk b/dmake/winnt/config.mk deleted file mode 100644 index 2abcb8ad66c6..000000000000 --- a/dmake/winnt/config.mk +++ /dev/null @@ -1,57 +0,0 @@ -# This is an OS specific configuration file -# It assumes that OBJDIR, TARGET and DEBUG are previously defined. -# It defines CFLAGS, LDARGS, CPPFLAGS, STARTUPFILE, LDOBJS -# It augments SRC, OBJDIR, TARGET, CFLAGS, LDLIBS -# - -# Memory model to compile for -# set to s - small, m - medium, c - compact, l - large -# Need large model now, dmake has grown up :-) -MODEL = l - -STARTUPFILE = startup/startup.mk - -CPPFLAGS = $(CFLAGS) - -# Debug flags -DB_CFLAGS = -DDBUG -DB_LDFLAGS = -DB_LDLIBS = - -# NO Debug flags -NDB_CFLAGS = -NDB_LDFLAGS = -NDB_LDLIBS = - -# Local configuration modifications for CFLAGS. -CFLAGS += -I$(OS) - -# Common Win32 source files. -OS_SRC += dchdir.c - -# Imported Win95 files. -WIN95SRC += switchar.c - -# Imported MSDOS Files. -DOSSRC += dstrlwr.c arlib.c dirbrk.c - -SRC += $(OS_SRC) $(UNIXSRC) $(DOSSRC) - -# Provide our own %$O : %$S rule. -%$O : %$S - +$(AS) $(ASFLAGS) \ - $(<:s,\,${__.DIVSEP-sh-${USESHELL}},:s,/,${__.DIVSEP-sh-${USESHELL}},); - mv $(@:f) $(OBJDIR) - -# Set source dirs so that we can find files named in this -# config file. -.SOURCE.h : $(OS) - -# See if we modify anything in the lower levels. -.IF $(OSRELEASE) != $(NULL) - .INCLUDE : $(OS)$(DIRSEPSTR)$(OSRELEASE)$(DIRSEPSTR)config.mk -.END - -.SETDIR=msdos : $(DOSSRC) -.SETDIR=win95 : $(WIN95SRC) -.SETDIR=$(OS) : $(ASRC) $(OS_SRC) diff --git a/dmake/winnt/dchdir.c b/dmake/winnt/dchdir.c deleted file mode 100644 index de2cf18041a8..000000000000 --- a/dmake/winnt/dchdir.c +++ /dev/null @@ -1,47 +0,0 @@ -/* RCS $Id: dchdir.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- Change directory. --- --- DESCRIPTION --- Under DOS change the current drive as well as the current directory. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include "extern.h" - -PUBLIC int -dchdir(path) -char *path; -{ - int res; - - res = chdir(path); - - if (res != -1 && path[1] == ':') { - unsigned new_drive; - - /* for WIN32 just use the _chdrive library call */ - new_drive = (*path & ~0x20) - 'A' + 1; - _chdrive(new_drive); - } - - return (res); -} diff --git a/dmake/winnt/microsft/config.h b/dmake/winnt/microsft/config.h deleted file mode 100644 index 32d59716185a..000000000000 --- a/dmake/winnt/microsft/config.h +++ /dev/null @@ -1,85 +0,0 @@ -/* RCS $Id: config.h,v 1.9 2008-03-05 18:41:51 kz Exp $ --- --- SYNOPSIS --- Configurarion include file. --- --- DESCRIPTION --- There is one of these for each specific machine configuration. --- It can be used to further tweek the machine specific sources --- so that they compile. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* Name and version number of this package */ -#define PACKAGE "dmake" -#define VERSION "4.12" -#define BUILDINFO "Windows / MS Visual C++" - -#if defined (_MSC_VER) -# if _MSC_VER < 500 - Force a compile-time blowup. - Do not define "#define _MSC_VER" for MSC compilers earlier than 5.0. -# endif -#endif - -/* define this for configurations that don't have the coreleft function - * so that the code compiles. To my knowledge coreleft exists only on - * Turbo C, but it is needed here since the function is used in many debug - * macros. */ -#define coreleft() 0L - -/* MSC Version 4.0 doesn't understand SIGTERM, later versions do. */ -#ifndef SIGTERM -# define SIGTERM SIGINT -#endif - -/* Fixes unimplemented line buffering for MSC 5.x and 6.0. - * MSC _IOLBF is the same as _IOFBF - */ -#if defined(MSDOS) && defined (_MSC_VER) -# undef _IOLBF -# define _IOLBF _IONBF -#endif - -/* in alloc.h: size_t is redefined - * defined in stdio.h which is included by alloc.h - */ -#if defined(MSDOS) && defined (_MSC_VER) -# define _TYPES_ -#endif - -/* in sysintf.c: SIGQUIT is used, this is not defined in MSC */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* MSC didn't seem to care about CONST in the past */ -#ifndef CONST -# define CONST -#endif - -#ifndef MSDOS -# define MSDOS 1 -#endif - -/* a small problem with pointer to voids on some unix machines needs this */ -#define DMPVOID void * - -/* Use my own tempnam */ -#define tempnam dtempnam - diff --git a/dmake/winnt/microsft/config.mk b/dmake/winnt/microsft/config.mk deleted file mode 100644 index 352eed716d2f..000000000000 --- a/dmake/winnt/microsft/config.mk +++ /dev/null @@ -1,61 +0,0 @@ -# This is the MSC 4.0 and higher DOS configuration file for DMAKE -# It simply modifies the values of SRC, and checks to see if -# OSENVIRONMENT is defined. If so it includes the appropriate -# config.mk file. -# -# It also sets the values of .SOURCE.c and .SOURCE.h to include the local -# directory. -# -osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE) - -TMPDIR := -.EXPORT : TMPDIR - -# Definition of macros for library, and C startup code. - -# The following sources are required for MSC -OSR_SRC += tempnam.c ruletab.c -DOS_SRC += runargv.c rmprq.c - -.SETDIR=$(osrdir) : $(OSR_SRC) -.SETDIR=msdos : $(DOS_SRC) - -SRC += $(OSR_SRC) $(DOS_SRC) -.SOURCE.h : $(osrdir) - -SET_STACK = /stack:4096 -ASFLAGS += -t -mx $(S_$(MODEL)) - -# Microsoft C doesn't need tail but needs head -LDTAIL != -LDHEAD != $(LDFLAGS) -LDARGS != $(LDHEAD) -out:$(TARGET) @$(LDTMPOBJ) $(LDTAIL) -LDTAIL != $(_libs) -_libs != $(!null,$(LDLIBS) ,@$(LDTMPLIB)) -LDTMPOBJ != $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"\n")\n) -LDTMPLIB != $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\\,:t"\n")\n) - -# Debugging libraries and flags -DB_LDFLAGS += /nologo /co /li /map -DB_LDLIBS += -DB_CFLAGS += -Zi - -# NO Debug MSC flags: -# Set the environment variable MSC_VER to be one of 5.1, 6.0, 8.0 (for VC++4.0) -# to get these by default when you make dmake using 'dmake'. -# - -NDB_LDFLAGS += /nologo -CFLAGS += -I$(osrdir) - -# See if we modify anything in the lower levels. -.IF $(OSENVIRONMENT) != $(NULL) - .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk -.END - -CFLAGS += /nologo - -S_s = -Dmsmall -S_m = -Dmmedium -S_c = -Dmcompact -S_l = -Dmlarge diff --git a/dmake/winnt/microsft/optoff.h b/dmake/winnt/microsft/optoff.h deleted file mode 100644 index 7dd3cb839572..000000000000 --- a/dmake/winnt/microsft/optoff.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RCS $Id: optoff.h,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- Turn off microsoft loop optimization. --- --- DESCRIPTION --- This is broken in some pre 600 compilers so just turn it off. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ -#if _MSC_VER < 600 -# pragma loop_opt(off) -#endif diff --git a/dmake/winnt/microsft/ruletab.c b/dmake/winnt/microsft/ruletab.c deleted file mode 100644 index ed7686f7b5e0..000000000000 --- a/dmake/winnt/microsft/ruletab.c +++ /dev/null @@ -1,45 +0,0 @@ -/* RCS $Id: ruletab.c,v 1.3 2006-06-29 11:33:07 ihi Exp $ --- --- SYNOPSIS --- Default initial configuration of dmake. --- --- DESCRIPTION --- Define here the initial set of rules that are defined before --- dmake performs any processing. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/* These are control macros for dmake that MUST be defined at some point - * if they are NOT dmake will not work! These are default definitions. They - * may be overridden inside the .STARTUP makefile, they are here - * strictly so that dmake can parse the STARTUP makefile */ - -#include - -static char *_rules[] = { - "MAXLINELENGTH := 32766", - "MAXPROCESSLIMIT := 4", - "MAXPROCESS := 1", - ".IMPORT .IGNORE: DMAKEROOT" - ".MAKEFILES : makefile.mk makefile", - ".SOURCE : .NULL", -#include "startup.h" - (char *)NULL }; - -char **Rule_tab = _rules; /* for sundry reasons in Get_environment() */ - diff --git a/dmake/winnt/microsft/sysintf.h b/dmake/winnt/microsft/sysintf.h deleted file mode 100644 index 010280bb802b..000000000000 --- a/dmake/winnt/microsft/sysintf.h +++ /dev/null @@ -1,57 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.3 2007-01-18 09:52:02 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX _MAX_FNAME - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/winnt/microsft/tempnam.c b/dmake/winnt/microsft/tempnam.c deleted file mode 100644 index c3a8fa140f29..000000000000 --- a/dmake/winnt/microsft/tempnam.c +++ /dev/null @@ -1,110 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -dtempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", getpid() ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/winnt/microsft/vpp40/config.mk b/dmake/winnt/microsft/vpp40/config.mk deleted file mode 100644 index 14fe952eac00..000000000000 --- a/dmake/winnt/microsft/vpp40/config.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Definition of macros for library, and C startup code. -osedir = $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT) - -.IMPORT .IGNORE : MSC_VER -MSC_VER *= 8.0 - -CFLAGS += -I$(osedir) - -NDB_CFLAGS += -Od -GF -Ge -NDB_LDFLAGS += -NDB_LDLIBS += - -# Redefine rule for making our objects, we don't need mv -%$O : %.c ;% $(CC) -c $(CFLAGS) -Fo$@ $< diff --git a/dmake/winnt/microsft/vpp40/lib.rsp b/dmake/winnt/microsft/vpp40/lib.rsp deleted file mode 100644 index 8b137891791f..000000000000 --- a/dmake/winnt/microsft/vpp40/lib.rsp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dmake/winnt/microsft/vpp40/mk.bat b/dmake/winnt/microsft/vpp40/mk.bat deleted file mode 100755 index 22917df5eaee..000000000000 --- a/dmake/winnt/microsft/vpp40/mk.bat +++ /dev/null @@ -1,32 +0,0 @@ -md objects -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\infer.obj infer.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\make.obj make.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\stat.obj stat.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\expand.obj expand.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dmstring.obj dmstring.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\hash.obj hash.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dag.obj dag.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dmake.obj dmake.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\path.obj path.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\imacs.obj imacs.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\sysintf.obj sysintf.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\parse.obj parse.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\getinp.obj getinp.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\quit.obj quit.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\state.obj state.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dmdump.obj dmdump.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\macparse.obj macparse.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\rulparse.obj rulparse.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\percent.obj percent.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\function.obj function.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dchdir.obj win95\dchdir.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\switchar.obj win95\switchar.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dstrlwr.obj msdos\dstrlwr.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\arlib.obj msdos\arlib.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\dirbrk.obj msdos\dirbrk.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\tempnam.obj tempnam.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\ruletab.obj win95\microsft\ruletab.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\runargv.obj msdos\runargv.c -cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 \nologo -Od -GF -Ge -Foobjects\rmprq.obj msdos\rmprq.c -rem link /nologo @win95\microsft\vpp40\obj.rsp,dmake.exe,NUL.MAP; -link /out:dmake.exe @.\win95\microsft\vpp40\obj.rsp diff --git a/dmake/winnt/microsft/vpp40/mk.cmd b/dmake/winnt/microsft/vpp40/mk.cmd deleted file mode 100755 index 5fcc801fae91..000000000000 --- a/dmake/winnt/microsft/vpp40/mk.cmd +++ /dev/null @@ -1,31 +0,0 @@ -md objects -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\infer.obj infer.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\make.obj make.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\stat.obj stat.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\expand.obj expand.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmstring.obj dmstring.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\hash.obj hash.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dag.obj dag.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmake.obj dmake.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\path.obj path.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\imacs.obj imacs.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\sysintf.obj sysintf.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\parse.obj parse.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\getinp.obj getinp.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\quit.obj quit.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\state.obj state.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dmdump.obj dmdump.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\macparse.obj macparse.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\rulparse.obj rulparse.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\percent.obj percent.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\function.obj function.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dchdir.obj winnt\dchdir.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dstrlwr.obj msdos\dstrlwr.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\arlib.obj msdos\arlib.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\dirbrk.obj msdos\dirbrk.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\tempnam.obj winnt\microsft\tempnam.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\ruletab.obj winnt\microsft\ruletab.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\runargv.obj msdos\runargv.c -cl -c -I. -Iwinnt -Iwinnt\microsft -Iwinnt\microsft\vpp40 /nologo -Od -GF -Ge -Foobjects\rmprq.obj msdos\rmprq.c -link /nologo /out:dmake.exe @fix95nt\winnt\microsft\vpp40\obj.rsp -copy winnt\microsft\vpp40\template.mk startup\config.mk diff --git a/dmake/winnt/microsft/vpp40/obj.rsp b/dmake/winnt/microsft/vpp40/obj.rsp deleted file mode 100644 index 5c00dab6c29c..000000000000 --- a/dmake/winnt/microsft/vpp40/obj.rsp +++ /dev/null @@ -1,28 +0,0 @@ -objects\infer.obj -objects\make.obj -objects\stat.obj -objects\expand.obj -objects\dmstring.obj -objects\hash.obj -objects\dag.obj -objects\dmake.obj -objects\path.obj -objects\imacs.obj -objects\sysintf.obj -objects\parse.obj -objects\getinp.obj -objects\quit.obj -objects\state.obj -objects\dmdump.obj -objects\macparse.obj -objects\rulparse.obj -objects\percent.obj -objects\function.obj -objects\dchdir.obj -objects\dstrlwr.obj -objects\arlib.obj -objects\dirbrk.obj -objects\tempnam.obj -objects\ruletab.obj -objects\runargv.obj -objects\rmprq.obj diff --git a/dmake/winnt/microsft/vpp40/public.h b/dmake/winnt/microsft/vpp40/public.h deleted file mode 100644 index ffbe4e463560..000000000000 --- a/dmake/winnt/microsft/vpp40/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.9 2007-10-15 15:59:48 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/winnt/microsft/vpp40/runargv.c b/dmake/winnt/microsft/vpp40/runargv.c deleted file mode 100644 index 9042dfc80a47..000000000000 --- a/dmake/winnt/microsft/vpp40/runargv.c +++ /dev/null @@ -1,288 +0,0 @@ -Blake sent me the wrong one. - -/* RCS $Id: runargv.c,v 1.2 2007-10-15 16:00:01 ihi Exp $ --- --- SYNOPSIS --- Invoke a sub process. --- --- DESCRIPTION --- Use the standard methods of executing a sub process. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#include -#include -#include -#include "extern.h" -#include "sysintf.h" - -extern char **environ; - -typedef struct prp { - char *prp_cmd; - int prp_group; - int prp_ignore; - int prp_last; - int prp_shell; - struct prp *prp_next; -} RCP, *RCPPTR; - -typedef struct pr { - int pr_valid; - int pr_pid; - CELLPTR pr_target; - int pr_ignore; - int pr_last; - RCPPTR pr_recipe; - RCPPTR pr_recipe_end; - char *pr_dir; -} PR; - -static PR *_procs = NIL(PR); -static int _proc_cnt = 0; -static int _abort_flg= FALSE; -static int _use_i = -1; -static int _do_upd = 0; - -static void _add_child ANSI((int, CELLPTR, int, int)); -static void _attach_cmd ANSI((char *, int, int, CELLPTR, int, int)); -static void _finished_child ANSI((int, int)); -static int _running ANSI((CELLPTR)); - -PUBLIC int -runargv(target, ignore, group, last, shell, cmd) -CELLPTR target; -int ignore; -int group; -int last; -int shell; -char *cmd; -{ - extern int errno; - extern char *sys_errlist[]; - int pid; - char **argv; - - if( _running(target) /*&& Max_proc != 1*/ ) { - /* The command will be executed when the previous recipe - * line completes. */ - _attach_cmd( cmd, group, ignore, target, last, shell ); - return(1); - } - - while( _proc_cnt == Max_proc ) - if( Wait_for_child(FALSE, -1) == -1 ) Fatal( "Lost a child %d", errno ); - - argv = Pack_argv( group, shell, cmd ); - - pid = _spawnvpe(_P_NOWAIT, argv[0], argv, environ); - if (pid == -1) { /* failed */ - Error("%s: %s", argv[0], sys_errlist[errno]); - Handle_result(-1, ignore, _abort_flg, target); - return(-1); - } else - _add_child(pid, target, ignore, last); - - return(1); -} - - -PUBLIC int -Wait_for_child( abort_flg, pid ) -int abort_flg; -int pid; -{ - int wid; - int status; - int waitchild; - - waitchild = (pid == -1)? FALSE : Wait_for_completion; - - do { - if( (wid = wait(&status)) == -1 ) return(-1); - - _abort_flg = abort_flg; - _finished_child(wid, status); - _abort_flg = FALSE; - } while( waitchild && pid != wid ); - - return(0); -} - - -PUBLIC void -Clean_up_processes() -{ - register int i; - - if( _procs != NIL(PR) ) { - for( i=0; ipr_valid = 1; - pp->pr_pid = pid; - pp->pr_target = target; - pp->pr_ignore = ignore; - pp->pr_last = last; - pp->pr_dir = DmStrDup(Get_current_dir()); - - Current_target = NIL(CELL); - - _proc_cnt++; - - if( Wait_for_completion ) Wait_for_child( FALSE, pid ); -} - - -static void -_finished_child(pid, status) -int pid; -int status; -{ - register int i; - register PR *pp; - char *dir; - - for( i=0; ice_attr & A_ERROR ) { - _procs[i].pr_last = TRUE; - goto ABORT_REMAINDER_OF_RECIPE; - } - - _procs[i].pr_recipe = rp->prp_next; - - _use_i = i; - runargv( _procs[i].pr_target, rp->prp_ignore, rp->prp_group, - rp->prp_last, rp->prp_shell, rp->prp_cmd ); - _use_i = -1; - - FREE( rp->prp_cmd ); - FREE( rp ); - - if( _proc_cnt == Max_proc ) Wait_for_child( FALSE, -1 ); - } - else { - Handle_result(status,_procs[i].pr_ignore,_abort_flg,_procs[i].pr_target); - - ABORT_REMAINDER_OF_RECIPE: - if( _procs[i].pr_last ) { - FREE(_procs[i].pr_dir ); - - if( !Doing_bang ) Update_time_stamp( _procs[i].pr_target ); - } - } - - Set_dir(dir); - FREE(dir); -} - - -static int -_running( cp ) -CELLPTR cp; -{ - register int i; - - if( !_procs ) return(FALSE); - - for( i=0; iprp_cmd = DmStrDup(cmd); - rp->prp_group = group; - rp->prp_ignore= ignore; - rp->prp_last = last; - rp->prp_shell = shell; - - if( _procs[i].pr_recipe == NIL(RCP) ) - _procs[i].pr_recipe = _procs[i].pr_recipe_end = rp; - else { - _procs[i].pr_recipe_end->prp_next = rp; - _procs[i].pr_recipe_end = rp; - } -} diff --git a/dmake/winnt/microsft/vpp40/template.mk b/dmake/winnt/microsft/vpp40/template.mk deleted file mode 100644 index e53922df68c3..000000000000 --- a/dmake/winnt/microsft/vpp40/template.mk +++ /dev/null @@ -1,7 +0,0 @@ -# ** Default build configuration for dmake. -# ** DO NOT PLACE LOCAL DEFINITIONS INTO THIS FILE IT IS AUTO GENERATED -# ** USE "startup/local.mk" for those. - - OS *:= winnt - OSRELEASE *:= microsft - OSENVIRONMENT *:= vpp40 diff --git a/dmake/winnt/microsft/vpp40/tempnam.c b/dmake/winnt/microsft/vpp40/tempnam.c deleted file mode 100644 index c27da47c7602..000000000000 --- a/dmake/winnt/microsft/vpp40/tempnam.c +++ /dev/null @@ -1,110 +0,0 @@ -/* RCS $Id: tempnam.c,v 1.1.1.1 2000-09-22 15:33:37 hr Exp $ --- --- SYNOPSIS --- tempnam --- --- DESCRIPTION --- temp file name generation routines. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -/*LINTLIBRARY*/ -#include -#include -#include -#include - -#if defined(max) -# undef max -#endif -#define max(A,B) (((A)<(B))?(B):(A)) - -extern char *mktemp(); -extern int access(); -int d_access(); - -/* MSC stdio.h defines P_tmpdir, so let's undo it here */ -/* Under DOS leave the default tmpdir pointing here! */ -#ifdef P_tmpdir -#undef P_tmpdir -#endif -static char *P_tmpdir = ""; - -char * -tempnam(dir, prefix) -char *dir; /* use this directory please (if non-NULL) */ -char *prefix; /* use this (if non-NULL) as filename prefix */ -{ - static int count = 0; - register char *p, *q, *tmpdir; - int tl=0, dl=0, pl; - char buf[30]; - - pl = strlen(P_tmpdir); - - if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir); - else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir); - if( dir != NULL ) dl = strlen(dir); - - if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL ) - return(NULL); - - *p = '\0'; - - if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) ) - if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) ) - if( d_access( strcpy(p, P_tmpdir), 0) != 0 ) - if( !prefix ) - prefix = "tp"; - - if(prefix) - { - *(p+strlen(p)+2) = '\0'; - (void)strncat(p, prefix, 2); - } - - sprintf( buf, "%08x", _psp ); - buf[6]='\0'; - (void)strcat(p, buf ); - sprintf( buf, "%04d", count++ ); - q=p+strlen(p)-6; - *q++ = buf[0]; *q++ = buf[1]; - *q++ = buf[2]; *q++ = buf[3]; - - if( (q = strrchr(p,'.')) != NULL ) *q = '\0'; - - return(p); -} - - - -d_access( name, flag ) -char *name; -int flag; -{ - extern char *DirSepStr; - char *p; - int r; - - if( name == NULL || !*name ) return(1); /* NULL dir means current dir */ - r = access( name, flag ); - p = name+strlen(name)-1; - if(*p != '/' && *p != '\\') strcat( p, DirSepStr ); - - return( r ); -} diff --git a/dmake/winnt/mingw/public.h b/dmake/winnt/mingw/public.h deleted file mode 100644 index 303b1ff65a96..000000000000 --- a/dmake/winnt/mingw/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.7 2007-10-15 16:00:18 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/winnt/mingw/sysintf.h b/dmake/winnt/mingw/sysintf.h deleted file mode 100644 index 06aec476fe90..000000000000 --- a/dmake/winnt/mingw/sysintf.h +++ /dev/null @@ -1,62 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.4 2007-01-18 09:53:01 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) - -/* in sysintf.c: SIGQUIT is used, this is not defined in MinGW */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX _MAX_FNAME - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/winnt/msvc6/public.h b/dmake/winnt/msvc6/public.h deleted file mode 100644 index c10f7a23468e..000000000000 --- a/dmake/winnt/msvc6/public.h +++ /dev/null @@ -1,167 +0,0 @@ -/* RCS $Id: public.h,v 1.7 2007-10-15 16:00:31 ihi Exp $ --- WARNING -- This file is AUTOMATICALLY GENERATED DO NOT EDIT IT --- --- --- SYNOPSIS --- Local functions exported to be visible by others. --- --- DESCRIPTION --- This file is generated by 'genpub'. Function declarations --- that appear in this file are extracted by 'genpub' from --- source files. Any function in the source file whose definition --- appears like: --- --- PUBLIC return_type --- function( arg_list ); --- type_expr1 arg1; --- ... --- --- has its definition extracted and a line of the form: --- --- return_type function ANSI((type_expr1,type_expr2,...)); --- --- entered into the output file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#ifndef _DMAKE_PUBLIC_h -#define _DMAKE_PUBLIC_h - -#ifdef EXTERN -#undef EXTERN -#endif -#if defined(DEFINE_DMAKE_VARIABLES) -#define EXTERN -#else -#define EXTERN extern -#endif - -/***** genpub: Begin list of generated function headers */ -void Infer_recipe ANSI((CELLPTR, CELLPTR)); -int Make_targets ANSI(()); -int Make ANSI((CELLPTR, CELLPTR)); -int Exec_commands ANSI((CELLPTR)); -void Print_cmnd ANSI((char *, int, int)); -int Push_dir ANSI((char *, char *, int)); -void Pop_dir ANSI((int)); -void Append_line ANSI((char *, int, FILE *, char *, int, int)); -void Stat_target ANSI((CELLPTR, int, int)); -char *Expand ANSI((char *)); -char *Apply_edit ANSI((char *, char *, char *, int, int)); -void Map_esc ANSI((char *)); -char* Apply_modifiers ANSI((int, char *)); -char* Tokenize ANSI((char *, char *, char, int)); -char* ScanToken ANSI((char *, char **, int)); -char *DmStrJoin ANSI((char *, char *, int, int)); -char *DmStrAdd ANSI((char *, char *, int)); -char *DmStrApp ANSI((char *, char *)); -char *DmStrDup ANSI((char *)); -char *DmStrDup2 ANSI((char *)); -char *DmStrPbrk ANSI((char *, char *)); -char *DmStrSpn ANSI((char *, char *)); -char *DmStrStr ANSI((char *, char *)); -char *DmSubStr ANSI((char *, char *)); -uint16 Hash ANSI((char *, uint32 *)); -HASHPTR Get_name ANSI((char *, HASHPTR *, int)); -HASHPTR Search_table ANSI((HASHPTR *, char *, uint16 *, uint32 *)); -HASHPTR Push_macro ANSI((HASHPTR)); -HASHPTR Pop_macro ANSI((HASHPTR)); -HASHPTR Def_macro ANSI((char *, char *, int)); -CELLPTR Def_cell ANSI((char *)); -LINKPTR Add_prerequisite ANSI((CELLPTR, CELLPTR, int, int)); -void Clear_prerequisites ANSI((CELLPTR)); -int Test_circle ANSI((CELLPTR, int)); -STRINGPTR Def_recipe ANSI((char *, STRINGPTR, int, int)); -t_attr Rcp_attribute ANSI((char *)); -int main ANSI((int, char **)); -FILE *Openfile ANSI((char *, int, int)); -FILE *Closefile ANSI(()); -FILE *Search_file ANSI((char *, char **)); -char *Filename ANSI(()); -int Nestlevel ANSI(()); -FILE *TryFiles ANSI((LINKPTR)); -void Fatal ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Error ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void Warning ANSI((ARG (char *,fmt),ARG (va_alist_type, va_alist))); -void No_ram ANSI(()); -void Usage ANSI((int)); -void Version ANSI(()); -char *Get_suffix ANSI((char *)); -char *Basename ANSI((char *)); -char *Filedir ANSI((char *)); -char *Build_path ANSI((char *, char *)); -void Make_rules ANSI(()); -void Create_macro_vars ANSI(()); -time_t Do_stat ANSI((char *, char *, char **, int)); -int Do_touch ANSI((char *, char *, char **)); -void Void_lib_cache ANSI((char *, char *)); -time_t Do_time ANSI(()); -void Do_profile_output ANSI((char *, uint16, CELLPTR)); -int Do_cmnd ANSI((char **, int, int, CELLPTR, t_attr, int)); -char ** Pack_argv ANSI((int, int, char **)); -char *Read_env_string ANSI((char *)); -int Write_env_string ANSI((char *, char *)); -void ReadEnvironment ANSI(()); -void Catch_signals ANSI((void (*)(int))); -void Clear_signals ANSI(()); -void Prolog ANSI((int, char* [])); -void Epilog ANSI((int)); -char *Get_current_dir ANSI(()); -int Set_dir ANSI((char*)); -char Get_switch_char ANSI(()); -FILE* Get_temp ANSI((char **, char *)); -FILE *Start_temp ANSI((char *, CELLPTR, char **)); -void Open_temp_error ANSI((char *, char *)); -void Link_temp ANSI((CELLPTR, FILE *, char *)); -void Close_temp ANSI((CELLPTR, FILE *)); -void Unlink_temp_files ANSI((CELLPTR)); -void Handle_result ANSI((int, int, int, CELLPTR)); -void Update_time_stamp ANSI((CELLPTR)); -int Remove_file ANSI((char *)); -void Parse ANSI((FILE *)); -int Get_line ANSI((char *, FILE *)); -char *Do_comment ANSI((char *, char **, int)); -char *Get_token ANSI((TKSTRPTR, char *, int)); -void Quit ANSI((int)); -void Read_state ANSI(()); -void Write_state ANSI(()); -int Check_state ANSI((CELLPTR, STRINGPTR *, int)); -void Dump ANSI(()); -void Dump_recipe ANSI((STRINGPTR)); -int Parse_macro ANSI((char *, int)); -int Macro_op ANSI((char *)); -int Parse_rule_def ANSI((int *)); -int Rule_op ANSI((char *)); -void Add_recipe_to_list ANSI((char *, int, int)); -void Bind_rules_to_targets ANSI((int)); -int Set_group_attributes ANSI((char *)); -DFALINKPTR Match_dfa ANSI((char *)); -void Check_circle_dfa ANSI(()); -void Add_nfa ANSI((char *)); -char *Exec_function ANSI((char *)); -int dchdir ANSI((char *)); -void dstrlwr ANSI((char *, char *)); -time_t seek_arch ANSI((char*, char*)); -int touch_arch ANSI((char*, char*)); -int If_root_path ANSI((char *)); -int runargv ANSI((CELLPTR, int, int, t_attr, char **)); -void Clean_up_processes ANSI(()); -int Wait_for_child ANSI((int, int)); -void Remove_prq ANSI((CELLPTR)); - -#endif diff --git a/dmake/winnt/msvc6/sysintf.h b/dmake/winnt/msvc6/sysintf.h deleted file mode 100644 index 631e0fc2d80a..000000000000 --- a/dmake/winnt/msvc6/sysintf.h +++ /dev/null @@ -1,62 +0,0 @@ -/* RCS $Id: sysintf.h,v 1.3 2007-01-18 09:53:49 vg Exp $ --- --- SYNOPSIS --- Interfaces for sysintf.c --- --- DESCRIPTION --- Abstractions of functions in sysintf.c --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -#define DMSTAT stat -#define VOID_LCACHE(l,m) -#define GETPID _psp -#define Hook_std_writes(A) - -extern char * tempnam(); -extern char * getcwd(); - -/* for directory cache */ -#define CacheStat(A,B) really_dostat(A,&buf) - -/* -** standard C items -*/ - -/* -** DOS interface standard items -*/ -#define chdir(p) dchdir(p) - -/* in sysintf.c: SIGQUIT is used, this is not defined in MinGW */ -#ifndef SIGQUIT -# define SIGQUIT SIGTERM -#endif - -/* -** make parameters -*/ -#ifdef _POSIX_NAME_MAX -#undef _POSIX_NAME_MAX -#endif -#define _POSIX_NAME_MAX 12 - -#ifdef _POSIX_PATH_MAX -#undef _POSIX_PATH_MAX -#endif -#define _POSIX_PATH_MAX _MAX_PATH diff --git a/dmake/winnt/startup.h b/dmake/winnt/startup.h deleted file mode 100644 index 18f48cfd9bde..000000000000 --- a/dmake/winnt/startup.h +++ /dev/null @@ -1,29 +0,0 @@ -/* RCS $Id: startup.h,v 1.2 2006-04-20 12:25:19 hr Exp $ --- --- SYNOPSIS --- Definition of MAKESTARTUP --- --- DESCRIPTION --- Default MAKESTARTUP value defining where dmake locates the --- startup file. --- --- AUTHOR --- Dennis Vadura, dvadura@dmake.wticorp.com --- --- WWW --- http://dmake.wticorp.com/ --- --- COPYRIGHT --- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. --- --- This program is NOT free software; you can redistribute it and/or --- modify it under the terms of the Software License Agreement Provided --- in the file /readme/license.txt. --- --- LOG --- Use cvs log to obtain detailed change logs. -*/ - -"DMAKEROOT *= $(ABSMAKECMD:d)startup", -"MAKESTARTUP := $(DMAKEROOT)\\startup.mk", - diff --git a/fetch_tarballs.sh b/fetch_tarballs.sh index e08b553f8171..501348a1ad82 100755 --- a/fetch_tarballs.sh +++ b/fetch_tarballs.sh @@ -106,9 +106,45 @@ start_dir=`pwd` logfile=$TARFILE_LOCATION/fetch.log date >> $logfile -filelist=`cat $1` +# Create and go to a temporary directory under the tar file destination. mkdir -p $TARFILE_LOCATION/tmp cd $TARFILE_LOCATION/tmp + +if [ -n "$DMAKE_URL" -a ! -x "$SOLARENV/$OUTPATH/bin/dmake$EXEEXT" ]; then + # Determine the name of the downloaded file. + dmake_package_name=`echo $DMAKE_URL | sed "s/^\(.*\/\)//"` + + if [ ! -f "../$dmake_package_name" ]; then + # Fetch the dmake source + if [ ! -z "$wget" ]; then + echo fetching $DMAKE_URL with wget to $TARFILE_LOCATION/tmp + $wget -nv -N $DMAKE_URL 2>&1 | tee -a $logfile + else + echo fetching $DMAKE_URL with curl to $TARFILE_LOCATION/tmp + $curl $file_date_check -O $DMAKE_URL 2>&1 | tee -a $logfile + fi + wret=$? + + # When the download failed then remove the remains, otherwise + # move the downloaded file up to TARFILE_LOCATION + if [ $wret -ne 0 ]; then + echo "download failed. removing $dmake_package_name" + rm "$dmake_package_name" + failed="$failed $i" + wret=0 + else + mv "$dmake_package_name" .. + echo "successfully downloaded $dmake_package_name" + fi + else + echo "found $dmake_package_name, no need to download it again" + fi +fi + + + +cd $TARFILE_LOCATION/tmp +filelist=`cat $1` echo $$ > fetch-running for i in $filelist ; do # echo $i diff --git a/set_soenv.in b/set_soenv.in index f661bfe3905a..39e81ff9fcbc 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -1973,7 +1973,7 @@ ToFile( "DISABLE_XAW", "@DISABLE_XAW@", "e" ); ToFile( "ENABLE_AGG", "@ENABLE_AGG@", "e" ); ToFile( "SYSTEM_AGG", "@SYSTEM_AGG@", "e" ); ToFile( "AGG_VERSION", "@AGG_VERSION@", "e" ); -ToFile( "BUILD_DMAKE", "@BUILD_DMAKE@", "e" ); +ToFile( "DMAKE_URL", "@DMAKE_URL@", "e" ); ToFile( "BUILD_STAX", "@BUILD_STAX@", "e" ); ToFile( "BUILD_UNOWINREG", "@BUILD_UNOWINREG@", "e" ); ToFile( "USE_XINERAMA", "@USE_XINERAMA@", "e" ); -- cgit