Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update autosetup to the latest version. This fixes bootstrap on systems with older compilers. Now './configure; make' works on Haiku R1/Alpha 3. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | autosetup |
Files: | files | file ages | folders |
SHA1: |
c32b23d6261f2ff21753133c56ae3edc |
User & Date: | steveb 2011-07-22 22:07:43.015 |
References
2011-07-22
| ||
22:43 | • Ticket [5ad1d9a2] Makefile fails to run uname with GNU Make 3.82 status still Open with 1 other change ... (artifact: b04e1a7f user: steveb) | |
22:40 | • Ticket [084eedc0] add support for Haiku status still Open with 2 other changes ... (artifact: bf2fc292 user: steveb) | |
Context
2011-07-23
| ||
16:01 | Merge the autosetup update into trunk. ... (check-in: 3c512b37 user: drh tags: trunk) | |
2011-07-22
| ||
22:07 | Update autosetup to the latest version. This fixes bootstrap on systems with older compilers. Now './configure; make' works on Haiku R1/Alpha 3. ... (Closed-Leaf check-in: c32b23d6 user: steveb tags: autosetup) | |
19:38 | Since the mlink table contains entries with pid=0 for non-empty manifests without parents, drop the original non-incremental commit logic by folding the few special cases into the mlink/plink based output. ... (check-in: fca30736 user: joerg tags: trunk) | |
Changes
Changes to autosetup/autosetup.
1 | #!/bin/sh | | | 1 2 3 4 5 6 7 8 9 | #!/bin/sh # Copyright (c) 2006-2011 WorkWare Systems http://www.workware.net.au/ # All rights reserved # vim:se syntax=tcl: # \ dir=`dirname "$0"`; exec `"$dir/find-tclsh" || echo false` "$0" "$@" set autosetup(version) 0.6.2 |
︙ | ︙ | |||
82 83 84 85 86 87 88 | #"=Core Options:" options-add { help:=local => "display help and options. Optionally specify a module name, such as --help=system" version => "display the version of autosetup" ref:=text manual:=text reference:=text => "display the autosetup command reference. 'text', 'wiki', 'asciidoc' or 'markdown'" debug => "display debugging output as autosetup runs" | | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | #"=Core Options:" options-add { help:=local => "display help and options. Optionally specify a module name, such as --help=system" version => "display the version of autosetup" ref:=text manual:=text reference:=text => "display the autosetup command reference. 'text', 'wiki', 'asciidoc' or 'markdown'" debug => "display debugging output as autosetup runs" install:=. => "install autosetup to the current or given directory (in the 'autosetup/' subdirectory)" force init => "create an initial 'configure' script if none exists" # Undocumented options option-checking=1 nopager quiet timing conf: |
︙ | ︙ | |||
131 132 133 134 135 136 137 | } if {[opt-bool init]} { use init autosetup_init } | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | } if {[opt-bool init]} { use init autosetup_init } if {[opt-val install] ne ""} { use install autosetup_install [opt-val install] } if {![file exists $autosetup(autodef)]} { # Check for invalid option first options {} user-error "No auto.def found in $autosetup(srcdir)" } |
︙ | ︙ | |||
1297 1298 1299 1300 1301 1302 1303 | set modsource(install) { # Copyright (c) 2006-2010 WorkWare Systems http://www.workware.net.au/ # All rights reserved # Module which can install autosetup | | > | 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 | set modsource(install) { # Copyright (c) 2006-2010 WorkWare Systems http://www.workware.net.au/ # All rights reserved # Module which can install autosetup proc autosetup_install {dir} { if {[catch { cd $dir file mkdir autosetup set f [open autosetup/autosetup w] set publicmodules {} # First the main script, but only up until "CUT HERE" |
︙ | ︙ |
Changes to autosetup/find-tclsh.
︙ | ︙ | |||
8 9 10 11 12 13 14 | done echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0" for cc in ${CC_FOR_BUILD:-cc} gcc; do { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue "$d/jimsh0" "$d/test-tclsh" && exit 0 done echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc." | > | 8 9 10 11 12 13 14 15 | done echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0" for cc in ${CC_FOR_BUILD:-cc} gcc; do { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue "$d/jimsh0" "$d/test-tclsh" && exit 0 done echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc." echo false |
Changes to autosetup/jimsh0.c.
︙ | ︙ | |||
2595 2596 2597 2598 2599 2600 2601 | } #endif static int aio_cmd_buffering(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { AioFile *af = Jim_CmdPrivData(interp); | | | 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 | } #endif static int aio_cmd_buffering(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { AioFile *af = Jim_CmdPrivData(interp); static const char * const options[] = { "none", "line", "full", NULL }; enum { |
︙ | ︙ | |||
5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 | result = JIM_ERR; } return result; } void Jim_ReapDetachedPids(struct WaitInfoTable *table) { if (!table) { return; } | > > > < < < | 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 | result = JIM_ERR; } return result; } void Jim_ReapDetachedPids(struct WaitInfoTable *table) { struct WaitInfo *waitPtr; int count; if (!table) { return; } for (waitPtr = table->info, count = table->used; count > 0; waitPtr++, count--) { if (waitPtr->flags & WI_DETACHED) { int status; int pid = waitpid(waitPtr->pid, &status, WNOHANG); if (pid > 0) { if (waitPtr != &table->info[table->used - 1]) { *waitPtr = table->info[table->used - 1]; |
︙ | ︙ | |||
6363 6364 6365 6366 6367 6368 6369 | Jim_CreateCommand(interp, "array", Jim_SubCmdProc, (void *)array_command_table, NULL); return JIM_OK; } int Jim_InitStaticExtensions(Jim_Interp *interp) { extern int Jim_bootstrapInit(Jim_Interp *); | < < < < < < < < < < > > > > > > > > > > | 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 | Jim_CreateCommand(interp, "array", Jim_SubCmdProc, (void *)array_command_table, NULL); return JIM_OK; } int Jim_InitStaticExtensions(Jim_Interp *interp) { extern int Jim_bootstrapInit(Jim_Interp *); extern int Jim_aioInit(Jim_Interp *); extern int Jim_readdirInit(Jim_Interp *); extern int Jim_globInit(Jim_Interp *); extern int Jim_regexpInit(Jim_Interp *); extern int Jim_fileInit(Jim_Interp *); extern int Jim_execInit(Jim_Interp *); extern int Jim_clockInit(Jim_Interp *); extern int Jim_arrayInit(Jim_Interp *); extern int Jim_stdlibInit(Jim_Interp *); extern int Jim_tclcompatInit(Jim_Interp *); Jim_bootstrapInit(interp); Jim_aioInit(interp); Jim_readdirInit(interp); Jim_globInit(interp); Jim_regexpInit(interp); Jim_fileInit(interp); Jim_execInit(interp); Jim_clockInit(interp); Jim_arrayInit(interp); Jim_stdlibInit(interp); Jim_tclcompatInit(interp); return JIM_OK; } /* Jim - A small embeddable Tcl interpreter * * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> |
︙ | ︙ | |||
16667 16668 16669 16670 16671 16672 16673 16674 16675 16676 16677 | /* Step 'i' along the actual args, and step 'd' along the formal args */ i = 1; for (d = 0; d < cmd->u.proc.argListLen; d++) { Jim_Obj *nameObjPtr = cmd->u.proc.arglist[d].nameObjPtr; if (d == cmd->u.proc.argsPos) { /* assign $args */ int argsLen = 0; if (cmd->u.proc.reqArity + cmd->u.proc.optArity < argc - 1) { argsLen = argc - 1 - (cmd->u.proc.reqArity + cmd->u.proc.optArity); } | > | | 16667 16668 16669 16670 16671 16672 16673 16674 16675 16676 16677 16678 16679 16680 16681 16682 16683 16684 16685 16686 | /* Step 'i' along the actual args, and step 'd' along the formal args */ i = 1; for (d = 0; d < cmd->u.proc.argListLen; d++) { Jim_Obj *nameObjPtr = cmd->u.proc.arglist[d].nameObjPtr; if (d == cmd->u.proc.argsPos) { /* assign $args */ Jim_Obj *listObjPtr; int argsLen = 0; if (cmd->u.proc.reqArity + cmd->u.proc.optArity < argc - 1) { argsLen = argc - 1 - (cmd->u.proc.reqArity + cmd->u.proc.optArity); } listObjPtr = Jim_NewListObj(interp, &argv[i], argsLen); /* It is possible to rename args. */ if (cmd->u.proc.arglist[d].defaultObjPtr) { nameObjPtr =cmd->u.proc.arglist[d].defaultObjPtr; } retcode = Jim_SetVariable(interp, nameObjPtr, listObjPtr); if (retcode != JIM_OK) { |
︙ | ︙ | |||
16811 16812 16813 16814 16815 16816 16817 | int Jim_EvalFile(Jim_Interp *interp, const char *filename) { FILE *fp; char *buf; Jim_Obj *scriptObjPtr; Jim_Obj *prevScriptObj; | < | 16812 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 | int Jim_EvalFile(Jim_Interp *interp, const char *filename) { FILE *fp; char *buf; Jim_Obj *scriptObjPtr; Jim_Obj *prevScriptObj; struct stat sb; int retcode; int readlen; struct JimParseResult result; if (stat(filename, &sb) != 0 || (fp = fopen(filename, "rt")) == NULL) { Jim_SetResultFormatted(interp, "couldn't read file \"%s\": %s", filename, strerror(errno)); |
︙ | ︙ | |||
16870 16871 16872 16873 16874 16875 16876 | Jim_DecrRefCount(interp, scriptObjPtr); return JIM_ERR; } prevScriptObj = interp->currentScriptObj; interp->currentScriptObj = scriptObjPtr; | < < < < < < < < | 16870 16871 16872 16873 16874 16875 16876 16877 16878 16879 16880 16881 16882 16883 16884 16885 | Jim_DecrRefCount(interp, scriptObjPtr); return JIM_ERR; } prevScriptObj = interp->currentScriptObj; interp->currentScriptObj = scriptObjPtr; retcode = Jim_EvalObj(interp, scriptObjPtr); /* Handle the JIM_RETURN return code */ if (retcode == JIM_RETURN) { if (--interp->returnLevel <= 0) { retcode = interp->returnCode; interp->returnCode = JIM_OK; interp->returnLevel = 0; } |
︙ | ︙ | |||
18364 18365 18366 18367 18368 18369 18370 | return JIM_ERR; return JIM_OK; } /* [lsort] */ static int Jim_LsortCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const argv[]) { | | | 18356 18357 18358 18359 18360 18361 18362 18363 18364 18365 18366 18367 18368 18369 18370 | return JIM_ERR; return JIM_OK; } /* [lsort] */ static int Jim_LsortCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const argv[]) { static const char * const options[] = { "-ascii", "-nocase", "-increasing", "-decreasing", "-command", "-integer", "-index", NULL }; enum { OPT_ASCII, OPT_NOCASE, OPT_INCREASING, OPT_DECREASING, OPT_COMMAND, OPT_INTEGER, OPT_INDEX }; Jim_Obj *resObj; int i; int retCode; |
︙ | ︙ | |||
18486 18487 18488 18489 18490 18491 18492 | return JIM_OK; } /* [debug] */ static int Jim_DebugCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { #ifdef JIM_DEBUG_COMMAND | | | 18478 18479 18480 18481 18482 18483 18484 18485 18486 18487 18488 18489 18490 18491 18492 | return JIM_OK; } /* [debug] */ static int Jim_DebugCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { #ifdef JIM_DEBUG_COMMAND static const char * const options[] = { "refcount", "objcount", "objects", "invstr", "scriptlen", "exprlen", "exprbc", "show", NULL }; enum { OPT_REFCOUNT, OPT_OBJCOUNT, OPT_OBJECTS, OPT_INVSTR, OPT_SCRIPTLEN, |
︙ | ︙ | |||
18691 18692 18693 18694 18695 18696 18697 | #endif } /* [eval] */ static int Jim_EvalCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { int rc; | < < < < < < < < < | 18683 18684 18685 18686 18687 18688 18689 18690 18691 18692 18693 18694 18695 18696 18697 18698 18699 18700 18701 18702 18703 18704 18705 18706 18707 18708 18709 | #endif } /* [eval] */ static int Jim_EvalCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { int rc; if (argc < 2) { Jim_WrongNumArgs(interp, 1, argv, "script ?...?"); return JIM_ERR; } if (argc == 2) { rc = Jim_EvalObj(interp, argv[1]); } else { rc = Jim_EvalObj(interp, Jim_ConcatObj(interp, argc - 1, argv + 1)); } if (rc == JIM_ERR) { /* eval is "interesting", so add a stack frame here */ interp->addStackTrace++; } return rc; } |
︙ | ︙ | |||
19502 19503 19504 19505 19506 19507 19508 | exitCode = JIM_SIGNAL; } else { exitCode = Jim_EvalObj(interp, argv[0]); } interp->signal_level -= sig; | | | | 19485 19486 19487 19488 19489 19490 19491 19492 19493 19494 19495 19496 19497 19498 19499 19500 | exitCode = JIM_SIGNAL; } else { exitCode = Jim_EvalObj(interp, argv[0]); } interp->signal_level -= sig; /* Catch or pass through? Only the first 32/64 codes can be passed through */ if (exitCode >= 0 && exitCode < (int)sizeof(mask) * 8 && ((1 << exitCode) & mask) == 0) { /* Not caught, pass it up */ return exitCode; } if (sig && exitCode == JIM_SIGNAL) { /* Catch the signal at this level */ if (interp->signal_set_result) { |
︙ | ︙ | |||
19734 19735 19736 19737 19738 19739 19740 | } /* [dict] */ static int Jim_DictCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { Jim_Obj *objPtr; int option; | | | 19717 19718 19719 19720 19721 19722 19723 19724 19725 19726 19727 19728 19729 19730 19731 | } /* [dict] */ static int Jim_DictCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { Jim_Obj *objPtr; int option; static const char * const options[] = { "create", "get", "set", "unset", "exists", "keys", "merge", "size", "with", NULL }; enum { OPT_CREATE, OPT_GET, OPT_SET, OPT_UNSET, OPT_EXIST, OPT_KEYS, OPT_MERGE, OPT_SIZE, OPT_WITH, }; |
︙ | ︙ | |||
19850 19851 19852 19853 19854 19855 19856 | abort(); } } /* [subst] */ static int Jim_SubstCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { | | | 19833 19834 19835 19836 19837 19838 19839 19840 19841 19842 19843 19844 19845 19846 19847 | abort(); } } /* [subst] */ static int Jim_SubstCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { static const char * const options[] = { "-nobackslashes", "-nocommands", "-novariables", NULL }; enum { OPT_NOBACKSLASHES, OPT_NOCOMMANDS, OPT_NOVARIABLES }; int i; int flags = JIM_SUBST_FLAG; Jim_Obj *objPtr; |
︙ | ︙ | |||
21397 21398 21399 21400 21401 21402 21403 21404 21405 21406 21407 21408 21409 21410 | } #endif #include <errno.h> #include <string.h> #ifdef USE_LINENOISE #include "linenoise.h" #else #define MAX_LINE_LEN 512 static char *linenoise(const char *prompt) { | > | 21380 21381 21382 21383 21384 21385 21386 21387 21388 21389 21390 21391 21392 21393 21394 | } #endif #include <errno.h> #include <string.h> #ifdef USE_LINENOISE #include <unistd.h> #include "linenoise.h" #else #define MAX_LINE_LEN 512 static char *linenoise(const char *prompt) { |
︙ | ︙ | |||
21425 21426 21427 21428 21429 21430 21431 | { int retcode = JIM_OK; char *history_file = NULL; #ifdef USE_LINENOISE const char *home; home = getenv("HOME"); | | | 21409 21410 21411 21412 21413 21414 21415 21416 21417 21418 21419 21420 21421 21422 21423 | { int retcode = JIM_OK; char *history_file = NULL; #ifdef USE_LINENOISE const char *home; home = getenv("HOME"); if (home && isatty(STDIN_FILENO)) { int history_len = strlen(home) + sizeof("/.jim_history"); history_file = Jim_Alloc(history_len); snprintf(history_file, history_len, "%s/.jim_history", home); linenoiseHistoryLoad(history_file); } #endif |
︙ | ︙ | |||
21502 21503 21504 21505 21506 21507 21508 | printf("%4d %s\n", i + 1, history[i]); } Jim_DecrRefCount(interp, scriptObjPtr); continue; } linenoiseHistoryAdd(Jim_String(scriptObjPtr)); | > | > | 21486 21487 21488 21489 21490 21491 21492 21493 21494 21495 21496 21497 21498 21499 21500 21501 21502 | printf("%4d %s\n", i + 1, history[i]); } Jim_DecrRefCount(interp, scriptObjPtr); continue; } linenoiseHistoryAdd(Jim_String(scriptObjPtr)); if (history_file) { linenoiseHistorySave(history_file); } #endif retcode = Jim_EvalObj(interp, scriptObjPtr); Jim_DecrRefCount(interp, scriptObjPtr); if (retcode == JIM_EXIT) { |
︙ | ︙ |