Compare commits
7
Commits
github-action
...
tip-480
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f23460705b | ||
|
|
7b12485ede | ||
|
|
4f960675ab | ||
|
|
018002bc1b | ||
|
|
cbfc9522af | ||
|
|
df274f93a6 | ||
|
|
80a0113674 |
+121
@@ -0,0 +1,121 @@
|
||||
'\"
|
||||
'\" Copyright (c) 2018 Donal K. Fellows
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
.TH pragma n 8.7 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
'\" Note: do not modify the .SH NAME line immediately below!
|
||||
.SH NAME
|
||||
tcl::pragma \- directives to assist efficient execution
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
\fBtcl::pragma noalias\fR ?\fIvariableSet ...\fR?
|
||||
\fBtcl::pragma type \fItypeName\fR ?\fIvalue ...\fR?
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
The \fBtcl::pragma\fR command provides directives that can aid efficient
|
||||
execution and compilation strategies for Tcl scripts, while also providing
|
||||
meaningful execution models for those directives. It produces no output on
|
||||
successful execution, and an error if a problem is detected. It supports two
|
||||
subcommands:
|
||||
.TP
|
||||
\fBtcl::pragma noalias\fR ?\fIvariableSet ...\fR?
|
||||
.
|
||||
This subcommand takes an arbitrary number of variable sets, \fIvariableSet\fR,
|
||||
(lists of variable names), and checks to see if they alias each other.
|
||||
Variable names within a variable set may resolve to the same variable (after
|
||||
following links such as those created by \fBupvar\fR and \fBglobal\fR, and
|
||||
allowing for any current namespace qualification, TclOO variable resolution,
|
||||
etc.), but it is an error if a variable mentioned in one variable set resolves
|
||||
to the same variable as a variable mentioned in another set. Only existing
|
||||
variables can be checked this way.
|
||||
.RS
|
||||
.PP
|
||||
When the local variables in a procedure all have simple names (this is the
|
||||
overwhelmingly common case), they can be asserted to all not alias each other
|
||||
with:
|
||||
.PP
|
||||
.CS
|
||||
\fBtcl::pragma noalias\fR {*}[info locals]
|
||||
.CE
|
||||
.RE
|
||||
.TP
|
||||
\fBtcl::pragma type \fItypeName\fR ?\fIvalue ...\fR?
|
||||
.
|
||||
This subcommand takes a value type, \fItypeName\fR, and throws an error if any
|
||||
of the arbitrary number of \fIvalue\fRs are not of that type. Supported
|
||||
\fItypeName\fRs are:
|
||||
.RS
|
||||
.TP
|
||||
\fBboolean\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_GetBooleanFromObj\fR().
|
||||
.TP
|
||||
\fBdict\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_DictObjSize\fR().
|
||||
.TP
|
||||
\fBdouble\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_GetDoubleFromObj\fR().
|
||||
.TP
|
||||
\fBint32\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_GetIntFromObj\fR().
|
||||
.TP
|
||||
\fBint64\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_GetWideIntFromObj\fR().
|
||||
.TP
|
||||
\fBinteger\fR
|
||||
.
|
||||
This indicates the type of any value accepted as an integer, without length
|
||||
restriction. This is the type of values accepted by integer-accepting
|
||||
\fBexpr\fR operators, such as the \fB&\fR operator or the left side of the
|
||||
\fB<<\fR operator.
|
||||
.TP
|
||||
\fBlist\fR
|
||||
.
|
||||
This indicates the type of values accepted by \fBTcl_ListObjLength\fR().
|
||||
.TP
|
||||
\fBnumber\fR
|
||||
.
|
||||
This indicates the type of any value accepted as a number, without length
|
||||
restriction. This is the type of values accepted by \fBexpr\fR operators
|
||||
such as \fB+\fR or \fB*\fR.
|
||||
.RE
|
||||
.SH EXAMPLES
|
||||
.PP
|
||||
This shows how a procedure could declare that it only operates on integers:
|
||||
.PP
|
||||
.CS
|
||||
proc addThreeIntegers {a b c} {
|
||||
\fBtcl::pragma type\fR integer $a $b $c
|
||||
return [expr {$a + $b + $c}]
|
||||
}
|
||||
.CE
|
||||
.PP
|
||||
This shows how a procedure could declare that two variables passed in by
|
||||
name/\fBupvar\fR must be distinct from each other:
|
||||
.PP
|
||||
.CS
|
||||
proc swap {v1Name v2Name} {
|
||||
upvar 1 $v1Name v1 $v2Name v2
|
||||
\fBtcl::pragma noalias\fR v1 v2
|
||||
set tmp $v2
|
||||
set v2 $v1
|
||||
set v1 $tmp
|
||||
return
|
||||
}
|
||||
.CE
|
||||
.SH "SEE ALSO"
|
||||
dict(n), global(n), list(n), string(n), upvar(n)
|
||||
.SH KEYWORDS
|
||||
compilation, variables, types
|
||||
.\" Local variables:
|
||||
.\" mode: nroff
|
||||
.\" fill-column: 78
|
||||
.\" End:
|
||||
@@ -941,6 +941,7 @@ Tcl_CreateInterp(void)
|
||||
TclInitInfoCmd(interp);
|
||||
TclInitNamespaceCmd(interp);
|
||||
TclInitStringCmd(interp);
|
||||
TclInitPragmaCmd(interp);
|
||||
TclInitPrefixCmd(interp);
|
||||
TclInitProcessCmd(interp);
|
||||
|
||||
|
||||
@@ -5374,6 +5374,147 @@ TclListLines(
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* TclInitPragmaCmd --
|
||||
*
|
||||
* This function creates the 'tcl::pragma' Tcl command.
|
||||
* Refer to the user documentation for details on what it does.
|
||||
*
|
||||
* Results:
|
||||
* Returns a standard Tcl result.
|
||||
*
|
||||
* Side effects:
|
||||
* See the user documentation.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
Tcl_Command
|
||||
TclInitPragmaCmd(
|
||||
Tcl_Interp *interp)
|
||||
{
|
||||
static const EnsembleImplMap pragmaImplMap[] = {
|
||||
{"noalias", TclPragmaNoAliasCmd, TclCompileBasicMin0ArgCmd, NULL, NULL, 0},
|
||||
{"type", TclPragmaTypeCmd, TclCompileBasicMin1ArgCmd, NULL, NULL, 0},
|
||||
{NULL, NULL, NULL, NULL, NULL, 0}
|
||||
};
|
||||
Tcl_Command prefixCmd;
|
||||
|
||||
prefixCmd = TclMakeEnsemble(interp, "::tcl::pragma", pragmaImplMap);
|
||||
Tcl_Export(interp, Tcl_FindNamespace(interp, "::tcl", NULL, 0),
|
||||
"prefix", 0);
|
||||
return prefixCmd;
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* TclPragmaTypeCmd --
|
||||
*
|
||||
* This function implements the 'tcl::pragma type' Tcl command.
|
||||
* Refer to the user documentation for details on what it does.
|
||||
*
|
||||
* Results:
|
||||
* Returns a standard Tcl result.
|
||||
*
|
||||
* Side effects:
|
||||
* See the user documentation.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
TclPragmaTypeCmd(
|
||||
ClientData clientData, /* Not used. */
|
||||
Tcl_Interp *interp, /* Current interpreter. */
|
||||
int objc, /* Number of arguments. */
|
||||
Tcl_Obj *const objv[]) /* Argument objects. */
|
||||
{
|
||||
enum PragmaTypes {
|
||||
BOOL_TYPE, DICT_TYPE, DOUBLE_TYPE, INT32_TYPE, INT64_TYPE,
|
||||
INTEGER_TYPE, LIST_TYPE, NUMBER_TYPE
|
||||
};
|
||||
static const char *types[] = {
|
||||
"boolean", "dict", "double", "int32", "int64", "integer", "list",
|
||||
"number", NULL
|
||||
};
|
||||
int idx, i;
|
||||
|
||||
if (objc < 2) {
|
||||
Tcl_WrongNumArgs(interp, 1, objv, "typeName ?value...?");
|
||||
return TCL_ERROR;
|
||||
}
|
||||
if (Tcl_GetIndexFromObj(interp, objv[1], types, "type", 0,
|
||||
&idx) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check that the type constraint actually holds for all remaining values.
|
||||
*/
|
||||
|
||||
for (i=2 ; i<objc ; i++) {
|
||||
Tcl_Obj *valuePtr = objv[i];
|
||||
double dval;
|
||||
int bval, len, i32val;
|
||||
Tcl_WideInt i64val;
|
||||
ClientData cdval;
|
||||
|
||||
switch ((enum PragmaTypes) idx) {
|
||||
case BOOL_TYPE:
|
||||
if (Tcl_GetBooleanFromObj(interp, valuePtr, &bval) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case DICT_TYPE:
|
||||
if (Tcl_DictObjSize(interp, valuePtr, &len) != TCL_OK) {
|
||||
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
|
||||
"expected dict value but got \"%s\"",
|
||||
Tcl_GetString(valuePtr)));
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case DOUBLE_TYPE:
|
||||
if (Tcl_GetDoubleFromObj(interp, valuePtr, &dval) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case INT32_TYPE:
|
||||
if (Tcl_GetIntFromObj(interp, valuePtr, &i32val) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case INT64_TYPE:
|
||||
if (Tcl_GetWideIntFromObj(interp, valuePtr, &i64val) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case LIST_TYPE:
|
||||
if (Tcl_ListObjLength(interp, valuePtr, &len) != TCL_OK) {
|
||||
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
|
||||
"expected list value but got \"%s\"",
|
||||
Tcl_GetString(valuePtr)));
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case INTEGER_TYPE:
|
||||
if (TclGetWideBitsFromObj(interp, valuePtr, &i64val) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
case NUMBER_TYPE:
|
||||
if (TclGetNumberFromObj(interp, valuePtr, &cdval, &bval) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode: c
|
||||
|
||||
@@ -3507,6 +3507,9 @@ MODULE_SCOPE int Tcl_PackageObjCmd(ClientData clientData,
|
||||
MODULE_SCOPE int Tcl_PidObjCmd(ClientData clientData,
|
||||
Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *const objv[]);
|
||||
MODULE_SCOPE Tcl_Command TclInitPragmaCmd(Tcl_Interp *interp);
|
||||
MODULE_SCOPE Tcl_ObjCmdProc TclPragmaNoAliasCmd;
|
||||
MODULE_SCOPE Tcl_ObjCmdProc TclPragmaTypeCmd;
|
||||
MODULE_SCOPE Tcl_Command TclInitPrefixCmd(Tcl_Interp *interp);
|
||||
MODULE_SCOPE int Tcl_PutsObjCmd(ClientData clientData,
|
||||
Tcl_Interp *interp, int objc,
|
||||
|
||||
@@ -6885,6 +6885,114 @@ SetArrayDefault(
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* TclPragmaNoAliasCmd --
|
||||
*
|
||||
* This function implements the 'tcl::pragma noalias' Tcl command.
|
||||
* Refer to the user documentation for details on what it does.
|
||||
*
|
||||
* Results:
|
||||
* Returns a standard Tcl result.
|
||||
*
|
||||
* Side effects:
|
||||
* See the user documentation.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
TclPragmaNoAliasCmd(
|
||||
ClientData clientData, /* Not used. */
|
||||
Tcl_Interp *interp, /* Current interpreter. */
|
||||
int objc, /* Number of arguments. */
|
||||
Tcl_Obj *const objv[]) /* Argument objects. */
|
||||
{
|
||||
typedef struct {
|
||||
int setIndex;
|
||||
Tcl_Obj *variableName;
|
||||
} AliasData;
|
||||
int i, j, varc, isNew, result = TCL_ERROR;
|
||||
Var *key, *ignored;
|
||||
Tcl_HashTable table;
|
||||
Tcl_HashEntry *hPtr;
|
||||
Tcl_HashSearch search;
|
||||
Tcl_Obj **varv;
|
||||
AliasData *aliasData;
|
||||
|
||||
Tcl_InitHashTable(&table, TCL_ONE_WORD_KEYS);
|
||||
|
||||
/*
|
||||
* For each set of variables...
|
||||
*/
|
||||
|
||||
for (i=1 ; i<objc ; i++) {
|
||||
if (Tcl_ListObjGetElements(interp, objv[i], &varc, &varv) != TCL_OK) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
* ... build a map from real variable location (because
|
||||
* TclObjLookupVarEx will follow links for us) to the name that led us
|
||||
* there.
|
||||
*/
|
||||
|
||||
for (j=0 ; j<varc ; j++) {
|
||||
Tcl_Obj *varName = varv[j];
|
||||
|
||||
Tcl_IncrRefCount(varName);
|
||||
key = TclObjLookupVarEx(interp, varName, NULL, TCL_LEAVE_ERR_MSG,
|
||||
"resolve", 0, 0, &ignored);
|
||||
if (key == NULL) {
|
||||
TclDecrRefCount(varName);
|
||||
goto error;
|
||||
}
|
||||
|
||||
hPtr = Tcl_CreateHashEntry(&table, key, &isNew);
|
||||
if (isNew) {
|
||||
aliasData = ckalloc(sizeof(AliasData));
|
||||
aliasData->setIndex = i;
|
||||
aliasData->variableName = varName;
|
||||
Tcl_SetHashValue(hPtr, aliasData);
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Two variables alias, but that's OK if they're in the same
|
||||
* variable set.
|
||||
*/
|
||||
|
||||
aliasData = Tcl_GetHashValue(hPtr);
|
||||
if (aliasData->setIndex != i) {
|
||||
/*
|
||||
* There was a real duplicate! Generate an error message.
|
||||
*/
|
||||
|
||||
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
|
||||
"\"%s\" aliases to the same variable as \"%s\"",
|
||||
Tcl_GetString(varName),
|
||||
Tcl_GetString(aliasData->variableName)));
|
||||
Tcl_SetErrorCode(interp, "TCL", "VAR_ALIAS", NULL);
|
||||
TclDecrRefCount(varName);
|
||||
goto error;
|
||||
}
|
||||
TclDecrRefCount(varName);
|
||||
}
|
||||
}
|
||||
result = TCL_OK;
|
||||
error:
|
||||
for (hPtr = Tcl_FirstHashEntry(&table, &search); hPtr != NULL;
|
||||
hPtr = Tcl_NextHashEntry(&search)) {
|
||||
aliasData = Tcl_GetHashValue(hPtr);
|
||||
TclDecrRefCount(aliasData->variableName);
|
||||
ckfree(Tcl_GetHashValue(hPtr));
|
||||
}
|
||||
Tcl_DeleteHashTable(&table);
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode: c
|
||||
|
||||
@@ -448,6 +448,184 @@ test cmdMZ-try-1.0 {
|
||||
} -result 5
|
||||
|
||||
|
||||
# Pragmas
|
||||
test cmdMZ-6.1 {tcl::pragma: basics} -returnCodes error -body {
|
||||
tcl::pragma
|
||||
} -result {wrong # args: should be "tcl::pragma subcommand ?arg ...?"}
|
||||
test cmdMZ-6.2 {tcl::pragma: basics} -returnCodes error -body {
|
||||
tcl::pragma ?
|
||||
} -result {unknown or ambiguous subcommand "?": must be noalias, or type}
|
||||
|
||||
test cmdMZ-7.1 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias
|
||||
} -result {}
|
||||
test cmdMZ-7.2 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias no_such_var
|
||||
} -returnCodes error -result {can't resolve "no_such_var": no such variable}
|
||||
test cmdMZ-7.3 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias ::env
|
||||
} -result {}
|
||||
test cmdMZ-7.4 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias ::env ::tcl_platform
|
||||
} -result {}
|
||||
test cmdMZ-7.5 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias ::env ::tcl_platform ::auto_path
|
||||
} -result {}
|
||||
test cmdMZ-7.6 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias ::env ::env
|
||||
} -returnCodes error -result {"::env" aliases to the same variable as "::env"}
|
||||
test cmdMZ-7.6 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias {::env ::env}
|
||||
} -result {}
|
||||
test cmdMZ-7.7 {tcl::pragma noalias} -body {
|
||||
tcl::pragma noalias {::env ::tcl_platform}
|
||||
} -result {}
|
||||
test cmdMZ-7.8 {tcl::pragma noalias} -body {
|
||||
apply {{x y} {
|
||||
tcl::pragma noalias env
|
||||
}} 1 2
|
||||
} -returnCodes error -result {can't resolve "env": no such variable}
|
||||
test cmdMZ-7.9 {tcl::pragma noalias} -body {
|
||||
apply {{x y} {
|
||||
tcl::pragma noalias {*}[info locals]
|
||||
}} 1 2
|
||||
} -result {}
|
||||
test cmdMZ-7.10 {tcl::pragma noalias} -body {
|
||||
apply {{x y} {
|
||||
global env
|
||||
tcl::pragma noalias {*}[info locals] env
|
||||
}} 1 2
|
||||
} -result {}
|
||||
test cmdMZ-7.11 {tcl::pragma noalias} -body {
|
||||
apply {{x y} {
|
||||
global env
|
||||
upvar ::env(PATH) path
|
||||
tcl::pragma noalias [list {*}[info locals] env path]
|
||||
}} 1 2
|
||||
} -result {}
|
||||
test cmdMZ-7.12 {tcl::pragma noalias} -body {
|
||||
apply {{x y} {
|
||||
upvar 0 x z
|
||||
tcl::pragma noalias x y z
|
||||
}} 1 2
|
||||
} -returnCodes error -result {"z" aliases to the same variable as "x"}
|
||||
test cmdMZ-7.13 {tcl::pragma noalias} -setup {
|
||||
variable a 3 b 4
|
||||
} -body {
|
||||
proc swap {&x &y} {
|
||||
upvar 1 ${&x} x ${&y} y
|
||||
tcl::pragma noalias x y
|
||||
set y $x[set x $y;string cat]
|
||||
return
|
||||
}
|
||||
swap a b
|
||||
list $a $b
|
||||
} -cleanup {
|
||||
unset -nocomplain a b
|
||||
} -result {4 3}
|
||||
test cmdMZ-7.14 {tcl::pragma noalias} -setup {
|
||||
variable a 3
|
||||
} -body {
|
||||
proc swap {&x &y} {
|
||||
upvar 1 ${&x} x ${&y} y
|
||||
tcl::pragma noalias x y
|
||||
set y $x[set x $y;string cat]
|
||||
return
|
||||
}
|
||||
swap a a
|
||||
} -returnCodes error -cleanup {
|
||||
unset -nocomplain a
|
||||
} -result {"y" aliases to the same variable as "x"}
|
||||
rename swap {}
|
||||
|
||||
test cmdMZ-8.1 {tcl::pragma type} -returnCodes error -body {
|
||||
tcl::pragma type
|
||||
} -result {wrong # args: should be "tcl::pragma type typeName ?value...?"}
|
||||
test cmdMZ-8.2 {tcl::pragma type} -returnCodes error -body {
|
||||
tcl::pragma type ?
|
||||
} -result {bad type "?": must be boolean, dict, double, int32, int64, integer, list, or number}
|
||||
test cmdMZ-8.3 {tcl::pragma type} -body {
|
||||
tcl::pragma type boolean
|
||||
} -result {}
|
||||
test cmdMZ-8.4 {tcl::pragma type} -body {
|
||||
tcl::pragma type boolean gorp
|
||||
} -returnCodes error -result {expected boolean value but got "gorp"}
|
||||
test cmdMZ-8.5 {tcl::pragma type} -body {
|
||||
tcl::pragma type boolean true false gorp
|
||||
} -returnCodes error -result {expected boolean value but got "gorp"}
|
||||
test cmdMZ-8.6 {tcl::pragma type} -body {
|
||||
tcl::pragma type boolean yes no 0 1 1.5 true false on off
|
||||
} -result {}
|
||||
test cmdMZ-8.7 {tcl::pragma type} -body {
|
||||
tcl::pragma type dict gorp
|
||||
} -returnCodes error -result {expected dict value but got "gorp"}
|
||||
test cmdMZ-8.8 {tcl::pragma type} -body {
|
||||
tcl::pragma type dict {true false} {gorp foo bar}
|
||||
} -returnCodes error -result {expected dict value but got "gorp foo bar"}
|
||||
test cmdMZ-8.9 {tcl::pragma type} -body {
|
||||
tcl::pragma type dict {} {yes no 0 1 1.5 true} {false on off {}}
|
||||
} -result {}
|
||||
test cmdMZ-8.10 {tcl::pragma type} -body {
|
||||
tcl::pragma type double gorp
|
||||
} -returnCodes error -result {expected floating-point number but got "gorp"}
|
||||
test cmdMZ-8.11 {tcl::pragma type} -body {
|
||||
tcl::pragma type double 0.1 -inf gorp
|
||||
} -returnCodes error -result {expected floating-point number but got "gorp"}
|
||||
test cmdMZ-8.12 {tcl::pragma type} -body {
|
||||
tcl::pragma type double 0 1 0x1 123 1e2 -.0 inf { +inf }
|
||||
} -result {}
|
||||
test cmdMZ-8.13 {tcl::pragma type} -body {
|
||||
tcl::pragma type int32 gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.14 {tcl::pragma type} -body {
|
||||
tcl::pragma type int32 123 0x123 gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.15 {tcl::pragma type} -returnCodes error -body {
|
||||
tcl::pragma type int32 123 0x123 123456123456123
|
||||
} -result {integer value too large to represent as non-long integer}
|
||||
test cmdMZ-8.16 {tcl::pragma type} -body {
|
||||
tcl::pragma type int32 123 0b10101 0d123 0o123 0x123 { 456 }
|
||||
} -result {}
|
||||
test cmdMZ-8.17 {tcl::pragma type} -body {
|
||||
tcl::pragma type int64 gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.18 {tcl::pragma type} -body {
|
||||
tcl::pragma type int64 123 0x123 gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.19 {tcl::pragma type} -body {
|
||||
tcl::pragma type int64 123 0b10101 0d123 0o123 0x123 { 456 } \
|
||||
123456123456123
|
||||
} -result {}
|
||||
test cmdMZ-8.20 {tcl::pragma type} -body {
|
||||
tcl::pragma type integer gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.21 {tcl::pragma type} -body {
|
||||
tcl::pragma type integer 123 0x123 gorp
|
||||
} -returnCodes error -result {expected integer but got "gorp"}
|
||||
test cmdMZ-8.22 {tcl::pragma type} -body {
|
||||
tcl::pragma type integer 123 0b10101 0d123 0o123 0x123 { 456 } \
|
||||
123456123456123 \
|
||||
123456789012345678901234567890123456789012345678901234567890
|
||||
} -result {}
|
||||
test cmdMZ-8.23 {tcl::pragma type} -body {
|
||||
tcl::pragma type list \{gorp
|
||||
} -returnCodes error -result "expected list value but got \"\{gorp\""
|
||||
test cmdMZ-8.24 {tcl::pragma type} -body {
|
||||
tcl::pragma type list true false \{gorp
|
||||
} -returnCodes error -result "expected list value but got \"\{gorp\""
|
||||
test cmdMZ-8.25 {tcl::pragma type} -body {
|
||||
tcl::pragma type list yes no 0 1 1.5 true false on off
|
||||
} -result {}
|
||||
test cmdMZ-8.26 {tcl::pragma type} -body {
|
||||
tcl::pragma type number gorp
|
||||
} -returnCodes error -result {expected number but got "gorp"}
|
||||
test cmdMZ-8.27 {tcl::pragma type} -body {
|
||||
tcl::pragma type number .5 nan gorp
|
||||
} -returnCodes error -result {expected number but got "gorp"}
|
||||
test cmdMZ-8.28 {tcl::pragma type} -body {
|
||||
tcl::pragma type number 0 1 1.5 inf -25.375e8
|
||||
} -result {}
|
||||
|
||||
# The tests for Tcl_WhileObjCmd are in while.test
|
||||
|
||||
# cleanup
|
||||
|
||||
@@ -1,920 +0,0 @@
|
||||
#! /bin/bash
|
||||
# Generated by configure.
|
||||
# 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-/bin/bash}
|
||||
## --------------------- ##
|
||||
## M4sh Initialization. ##
|
||||
## --------------------- ##
|
||||
|
||||
# Be Bourne compatible
|
||||
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+"$@"}'='"$@"'
|
||||
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
|
||||
set -o posix
|
||||
fi
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# Support unset when possible.
|
||||
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
|
||||
as_unset=unset
|
||||
else
|
||||
as_unset=false
|
||||
fi
|
||||
|
||||
|
||||
# Work around bugs in pre-3.0 UWIN ksh.
|
||||
$as_unset ENV MAIL MAILPATH
|
||||
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
|
||||
fi
|
||||
done
|
||||
|
||||
# Required to use basename.
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; 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'`
|
||||
|
||||
|
||||
# PATH needs CR, and LINENO needs CR and PATH.
|
||||
# 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
|
||||
|
||||
|
||||
as_lineno_1=103
|
||||
as_lineno_2=104
|
||||
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
|
||||
test "x$as_lineno_1" != "x$as_lineno_2" &&
|
||||
test "x$as_lineno_3" = "x$as_lineno_2" || {
|
||||
# Find who we are. Look in the path if we contain no path at all
|
||||
# relative or not.
|
||||
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
|
||||
|
||||
;;
|
||||
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_me:128: error: cannot find myself; rerun with an absolute path" >&5
|
||||
echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
case $CONFIG_SHELL in
|
||||
'')
|
||||
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=.
|
||||
for as_base in sh bash ksh sh5; do
|
||||
case $as_dir in
|
||||
/*)
|
||||
if ("$as_dir/$as_base" -c '
|
||||
as_lineno_1=143
|
||||
as_lineno_2=144
|
||||
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
|
||||
test "x$as_lineno_1" != "x$as_lineno_2" &&
|
||||
test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
|
||||
$as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
|
||||
$as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
|
||||
CONFIG_SHELL=$as_dir/$as_base
|
||||
export CONFIG_SHELL
|
||||
exec "$CONFIG_SHELL" "$0" ${1+"$@"}
|
||||
fi;;
|
||||
esac
|
||||
done
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
# Create $as_me.lineno as a copy of $as_myself, but with 160
|
||||
# uniformly replaced by the line number. The first 'sed' inserts a
|
||||
# line-number line before each line; the second 'sed' does the real
|
||||
# work. The second script uses 'N' to pair each line-number line
|
||||
# with the numbered line, and appends trailing '-' during
|
||||
# substitution so that 165 is not a special case at line end.
|
||||
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
|
||||
# second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
|
||||
sed '=' <$as_myself |
|
||||
sed '
|
||||
N
|
||||
s,$,-,
|
||||
: loop
|
||||
s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
|
||||
t loop
|
||||
s,-$,,
|
||||
s,^['$as_cr_digits']*\n,,
|
||||
' >$as_me.lineno &&
|
||||
chmod +x $as_me.lineno ||
|
||||
{ { echo "$as_me:179: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
|
||||
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 sensible to this).
|
||||
. ./$as_me.lineno
|
||||
# Exit status is that of the last command.
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
||||
*c*,-n*) ECHO_N= ECHO_C='
|
||||
' ECHO_T=' ' ;;
|
||||
*c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
|
||||
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
|
||||
esac
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||
as_expr=expr
|
||||
else
|
||||
as_expr=false
|
||||
fi
|
||||
|
||||
rm -f conf$$ conf$$.exe conf$$.file
|
||||
echo >conf$$.file
|
||||
if ln -s conf$$.file conf$$ 2>/dev/null; then
|
||||
# We could just check for DJGPP; but this test a) works b) is more generic
|
||||
# and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
|
||||
if test -f conf$$.exe; then
|
||||
# Don't use ln at all; we don't have any links
|
||||
as_ln_s='cp -p'
|
||||
else
|
||||
as_ln_s='ln -s'
|
||||
fi
|
||||
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$$.file
|
||||
|
||||
if mkdir -p . 2>/dev/null; then
|
||||
as_mkdir_p=:
|
||||
else
|
||||
test -d ./-p && rmdir ./-p
|
||||
as_mkdir_p=false
|
||||
fi
|
||||
|
||||
as_executable_p="test -f"
|
||||
|
||||
# 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'"
|
||||
|
||||
|
||||
# IFS
|
||||
# We need space, tab and new line, in precisely that order.
|
||||
as_nl='
|
||||
'
|
||||
IFS=" $as_nl"
|
||||
|
||||
# CDPATH.
|
||||
$as_unset CDPATH
|
||||
|
||||
exec 6>&1
|
||||
|
||||
# Open the log real soon, to keep \$[0] and so on meaningful, and to
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling. Logging --version etc. is OK.
|
||||
exec 5>>config.log
|
||||
{
|
||||
echo
|
||||
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
|
||||
## Running $as_me. ##
|
||||
_ASBOX
|
||||
} >&5
|
||||
cat >&5 <<_CSEOF
|
||||
|
||||
This file was extended by tcl $as_me 8.6, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
CONFIG_LINKS = $CONFIG_LINKS
|
||||
CONFIG_COMMANDS = $CONFIG_COMMANDS
|
||||
$ $0 $@
|
||||
|
||||
_CSEOF
|
||||
echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
|
||||
echo >&5
|
||||
config_files=" Makefile:../unix/Makefile.in dltest/Makefile:../unix/dltest/Makefile.in tclConfig.sh:../unix/tclConfig.sh.in tcl.pc:../unix/tcl.pc.in"
|
||||
|
||||
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, 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
|
||||
|
||||
Configuration files:
|
||||
$config_files
|
||||
|
||||
Configuration commands:
|
||||
$config_commands
|
||||
|
||||
Report bugs to <bug-autoconf@gnu.org>."
|
||||
ac_cs_version="\
|
||||
tcl config.status 8.6
|
||||
configured by ./configure, generated by GNU Autoconf 2.59,
|
||||
with options \"'--prefix=/home/jima/space/ins/lin64/dynamic/main'\"
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
This config.status script is free software; the Free Software Foundation
|
||||
gives unlimited permission to copy, distribute and modify it."
|
||||
srcdir=/home/jima/space/bui/lin64/dynamic/main/tcl/unix
|
||||
# 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
|
||||
;;
|
||||
*) # This is not an option, so the user has probably given explicit
|
||||
# arguments.
|
||||
ac_option=$1
|
||||
ac_need_defaults=false;;
|
||||
esac
|
||||
|
||||
case $ac_option in
|
||||
# Handling of the options.
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
ac_cs_recheck=: ;;
|
||||
--version | --vers* | -V )
|
||||
echo "$ac_cs_version"; exit 0 ;;
|
||||
--he | --h)
|
||||
# Conflict between --help and --header
|
||||
{ { echo "$as_me:336: error: ambiguous option: $1
|
||||
Try \`$0 --help' for more information." >&5
|
||||
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 0 ;;
|
||||
--debug | --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;;
|
||||
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
|
||||
| -silent | --silent | --silen | --sile | --sil | --si | --s)
|
||||
ac_cs_silent=: ;;
|
||||
|
||||
# This is an error.
|
||||
-*) { { echo "$as_me:358: error: unrecognized option: $1
|
||||
Try \`$0 --help' for more information." >&5
|
||||
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" ;;
|
||||
|
||||
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
|
||||
|
||||
if $ac_cs_recheck; then
|
||||
echo "running /bin/bash ./configure " '--prefix=/home/jima/space/ins/lin64/dynamic/main' $ac_configure_extra_args " --no-create --no-recursion" >&6
|
||||
exec /bin/bash ./configure '--prefix=/home/jima/space/ins/lin64/dynamic/main' $ac_configure_extra_args --no-create --no-recursion
|
||||
fi
|
||||
|
||||
#
|
||||
# INIT-COMMANDS section.
|
||||
#
|
||||
|
||||
VERSION=8.6
|
||||
|
||||
for ac_config_target in $ac_config_targets
|
||||
do
|
||||
case "$ac_config_target" in
|
||||
# Handling of arguments.
|
||||
"Tcl-Info.plist" ) CONFIG_FILES="$CONFIG_FILES Tcl-Info.plist:../macosx/Tcl-Info.plist.in" ;;
|
||||
"Tclsh-Info.plist" ) CONFIG_FILES="$CONFIG_FILES Tclsh-Info.plist:../macosx/Tclsh-Info.plist.in" ;;
|
||||
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile:../unix/Makefile.in" ;;
|
||||
"dltest/Makefile" ) CONFIG_FILES="$CONFIG_FILES dltest/Makefile:../unix/dltest/Makefile.in" ;;
|
||||
"tclConfig.sh" ) CONFIG_FILES="$CONFIG_FILES tclConfig.sh:../unix/tclConfig.sh.in" ;;
|
||||
"tcl.pc" ) CONFIG_FILES="$CONFIG_FILES tcl.pc:../unix/tcl.pc.in" ;;
|
||||
"Tcl.framework" ) CONFIG_COMMANDS="$CONFIG_COMMANDS Tcl.framework" ;;
|
||||
*) { { echo "$as_me:399: 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_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 to put it here, and in addition,
|
||||
# creating and moving files from /tmp can sometimes cause problems.
|
||||
# Create a temporary directory, and hook for its removal unless debugging.
|
||||
$debug ||
|
||||
{
|
||||
trap 'exit_status=$?; rm -rf $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 -q "./confstatXXXXXX") 2>/dev/null` &&
|
||||
test -n "$tmp" && test -d "$tmp"
|
||||
} ||
|
||||
{
|
||||
tmp=./confstat$$-$RANDOM
|
||||
(umask 077 && mkdir $tmp)
|
||||
} ||
|
||||
{
|
||||
echo "$me: cannot create a temporary directory in ." >&2
|
||||
{ (exit 1); exit 1; }
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# 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
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
|
||||
s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
|
||||
s,@SHELL@,/bin/bash,;t t
|
||||
s,@PATH_SEPARATOR@,:,;t t
|
||||
s,@PACKAGE_NAME@,tcl,;t t
|
||||
s,@PACKAGE_TARNAME@,tcl,;t t
|
||||
s,@PACKAGE_VERSION@,8.6,;t t
|
||||
s,@PACKAGE_STRING@,tcl 8.6,;t t
|
||||
s,@PACKAGE_BUGREPORT@,,;t t
|
||||
s,@exec_prefix@,/home/jima/space/ins/lin64/dynamic/main,;t t
|
||||
s,@prefix@,/home/jima/space/ins/lin64/dynamic/main,;t t
|
||||
s,@program_transform_name@,s,x,x,,;t t
|
||||
s,@bindir@,${exec_prefix}/bin,;t t
|
||||
s,@sbindir@,${exec_prefix}/sbin,;t t
|
||||
s,@libexecdir@,${exec_prefix}/libexec,;t t
|
||||
s,@datadir@,${prefix}/share,;t t
|
||||
s,@sysconfdir@,${prefix}/etc,;t t
|
||||
s,@sharedstatedir@,${prefix}/com,;t t
|
||||
s,@localstatedir@,${prefix}/var,;t t
|
||||
s,@libdir@,/home/jima/space/ins/lin64/dynamic/main/lib,;t t
|
||||
s,@includedir@,${prefix}/include,;t t
|
||||
s,@oldincludedir@,/usr/include,;t t
|
||||
s,@infodir@,${prefix}/info,;t t
|
||||
s,@mandir@,${prefix}/man,;t t
|
||||
s,@build_alias@,,;t t
|
||||
s,@host_alias@,,;t t
|
||||
s,@target_alias@,,;t t
|
||||
s,@DEFS@,-DPACKAGE_NAME=\"tcl\" -DPACKAGE_TARNAME=\"tcl\" -DPACKAGE_VERSION=\"8.6\" -DPACKAGE_STRING=\"tcl\ 8.6\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DTCL_CFGVAL_ENCODING=\"iso8859-1\" -DHAVE_ZLIB=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DTCL_SHLIB_EXT=\".so\" -DNDEBUG=1 -DTCL_CFG_OPTIMIZED=1 -DTCL_TOMMATH=1 -DMP_PREC=4 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DHAVE_GETCWD=1 -DHAVE_MKSTEMP=1 -DHAVE_OPENDIR=1 -DHAVE_STRTOL=1 -DHAVE_WAITPID=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GETADDRINFO=1 -DHAVE_FREEADDRINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_STRUCT_ADDRINFO=1 -DHAVE_STRUCT_IN6_ADDR=1 -DHAVE_STRUCT_SOCKADDR_IN6=1 -DHAVE_STRUCT_SOCKADDR_STORAGE=1 -DHAVE_GETPWUID_R_5=1 -DHAVE_GETPWUID_R=1 -DHAVE_GETPWNAM_R_5=1 -DHAVE_GETPWNAM_R=1 -DHAVE_GETGRGID_R_5=1 -DHAVE_GETGRGID_R=1 -DHAVE_GETGRNAM_R_5=1 -DHAVE_GETGRNAM_R=1 -DHAVE_GETHOSTBYNAME_R_6=1 -DHAVE_GETHOSTBYNAME_R=1 -DHAVE_GETHOSTBYADDR_R_8=1 -DHAVE_GETHOSTBYADDR_R=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_MKTIME=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_BLKCNT_T=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DNO_UNION_WAIT=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_MKSTEMPS=1 -DHAVE_FTS=1 -DHAVE_SYS_IOCTL_H=1 -DTCL_UNLOAD_DLLS=1 -DHAVE_CPUID=1 ,;t t
|
||||
s,@ECHO_C@,,;t t
|
||||
s,@ECHO_N@,-n,;t t
|
||||
s,@ECHO_T@,,;t t
|
||||
s,@LIBS@,-lz -lpthread,;t t
|
||||
s,@MAN_FLAGS@,,;t t
|
||||
s,@CC@,gcc,;t t
|
||||
s,@CFLAGS@, -pipe ,;t t
|
||||
s,@LDFLAGS@, -Wl,--export-dynamic ,;t t
|
||||
s,@CPPFLAGS@,,;t t
|
||||
s,@ac_ct_CC@,gcc,;t t
|
||||
s,@EXEEXT@,,;t t
|
||||
s,@OBJEXT@,o,;t t
|
||||
s,@CPP@,gcc -E,;t t
|
||||
s,@EGREP@,grep -E,;t t
|
||||
s,@TCL_THREADS@,1,;t t
|
||||
s,@TCLSH_PROG@,/home/jima/space/ins/lin64/dynamic/main/bin/tclsh8.6,;t t
|
||||
s,@ZLIB_OBJS@,,;t t
|
||||
s,@ZLIB_SRCS@,,;t t
|
||||
s,@ZLIB_INCLUDE@,,;t t
|
||||
s,@RANLIB@,ranlib,;t t
|
||||
s,@ac_ct_RANLIB@,ranlib,;t t
|
||||
s,@AR@,ar,;t t
|
||||
s,@ac_ct_AR@,ar,;t t
|
||||
s,@LIBOBJS@,,;t t
|
||||
s,@TCL_LIBS@,-ldl -lz -lpthread -lieee -lm,;t t
|
||||
s,@DL_LIBS@,-ldl,;t t
|
||||
s,@DL_OBJS@,tclLoadDl.o,;t t
|
||||
s,@PLAT_OBJS@,,;t t
|
||||
s,@PLAT_SRCS@,,;t t
|
||||
s,@LDAIX_SRC@,,;t t
|
||||
s,@CFLAGS_DEBUG@,-g,;t t
|
||||
s,@CFLAGS_OPTIMIZE@,-O2,;t t
|
||||
s,@CFLAGS_WARNING@,-Wall,;t t
|
||||
s,@LDFLAGS_DEBUG@,,;t t
|
||||
s,@LDFLAGS_OPTIMIZE@,,;t t
|
||||
s,@CC_SEARCH_FLAGS@,-Wl,-rpath,${LIB_RUNTIME_DIR},;t t
|
||||
s,@LD_SEARCH_FLAGS@,-Wl,-rpath,${LIB_RUNTIME_DIR},;t t
|
||||
s,@STLIB_LD@,${AR} cr,;t t
|
||||
s,@SHLIB_LD@,${CC} ${CFLAGS} ${LDFLAGS} -shared,;t t
|
||||
s,@TCL_SHLIB_LD_EXTRAS@,,;t t
|
||||
s,@TK_SHLIB_LD_EXTRAS@,,;t t
|
||||
s,@SHLIB_LD_LIBS@,${LIBS},;t t
|
||||
s,@SHLIB_CFLAGS@,-fPIC,;t t
|
||||
s,@SHLIB_SUFFIX@,.so,;t t
|
||||
s,@MAKE_LIB@,${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS},;t t
|
||||
s,@MAKE_STUB_LIB@,${STLIB_LD} $@ ${STUB_LIB_OBJS} ; ${RANLIB} $@,;t t
|
||||
s,@INSTALL_LIB@,$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)",;t t
|
||||
s,@DLL_INSTALL_DIR@,$(LIB_INSTALL_DIR),;t t
|
||||
s,@INSTALL_STUB_LIB@,$(INSTALL_LIBRARY) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)",;t t
|
||||
s,@CFLAGS_DEFAULT@,$(CFLAGS_OPTIMIZE),;t t
|
||||
s,@LDFLAGS_DEFAULT@,$(LDFLAGS_OPTIMIZE),;t t
|
||||
s,@DTRACE@,,;t t
|
||||
s,@TCL_VERSION@,8.6,;t t
|
||||
s,@TCL_MAJOR_VERSION@,8,;t t
|
||||
s,@TCL_MINOR_VERSION@,6,;t t
|
||||
s,@TCL_PATCH_LEVEL@,.8,;t t
|
||||
s,@TCL_YEAR@,,;t t
|
||||
s,@PKG_CFG_ARGS@,'--prefix=/home/jima/space/ins/lin64/dynamic/main' ,;t t
|
||||
s,@TCL_LIB_FILE@,libtcl8.6.so,;t t
|
||||
s,@TCL_LIB_FLAG@,-ltcl8.6,;t t
|
||||
s,@TCL_LIB_SPEC@,-L/home/jima/space/ins/lin64/dynamic/main/lib -ltcl8.6,;t t
|
||||
s,@TCL_STUB_LIB_FILE@,libtclstub8.6.a,;t t
|
||||
s,@TCL_STUB_LIB_FLAG@,-ltclstub8.6,;t t
|
||||
s,@TCL_STUB_LIB_SPEC@,-L/home/jima/space/ins/lin64/dynamic/main/lib -ltclstub8.6,;t t
|
||||
s,@TCL_STUB_LIB_PATH@,/home/jima/space/ins/lin64/dynamic/main/lib/libtclstub8.6.a,;t t
|
||||
s,@TCL_INCLUDE_SPEC@,-I/home/jima/space/ins/lin64/dynamic/main/include,;t t
|
||||
s,@TCL_BUILD_STUB_LIB_SPEC@,-L/home/jima/space/bui/lin64/dynamic/main/tcl/unix -ltclstub8.6,;t t
|
||||
s,@TCL_BUILD_STUB_LIB_PATH@,/home/jima/space/bui/lin64/dynamic/main/tcl/unix/libtclstub8.6.a,;t t
|
||||
s,@TCL_SRC_DIR@,/home/jima/space/bui/lin64/dynamic/main/tcl,;t t
|
||||
s,@CFG_TCL_SHARED_LIB_SUFFIX@,${VERSION}.so,;t t
|
||||
s,@CFG_TCL_UNSHARED_LIB_SUFFIX@,${VERSION}.a,;t t
|
||||
s,@TCL_SHARED_BUILD@,1,;t t
|
||||
s,@LD_LIBRARY_PATH_VAR@,LD_LIBRARY_PATH,;t t
|
||||
s,@TCL_BUILD_LIB_SPEC@,-L/home/jima/space/bui/lin64/dynamic/main/tcl/unix -ltcl8.6,;t t
|
||||
s,@TCL_LIB_VERSIONS_OK@,ok,;t t
|
||||
s,@TCL_SHARED_LIB_SUFFIX@,${VERSION}${SHLIB_SUFFIX},;t t
|
||||
s,@TCL_UNSHARED_LIB_SUFFIX@,${VERSION}.a,;t t
|
||||
s,@TCL_HAS_LONGLONG@,,;t t
|
||||
s,@INSTALL_TZDATA@,,;t t
|
||||
s,@DTRACE_SRC@,,;t t
|
||||
s,@DTRACE_HDR@,,;t t
|
||||
s,@DTRACE_OBJ@,,;t t
|
||||
s,@MAKEFILE_SHELL@,/bin/sh,;t t
|
||||
s,@BUILD_DLTEST@,$(DLTEST_TARGETS),;t t
|
||||
s,@TCL_PACKAGE_PATH@,/home/jima/space/ins/lin64/dynamic/main/lib ,;t t
|
||||
s,@TCL_MODULE_PATH@,,;t t
|
||||
s,@TCL_LIBRARY@,$(prefix)/lib/tcl$(VERSION),;t t
|
||||
s,@PRIVATE_INCLUDE_DIR@,$(includedir),;t t
|
||||
s,@HTML_DIR@,$(DISTDIR)/html,;t t
|
||||
s,@PACKAGE_DIR@,/home/jima/space/ins/lin64/dynamic/main/lib,;t t
|
||||
s,@EXTRA_CC_SWITCHES@,,;t t
|
||||
s,@EXTRA_APP_CC_SWITCHES@,,;t t
|
||||
s,@EXTRA_INSTALL@,,;t t
|
||||
s,@EXTRA_INSTALL_BINARIES@,@:,;t t
|
||||
s,@EXTRA_BUILD_HTML@,@:,;t t
|
||||
s,@EXTRA_TCLSH_LIBS@,,;t t
|
||||
s,@DLTEST_LD@,${SHLIB_LD},;t t
|
||||
s,@DLTEST_SUFFIX@,,;t t
|
||||
CEOF
|
||||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_lines=48
|
||||
ac_sed_frag=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_lines # Line after last line for current file.
|
||||
ac_more_lines=:
|
||||
ac_sed_cmds=
|
||||
while $ac_more_lines; do
|
||||
if test $ac_beg -gt 1; then
|
||||
sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
|
||||
else
|
||||
sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
|
||||
fi
|
||||
if test ! -s $tmp/subs.frag; then
|
||||
ac_more_lines=false
|
||||
else
|
||||
# The purpose of the label and of the branching condition is to
|
||||
# speed up the sed processing (if there are no `@' at all, there
|
||||
# is no need to browse any of the substitutions).
|
||||
# These are the two extra sed commands mentioned above.
|
||||
(echo ':t
|
||||
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
|
||||
else
|
||||
ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
|
||||
fi
|
||||
ac_sed_frag=`expr $ac_sed_frag + 1`
|
||||
ac_beg=$ac_end
|
||||
ac_end=`expr $ac_end + $ac_max_sed_lines`
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds=cat
|
||||
fi
|
||||
fi # test -n "$CONFIG_FILES"
|
||||
|
||||
for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case $ac_file in
|
||||
- | *:- | *:-:* ) # input from stdin
|
||||
cat >$tmp/stdin
|
||||
ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||
*:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||
ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
|
||||
* ) ac_file_in=$ac_file.in ;;
|
||||
esac
|
||||
|
||||
# Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
|
||||
ac_dir=`(dirname "$ac_file") 2>/dev/null ||
|
||||
$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'`
|
||||
{ if $as_mkdir_p; then
|
||||
mkdir -p "$ac_dir"
|
||||
else
|
||||
as_dir="$ac_dir"
|
||||
as_dirs=
|
||||
while test ! -d "$as_dir"; do
|
||||
as_dirs="$as_dir $as_dirs"
|
||||
as_dir=`(dirname "$as_dir") 2>/dev/null ||
|
||||
$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'`
|
||||
done
|
||||
test ! -n "$as_dirs" || mkdir $as_dirs
|
||||
fi || { { echo "$as_me:660: error: cannot create directory \"$ac_dir\"" >&5
|
||||
echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
|
||||
{ (exit 1); exit 1; }; }; }
|
||||
|
||||
ac_builddir=.
|
||||
|
||||
if test "$ac_dir" != .; then
|
||||
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
|
||||
else
|
||||
ac_dir_suffix= ac_top_builddir=
|
||||
fi
|
||||
|
||||
case $srcdir in
|
||||
.) # No --srcdir option. We are building in place.
|
||||
ac_srcdir=.
|
||||
if test -z "$ac_top_builddir"; then
|
||||
ac_top_srcdir=.
|
||||
else
|
||||
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
|
||||
fi ;;
|
||||
[\\/]* | ?:[\\/]* ) # Absolute path.
|
||||
ac_srcdir=$srcdir$ac_dir_suffix;
|
||||
ac_top_srcdir=$srcdir ;;
|
||||
*) # Relative path.
|
||||
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
|
||||
ac_top_srcdir=$ac_top_builddir$srcdir ;;
|
||||
esac
|
||||
|
||||
# Do not use `cd foo && pwd` to compute absolute paths, because
|
||||
# the directories may not exist.
|
||||
case `pwd` in
|
||||
.) ac_abs_builddir="$ac_dir";;
|
||||
*)
|
||||
case "$ac_dir" in
|
||||
.) ac_abs_builddir=`pwd`;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
|
||||
*) ac_abs_builddir=`pwd`/"$ac_dir";;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_top_builddir=${ac_top_builddir}.;;
|
||||
*)
|
||||
case ${ac_top_builddir}. in
|
||||
.) ac_abs_top_builddir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
|
||||
*) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_srcdir=$ac_srcdir;;
|
||||
*)
|
||||
case $ac_srcdir in
|
||||
.) ac_abs_srcdir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
|
||||
*) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_top_srcdir=$ac_top_srcdir;;
|
||||
*)
|
||||
case $ac_top_srcdir in
|
||||
.) ac_abs_top_srcdir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
|
||||
*) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
if test x"$ac_file" != x-; then
|
||||
{ echo "$as_me:732: creating $ac_file" >&5
|
||||
echo "$as_me: creating $ac_file" >&6;}
|
||||
rm -f "$ac_file"
|
||||
fi
|
||||
# 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. */
|
||||
if test x"$ac_file" = x-; then
|
||||
configure_input=
|
||||
else
|
||||
configure_input="$ac_file. "
|
||||
fi
|
||||
configure_input=$configure_input"Generated from `echo $ac_file_in |
|
||||
sed 's,.*/,,'` by configure."
|
||||
|
||||
# First look for the input files in the build tree, otherwise in the
|
||||
# src tree.
|
||||
ac_file_inputs=`IFS=:
|
||||
for f in $ac_file_in; do
|
||||
case $f in
|
||||
-) echo $tmp/stdin ;;
|
||||
[\\/$]*)
|
||||
# Absolute (can't be DOS-style, as IFS=:)
|
||||
test -f "$f" || { { echo "$as_me:755: error: cannot find input file: $f" >&5
|
||||
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
echo "$f";;
|
||||
*) # Relative
|
||||
if test -f "$f"; then
|
||||
# Build tree
|
||||
echo "$f"
|
||||
elif test -f "$srcdir/$f"; then
|
||||
# Source tree
|
||||
echo "$srcdir/$f"
|
||||
else
|
||||
# /dev/null tree
|
||||
{ { echo "$as_me:768: error: cannot find input file: $f" >&5
|
||||
echo "$as_me: error: cannot find input file: $f" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi;;
|
||||
esac
|
||||
done` || { (exit 1); exit 1; }
|
||||
sed "
|
||||
|
||||
:t
|
||||
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
||||
s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t
|
||||
s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
|
||||
rm -f $tmp/stdin
|
||||
if test x"$ac_file" != x-; then
|
||||
mv $tmp/out $ac_file
|
||||
else
|
||||
cat $tmp/out
|
||||
rm -f $tmp/out
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
#
|
||||
# CONFIG_COMMANDS section.
|
||||
#
|
||||
for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
|
||||
ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
|
||||
ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
|
||||
ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
|
||||
$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$ac_dest" : 'X\(//\)[^/]' \| \
|
||||
X"$ac_dest" : 'X\(//\)$' \| \
|
||||
X"$ac_dest" : 'X\(/\)' \| \
|
||||
. : '\(.\)' 2>/dev/null ||
|
||||
echo X"$ac_dest" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
||||
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||
/^X\(\/\).*/{ s//\1/; q; }
|
||||
s/.*/./; q'`
|
||||
{ if $as_mkdir_p; then
|
||||
mkdir -p "$ac_dir"
|
||||
else
|
||||
as_dir="$ac_dir"
|
||||
as_dirs=
|
||||
while test ! -d "$as_dir"; do
|
||||
as_dirs="$as_dir $as_dirs"
|
||||
as_dir=`(dirname "$as_dir") 2>/dev/null ||
|
||||
$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'`
|
||||
done
|
||||
test ! -n "$as_dirs" || mkdir $as_dirs
|
||||
fi || { { echo "$as_me:837: error: cannot create directory \"$ac_dir\"" >&5
|
||||
echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
|
||||
{ (exit 1); exit 1; }; }; }
|
||||
|
||||
ac_builddir=.
|
||||
|
||||
if test "$ac_dir" != .; then
|
||||
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
|
||||
else
|
||||
ac_dir_suffix= ac_top_builddir=
|
||||
fi
|
||||
|
||||
case $srcdir in
|
||||
.) # No --srcdir option. We are building in place.
|
||||
ac_srcdir=.
|
||||
if test -z "$ac_top_builddir"; then
|
||||
ac_top_srcdir=.
|
||||
else
|
||||
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
|
||||
fi ;;
|
||||
[\\/]* | ?:[\\/]* ) # Absolute path.
|
||||
ac_srcdir=$srcdir$ac_dir_suffix;
|
||||
ac_top_srcdir=$srcdir ;;
|
||||
*) # Relative path.
|
||||
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
|
||||
ac_top_srcdir=$ac_top_builddir$srcdir ;;
|
||||
esac
|
||||
|
||||
# Do not use `cd foo && pwd` to compute absolute paths, because
|
||||
# the directories may not exist.
|
||||
case `pwd` in
|
||||
.) ac_abs_builddir="$ac_dir";;
|
||||
*)
|
||||
case "$ac_dir" in
|
||||
.) ac_abs_builddir=`pwd`;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
|
||||
*) ac_abs_builddir=`pwd`/"$ac_dir";;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_top_builddir=${ac_top_builddir}.;;
|
||||
*)
|
||||
case ${ac_top_builddir}. in
|
||||
.) ac_abs_top_builddir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
|
||||
*) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_srcdir=$ac_srcdir;;
|
||||
*)
|
||||
case $ac_srcdir in
|
||||
.) ac_abs_srcdir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
|
||||
*) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
|
||||
esac;;
|
||||
esac
|
||||
case $ac_abs_builddir in
|
||||
.) ac_abs_top_srcdir=$ac_top_srcdir;;
|
||||
*)
|
||||
case $ac_top_srcdir in
|
||||
.) ac_abs_top_srcdir=$ac_abs_builddir;;
|
||||
[\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
|
||||
*) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
|
||||
{ echo "$as_me:907: executing $ac_dest commands" >&5
|
||||
echo "$as_me: executing $ac_dest commands" >&6;}
|
||||
case $ac_dest in
|
||||
Tcl.framework ) n=Tcl &&
|
||||
f=$n.framework && v=Versions/$VERSION &&
|
||||
rm -rf $f && mkdir -p $f/$v/Resources &&
|
||||
ln -s $v/$n $v/Resources $f && ln -s ../../../$n $f/$v &&
|
||||
ln -s ../../../../$n-Info.plist $f/$v/Resources/Info.plist &&
|
||||
unset n f v
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
{ (exit 0); exit 0; }
|
||||
Reference in New Issue
Block a user