./nsf2.4.0/man/xowish.1 000644 000766 000024 00000006352 13217712707 015363 0 ustar 00neumann staff 000000 000000 '\"
'\" XOTcl - Extended OTcl
'\" Copyright (C) 1999-2008 Uwe Zdun
'\" Copyright (C) 1999-2014 Gustaf Neumann
'\"
'\"
.so man.macros
.TH xowish 1 "" XOWish "XOTcl Applications"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
xowish \- Graphical shell containing object-oriented scripting language XOTcl
.SH SYNOPSIS
\fBxowish\fR ?\fIfileName arg arg ...\fR?
.BE
.SH DESCRIPTION
.PP
\fBxowish\fR is a shell-like application that reads XOTcl commands
from its standard input or from a file and evaluates them. In addition
to \fBxotclsh\fR it provides graphical user interface support for TK
widgets.
.PP
XOTcl (XOTcl, pronounced exotickle) is an object-oriented scripting
language based on MIT's OTcl. It is intended as a value added
replacement for OTcl.
.PP
Scripting languages, like Tcl, are designed for glueing components
together, provide features like dynamic extensibility and dynamic
typing with automatic conversion, that make them well suited for rapid
application development.
.PP
The basic object system of XOTcl is adopted from OTcl. The object
system enables us to define objects, classes, and
meta-classes. Classes are special objects with the purpose of managing
other objects. ``Managing'' means that a class controls the creation
and destruction of its instances and that it contains a repository of
methods accessible for the instances. Every object may be enhanced
with object-specific methods. XOTcl supports single and multiple
inheritance. All relationships in XOTcl, including class and
superclass relationships, are completely dynamic and can be
introspected. Through method chaining without explicit naming of the
intended method, ambiguities in name resolution of methods are
avoided. This way a shadowed method can be ``mixed into'' the
execution of the current method.
.PP
XOTcl combines the ideas of scripting and object-orientation in a way
that preserves the benefits of both of them. It is equipped with
several new language functionalities that help building and managing
complex systems. We added the following support:
.PP
Dynamic Object Aggregations, to provide dynamic aggregations through
nested namespaces (objects).
.PP
Nested Classes, to reduce the interference
of independently developed program structures.
.PP
Assertions, to reduce
the interface and the reliability problems caused by dynamic typing
and, therefore, to ease the combination of many components.
.PP
Meta-data,
to enhance self-documentation of objects and classes.
.PP
Per-object
mixins, as a means to improve flexibility of mixin methods by giving
an object access to several different supplemental classes, which may
be changed dynamically.
.PP
Per-class mixins, as a means to improve
flexibility of mixin methods to a class, all instances of the class
have access to the mixed in methods like for multiple inheritance, but
without the need of intersection classes.
.PP
Filters as a means of
abstractions over method invocations to implement large program
structures, like design patterns.
.PP
Dynamic Component Loading XOTcl
integrates the Tcl package loading with architectural support for
integration with object-oriented constructs. Moreover, it provides
tracking/tracing of component loading.
.PP
.SH KEYWORDS
argument, interpreter, prompt, script file, shell
./nsf2.4.0/man/man.macros 000644 000766 000024 00000011417 12501766547 015745 0 ustar 00neumann staff 000000 000000 '\" The definitions below are for supplemental macros used in Tcl/Tk
'\" manual entries.
'\"
'\" .AP type name in/out ?indent?
'\" Start paragraph describing an argument to a library procedure.
'\" type is type of argument (int, etc.), in/out is either "in", "out",
'\" or "in/out" to describe whether procedure reads or modifies arg,
'\" and indent is equivalent to second arg of .IP (shouldn't ever be
'\" needed; use .AS below instead)
'\"
'\" .AS ?type? ?name?
'\" Give maximum sizes of arguments for setting tab stops. Type and
'\" name are examples of largest possible arguments that will be passed
'\" to .AP later. If args are omitted, default tab stops are used.
'\"
'\" .BS
'\" Start box enclosure. From here until next .BE, everything will be
'\" enclosed in one large box.
'\"
'\" .BE
'\" End of box enclosure.
'\"
'\" .CS
'\" Begin code excerpt.
'\"
'\" .CE
'\" End code excerpt.
'\"
'\" .VS ?version? ?br?
'\" Begin vertical sidebar, for use in marking newly-changed parts
'\" of man pages. The first argument is ignored and used for recording
'\" the version when the .VS was added, so that the sidebars can be
'\" found and removed when they reach a certain age. If another argument
'\" is present, then a line break is forced before starting the sidebar.
'\"
'\" .VE
'\" End of vertical sidebar.
'\"
'\" .DS
'\" Begin an indented unfilled display.
'\"
'\" .DE
'\" End of indented unfilled display.
'\"
'\" .SO
'\" Start of list of standard options for a Tk widget. The
'\" options follow on successive lines, in four columns separated
'\" by tabs.
'\"
'\" .SE
'\" End of list of standard options for a Tk widget.
'\"
'\" .OP cmdName dbName dbClass
'\" Start of description of a specific option. cmdName gives the
'\" option's name as specified in the class command, dbName gives
'\" the option's name in the option database, and dbClass gives
'\" the option's class in the option database.
'\"
'\" .UL arg1 arg2
'\" Print arg1 underlined, then print arg2 normally.
'\"
'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
'\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
'\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
'\" # BS - start boxed text
'\" # ^y = starting y location
'\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
'\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
'\" # VS - start vertical sidebar
'\" # ^Y = starting y location
'\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
'\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
'\" # Special macro to handle page bottom: finish off current
'\" # box/sidebar if in box/sidebar mode, then invoked standard
'\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
'\" # DS - begin display
.de DS
.RS
.nf
.sp
..
'\" # DE - end display
.de DE
.fi
.RE
.sp
..
'\" # SO - start of list of standard options
.de SO
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 4c 8c 12c
.ft B
..
'\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\fBoptions\\fR manual entry for details on the standard options.
..
'\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
'\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
'\" # CE - end code excerpt
.de CE
.fi
.RE
..
.de UL
\\$1\l'|0\(ul'\\$2
..
./nsf2.4.0/man/xotclsh.1 000644 000766 000024 00000006464 13331304242 015516 0 ustar 00neumann staff 000000 000000 '\"
'\" XOTcl - Extended OTcl
'\" Copyright (C) 1999-2008 Uwe Zdun
'\" Copyright (C) 1999-2014 Gustaf Neumann
'\"
'\"
.so man.macros
.TH xotclsh 1 "" XOTcl "XOTcl Applications"
.BS
.SH NAME
xotclsh \- Tcl Shell containing object-oriented scripting language XOTcl
.SH SYNOPSIS
\fBxotclsh\fR \fI?filename arg arg ...?\fR
.BE
.SH DESCRIPTION
.PP
\fBxotclsh\fR is a shell-like application that reads XOTcl commands
from its standard input or from a file and evaluates them.
Similarly as the relation between \fBtclsh\fR and \fBwish\fR,
\fBxowish\fR
provides all functionality of xotclsh and provides as well predefined
support for TK widgets.
.PP
XOTcl (XOTcl, pronounced exotickle) is an object-oriented scripting
language based on MIT's OTcl. It is intended as a value added
replacement of OTcl.
.PP
Scripting languages, such as Tcl, are designed for glueing components
together, provide features such as dynamic extensibility and dynamic
typing with automatic conversion, that make them well suited for rapid
application development.
.PP
The object system of XOTcl enables a user to define objects,
classes, and meta-classes. Classes are special objects with the
purpose of managing
other objects. ``Managing'' means that a class controls the creation
and destruction of its instances and that it contains a repository of
methods accessible for the instances. Every object may be enhanced
with object-specific methods. XOTcl supports single and multiple
inheritance. All object-class and class-class relationships in XOTcl
are introspectable and can be dynamically changed at arbitrary times.
Ambiguities in name resolution of methods are avoided
through method chaining through "next", which does not require
explicit method naming.
.PP
XOTcl combines the ideas of scripting and object-orientation in a way
that preserves the benefits of both of them. It is equipped with
several new language constructs that help building and managing
complex systems. We added the following support:
.PP
\fIDynamic Object Aggregations\fR,
to provide dynamic aggregations through nested namespaces (objects).
.PP
\fINested Classes\fR, to reduce the interference
of independently developed program structures.
.PP
\fIAssertions\fR, to reduce
the interface and the reliability problems caused by dynamic typing
and, therefore, to ease the combination of many components.
.PP
\fIMeta-data\fR, to enhance self-documentation of objects and
classes.
.PP
\fIPer-object mixins\fR, as a means to give an object
dynamically access to the methods of one or several supplemental classes.
.PP
\fIPer-class mixins\fR, as a means to give all instances of
an class dynamically access to the methods of one or several
supplemental classes.
.PP
\fIFilters\fR as a means of
abstractions over method invocations to implement large program
structures, like design patterns.
XOTcl provides a value-added replacement of Tcl
package loading providing integration with object-oriented constructs and
tracking/tracing of component loading.
.SH VARIABLES
.PP
\fBxotclsh\fR sets all variables that \fBtclsh\fR sets,
and additionally the following variables:
.TP 15
\fB::xotcl::version\fR XOTcl version number.
.TP 15
\fB::xotcl::confdir\fR Directory for XOTcl configuration.
.TP 15
\fB::xotcl::logdir\fR Directory where logfiles are placed.
.PP
.SH KEYWORDS
argument, interpreter, prompt, script file, shell
./nsf2.4.0/COMMIT 000644 000766 000024 00000000032 14276141440 014101 0 ustar 00neumann staff 000000 000000 2.3.0-248-ge733b10d-dirty
./nsf2.4.0/tcl-license.terms 000644 000766 000024 00000004321 11257471376 016463 0 ustar 00neumann staff 000000 000000 This software is copyrighted by the Regents of the University of
California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
Corporation and other parties. The following terms apply to all files
associated with the software unless explicitly disclaimed in
individual files.
The authors hereby grant permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this
notice is included verbatim in any distributions. No written agreement,
license, or royalty fee is required for any of the authorized uses.
Modifications to this software may be copyrighted by their authors
and need not follow the licensing terms described here, provided that
the new terms are clearly indicated on the first page of each file where
they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the
U.S. government, the Government shall have only "Restricted Rights"
in the software and related documentation as defined in the Federal
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
are acquiring the software on behalf of the Department of Defense, the
software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause
252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the
terms specified in this license.
./nsf2.4.0/nx-mode.el 000644 000766 000024 00000006641 12501766547 015105 0 ustar 00neumann staff 000000 000000 ; Simple nx-mode designed as an extension of the tcl-mode in tcl.el
; in popular emacs distribitions
;
; gustaf neumann (May 2013)
; TODO:
; - complete definitions,
; - maybe set indent level
; - finish var highlighting for nx variable syntax
;
; For now, load it e.g. with M-x load-library
; ~/.emacs.d/nx-mode.el
(load-library "tcl")
(setq nx-typeword-list (append tcl-typeword-list
'("property")))
;; extra commands/methods to define something
(setq nx-proc-list (append tcl-proc-list
'("method" "alias" "forward")))
;; Tcl control operators are rendered as keywords (if, while, ...
(setq nx-keyword-list tcl-keyword-list)
(setq nx-builtin-list (append tcl-builtin-list
'("apply" "chan" "dict"
"lassign" "lsearch" "lrepeat" "lreverse" "lset"
"pkg_mkIndex" "refchan" "unload" "update"
"cget" "children" "configure" "create" "copy"
"delete" "destroy" "filter" "has" "lookup"
"heritage" "instances" "methods" "mixinof"
"move" "object" "new" "parameter" "parent"
"precedence" "require" "slots" "subclass"
"superclass" "volatile" "variables" "vars"
)))
(setq nx-typeword-regexp (regexp-opt nx-typeword-list 'words))
(setq nx-proc-regexp (regexp-opt nx-proc-list 'words))
(setq nx-keyword-regexp (regexp-opt nx-keyword-list 'words))
(setq nx-builtin-regexp (regexp-opt nx-builtin-list 'words))
(add-to-list 'myKeywords (cons nx-typeword-regexp 'font-lock-type-face))
(add-to-list 'myKeywords (cons nx-proc-regexp 'font-lock-function-name-face))
(add-to-list 'myKeywords (cons nx-keyword-regexp 'font-lock-keyword-face))
(add-to-list 'myKeywords (cons nx-builtin-regexp 'font-lock-builtin-face))
;;(message "My keywords is: %S" myKeywords)
(define-derived-mode nx-mode tcl-mode
(setq font-lock-defaults '(myKeywords))
(setq mode-name "NX Tcl")
)
;;;; the following section contains already an adapted regexp for vars in nx
;;; (to highlight "set :x a" the same way as "set x a"), but this has still
;;; to be mangeled into the nicer style of above...
(setq myKeywords0
(append
'("nx::Class\\|nx::Object\\|\\bmethod\\b\\|\\balias\\b\\|\\bforward\\b\\|\\bobject\\b\\|\\bproc\\b" . 'font-lock-function-name-face)
'("\\bclass\\b\\|\\bcget\\b\\|\\bconfigure\\b\\|\\bcreate\\b\\|\\beval\\b\\|\\bfilter\\b\\|\\binfo\\b\\|\\blookup\\b\\|\\bmixin\\b\\|\\bsuperclass\\b" . 'font-lock-builtin-face)
;; '(nx-typeword-regexp . 'font-lock-type-face)
'("\\bproperty\\b\\|\\bprotected\\b\\|\\bprivate\\b\\|\\bpublic\\b\\|\\bvariable\\b\\|\\bupvar\\b" . 'font-lock-type-face)
;; (list (concat "\\(\\s-\\|^\\)"
;; (regexp-opt nx-typeword-list t)
;; "\\(\\s-\\|$\\)")
;; 2 'font-lock-type-face)
;; When variable names are enclosed in {} braces, any
;; character can be used. Otherwise just letters, digits,
;; underscores. Variable names can be prefixed with any
;; number of "namespace::" qualifiers. A leading "::" refers
;; to the global namespace.
'("\\${\\([^}]+\\)}" 1 'font-lock-variable-name-face)
'("\\$\\(\\(?:::\\)?\\(?:[[:alnum:]_]+::\\)*[[:alnum:]_]+\\)" 1 'font-lock-variable-name-face)
'("\\(?:\\s-\\|^\\|\\[\\)set\\s-+{\\([^}]+\\)}" 1 'font-lock-variable-name-face 'keep)
'("\\(?:\\s-\\|^\\|\\[\\)set\\s-+\\(\\(?:::\\)?\
\\(?:[[:alnum:]_]+::\\)*:?[[:alnum:]_]+\\)" 1 'font-lock-variable-name-face 'keep)
)
) ./nsf2.4.0/configure.ac 000644 000766 000024 00000044102 14274463622 015471 0 ustar 00neumann staff 000000 000000
#--------------------------------------------------------------------
# Sample configure.in for Tcl Extensions. The only places you should
# need to modify this file are marked by the string __CHANGE__
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# __CHANGE__
# This very first macro is used to verify that the configure script can
# find the sources. The argument to AC_INIT should be a unique filename
# for this package, and can be a relative path, such as:
#
#--------------------------------------------------------------------
AC_PREREQ([2.71])
define(NsfVersion, 2.4.0)
AC_INIT([nsf],[NsfVersion],[https://sourceforge.net/p/next-scripting/tickets/])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([tclconfig])
#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
# This will define a ${TEA_PLATFORM} variable == "unix" or "windows".
#--------------------------------------------------------------------
TEA_INIT([3.10])
#--------------------------------------------------------------------
# specify some extra flags
#--------------------------------------------------------------------
# According to http://www.gnu.org/software/autoconf/manual/autoconf.html
# - "with" is for external software (optional packages)
# - "enable" is for optional features
#
AC_ARG_WITH([aolserver3],
AS_HELP_STRING([--with-aolserver3=AOL_SERVER_DIR],
[build an AOLserver 3 module;
point to directory containing aolsever/include (default: off)]),
[with_aol3=$withval], [with_aol3=no])
AC_ARG_WITH([dtrace],
AS_HELP_STRING([--with-dtrace], [build nsf with dtrace (default: without)]),
[with_dtrace=$withval], [with_dtrace=no])
AC_ARG_WITH([mongoc],
AS_HELP_STRING([--with-mongoc=MONGOC_INCLUDE_DIR[,MONGOC_LIB_DIR]],
[build nsf with mongodb c-driver support (default: without)]),
[with_mongoc=$withval], [with_mongoc=no])
AC_ARG_WITH([bson],
AS_HELP_STRING([--with-bson=BSON_INCLUDE_DIR[,BSON_LIB_DIR]],
[build nsf with mongodb bson support (default: without)]),
[with_bson=$withval], [with_bson=no])
AC_ARG_ENABLE([profile],
AS_HELP_STRING([--enable-profile], [build nsf with profile support (default: disabled)]),
[enable_profile=$enableval], [enable_profile=no])
AC_ARG_ENABLE([memcount],
AS_HELP_STRING([--enable-memcount=yes|trace],
[build nsf with memcount debug support (default: disabled)]),
[enable_memcount=$enableval], [enable_memcount=no])
AC_ARG_ENABLE([development],
AS_HELP_STRING([--enable-development=yes|test],
[build nsf with development support (intensive runtime checking, etc.; default: disabled)]),
[enable_development=$enableval], [enable_development=no])
AC_ARG_ENABLE([assertions],
AS_HELP_STRING([--enable-assertions],
[build nsf with assertion support (default: enabled)]),
[enable_assertions=$enableval], [enable_assertions=yes])
AC_ARG_ENABLE([assemble],
AS_HELP_STRING([--enable-assemble=yes|label|call],
[build nsf with assemble support (default: disabled)]),
[enable_assemble=$enableval], [enable_assemble=no])
subdirs=""
if ! test "$with_mongoc" = no; then
test_mongodb=test-mongdb
subdirs="$subdirs ${srcdir}/library/mongodb"
fi
test_actiweb=""
libdirs_actiweb=""
apps_actiweb=""
AC_SUBST([subdirs])
#--------------------------------------------------------------------
# __CHANGE__
# Set your package name and version numbers here. The NODOT_VERSION is
# required for constructing the library name on systems that don't like
# dots in library names (Windows). The VERSION variable is used on the
# other systems.
#--------------------------------------------------------------------
NSF_MAJOR_VERSION=2
NSF_MINOR_VERSION=4
NSF_PATCH_LEVEL=$PACKAGE_VERSION
NSF_VERSION=${NSF_MAJOR_VERSION}.${NSF_MINOR_VERSION}
NODOT_VERSION=${NSF_MAJOR_VERSION}${NSF_MINOR_VERSION}
AC_SUBST([NSF_VERSION])
AC_SUBST([NSF_MAJOR_VERSION])
AC_SUBST([NSF_MINOR_VERSION])
AC_SUBST([NSF_PATCH_LEVEL])
echo "Configuring NSF Version $PACKAGE_VERSION"
AC_CHECK_PROG(git_installed,git,"yes", "no")
if test "$git_installed" = "yes" -a -d ".git" ; then
nsf_commit=`git describe --always --dirty`
elif test -f "COMMIT" ; then
nsf_commit=`cat COMMIT`
else
nsf_commit=unknown-${PACKAGE_VERSION}
fi
NSF_COMMIT=$nsf_commit
AC_SUBST([NSF_COMMIT])
# AC_DEFINE_UNQUOTED([NSF_COMMIT], "$nsf_commit",
# [Commit ID at the time of the last configure run.])
AC_CHECK_TYPES([intptr_t, uintptr_t])
#--------------------------------------------------------------------
# Load the tclConfig.sh file
#--------------------------------------------------------------------
TEA_PATH_TCLCONFIG
TEA_LOAD_TCLCONFIG
AC_CHECK_FUNCS([strnstr])
#--------------------------------------------------------------------
# check for TK
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Handle the --prefix=... option by defaulting to what Tcl gave.
# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER.
#-----------------------------------------------------------------------
TEA_PREFIX
#-----------------------------------------------------------------------
# Standard compiler checks.
# This sets up CC by using the CC env var, or looks for gcc otherwise.
# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create
# the basic setup necessary to compile executables.
#-----------------------------------------------------------------------
TEA_SETUP_COMPILER
#--------------------------------------------------------------------
# check for extra flags
#
# FORCE_NO_STUBS is deactivated for now
if ! test "$with_aol3" = "no"; then
echo "Pre-configuring AOL-Server (nsf)"
AOL_DEFINES="-DAOL_SERVER -DUSE_TCL8X -I$with_aol3/include -I$TCL_SRC_DIR/generic"
FORCE_NO_STUBS=1
else
AOL_DEFINES=""
FORCE_NO_STUBS=0
fi
# set the default aol_prefix
aol_prefix="/usr/local/aolserver"
# if we have under ${prefix} either modules/tcl/init.tcl (aolserver
# style) or modules/tcl/init.tcl (naviserver style), then use
# ${prefix} as aol_prefix (path for the installation of
# aolserver/naviserver specific tcl files).
if test -f "${prefix}/modules/tcl/init.tcl" ; then
aol_prefix="${prefix}"
else
if test -f "${prefix}/tcl/init.tcl" ; then
aol_prefix="${prefix}"
fi
fi
AC_SUBST([aol_prefix])
#--------------------------------------------------------------------
# check for tclCompile.h (needed, when compiled without full source)
if test -f "$TCL_SRC_DIR/generic/tclCompile.h"; then
AC_DEFINE([HAVE_TCL_COMPILE_H], [1], [Do we have tclCompile.h installed?])
fi
if test "$enable_assertions" = yes; then
AC_DEFINE([NSF_WITH_ASSERTIONS], [1], [Are we building with assertions support?])
fi
if test "$enable_profile" = yes; then
AC_DEFINE([NSF_PROFILE], [1], [Are we building with profile support?])
fi
if test "$enable_development" = yes; then
AC_DEFINE([NSF_DEVELOPMENT], [1], [Are we building with development support?])
fi
if test "$enable_development" = test; then
AC_DEFINE([NSF_DEVELOPMENT_TEST], [1], [Are we building with development support and intesive testing?])
fi
if test "$enable_memcount" = yes; then
AC_DEFINE([NSF_MEM_COUNT], [1], [Are we building with memcount support?])
fi
if test "$enable_memcount" = trace; then
AC_DEFINE([NSF_MEM_TRACE], [1], [Are we building with memcount tracing support?])
fi
if test "$enable_assemble" = yes; then
AC_DEFINE([NSF_ASSEMBLE], [1], [Are we building with assembly support?])
fi
if test "$enable_assemble" = call; then
AC_DEFINE([NSF_ASSEMBLE_CT], [1], [Are we building with assembly call threading support?])
fi
if test "$enable_assemble" = call; then
AC_DEFINE([NSF_ASSEMBLE_LT], [1], [Are we building with assembly label threading support?])
fi
DTRACE_OBJ=
if test "$with_dtrace" = yes; then
AC_DEFINE([NSF_DTRACE], [1], [Are we building with DTrace support?])
# Under macOS, we need no nsfDTrace.o
if test "`uname -s`" != "Darwin" ; then
DTRACE_OBJ=nsfDTrace.o
fi
DTRACE_HDR='$(src_generic_dir)/nsfDTrace.h'
DTRACE_SRC='$(src_generic_dir)/nsfDTrace.d'
fi
AC_SUBST([DTRACE_OBJ])
AC_SUBST([DTRACE_HDR])
AC_SUBST([DTRACE_SRC])
#-----------------------------------------------------------------------
# __CHANGE__
# Specify the C source files to compile in TEA_ADD_SOURCES,
# public headers that need to be installed in TEA_ADD_HEADERS,
# stub library C source files to compile in TEA_ADD_STUB_SOURCES,
# and runtime Tcl library files in TEA_ADD_TCL_SOURCES.
# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS
# and PKG_TCL_SOURCES.
#-----------------------------------------------------------------------
stubdir=stubs${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}
TEA_ADD_SOURCES([nsf.c nsfError.c nsfObjectData.c nsfProfile.c \
nsfDebug.c nsfUtil.c nsfObj.c nsfPointer.c nsfEnumerationType.c \
nsfCmdDefinitions.c nsfFunPtrHashTable.c nsfShadow.c nsfCompile.c aolstub.c \${srcdir}/generic/${stubdir}/nsfStubInit.${OBJEXT}])
TEA_ADD_HEADERS([generic/nsf.h generic/nsfInt.h generic/${stubdir}/nsfDecls.h generic/${stubdir}/nsfIntDecls.h])
TEA_ADD_INCLUDES([])
TEA_ADD_LIBS([])
TEA_ADD_CFLAGS([-DNSF_VERSION=\\\"$NSF_VERSION\\\" -DNSF_PATCHLEVEL=\\\"$NSF_PATCH_LEVEL\\\" \
-DNSF_COMMIT=\\\"$NSF_COMMIT\\\" $AOL_DEFINES ])
TEA_ADD_STUB_SOURCES([nsfStubLib.c])
TEA_ADD_TCL_SOURCES([])
#--------------------------------------------------------------------
# __CHANGE__
#
# You can add more files to clean if your extension creates any extra
# files by extending CLEANFILES.
# Add pkgIndex.tcl if it is generated in the Makefile instead of ./configure
# and change Makefile.in to move it from CONFIG_CLEAN_FILES to BINARIES var.
#
# A few miscellaneous platform-specific items:
# TEA_ADD_* any platform specific compiler/build info here.
#--------------------------------------------------------------------
if test "${TEA_PLATFORM}" = "windows" ; then
if test "$GCC" != "yes" ; then
AC_DEFINE([VISUAL_CC])
fi
CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc50.pch vc60.pch "
#TEA_ADD_SOURCES([win/winFile.c])
#TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${srcdir}/win)\"])
else
CLEANFILES="*.a *.so *~ core gmon.out"
#TEA_ADD_SOURCES([unix/unixFile.c])
#TEA_ADD_LIBS([-lsuperfly])
fi
CLEANFILES="$CLEANFILES *.${OBJEXT} pkgIndex.tcl"
#--------------------------------------------------------------------
# __CHANGE__
# Choose which headers you need. Extension authors should try very
# hard to only rely on the Tcl public header files. Internal headers
# contain private data structures and are subject to change without
# notice.
# This must be done AFTER calling TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG
# so that we can extract TCL_SRC_DIR from the config file (in the case
# of private headers
#--------------------------------------------------------------------
#TEA_PUBLIC_TCL_HEADERS
TEA_PRIVATE_TCL_HEADERS
#TEA_PUBLIC_TK_HEADERS
#TEA_PRIVATE_TK_HEADERS
#TEA_PATH_X
#--------------------------------------------------------------------
# Check whether --enable-threads or --disable-threads was given.
#--------------------------------------------------------------------
TEA_ENABLE_THREADS
#--------------------------------------------------------------------
# The statement below defines a collection of symbols related to
# building as a shared library instead of a static library.
#--------------------------------------------------------------------
TEA_ENABLE_SHARED
#--------------------------------------------------------------------
# This macro figures out what flags to use with the compiler/linker
# when building shared/static debug/optimized objects. This information
# can be taken from the tclConfig.sh file, but this figures it all out.
#--------------------------------------------------------------------
TEA_CONFIG_CFLAGS
# Without the following two eval statements, NSF_SHARED_LIB_SUFFIX
# in nsfConfig.sh has $PACKAGE_VERSION unresolved. When another
# app links against nsf, the PACKAGE_VERSIONs are confused.
#
# Without the first eval, we get
# NSF_SHARED_LIB_SUFFIX=${PACKAGE_VERSION}\$\{DBGX\}${SHLIB_SUFFIX}
# NSF_UNSHARED_LIB_SUFFIX=${PACKAGE_VERSION}\$\{DBGX\}.a
#
# after the first eval, we get
# NSF_SHARED_LIB_SUFFIX=1.2.1${DBGX}.so
# NSF_UNSHARED_LIB_SUFFIX=1.2.1${DBGX}.a
# after the second eval, all variables are resolved.
eval "SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
eval "UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
#eval "SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
#eval "UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
#--------------------------------------------------------------------
# Set the default compiler switches based on the --enable-symbols
# option.
#--------------------------------------------------------------------
TEA_ENABLE_SYMBOLS
#--------------------------------------------------------------------
# Everyone should be linking against the Tcl stub library. If you
# can't for some reason, remove this definition. If you aren't using
# stubs, you also need to modify the SHLIB_LD_LIBS setting below to
# link against the non-stubbed Tcl library.
#--------------------------------------------------------------------
AC_DEFINE([USE_TCL_STUBS], [1], [Use Tcl stubs])
#--------------------------------------------------------------------
# This macro generates a line to use when building a library. It
# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS,
# and TEA_LOAD_TCLCONFIG macros above.
#--------------------------------------------------------------------
TEA_MAKE_LIB
#--------------------------------------------------------------------
# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl
# file during the install process. Don't run the TCLSH_PROG through
# ${CYGPATH} because it's being used directly by make.
# Require that we use a tclsh shell version 8.2 or later since earlier
# versions have bugs in the pkg_mkIndex routine.
#--------------------------------------------------------------------
TEA_PROG_TCLSH
# make this available, for such as nsfConfig.sh
NSF_COMPATIBLE_TCLSH=${TCLSH_PROG}
AC_SUBST([NSF_COMPATIBLE_TCLSH])
AC_SUBST([TCL_EXEC_PREFIX])
#
# Next Scripting specific configs
#
#NSF_SRC_DIR=$srcdir
#NSF_SRC_DIR="`pwd`"
NSF_BUILD_DIR=${PWD}
cd ${srcdir}
NSF_SRC_DIR=${PWD}
cd ${NSF_BUILD_DIR}
AC_SUBST([NSF_SRC_DIR])
eval "NSF_PKG_LIBDIR=\"${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}\""
AC_SUBST([NSF_PKG_LIBDIR])
if test "${TEA_PLATFORM}" != "windows" ; then
NSF_BUILD_LIB_SPEC="-L${NSF_BUILD_DIR} -lnsf${PACKAGE_VERSION}"
NSF_LIB_SPEC="-L${NSF_PKG_LIBDIR} -lnsf${PACKAGE_VERSION}"
# If someone wants to build without stubs, as it was the case for
# earlier Tcl versions, we keep the following block as a reference.
if test "${TCL_MAJOR_VERSION}" = "8" -a "${TCL_MINOR_VERSION}" = "0"; then
NSF_BUILD_STUB_LIB_PATH=""
NSF_STUB_LIB_PATH=""
NSF_BUILD_STUB_LIB_SPEC=""
NSF_STUB_LIB_SPEC=""
else
NSF_BUILD_STUB_LIB_PATH="${NSF_SRC_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_PATH="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
NSF_BUILD_STUB_LIB_SPEC="-L${NSF_BUILD_DIR} -lnsfstub${PACKAGE_VERSION}"
NSF_STUB_LIB_SPEC="-L${NSF_PKG_LIBDIR} -lnsfstub${PACKAGE_VERSION}"
AC_DEFINE([COMPILE_NSF_STUBS])
fi
else
NSF_BUILD_LIB_SPEC="${NSF_SRC_DIR}/${PKG_LIB_FILE}"
NSF_LIB_SPEC="${NSF_PKG_LIBDIR}/${PKG_LIB_FILE}"
NSF_BUILD_STUB_LIB_PATH="${NSF_BUILD_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_PATH="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
NSF_BUILD_STUB_LIB_SPEC="${NSF_BUILD_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_SPEC="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
AC_DEFINE([COMPILE_NSF_STUBS])
fi
AC_SUBST([SHARED_LIB_SUFFIX])
AC_SUBST([UNSHARED_LIB_SUFFIX])
AC_SUBST([NSF_BUILD_LIB_SPEC])
AC_SUBST([NSF_LIB_SPEC])
AC_SUBST([NSF_BUILD_STUB_LIB_SPEC])
AC_SUBST([NSF_STUB_LIB_SPEC])
AC_SUBST([NSF_BUILD_STUB_LIB_PATH])
AC_SUBST([NSF_STUB_LIB_PATH])
AC_SUBST([NXSH])
AC_SUBST([XOWISH])
# include dirs for nsf during build process (i.e., does not assume installed)
NSF_BUILD_INCLUDE_DIR="${NSF_SRC_DIR}/generic"
NSF_BUILD_INCLUDE_SPEC="-I${NSF_BUILD_INCLUDE_DIR}"
AC_SUBST([NSF_BUILD_INCLUDE_DIR])
AC_SUBST([NSF_BUILD_INCLUDE_SPEC])
eval "NSF_INCLUDE_DIR=\"$includedir\""
AC_SUBST([NSF_INCLUDE_DIR])
AC_SUBST([test_actiweb])
AC_SUBST([libdirs_actiweb])
AC_SUBST([apps_actiweb])
AC_SUBST([TEA_PLATFORM])
dnl macro expanding to the names of files ./configure is to generate.
dnl reasoning: this is a factoring; I use this value elsewhere.
dnl
dnl Change the value of -this- macro if you want to add or remove
dnl such files.
AC_DEFUN([CONFIG_OUTPUT_FILES], [[Makefile ${srcdir}/nsfConfig.sh ${srcdir}/library/xotcl/xotclsh ${srcdir}/library/xotcl/xowish nxsh nxwish ${srcdir}/doc/version.inc]])
#--------------------------------------------------------------------
# the value of this variable is set to the files which are to be
# removed when the user invokes 'make distclean' (i.e., those
# files generated by ./configure) and is used in the make distclean
# target, defined in Makefile.in
#--------------------------------------------------------------------
CONFIG_CLEAN_FILES="CONFIG_OUTPUT_FILES autom4te.cache/"
AC_SUBST([CONFIG_CLEAN_FILES])
AC_CONFIG_FILES(CONFIG_OUTPUT_FILES)
#--------------------------------------------------------------------
# Finally, substitute all of the various values into the Makefile,
# and generate the other output files. (this is done by invoking
# config.status)
#
# NOTE the lack of parameters! AC_OUTPUT with params is deprecated;
# use macros such as AC_CONFIG_FILES, AC_HEADER_FILES, etc to add
# to the files output by ./configure.
#--------------------------------------------------------------------
AC_OUTPUT
chmod +x nxsh nxwish ${srcdir}/library/xotcl/xotclsh ${srcdir}/library/xotcl/xowish
for subdir in ${subdirs}
do
echo "==================== configure $subdir"
if test x"${srcdir}" = x. ; then
confdir=.
else
#mkdir -p $subdir
confdir=${srcdir}/$subdir
fi
(cd $subdir; echo $SHELL ${confdir}/configure ${ac_configure_args} --prefix=${prefix} --with-nsf=${NSF_SRC_DIR}; eval $SHELL ${confdir}/configure ${ac_configure_args} --prefix=${prefix} --with-nsf=${NSF_SRC_DIR})
done
./nsf2.4.0/host.cert 000644 000766 000024 00000000000 13465515122 015016 0 ustar 00neumann staff 000000 000000 ./nsf2.4.0/nsfConfig.sh.in 000644 000766 000024 00000004723 12501766547 016070 0 ustar 00neumann staff 000000 000000 # nsfConfig.sh --
#
# This shell script (for sh) is generated automatically by the Next
# Scripting configure script. It will create shell variables for most
# of the configuration options discovered by the configure script.
# This script is intended to be included by the configure scripts for
# Next Scripting extensions so that they don't have to figure this all
# out for themselves. This file does not duplicate information
# already provided by tclConfig.sh, so you may need to use that file
# in addition to this one.
#
# The information in this file is specific to a single platform.
# Version number.
NSF_VERSION='@NSF_VERSION@'
NSF_PATCH_LEVEL='@NSF_PATCH_LEVEL@'
# String to pass to compiles to pick up includes during build
# (i.e., assuming nothing has been installed)
NSF_BUILD_INCLUDE_DIR='@NSF_BUILD_INCLUDE_DIR@'
NSF_BUILD_INCLUDE_SPEC="-I${NSF_BUILD_INCLUDE_DIR}"
# String to pass to compiles to pick up the nsf includes from their
# installed directory.
NSF_INCLUDE_DIR="@NSF_INCLUDE_DIR@"
NSF_INCLUDE_SPEC="-I${NSF_INCLUDE_DIR}"
# The name of the nsf library (may be either a .a file or a shared library):
NSF_LIB_FILE=@PKG_LIB_FILE@
# String to pass to linker to pick up the nsf library from its
# build directory.
NSF_BUILD_LIB_SPEC='@NSF_BUILD_LIB_SPEC@'
# String to pass to linker to pick up the nsf library from its
# installed directory.
NSF_LIB_SPEC='@NSF_LIB_SPEC@'
# The name of the NSF stub library (a .a file):
# NSF_STUB_LIB_FILE=@PKG_STUB_LIB_FILE@
# String to pass to linker to pick up the NSF stub library from its
# build directory.
NSF_BUILD_STUB_LIB_SPEC='@NSF_BUILD_STUB_LIB_SPEC@'
# String to pass to linker to pick up the NSF stub library from its
# installed directory.
NSF_STUB_LIB_SPEC='@NSF_STUB_LIB_SPEC@'
# Name of the NSF stub library with full path in build and install directory
NSF_BUILD_STUB_LIB_PATH='@NSF_BUILD_STUB_LIB_PATH@'
NSF_STUB_LIB_PATH='@NSF_STUB_LIB_PATH@'
# Location of the top-level source directories from which nsf
# was built. This is the directory that contains generic, unix, etc.
# If nsf was compiled in a different place than the directory
# containing the source files, this points to the location of the sources,
# not the location where nsf was compiled.
NSF_SRC_DIR='@NSF_SRC_DIR@'
# shared and unshared library suffix
NSF_SHARED_LIB_SUFFIX=@SHARED_LIB_SUFFIX@
NSF_UNSHARED_LIB_SUFFIX=@UNSHARED_LIB_SUFFIX@
# the shell in whose installation dirs the nsf package is installed
NSF_COMPATIBLE_TCLSH=@NSF_COMPATIBLE_TCLSH@
./nsf2.4.0/tclconfig/install-sh 000755 000766 000024 00000033054 12327667054 017165 0 ustar 00neumann staff 000000 000000 #!/bin/sh
# install - install a program, script, or datafile
scriptversion=2011-04-20.01; # UTC
# 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.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
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:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-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.
-S $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-S) stripcmd="$stripprog $2"
shift;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if test $# -eq 0; 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
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
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 "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# 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: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# 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
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 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.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
./nsf2.4.0/tclconfig/mktar.sh 000755 000766 000024 00000001303 13353342636 016622 0 ustar 00neumann staff 000000 000000 #!/bin/sh
pwd=`pwd`
name=`basename $(pwd)`
echo "name=$name"
OPTIONS=--disable-copyfile
#OPTIONS=
make distclean
cd ..
tar zcvf ./$name.tar.gz $OPTIONS \
`find ./$name -type f -o -type l| fgrep -v .git| fgrep -v .dSYM | fgrep -v .DS_Store |\
fgrep -v "~"| fgrep -v "#" | fgrep -v -- -orig | fgrep -v .junk |\
fgrep -v .gcov |fgrep -v .gcda|fgrep -v .gcno|fgrep -v lcov-result|fgrep -v lcov.info |\
egrep -v "doc/example.*[.]txt"| fgrep -v '.c-' | fgrep -v '.tcl-' |\
fgrep -v .dylib | fgrep -v ._ | egrep -v ".o$" |\
fgrep -v "autom4te"| fgrep -v config. | fgrep -v callgrind.out. | fgrep -v .plist |\
fgrep -v .db | fgrep -v .gdb | fgrep -v .graffle`
./nsf2.4.0/configure 000755 000766 000024 00001146235 14274463622 015125 0 ustar 00neumann staff 000000 000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for nsf 2.4.0.
#
# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="as_nop=:
if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else \$as_nop
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" )
then :
else \$as_nop
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
test x\"\$blah\" = xblah || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
if (eval "$as_required") 2>/dev/null
then :
as_have_required=yes
else $as_nop
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$as_shell as_have_required=yes
if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
then :
break 2
fi
fi
done;;
esac
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi
fi
if test "x$CONFIG_SHELL" != x
then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno
then :
printf "%s\n" "$0: This script requires a shell more modern than all"
printf "%s\n" "$0: the shells that I found on your system."
if test ${ZSH_VERSION+y} ; then
printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: https://sourceforge.net/p/next-scripting/tickets/ about
$0: your system, including any error possibly output before
$0: this message. Then install a modern shell, or manually
$0: run the script under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$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 ||
printf "%s\n" 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" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
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
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# 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
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# 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" ||
{ printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# 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
}
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
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 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
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 -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
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='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# 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'"
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/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=
# Identity of this package.
PACKAGE_NAME='nsf'
PACKAGE_TARNAME='nsf'
PACKAGE_VERSION='2.4.0'
PACKAGE_STRING='nsf 2.4.0'
PACKAGE_BUGREPORT='https://sourceforge.net/p/next-scripting/tickets/'
PACKAGE_URL=''
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_STDIO_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
#ifdef HAVE_STRING_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_header_c_list=
ac_subst_vars='LTLIBOBJS
LIBOBJS
CONFIG_CLEAN_FILES
TEA_PLATFORM
apps_actiweb
libdirs_actiweb
test_actiweb
NSF_INCLUDE_DIR
NSF_BUILD_INCLUDE_SPEC
NSF_BUILD_INCLUDE_DIR
XOWISH
NXSH
NSF_STUB_LIB_PATH
NSF_BUILD_STUB_LIB_PATH
NSF_STUB_LIB_SPEC
NSF_BUILD_STUB_LIB_SPEC
NSF_LIB_SPEC
NSF_BUILD_LIB_SPEC
UNSHARED_LIB_SUFFIX
SHARED_LIB_SUFFIX
NSF_PKG_LIBDIR
NSF_SRC_DIR
TCL_EXEC_PREFIX
NSF_COMPATIBLE_TCLSH
TCLSH_PROG
PRACTCL_NAME_LIBRARY
PRACTCL_VC_MANIFEST_EMBED_EXE
PRACTCL_VC_MANIFEST_EMBED_DLL
PRACTCL_STUB_LIB
PRACTCL_STATIC_LIB
PRACTCL_SHARED_LIB
PRACTCL_TOOLSET
PRACTCL_CFLAGS
VC_MANIFEST_EMBED_EXE
VC_MANIFEST_EMBED_DLL
RANLIB_STUB
MAKE_STUB_LIB
MAKE_STATIC_LIB
MAKE_SHARED_LIB
MAKE_LIB
TCL_DBGX
LDFLAGS_DEFAULT
CFLAGS_DEFAULT
LD_LIBRARY_PATH_VAR
SHLIB_CFLAGS
SHLIB_LD_LIBS
SHLIB_SUFFIX
SHLIB_LD
STLIB_LD
CFLAGS_WARNING
CFLAGS_OPTIMIZE
CFLAGS_DEBUG
RC
CELIB_DIR
AR
STUBS_BUILD
SHARED_BUILD
TCL_THREADS
TCL_TOP_DIR_NATIVE
TCL_INCLUDES
PKG_OBJECTS
PKG_SOURCES
DTRACE_SRC
DTRACE_HDR
DTRACE_OBJ
aol_prefix
EGREP
GREP
MATH_LIBS
RANLIB
SET_MAKE
INSTALL_LIBRARY
INSTALL_SCRIPT
INSTALL_PROGRAM
INSTALL_DATA
INSTALL_DATA_DIR
INSTALL
CPP
TCL_SHLIB_LD_LIBS
TCL_LD_FLAGS
TCL_EXTRA_CFLAGS
TCL_DEFS
TCL_LIBS
CLEANFILES
TCL_STUB_LIB_SPEC
TCL_STUB_LIB_FLAG
TCL_STUB_LIB_FILE
TCL_LIB_SPEC
TCL_LIB_FLAG
TCL_LIB_FILE
TCL_SRC_DIR
TCL_BIN_DIR
TCL_PATCH_LEVEL
TCL_VERSION
OBJEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
NSF_COMMIT
git_installed
NSF_PATCH_LEVEL
NSF_MINOR_VERSION
NSF_MAJOR_VERSION
NSF_VERSION
subdirs
PKG_CFLAGS
PKG_LIBS
PKG_INCLUDES
PKG_HEADERS
PKG_TCL_SOURCES
PKG_STUB_OBJECTS
PKG_STUB_SOURCES
PKG_STUB_LIB_FILE
PKG_LIB_FILE9
PKG_LIB_FILE8
PKG_LIB_FILE
EXEEXT
CYGPATH
TEA_TK_EXTENSION
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
with_aolserver3
with_dtrace
with_mongoc
with_bson
enable_profile
enable_memcount
enable_development
enable_assertions
enable_assemble
with_tcl
with_tclinclude
enable_threads
enable_shared
enable_stubs
enable_64bit
enable_64bit_vis
enable_rpath
enable_wince
with_celib
enable_symbols
with_tclsh
'
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
ac_unrecognized_opts=
ac_unrecognized_sep=
# 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'
runstatedir='${localstatedir}/run'
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= ;;
*) ac_optarg=yes ;;
esac
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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=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_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$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 ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=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 ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
printf "%s\n" "$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'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
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 runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
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
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 .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# 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 -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_myself" |
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 .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
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 nsf 2.4.0 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]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--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/nsf]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of nsf 2.4.0:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-profile build nsf with profile support (default: disabled)
--enable-memcount=yes|trace
build nsf with memcount debug support (default:
disabled)
--enable-development=yes|test
build nsf with development support (intensive
runtime checking, etc.; default: disabled)
--enable-assertions build nsf with assertion support (default: enabled)
--enable-assemble=yes|label|call
build nsf with assemble support (default: disabled)
--enable-threads build with threads
--enable-shared build and link with shared libraries (default: on)
--enable-stubs build and link with stub libraries. Always true for
shared builds (default: on)
--enable-64bit enable 64bit support (default: off)
--enable-64bit-vis enable 64bit Sparc VIS support (default: off)
--disable-rpath disable rpath support (default: on)
--enable-wince enable Win/CE support (where applicable)
--enable-symbols build with debugging symbols (default: off)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-aolserver3=AOL_SERVER_DIR
build an AOLserver 3 module; point to directory
containing aolsever/include (default: off)
--with-dtrace build nsf with dtrace (default: without)
--with-mongoc=MONGOC_INCLUDE_DIR,MONGOC_LIB_DIR
build nsf with mongodb c-driver support (default:
without)
--with-bson=BSON_INCLUDE_DIR,BSON_LIB_DIR
build nsf with mongodb bson support (default:
without)
--with-tcl directory containing tcl configuration
(tclConfig.sh)
--with-tclinclude directory containing the public Tcl header files
--with-celib=DIR use Windows/CE support library from DIR
--with-tclsh Specify a local tcl shell to use for dynamic code
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 (Objective) C/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.
Report bugs to .
_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" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && 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=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$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 configure.gnu first; this name is used for a wrapper for
# Metaconfig's "Configure" on case-insensitive file systems.
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
printf "%s\n" "$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
nsf configure 2.4.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 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
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
# -------------------------------------------
# Tests whether TYPE exists after having included INCLUDES, setting cache
# variable VAR accordingly.
ac_fn_c_check_type ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof ($2))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof (($2)))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
eval "$3=yes"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
test -x conftest$ac_exeext
}
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case declares $2.
For example, HP-UX 11i declares gettimeofday. */
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $2 (); below. */
#include
#undef $2
/* 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 $2 ();
/* 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_$2 || defined __stub___$2
choke me
#endif
int
main (void)
{
return $2 ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
# ac_fn_c_try_run LINENO
# ----------------------
# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
# executables *can* be run.
ac_fn_c_try_run ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: program exited with status $ac_status" >&5
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
ac_configure_args_raw=
for ac_arg
do
case $ac_arg in
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append ac_configure_args_raw " '$ac_arg'"
done
case $ac_configure_args_raw in
*$as_nl*)
ac_safe_unquote= ;;
*)
ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
ac_unsafe_a="$ac_unsafe_z#~"
ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
esac
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 nsf $as_me 2.4.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
_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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
printf "%s\n" "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=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append 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
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset 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=$?
# Sanitize IFS.
IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; 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
printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
printf "%s\n" "$as_me: caught signal $ac_signal"
printf "%s\n" "$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'; as_fn_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
printf "%s\n" "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
for ac_site_file in $ac_site_files
do
case $ac_site_file in #(
*/*) :
;; #(
*) :
ac_site_file=./$ac_site_file ;;
esac
if test -f "$ac_site_file" && test -r "$ac_site_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
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. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Test code for whether the C compiler supports C89 (global declarations)
ac_c_conftest_c89_globals='
/* Does the compiler advertise C89 conformance?
Do not test the value of __STDC__, because some compilers set it to 0
while being otherwise adequately conformant. */
#if !defined __STDC__
# error "Compiler does not advertise C89 conformance"
#endif
#include
#include
struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*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 do not provoke an error unfortunately, instead are silently treated
as an "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 is necessary to write \x00 == 0 to get something
that is 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 **, int *(*)(struct buf *, struct stat *, int),
int, int);'
# Test code for whether the C compiler supports C89 (body of main).
ac_c_conftest_c89_main='
ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
'
# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
// Does the compiler advertise C99 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif
#include
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
// FILE and stderr.
#define debug(...) dprintf (2, __VA_ARGS__)
#define showlist(...) puts (#__VA_ARGS__)
#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
static void
test_varargs_macros (void)
{
int x = 1234;
int y = 5678;
debug ("Flag");
debug ("X = %d\n", x);
showlist (The first, second, and third items.);
report (x>y, "x is %d but y is %d", x, y);
}
// Check long long types.
#define BIG64 18446744073709551615ull
#define BIG32 4294967295ul
#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
#if !BIG_OK
#error "your preprocessor is broken"
#endif
#if BIG_OK
#else
#error "your preprocessor is broken"
#endif
static long long int bignum = -9223372036854775807LL;
static unsigned long long int ubignum = BIG64;
struct incomplete_array
{
int datasize;
double data[];
};
struct named_init {
int number;
const wchar_t *name;
double average;
};
typedef const char *ccp;
static inline int
test_restrict (ccp restrict text)
{
// See if C++-style comments work.
// Iterate through items via the restricted pointer.
// Also check for declarations in for loops.
for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
continue;
return 0;
}
// Check varargs and va_copy.
static bool
test_varargs (const char *format, ...)
{
va_list args;
va_start (args, format);
va_list args_copy;
va_copy (args_copy, args);
const char *str = "";
int number = 0;
float fnumber = 0;
while (*format)
{
switch (*format++)
{
case '\''s'\'': // string
str = va_arg (args_copy, const char *);
break;
case '\''d'\'': // int
number = va_arg (args_copy, int);
break;
case '\''f'\'': // float
fnumber = va_arg (args_copy, double);
break;
default:
break;
}
}
va_end (args_copy);
va_end (args);
return *str && number && fnumber;
}
'
# Test code for whether the C compiler supports C99 (body of main).
ac_c_conftest_c99_main='
// Check bool.
_Bool success = false;
success |= (argc != 0);
// Check restrict.
if (test_restrict ("String literal") == 0)
success = true;
char *restrict newvar = "Another string";
// Check varargs.
success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
test_varargs_macros ();
// Check flexible array members.
struct incomplete_array *ia =
malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
ia->datasize = 10;
for (int i = 0; i < ia->datasize; ++i)
ia->data[i] = i * 1.234;
// Check named initializers.
struct named_init ni = {
.number = 34,
.name = L"Test wide string",
.average = 543.34343,
};
ni.number = 58;
int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543;
// work around unused variable warnings
ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
|| dynamic_array[ni.number - 1] != 543);
'
# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
// Does the compiler advertise C11 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif
// Check _Alignas.
char _Alignas (double) aligned_as_double;
char _Alignas (0) no_special_alignment;
extern char aligned_as_int;
char _Alignas (0) _Alignas (int) aligned_as_int;
// Check _Alignof.
enum
{
int_alignment = _Alignof (int),
int_array_alignment = _Alignof (int[100]),
char_alignment = _Alignof (char)
};
_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
// Check _Noreturn.
int _Noreturn does_not_return (void) { for (;;) continue; }
// Check _Static_assert.
struct test_static_assert
{
int x;
_Static_assert (sizeof (int) <= sizeof (long int),
"_Static_assert does not work in struct");
long int y;
};
// Check UTF-8 literals.
#define u8 syntax error!
char const utf8_literal[] = u8"happens to be ASCII" "another string";
// Check duplicate typedefs.
typedef long *long_ptr;
typedef long int *long_ptr;
typedef long_ptr long_ptr;
// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
struct anonymous
{
union {
struct { int i; int j; };
struct { int k; long int l; } w;
};
int m;
} v1;
'
# Test code for whether the C compiler supports C11 (body of main).
ac_c_conftest_c11_main='
_Static_assert ((offsetof (struct anonymous, i)
== offsetof (struct anonymous, w.k)),
"Anonymous union alignment botch");
v1.i = 2;
v1.w.k = 5;
ok |= v1.i != 5;
'
# Test code for whether the C compiler supports C11 (complete).
ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
${ac_c_conftest_c11_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
${ac_c_conftest_c11_main}
return ok;
}
"
# Test code for whether the C compiler supports C99 (complete).
ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
return ok;
}
"
# Test code for whether the C compiler supports C89 (complete).
ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
return ok;
}
"
as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_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,)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
printf "%s\n" "$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
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`printf "%s\n" "$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.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
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
#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
# This will define a ${TEA_PLATFORM} variable == "unix" or "windows".
#--------------------------------------------------------------------
# TEA extensions pass this us the version of TEA they think they
# are compatible with.
TEA_VERSION="3.10"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for correct TEA configuration" >&5
printf %s "checking for correct TEA configuration... " >&6; }
if test x"${PACKAGE_NAME}" = x ; then
as_fn_error $? "
The PACKAGE_NAME variable must be defined by your TEA configure.ac" "$LINENO" 5
fi
if test x"3.10" = x ; then
as_fn_error $? "
TEA version not specified." "$LINENO" 5
elif test "3.10" != "${TEA_VERSION}" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: warning: requested TEA version \"3.10\", have \"${TEA_VERSION}\"" >&5
printf "%s\n" "warning: requested TEA version \"3.10\", have \"${TEA_VERSION}\"" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok (TEA ${TEA_VERSION})" >&5
printf "%s\n" "ok (TEA ${TEA_VERSION})" >&6; }
fi
# If the user did not set CFLAGS, set it now to keep macros
# like AC_PROG_CC and AC_TRY_COMPILE from adding "-g -O2".
if test "${CFLAGS+set}" != "set" ; then
CFLAGS=""
fi
TEA_TK_EXTENSION=0
case "`uname -s`" in
*win32*|*WIN32*|*MINGW32_*)
# Extract the first word of "cygpath", so it can be a program name with args.
set dummy cygpath; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CYGPATH+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CYGPATH"; then
ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CYGPATH="cygpath -m"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo"
fi
fi
CYGPATH=$ac_cv_prog_CYGPATH
if test -n "$CYGPATH"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5
printf "%s\n" "$CYGPATH" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
EXEEXT=".exe"
TEA_PLATFORM="windows"
;;
*CYGWIN_*)
EXEEXT=".exe"
# CYGPATH and TEA_PLATFORM are determined later in LOAD_TCLCONFIG
;;
*)
CYGPATH=echo
# Maybe we are cross-compiling....
case ${host_alias} in
*mingw32*)
EXEEXT=".exe"
TEA_PLATFORM="windows"
;;
*)
EXEEXT=""
TEA_PLATFORM="unix"
;;
esac
;;
esac
# Check if exec_prefix is set. If not use fall back to prefix.
# Note when adjusted, so that TEA_PREFIX can correct for this.
# This is needed for recursive configures, since autoconf propagates
# $prefix, but not $exec_prefix (doh!).
if test x$exec_prefix = xNONE ; then
exec_prefix_default=yes
exec_prefix=$prefix
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}" >&5
printf "%s\n" "$as_me: configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}" >&6;}
# This package name must be replaced statically for AC_SUBST to work
# Substitute STUB_LIB_FILE in case package creates a stub library too.
# We AC_SUBST these here to ensure they are subst'ed,
# in case the user doesn't call TEA_ADD_...
#--------------------------------------------------------------------
# specify some extra flags
#--------------------------------------------------------------------
# According to http://www.gnu.org/software/autoconf/manual/autoconf.html
# - "with" is for external software (optional packages)
# - "enable" is for optional features
#
# Check whether --with-aolserver3 was given.
if test ${with_aolserver3+y}
then :
withval=$with_aolserver3; with_aol3=$withval
else $as_nop
with_aol3=no
fi
# Check whether --with-dtrace was given.
if test ${with_dtrace+y}
then :
withval=$with_dtrace; with_dtrace=$withval
else $as_nop
with_dtrace=no
fi
# Check whether --with-mongoc was given.
if test ${with_mongoc+y}
then :
withval=$with_mongoc; with_mongoc=$withval
else $as_nop
with_mongoc=no
fi
# Check whether --with-bson was given.
if test ${with_bson+y}
then :
withval=$with_bson; with_bson=$withval
else $as_nop
with_bson=no
fi
# Check whether --enable-profile was given.
if test ${enable_profile+y}
then :
enableval=$enable_profile; enable_profile=$enableval
else $as_nop
enable_profile=no
fi
# Check whether --enable-memcount was given.
if test ${enable_memcount+y}
then :
enableval=$enable_memcount; enable_memcount=$enableval
else $as_nop
enable_memcount=no
fi
# Check whether --enable-development was given.
if test ${enable_development+y}
then :
enableval=$enable_development; enable_development=$enableval
else $as_nop
enable_development=no
fi
# Check whether --enable-assertions was given.
if test ${enable_assertions+y}
then :
enableval=$enable_assertions; enable_assertions=$enableval
else $as_nop
enable_assertions=yes
fi
# Check whether --enable-assemble was given.
if test ${enable_assemble+y}
then :
enableval=$enable_assemble; enable_assemble=$enableval
else $as_nop
enable_assemble=no
fi
subdirs=""
if ! test "$with_mongoc" = no; then
test_mongodb=test-mongdb
subdirs="$subdirs ${srcdir}/library/mongodb"
fi
test_actiweb=""
libdirs_actiweb=""
apps_actiweb=""
#--------------------------------------------------------------------
# __CHANGE__
# Set your package name and version numbers here. The NODOT_VERSION is
# required for constructing the library name on systems that don't like
# dots in library names (Windows). The VERSION variable is used on the
# other systems.
#--------------------------------------------------------------------
NSF_MAJOR_VERSION=2
NSF_MINOR_VERSION=4
NSF_PATCH_LEVEL=$PACKAGE_VERSION
NSF_VERSION=${NSF_MAJOR_VERSION}.${NSF_MINOR_VERSION}
NODOT_VERSION=${NSF_MAJOR_VERSION}${NSF_MINOR_VERSION}
echo "Configuring NSF Version $PACKAGE_VERSION"
# Extract the first word of "git", so it can be a program name with args.
set dummy git; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_git_installed+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$git_installed"; then
ac_cv_prog_git_installed="$git_installed" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_git_installed=""yes""
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_git_installed" && ac_cv_prog_git_installed=""no""
fi
fi
git_installed=$ac_cv_prog_git_installed
if test -n "$git_installed"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $git_installed" >&5
printf "%s\n" "$git_installed" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "$git_installed" = "yes" -a -d ".git" ; then
nsf_commit=`git describe --always --dirty`
elif test -f "COMMIT" ; then
nsf_commit=`cat COMMIT`
else
nsf_commit=unknown-${PACKAGE_VERSION}
fi
NSF_COMMIT=$nsf_commit
# AC_DEFINE_UNQUOTED([NSF_COMMIT], "$nsf_commit",
# [Commit ID at the time of the last configure run.])
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$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"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
printf %s "checking whether the C compiler works... " >&6; }
ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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 ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
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 | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test ${ac_cv_exeext+y} && 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 $as_nop
ac_file=''
fi
if test -z "$ac_file"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
printf %s "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
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 | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
printf %s "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
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 ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
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 | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; 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
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_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"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
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_header= ac_cache=
for ac_item in $ac_header_c_list
do
if test $ac_cache; then
ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
printf "%s\n" "#define $ac_item 1" >> confdefs.h
fi
ac_header= ac_cache=
elif test $ac_header; then
ac_cache=$ac_item
else
ac_header=$ac_item
fi
done
if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
then :
printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
if test "x$ac_cv_type_intptr_t" = xyes
then :
printf "%s\n" "#define HAVE_INTPTR_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
if test "x$ac_cv_type_uintptr_t" = xyes
then :
printf "%s\n" "#define HAVE_UINTPTR_T 1" >>confdefs.h
fi
#--------------------------------------------------------------------
# Load the tclConfig.sh file
#--------------------------------------------------------------------
#
# Ok, lets find the tcl configuration
# First, look for one uninstalled.
# the alternative search directory is invoked by --with-tcl
#
if test x"${no_tcl}" = x ; then
# we reset no_tcl in case something fails here
no_tcl=true
# Check whether --with-tcl was given.
if test ${with_tcl+y}
then :
withval=$with_tcl; with_tclconfig="${withval}"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Tcl configuration" >&5
printf %s "checking for Tcl configuration... " >&6; }
if test ${ac_cv_c_tclconfig+y}
then :
printf %s "(cached) " >&6
else $as_nop
# First check to see if --with-tcl was specified.
if test x"${with_tclconfig}" != x ; then
case "${with_tclconfig}" in
*/tclConfig.sh )
if test -f "${with_tclconfig}"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&5
printf "%s\n" "$as_me: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&2;}
with_tclconfig="`echo "${with_tclconfig}" | sed 's!/tclConfig\.sh$!!'`"
fi ;;
esac
if test -f "${with_tclconfig}/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd "${with_tclconfig}"; pwd)`"
else
as_fn_error $? "${with_tclconfig} directory doesn't contain tclConfig.sh" "$LINENO" 5
fi
fi
# then check for a private Tcl installation
if test x"${ac_cv_c_tclconfig}" = x ; then
for i in \
../tcl \
`ls -dr ../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
`ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \
`ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \
../../tcl \
`ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
`ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \
`ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \
../../../tcl \
`ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
`ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \
`ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do
if test "${TEA_PLATFORM}" = "windows" \
-a -f "$i/win/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i/win; pwd)`"
break
fi
if test -f "$i/unix/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i/unix; pwd)`"
break
fi
done
fi
# on Darwin, check in Framework installation locations
if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tclconfig}" = x ; then
for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
`ls -d /Library/Frameworks 2>/dev/null` \
`ls -d /Network/Library/Frameworks 2>/dev/null` \
`ls -d /System/Library/Frameworks 2>/dev/null` \
; do
if test -f "$i/Tcl.framework/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i/Tcl.framework; pwd)`"
break
fi
done
fi
# TEA specific: on Windows, check in common installation locations
if test "${TEA_PLATFORM}" = "windows" \
-a x"${ac_cv_c_tclconfig}" = x ; then
for i in `ls -d C:/Tcl/lib 2>/dev/null` \
`ls -d C:/Progra~1/Tcl/lib 2>/dev/null` \
; do
if test -f "$i/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i; pwd)`"
break
fi
done
fi
# check in a few common install locations
if test x"${ac_cv_c_tclconfig}" = x ; then
for i in `ls -d ${libdir} 2>/dev/null` \
`ls -d ${exec_prefix}/lib 2>/dev/null` \
`ls -d ${prefix}/lib 2>/dev/null` \
`ls -d /usr/contrib/lib 2>/dev/null` \
`ls -d /usr/local/lib 2>/dev/null` \
`ls -d /usr/pkg/lib 2>/dev/null` \
`ls -d /usr/lib 2>/dev/null` \
`ls -d /usr/lib64 2>/dev/null` \
`ls -d /usr/lib/tcl8.6 2>/dev/null` \
`ls -d /usr/lib/tcl8.5 2>/dev/null` \
; do
if test -f "$i/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i; pwd)`"
break
fi
done
fi
# check in a few other private locations
if test x"${ac_cv_c_tclconfig}" = x ; then
for i in \
${srcdir}/../tcl \
`ls -dr ${srcdir}/../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
`ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \
`ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do
if test "${TEA_PLATFORM}" = "windows" \
-a -f "$i/win/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i/win; pwd)`"
break
fi
if test -f "$i/unix/tclConfig.sh" ; then
ac_cv_c_tclconfig="`(cd $i/unix; pwd)`"
break
fi
done
fi
fi
if test x"${ac_cv_c_tclconfig}" = x ; then
TCL_BIN_DIR="# no Tcl configs found"
as_fn_error $? "Can't find Tcl configuration definitions. Use --with-tcl to specify a directory containing tclConfig.sh" "$LINENO" 5
else
no_tcl=
TCL_BIN_DIR="${ac_cv_c_tclconfig}"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ${TCL_BIN_DIR}/tclConfig.sh" >&5
printf "%s\n" "found ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for existence of ${TCL_BIN_DIR}/tclConfig.sh" >&5
printf %s "checking for existence of ${TCL_BIN_DIR}/tclConfig.sh... " >&6; }
if test -f "${TCL_BIN_DIR}/tclConfig.sh" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: loading" >&5
printf "%s\n" "loading" >&6; }
. "${TCL_BIN_DIR}/tclConfig.sh"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: could not find ${TCL_BIN_DIR}/tclConfig.sh" >&5
printf "%s\n" "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
fi
# eval is required to do the TCL_DBGX substitution
eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
# If the TCL_BIN_DIR is the build directory (not the install directory),
# then set the common variable name to the value of the build variables.
# For example, the variable TCL_LIB_SPEC will be set to the value
# of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC
# instead of TCL_BUILD_LIB_SPEC since it will work with both an
# installed and uninstalled version of Tcl.
if test -f "${TCL_BIN_DIR}/Makefile" ; then
TCL_LIB_SPEC="${TCL_BUILD_LIB_SPEC}"
TCL_STUB_LIB_SPEC="${TCL_BUILD_STUB_LIB_SPEC}"
TCL_STUB_LIB_PATH="${TCL_BUILD_STUB_LIB_PATH}"
elif test "`uname -s`" = "Darwin"; then
# If Tcl was built as a framework, attempt to use the libraries
# from the framework at the given location so that linking works
# against Tcl.framework installed in an arbitrary location.
case ${TCL_DEFS} in
*TCL_FRAMEWORK*)
if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
for i in "`cd "${TCL_BIN_DIR}"; pwd`" \
"`cd "${TCL_BIN_DIR}"/../..; pwd`"; do
if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then
TCL_LIB_SPEC="-F`dirname "$i" | sed -e 's/ /\\\\ /g'` -framework ${TCL_LIB_FILE}"
break
fi
done
fi
if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then
TCL_STUB_LIB_SPEC="-L`echo "${TCL_BIN_DIR}" | sed -e 's/ /\\\\ /g'` ${TCL_STUB_LIB_FLAG}"
TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"
fi
;;
esac
fi
# eval is required to do the TCL_DBGX substitution
eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking platform" >&5
printf %s "checking platform... " >&6; }
hold_cc=$CC; CC="$TCL_CC"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifdef _WIN32
#error win32
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
TEA_PLATFORM="unix"
CYGPATH=echo
else $as_nop
TEA_PLATFORM="windows"
# Extract the first word of "cygpath", so it can be a program name with args.
set dummy cygpath; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CYGPATH+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CYGPATH"; then
ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CYGPATH="cygpath -m"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo"
fi
fi
CYGPATH=$ac_cv_prog_CYGPATH
if test -n "$CYGPATH"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5
printf "%s\n" "$CYGPATH" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CC=$hold_cc
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TEA_PLATFORM" >&5
printf "%s\n" "$TEA_PLATFORM" >&6; }
# The BUILD_$pkg is to define the correct extern storage class
# handling when making this package
printf "%s\n" "#define BUILD_${PACKAGE_NAME} /**/" >>confdefs.h
# Do this here as we have fully defined TEA_PLATFORM now
if test "${TEA_PLATFORM}" = "windows" ; then
EXEEXT=".exe"
CLEANFILES="$CLEANFILES *.lib *.dll *.pdb *.exp"
fi
# TEA specific:
ac_fn_c_check_func "$LINENO" "strnstr" "ac_cv_func_strnstr"
if test "x$ac_cv_func_strnstr" = xyes
then :
printf "%s\n" "#define HAVE_STRNSTR 1" >>confdefs.h
fi
#--------------------------------------------------------------------
# check for TK
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Handle the --prefix=... option by defaulting to what Tcl gave.
# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER.
#-----------------------------------------------------------------------
if test "${prefix}" = "NONE"; then
prefix_default=yes
if test x"${TCL_PREFIX}" != x; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&5
printf "%s\n" "$as_me: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&6;}
prefix=${TCL_PREFIX}
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: --prefix defaulting to /usr/local" >&5
printf "%s\n" "$as_me: --prefix defaulting to /usr/local" >&6;}
prefix=/usr/local
fi
fi
if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \
-o x"${exec_prefix_default}" = x"yes" ; then
if test x"${TCL_EXEC_PREFIX}" != x; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&5
printf "%s\n" "$as_me: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&6;}
exec_prefix=${TCL_EXEC_PREFIX}
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: --exec-prefix defaulting to ${prefix}" >&5
printf "%s\n" "$as_me: --exec-prefix defaulting to ${prefix}" >&6;}
exec_prefix=$prefix
fi
fi
#-----------------------------------------------------------------------
# Standard compiler checks.
# This sets up CC by using the CC env var, or looks for gcc otherwise.
# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create
# the basic setup necessary to compile executables.
#-----------------------------------------------------------------------
# Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE)
# in this macro, they need to go into TEA_SETUP_COMPILER instead.
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$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"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; 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
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_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"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
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_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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
printf %s "checking how to run the C preprocessor... " >&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+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Double quotes because $CC needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" 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.
# 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
else $as_nop
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
else $as_nop
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i 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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
printf "%s\n" "$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.
# 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
else $as_nop
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
else $as_nop
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok
then :
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5; }
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
INSTALL='$(SHELL) $(srcdir)/tclconfig/install-sh -c'
INSTALL_DATA_DIR='${INSTALL} -d -m 755'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_LIBRARY='${INSTALL_DATA}'
#--------------------------------------------------------------------
# Checks to see if the make program sets the $MAKE variable.
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SET_MAKE=
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
#--------------------------------------------------------------------
# Find ranlib
#--------------------------------------------------------------------
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
printf "%s\n" "$RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
printf "%s\n" "$ac_ct_RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
RANLIB=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
#--------------------------------------------------------------------
# Determines the correct binary file extension (.o, .obj, .exe etc.)
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
printf %s "checking for grep that handles long lines and -e... " >&6; }
if test ${ac_cv_path_GREP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -z "$GREP"; then
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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"
as_fn_executable_p "$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
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" '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
as_fn_arith $ac_count + 1 && ac_count=$as_val
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
if test -z "$ac_cv_path_GREP"; then
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
printf "%s\n" "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
printf %s "checking for egrep... " >&6; }
if test ${ac_cv_path_EGREP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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"
as_fn_executable_p "$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
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" '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
as_fn_arith $ac_count + 1 && ac_count=$as_val
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
if test -z "$ac_cv_path_EGREP"; then
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
printf "%s\n" "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
# Any macros that use the compiler (e.g. AC_TRY_COMPILE) have to go here.
#------------------------------------------------------------------------
# If we're using GCC, see if the compiler understands -pipe. If so, use it.
# It makes compiling go faster. (This is only a performance feature.)
#------------------------------------------------------------------------
if test -z "$no_pipe" -a -n "$GCC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the compiler understands -pipe" >&5
printf %s "checking if the compiler understands -pipe... " >&6; }
if test ${tcl_cv_cc_pipe+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_cc_pipe=yes
else $as_nop
tcl_cv_cc_pipe=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS=$hold_cflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_pipe" >&5
printf "%s\n" "$tcl_cv_cc_pipe" >&6; }
if test $tcl_cv_cc_pipe = yes; then
CFLAGS="$CFLAGS -pipe"
fi
fi
#--------------------------------------------------------------------
# Common compiler flag setup
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
printf %s "checking whether byte ordering is bigendian... " >&6; }
if test ${ac_cv_c_bigendian+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __APPLE_CC__
not a universal capable compiler
#endif
typedef int dummy;
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# Check for potential -arch flags. It is not universal unless
# there are at least two -arch flags with different values.
ac_arch=
ac_prev=
for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
if test -n "$ac_prev"; then
case $ac_word in
i?86 | x86_64 | ppc | ppc64)
if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
ac_arch=$ac_word
else
ac_cv_c_bigendian=universal
break
fi
;;
esac
ac_prev=
elif test "x$ac_word" = "x-arch"; then
ac_prev=arch
fi
done
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test $ac_cv_c_bigendian = unknown; then
# See if sys/param.h defines the BYTE_ORDER macro.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
&& defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
&& LITTLE_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# It does; now see whether it defined to BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
else $as_nop
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# It does; now see whether it defined to _BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
#ifndef _BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
else $as_nop
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# Compile a test program.
if test "$cross_compiling" = yes
then :
# Try to guess by grepping values from an object file.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned short int ascii_mm[] =
{ 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
unsigned short int ascii_ii[] =
{ 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
int use_ascii (int i) {
return ascii_mm[i] + ascii_ii[i];
}
unsigned short int ebcdic_ii[] =
{ 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
unsigned short int ebcdic_mm[] =
{ 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
extern int foo;
int
main (void)
{
return use_ascii (foo) == use_ebcdic (foo);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
ac_cv_c_bigendian=yes
fi
if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
# finding both strings is unlikely to happen, but who knows?
ac_cv_c_bigendian=unknown
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main (void)
{
/* Are we little or big endian? From Harbison&Steele. */
union
{
long int l;
char c[sizeof (long int)];
} u;
u.l = 1;
return u.c[sizeof (long int) - 1] == 1;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_bigendian=no
else $as_nop
ac_cv_c_bigendian=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
printf "%s\n" "$ac_cv_c_bigendian" >&6; }
case $ac_cv_c_bigendian in #(
yes)
printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h
;; #(
no)
;; #(
universal)
printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
as_fn_error $? "unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
if test "${TEA_PLATFORM}" = "unix" ; then
#--------------------------------------------------------------------
# On a few very rare systems, all of the libm.a stuff is
# already in libc.a. Set compiler flags accordingly.
# Also, Linux requires the "ieee" library for math to work
# right (and it must appear before "-lm").
#--------------------------------------------------------------------
ac_fn_c_check_func "$LINENO" "sin" "ac_cv_func_sin"
if test "x$ac_cv_func_sin" = xyes
then :
MATH_LIBS=""
else $as_nop
MATH_LIBS="-lm"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lieee" >&5
printf %s "checking for main in -lieee... " >&6; }
if test ${ac_cv_lib_ieee_main+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lieee $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
return main ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_ieee_main=yes
else $as_nop
ac_cv_lib_ieee_main=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ieee_main" >&5
printf "%s\n" "$ac_cv_lib_ieee_main" >&6; }
if test "x$ac_cv_lib_ieee_main" = xyes
then :
MATH_LIBS="-lieee $MATH_LIBS"
fi
#--------------------------------------------------------------------
# Interactive UNIX requires -linet instead of -lsocket, plus it
# needs net/errno.h to define the socket-related error codes.
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5
printf %s "checking for main in -linet... " >&6; }
if test ${ac_cv_lib_inet_main+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-linet $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
return main ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_inet_main=yes
else $as_nop
ac_cv_lib_inet_main=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5
printf "%s\n" "$ac_cv_lib_inet_main" >&6; }
if test "x$ac_cv_lib_inet_main" = xyes
then :
LIBS="$LIBS -linet"
fi
ac_fn_c_check_header_compile "$LINENO" "net/errno.h" "ac_cv_header_net_errno_h" "$ac_includes_default"
if test "x$ac_cv_header_net_errno_h" = xyes
then :
printf "%s\n" "#define HAVE_NET_ERRNO_H 1" >>confdefs.h
fi
#--------------------------------------------------------------------
# Check for the existence of the -lsocket and -lnsl libraries.
# The order here is important, so that they end up in the right
# order in the command line generated by make. Here are some
# special considerations:
# 1. Use "connect" and "accept" to check for -lsocket, and
# "gethostbyname" to check for -lnsl.
# 2. Use each function name only once: can't redo a check because
# autoconf caches the results of the last check and won't redo it.
# 3. Use -lnsl and -lsocket only if they supply procedures that
# aren't already present in the normal libraries. This is because
# IRIX 5.2 has libraries, but they aren't needed and they're
# bogus: they goof up name resolution if used.
# 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
# To get around this problem, check for both libraries together
# if -lsocket doesn't work by itself.
#--------------------------------------------------------------------
tcl_checkBoth=0
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
if test "x$ac_cv_func_connect" = xyes
then :
tcl_checkSocket=0
else $as_nop
tcl_checkSocket=1
fi
if test "$tcl_checkSocket" = 1; then
ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
if test "x$ac_cv_func_setsockopt" = xyes
then :
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
printf %s "checking for setsockopt in -lsocket... " >&6; }
if test ${ac_cv_lib_socket_setsockopt+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsocket $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char setsockopt ();
int
main (void)
{
return setsockopt ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_socket_setsockopt=yes
else $as_nop
ac_cv_lib_socket_setsockopt=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
printf "%s\n" "$ac_cv_lib_socket_setsockopt" >&6; }
if test "x$ac_cv_lib_socket_setsockopt" = xyes
then :
LIBS="$LIBS -lsocket"
else $as_nop
tcl_checkBoth=1
fi
fi
fi
if test "$tcl_checkBoth" = 1; then
tk_oldLibs=$LIBS
LIBS="$LIBS -lsocket -lnsl"
ac_fn_c_check_func "$LINENO" "accept" "ac_cv_func_accept"
if test "x$ac_cv_func_accept" = xyes
then :
tcl_checkNsl=0
else $as_nop
LIBS=$tk_oldLibs
fi
fi
ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
if test "x$ac_cv_func_gethostbyname" = xyes
then :
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
printf %s "checking for gethostbyname in -lnsl... " >&6; }
if test ${ac_cv_lib_nsl_gethostbyname+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lnsl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char gethostbyname ();
int
main (void)
{
return gethostbyname ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_nsl_gethostbyname=yes
else $as_nop
ac_cv_lib_nsl_gethostbyname=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
printf "%s\n" "$ac_cv_lib_nsl_gethostbyname" >&6; }
if test "x$ac_cv_lib_nsl_gethostbyname" = xyes
then :
LIBS="$LIBS -lnsl"
fi
fi
# TEA specific: Don't perform the eval of the libraries here because
# DL_LIBS won't be set until we call TEA_CONFIG_CFLAGS
TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dirent.h" >&5
printf %s "checking dirent.h... " >&6; }
if test ${tcl_cv_dirent_h+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
#ifndef _POSIX_SOURCE
# ifdef __Lynx__
/*
* Generate compilation error to make the test fail: Lynx headers
* are only valid if really in the POSIX environment.
*/
missing_procedure();
# endif
#endif
DIR *d;
struct dirent *entryPtr;
char *p;
d = opendir("foobar");
entryPtr = readdir(d);
p = entryPtr->d_name;
closedir(d);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_dirent_h=yes
else $as_nop
tcl_cv_dirent_h=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_dirent_h" >&5
printf "%s\n" "$tcl_cv_dirent_h" >&6; }
if test $tcl_cv_dirent_h = no; then
printf "%s\n" "#define NO_DIRENT_H 1" >>confdefs.h
fi
# TEA specific:
ac_fn_c_check_header_compile "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default"
if test "x$ac_cv_header_errno_h" = xyes
then :
else $as_nop
printf "%s\n" "#define NO_ERRNO_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default"
if test "x$ac_cv_header_float_h" = xyes
then :
else $as_nop
printf "%s\n" "#define NO_FLOAT_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "values.h" "ac_cv_header_values_h" "$ac_includes_default"
if test "x$ac_cv_header_values_h" = xyes
then :
else $as_nop
printf "%s\n" "#define NO_VALUES_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default"
if test "x$ac_cv_header_limits_h" = xyes
then :
printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h
else $as_nop
printf "%s\n" "#define NO_LIMITS_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
if test "x$ac_cv_header_stdlib_h" = xyes
then :
tcl_ok=1
else $as_nop
tcl_ok=0
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "strtol" >/dev/null 2>&1
then :
else $as_nop
tcl_ok=0
fi
rm -rf conftest*
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "strtoul" >/dev/null 2>&1
then :
else $as_nop
tcl_ok=0
fi
rm -rf conftest*
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "strtod" >/dev/null 2>&1
then :
else $as_nop
tcl_ok=0
fi
rm -rf conftest*
if test $tcl_ok = 0; then
printf "%s\n" "#define NO_STDLIB_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
if test "x$ac_cv_header_string_h" = xyes
then :
tcl_ok=1
else $as_nop
tcl_ok=0
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "strstr" >/dev/null 2>&1
then :
else $as_nop
tcl_ok=0
fi
rm -rf conftest*
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "strerror" >/dev/null 2>&1
then :
else $as_nop
tcl_ok=0
fi
rm -rf conftest*
# See also memmove check below for a place where NO_STRING_H can be
# set and why.
if test $tcl_ok = 0; then
printf "%s\n" "#define NO_STRING_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_wait_h" = xyes
then :
else $as_nop
printf "%s\n" "#define NO_SYS_WAIT_H 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
if test "x$ac_cv_header_dlfcn_h" = xyes
then :
else $as_nop
printf "%s\n" "#define NO_DLFCN_H 1" >>confdefs.h
fi
# OS/390 lacks sys/param.h (and doesn't need it, by chance).
ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_param_h" = xyes
then :
printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h
fi
# Let the user call this, because if it triggers, they will
# need a compat/strtod.c that is correct. Users can also
# use Tcl_GetDouble(FromObj) instead.
#TEA_BUGGY_STRTOD
fi
#--------------------------------------------------------------------
# check for extra flags
#
# FORCE_NO_STUBS is deactivated for now
if ! test "$with_aol3" = "no"; then
echo "Pre-configuring AOL-Server (nsf)"
AOL_DEFINES="-DAOL_SERVER -DUSE_TCL8X -I$with_aol3/include -I$TCL_SRC_DIR/generic"
FORCE_NO_STUBS=1
else
AOL_DEFINES=""
FORCE_NO_STUBS=0
fi
# set the default aol_prefix
aol_prefix="/usr/local/aolserver"
# if we have under ${prefix} either modules/tcl/init.tcl (aolserver
# style) or modules/tcl/init.tcl (naviserver style), then use
# ${prefix} as aol_prefix (path for the installation of
# aolserver/naviserver specific tcl files).
if test -f "${prefix}/modules/tcl/init.tcl" ; then
aol_prefix="${prefix}"
else
if test -f "${prefix}/tcl/init.tcl" ; then
aol_prefix="${prefix}"
fi
fi
#--------------------------------------------------------------------
# check for tclCompile.h (needed, when compiled without full source)
if test -f "$TCL_SRC_DIR/generic/tclCompile.h"; then
printf "%s\n" "#define HAVE_TCL_COMPILE_H 1" >>confdefs.h
fi
if test "$enable_assertions" = yes; then
printf "%s\n" "#define NSF_WITH_ASSERTIONS 1" >>confdefs.h
fi
if test "$enable_profile" = yes; then
printf "%s\n" "#define NSF_PROFILE 1" >>confdefs.h
fi
if test "$enable_development" = yes; then
printf "%s\n" "#define NSF_DEVELOPMENT 1" >>confdefs.h
fi
if test "$enable_development" = test; then
printf "%s\n" "#define NSF_DEVELOPMENT_TEST 1" >>confdefs.h
fi
if test "$enable_memcount" = yes; then
printf "%s\n" "#define NSF_MEM_COUNT 1" >>confdefs.h
fi
if test "$enable_memcount" = trace; then
printf "%s\n" "#define NSF_MEM_TRACE 1" >>confdefs.h
fi
if test "$enable_assemble" = yes; then
printf "%s\n" "#define NSF_ASSEMBLE 1" >>confdefs.h
fi
if test "$enable_assemble" = call; then
printf "%s\n" "#define NSF_ASSEMBLE_CT 1" >>confdefs.h
fi
if test "$enable_assemble" = call; then
printf "%s\n" "#define NSF_ASSEMBLE_LT 1" >>confdefs.h
fi
DTRACE_OBJ=
if test "$with_dtrace" = yes; then
printf "%s\n" "#define NSF_DTRACE 1" >>confdefs.h
# Under macOS, we need no nsfDTrace.o
if test "`uname -s`" != "Darwin" ; then
DTRACE_OBJ=nsfDTrace.o
fi
DTRACE_HDR='$(src_generic_dir)/nsfDTrace.h'
DTRACE_SRC='$(src_generic_dir)/nsfDTrace.d'
fi
#-----------------------------------------------------------------------
# __CHANGE__
# Specify the C source files to compile in TEA_ADD_SOURCES,
# public headers that need to be installed in TEA_ADD_HEADERS,
# stub library C source files to compile in TEA_ADD_STUB_SOURCES,
# and runtime Tcl library files in TEA_ADD_TCL_SOURCES.
# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS
# and PKG_TCL_SOURCES.
#-----------------------------------------------------------------------
stubdir=stubs${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}
vars="nsf.c nsfError.c nsfObjectData.c nsfProfile.c \
nsfDebug.c nsfUtil.c nsfObj.c nsfPointer.c nsfEnumerationType.c \
nsfCmdDefinitions.c nsfFunPtrHashTable.c nsfShadow.c nsfCompile.c aolstub.c \${srcdir}/generic/${stubdir}/nsfStubInit.${OBJEXT}"
for i in $vars; do
case $i in
\$*)
# allow $-var names
PKG_SOURCES="$PKG_SOURCES $i"
PKG_OBJECTS="$PKG_OBJECTS $i"
;;
*)
# check for existence - allows for generic/win/unix VPATH
# To add more dirs here (like 'src'), you have to update VPATH
# in Makefile.in as well
if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
-a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
-a ! -f "${srcdir}/macosx/$i" \
; then
as_fn_error $? "could not find source file '$i'" "$LINENO" 5
fi
PKG_SOURCES="$PKG_SOURCES $i"
# this assumes it is in a VPATH dir
i=`basename $i`
# handle user calling this before or after TEA_SETUP_COMPILER
if test x"${OBJEXT}" != x ; then
j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}"
else
j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}"
fi
PKG_OBJECTS="$PKG_OBJECTS $j"
;;
esac
done
vars="generic/nsf.h generic/nsfInt.h generic/${stubdir}/nsfDecls.h generic/${stubdir}/nsfIntDecls.h"
for i in $vars; do
# check for existence, be strict because it is installed
if test ! -f "${srcdir}/$i" ; then
as_fn_error $? "could not find header file '${srcdir}/$i'" "$LINENO" 5
fi
PKG_HEADERS="$PKG_HEADERS $i"
done
vars=""
for i in $vars; do
PKG_INCLUDES="$PKG_INCLUDES $i"
done
vars=""
for i in $vars; do
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
fi
PKG_LIBS="$PKG_LIBS $i"
done
PKG_CFLAGS="$PKG_CFLAGS -DNSF_VERSION=\\\"$NSF_VERSION\\\" -DNSF_PATCHLEVEL=\\\"$NSF_PATCH_LEVEL\\\" \
-DNSF_COMMIT=\\\"$NSF_COMMIT\\\" $AOL_DEFINES "
vars="nsfStubLib.c"
for i in $vars; do
# check for existence - allows for generic/win/unix VPATH
if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
-a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
-a ! -f "${srcdir}/macosx/$i" \
; then
as_fn_error $? "could not find stub source file '$i'" "$LINENO" 5
fi
PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i"
# this assumes it is in a VPATH dir
i=`basename $i`
# handle user calling this before or after TEA_SETUP_COMPILER
if test x"${OBJEXT}" != x ; then
j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}"
else
j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}"
fi
PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j"
done
vars=""
for i in $vars; do
# check for existence, be strict because it is installed
if test ! -f "${srcdir}/$i" ; then
as_fn_error $? "could not find tcl source file '${srcdir}/$i'" "$LINENO" 5
fi
PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i"
done
#--------------------------------------------------------------------
# __CHANGE__
#
# You can add more files to clean if your extension creates any extra
# files by extending CLEANFILES.
# Add pkgIndex.tcl if it is generated in the Makefile instead of ./configure
# and change Makefile.in to move it from CONFIG_CLEAN_FILES to BINARIES var.
#
# A few miscellaneous platform-specific items:
# TEA_ADD_* any platform specific compiler/build info here.
#--------------------------------------------------------------------
if test "${TEA_PLATFORM}" = "windows" ; then
if test "$GCC" != "yes" ; then
printf "%s\n" "#define VISUAL_CC 1" >>confdefs.h
fi
CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc50.pch vc60.pch "
#TEA_ADD_SOURCES([win/winFile.c])
#TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${srcdir}/win)\"])
else
CLEANFILES="*.a *.so *~ core gmon.out"
#TEA_ADD_SOURCES([unix/unixFile.c])
#TEA_ADD_LIBS([-lsuperfly])
fi
CLEANFILES="$CLEANFILES *.${OBJEXT} pkgIndex.tcl"
#--------------------------------------------------------------------
# __CHANGE__
# Choose which headers you need. Extension authors should try very
# hard to only rely on the Tcl public header files. Internal headers
# contain private data structures and are subject to change without
# notice.
# This must be done AFTER calling TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG
# so that we can extract TCL_SRC_DIR from the config file (in the case
# of private headers
#--------------------------------------------------------------------
#TEA_PUBLIC_TCL_HEADERS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Tcl public headers" >&5
printf %s "checking for Tcl public headers... " >&6; }
# Check whether --with-tclinclude was given.
if test ${with_tclinclude+y}
then :
withval=$with_tclinclude; with_tclinclude=${withval}
fi
if test ${ac_cv_c_tclh+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Use the value from --with-tclinclude, if it was given
if test x"${with_tclinclude}" != x ; then
if test -f "${with_tclinclude}/tcl.h" ; then
ac_cv_c_tclh=${with_tclinclude}
else
as_fn_error $? "${with_tclinclude} directory does not contain tcl.h" "$LINENO" 5
fi
else
list=""
if test "`uname -s`" = "Darwin"; then
# If Tcl was built as a framework, attempt to use
# the framework's Headers directory
case ${TCL_DEFS} in
*TCL_FRAMEWORK*)
list="`ls -d ${TCL_BIN_DIR}/Headers 2>/dev/null`"
;;
esac
fi
# Look in the source dir only if Tcl is not installed,
# and in that situation, look there before installed locations.
if test -f "${TCL_BIN_DIR}/Makefile" ; then
list="$list `ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`"
fi
# Check order: pkg --prefix location, Tcl's --prefix location,
# relative to directory of tclConfig.sh.
eval "temp_includedir=${includedir}"
list="$list \
`ls -d ${temp_includedir} 2>/dev/null` \
`ls -d ${TCL_PREFIX}/include 2>/dev/null` \
`ls -d ${TCL_BIN_DIR}/../include 2>/dev/null`"
if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
list="$list /usr/local/include /usr/include"
if test x"${TCL_INCLUDE_SPEC}" != x ; then
d=`echo "${TCL_INCLUDE_SPEC}" | sed -e 's/^-I//'`
list="$list `ls -d ${d} 2>/dev/null`"
fi
fi
for i in $list ; do
if test -f "$i/tcl.h" ; then
ac_cv_c_tclh=$i
break
fi
done
fi
fi
# Print a message based on how we determined the include path
if test x"${ac_cv_c_tclh}" = x ; then
as_fn_error $? "tcl.h not found. Please specify its location with --with-tclinclude" "$LINENO" 5
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_c_tclh}" >&5
printf "%s\n" "${ac_cv_c_tclh}" >&6; }
fi
# Convert to a native path and substitute into the output files.
INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}`
TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\"
# Allow for --with-tclinclude to take effect and define ${ac_cv_c_tclh}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Tcl private include files" >&5
printf %s "checking for Tcl private include files... " >&6; }
TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
# Check to see if tclPort.h isn't already with the public headers
# Don't look for tclInt.h because that resides with tcl.h in the core
# sources, but the Port headers are in a different directory
if test "${TEA_PLATFORM}" = "windows" -a \
-f "${ac_cv_c_tclh}/tclWinPort.h"; then
result="private headers found with public headers"
elif test "${TEA_PLATFORM}" = "unix" -a \
-f "${ac_cv_c_tclh}/tclUnixPort.h"; then
result="private headers found with public headers"
else
TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
if test "${TEA_PLATFORM}" = "windows"; then
TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
else
TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
fi
# Overwrite the previous TCL_INCLUDES as this should capture both
# public and private headers in the same set.
# We want to ensure these are substituted so as not to require
# any *_NATIVE vars be defined in the Makefile
TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
if test "`uname -s`" = "Darwin"; then
# If Tcl was built as a framework, attempt to use
# the framework's Headers and PrivateHeaders directories
case ${TCL_DEFS} in
*TCL_FRAMEWORK*)
if test -d "${TCL_BIN_DIR}/Headers" -a \
-d "${TCL_BIN_DIR}/PrivateHeaders"; then
TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"
else
TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
fi
;;
esac
result="Using ${TCL_INCLUDES}"
else
if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
as_fn_error $? "Cannot find private header tclInt.h in ${TCL_SRC_DIR}" "$LINENO" 5
fi
result="Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${result}" >&5
printf "%s\n" "${result}" >&6; }
#TEA_PUBLIC_TK_HEADERS
#TEA_PRIVATE_TK_HEADERS
#TEA_PATH_X
#--------------------------------------------------------------------
# Check whether --enable-threads or --disable-threads was given.
#--------------------------------------------------------------------
# Check whether --enable-threads was given.
if test ${enable_threads+y}
then :
enableval=$enable_threads; tcl_ok=$enableval
else $as_nop
tcl_ok=yes
fi
if test "${enable_threads+set}" = set; then
enableval="$enable_threads"
tcl_ok=$enableval
else
tcl_ok=yes
fi
if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then
TCL_THREADS=1
if test "${TEA_PLATFORM}" != "windows" ; then
# We are always OK on Windows, so check what this platform wants:
# USE_THREAD_ALLOC tells us to try the special thread-based
# allocator that significantly reduces lock contention
printf "%s\n" "#define USE_THREAD_ALLOC 1" >>confdefs.h
printf "%s\n" "#define _REENTRANT 1" >>confdefs.h
if test "`uname -s`" = "SunOS" ; then
printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
fi
printf "%s\n" "#define _THREAD_SAFE 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthread" >&5
printf %s "checking for pthread_mutex_init in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_mutex_init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char pthread_mutex_init ();
int
main (void)
{
return pthread_mutex_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_mutex_init=yes
else $as_nop
ac_cv_lib_pthread_pthread_mutex_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_mutex_init" >&6; }
if test "x$ac_cv_lib_pthread_pthread_mutex_init" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
if test "$tcl_ok" = "no"; then
# Check a little harder for __pthread_mutex_init in the same
# library, as some systems hide it there until pthread.h is
# defined. We could alternatively do an AC_TRY_COMPILE with
# pthread.h, but that will work with libpthread really doesn't
# exist, like AIX 4.2. [Bug: 4359]
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __pthread_mutex_init in -lpthread" >&5
printf %s "checking for __pthread_mutex_init in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread___pthread_mutex_init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char __pthread_mutex_init ();
int
main (void)
{
return __pthread_mutex_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread___pthread_mutex_init=yes
else $as_nop
ac_cv_lib_pthread___pthread_mutex_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread___pthread_mutex_init" >&5
printf "%s\n" "$ac_cv_lib_pthread___pthread_mutex_init" >&6; }
if test "x$ac_cv_lib_pthread___pthread_mutex_init" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
fi
if test "$tcl_ok" = "yes"; then
# The space is needed
THREADS_LIBS=" -lpthread"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthreads" >&5
printf %s "checking for pthread_mutex_init in -lpthreads... " >&6; }
if test ${ac_cv_lib_pthreads_pthread_mutex_init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthreads $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char pthread_mutex_init ();
int
main (void)
{
return pthread_mutex_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthreads_pthread_mutex_init=yes
else $as_nop
ac_cv_lib_pthreads_pthread_mutex_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_mutex_init" >&5
printf "%s\n" "$ac_cv_lib_pthreads_pthread_mutex_init" >&6; }
if test "x$ac_cv_lib_pthreads_pthread_mutex_init" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
if test "$tcl_ok" = "yes"; then
# The space is needed
THREADS_LIBS=" -lpthreads"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc" >&5
printf %s "checking for pthread_mutex_init in -lc... " >&6; }
if test ${ac_cv_lib_c_pthread_mutex_init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lc $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char pthread_mutex_init ();
int
main (void)
{
return pthread_mutex_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_c_pthread_mutex_init=yes
else $as_nop
ac_cv_lib_c_pthread_mutex_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_pthread_mutex_init" >&5
printf "%s\n" "$ac_cv_lib_c_pthread_mutex_init" >&6; }
if test "x$ac_cv_lib_c_pthread_mutex_init" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
if test "$tcl_ok" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc_r" >&5
printf %s "checking for pthread_mutex_init in -lc_r... " >&6; }
if test ${ac_cv_lib_c_r_pthread_mutex_init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lc_r $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char pthread_mutex_init ();
int
main (void)
{
return pthread_mutex_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_c_r_pthread_mutex_init=yes
else $as_nop
ac_cv_lib_c_r_pthread_mutex_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_mutex_init" >&5
printf "%s\n" "$ac_cv_lib_c_r_pthread_mutex_init" >&6; }
if test "x$ac_cv_lib_c_r_pthread_mutex_init" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
if test "$tcl_ok" = "yes"; then
# The space is needed
THREADS_LIBS=" -pthread"
else
TCL_THREADS=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Do not know how to find pthread lib on your system - thread support disabled" >&5
printf "%s\n" "$as_me: WARNING: Do not know how to find pthread lib on your system - thread support disabled" >&2;}
fi
fi
fi
fi
fi
else
TCL_THREADS=0
fi
# Do checking message here to not mess up interleaved configure output
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for building with threads" >&5
printf %s "checking for building with threads... " >&6; }
if test "${TCL_THREADS}" = 1; then
printf "%s\n" "#define TCL_THREADS 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
printf "%s\n" "yes (default)" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# TCL_THREADS sanity checking. See if our request for building with
# threads is the same as the way Tcl was built. If not, warn the user.
case ${TCL_DEFS} in
*THREADS=1*)
if test "${TCL_THREADS}" = "0"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
Building ${PACKAGE_NAME} without threads enabled, but building against Tcl
that IS thread-enabled. It is recommended to use --enable-threads." >&5
printf "%s\n" "$as_me: WARNING:
Building ${PACKAGE_NAME} without threads enabled, but building against Tcl
that IS thread-enabled. It is recommended to use --enable-threads." >&2;}
fi
;;
*)
if test "${TCL_THREADS}" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
--enable-threads requested, but building against a Tcl that is NOT
thread-enabled. This is an OK configuration that will also run in
a thread-enabled core." >&5
printf "%s\n" "$as_me: WARNING:
--enable-threads requested, but building against a Tcl that is NOT
thread-enabled. This is an OK configuration that will also run in
a thread-enabled core." >&2;}
fi
;;
esac
#--------------------------------------------------------------------
# The statement below defines a collection of symbols related to
# building as a shared library instead of a static library.
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to build libraries" >&5
printf %s "checking how to build libraries... " >&6; }
# Check whether --enable-shared was given.
if test ${enable_shared+y}
then :
enableval=$enable_shared; shared_ok=$enableval
else $as_nop
shared_ok=yes
fi
if test "${enable_shared+set}" = set; then
enableval="$enable_shared"
shared_ok=$enableval
else
shared_ok=yes
fi
# Check whether --enable-stubs was given.
if test ${enable_stubs+y}
then :
enableval=$enable_stubs; stubs_ok=$enableval
else $as_nop
stubs_ok=yes
fi
if test "${enable_stubs+set}" = set; then
enableval="$enable_stubs"
stubs_ok=$enableval
else
stubs_ok=yes
fi
# Stubs are always enabled for shared builds
if test "$shared_ok" = "yes" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: shared" >&5
printf "%s\n" "shared" >&6; }
SHARED_BUILD=1
STUBS_BUILD=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: static" >&5
printf "%s\n" "static" >&6; }
SHARED_BUILD=0
printf "%s\n" "#define STATIC_BUILD 1" >>confdefs.h
if test "$stubs_ok" = "yes" ; then
STUBS_BUILD=1
else
STUBS_BUILD=0
fi
fi
if test "${STUBS_BUILD}" = "1" ; then
printf "%s\n" "#define USE_TCL_STUBS 1" >>confdefs.h
printf "%s\n" "#define USE_TCLOO_STUBS 1" >>confdefs.h
if test "${TEA_WINDOWINGSYSTEM}" != ""; then
printf "%s\n" "#define USE_TK_STUBS 1" >>confdefs.h
fi
fi
#--------------------------------------------------------------------
# This macro figures out what flags to use with the compiler/linker
# when building shared/static debug/optimized objects. This information
# can be taken from the tclConfig.sh file, but this figures it all out.
#--------------------------------------------------------------------
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
printf "%s\n" "$RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
printf "%s\n" "$as_me:${as_lineno-$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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
printf "%s\n" "$ac_ct_RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
RANLIB=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
# Step 0.a: Enable 64 bit support?
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 64bit support is requested" >&5
printf %s "checking if 64bit support is requested... " >&6; }
# Check whether --enable-64bit was given.
if test ${enable_64bit+y}
then :
enableval=$enable_64bit; do64bit=$enableval
else $as_nop
do64bit=no
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $do64bit" >&5
printf "%s\n" "$do64bit" >&6; }
# Step 0.b: Enable Solaris 64 bit VIS support?
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 64bit Sparc VIS support is requested" >&5
printf %s "checking if 64bit Sparc VIS support is requested... " >&6; }
# Check whether --enable-64bit-vis was given.
if test ${enable_64bit_vis+y}
then :
enableval=$enable_64bit_vis; do64bitVIS=$enableval
else $as_nop
do64bitVIS=no
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $do64bitVIS" >&5
printf "%s\n" "$do64bitVIS" >&6; }
# Force 64bit on with VIS
if test "$do64bitVIS" = "yes"
then :
do64bit=yes
fi
# Step 0.c: Check if visibility support is available. Do this here so
# that platform specific alternatives can be used below if this fails.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler supports visibility \"hidden\"" >&5
printf %s "checking if compiler supports visibility \"hidden\"... " >&6; }
if test ${tcl_cv_cc_visibility_hidden+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern __attribute__((__visibility__("hidden"))) void f(void);
void f(void) {}
int
main (void)
{
f();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_cc_visibility_hidden=yes
else $as_nop
tcl_cv_cc_visibility_hidden=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$hold_cflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_visibility_hidden" >&5
printf "%s\n" "$tcl_cv_cc_visibility_hidden" >&6; }
if test $tcl_cv_cc_visibility_hidden = yes
then :
printf "%s\n" "#define MODULE_SCOPE extern __attribute__((__visibility__(\"hidden\")))" >>confdefs.h
printf "%s\n" "#define HAVE_HIDDEN 1" >>confdefs.h
fi
# Step 0.d: Disable -rpath support?
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if rpath support is requested" >&5
printf %s "checking if rpath support is requested... " >&6; }
# Check whether --enable-rpath was given.
if test ${enable_rpath+y}
then :
enableval=$enable_rpath; doRpath=$enableval
else $as_nop
doRpath=yes
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $doRpath" >&5
printf "%s\n" "$doRpath" >&6; }
# TEA specific: Cross-compiling options for Windows/CE builds?
if test "${TEA_PLATFORM}" = windows
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Windows/CE build is requested" >&5
printf %s "checking if Windows/CE build is requested... " >&6; }
# Check whether --enable-wince was given.
if test ${enable_wince+y}
then :
enableval=$enable_wince; doWince=$enableval
else $as_nop
doWince=no
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $doWince" >&5
printf "%s\n" "$doWince" >&6; }
fi
# Set the variable "system" to hold the name and version number
# for the system.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking system version" >&5
printf %s "checking system version... " >&6; }
if test ${tcl_cv_sys_version+y}
then :
printf %s "(cached) " >&6
else $as_nop
# TEA specific:
if test "${TEA_PLATFORM}" = "windows" ; then
tcl_cv_sys_version=windows
else
tcl_cv_sys_version=`uname -s`-`uname -r`
if test "$?" -ne 0 ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: can't find uname command" >&5
printf "%s\n" "$as_me: WARNING: can't find uname command" >&2;}
tcl_cv_sys_version=unknown
else
if test "`uname -s`" = "AIX" ; then
tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
fi
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_sys_version" >&5
printf "%s\n" "$tcl_cv_sys_version" >&6; }
system=$tcl_cv_sys_version
# Require ranlib early so we can override it in special cases below.
# Set configuration options based on system name and version.
# This is similar to Tcl's unix/tcl.m4 except that we've added a
# "windows" case and removed some core-only vars.
do64bit_ok=no
# default to '{$LIBS}' and set to "" on per-platform necessary basis
SHLIB_LD_LIBS='${LIBS}'
# When ld needs options to work in 64-bit mode, put them in
# LDFLAGS_ARCH so they eventually end up in LDFLAGS even if [load]
# is disabled by the user. [Bug 1016796]
LDFLAGS_ARCH=""
UNSHARED_LIB_SUFFIX=""
# TEA specific: use PACKAGE_VERSION instead of VERSION
TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
TCL_LIB_VERSIONS_OK=ok
CFLAGS_DEBUG=-g
if test "$GCC" = yes
then :
CFLAGS_OPTIMIZE=-O2
CFLAGS_WARNING="-Wall"
else $as_nop
CFLAGS_OPTIMIZE=-O
CFLAGS_WARNING=""
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AR+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
printf "%s\n" "$AR" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_AR+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="ar"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
printf "%s\n" "$ac_ct_AR" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_AR" = x; then
AR=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
else
AR="$ac_cv_prog_AR"
fi
STLIB_LD='${AR} cr'
LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
if test "x$SHLIB_VERSION" = x
then :
SHLIB_VERSION=""
else $as_nop
SHLIB_VERSION=".$SHLIB_VERSION"
fi
case $system in
# TEA specific:
windows)
# This is a 2-stage check to make sure we have the 64-bit SDK
# We have to know where the SDK is installed.
# This magic is based on MS Platform SDK for Win2003 SP1 - hobbs
# MACHINE is IX86 for LINK, but this is used by the manifest,
# which requires x86|amd64|ia64.
MACHINE="X86"
if test "$do64bit" != "no" ; then
if test "x${MSSDK}x" = "xx" ; then
MSSDK="C:/Progra~1/Microsoft Platform SDK"
fi
MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'`
PATH64=""
case "$do64bit" in
amd64|x64|yes)
MACHINE="AMD64" ; # default to AMD64 64-bit build
PATH64="${MSSDK}/Bin/Win64/x86/AMD64"
;;
ia64)
MACHINE="IA64"
PATH64="${MSSDK}/Bin/Win64"
;;
esac
if test "$GCC" != "yes" -a ! -d "${PATH64}" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not find 64-bit $MACHINE SDK to enable 64bit mode" >&5
printf "%s\n" "$as_me: WARNING: Could not find 64-bit $MACHINE SDK to enable 64bit mode" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Ensure latest Platform SDK is installed" >&5
printf "%s\n" "$as_me: WARNING: Ensure latest Platform SDK is installed" >&2;}
do64bit="no"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5
printf "%s\n" " Using 64-bit $MACHINE mode" >&6; }
do64bit_ok="yes"
fi
fi
if test "$doWince" != "no" ; then
if test "$do64bit" != "no" ; then
as_fn_error $? "Windows/CE and 64-bit builds incompatible" "$LINENO" 5
fi
if test "$GCC" = "yes" ; then
as_fn_error $? "Windows/CE and GCC builds incompatible" "$LINENO" 5
fi
# First, look for one uninstalled.
# the alternative search directory is invoked by --with-celib
if test x"${no_celib}" = x ; then
# we reset no_celib in case something fails here
no_celib=true
# Check whether --with-celib was given.
if test ${with_celib+y}
then :
withval=$with_celib; with_celibconfig=${withval}
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Windows/CE celib directory" >&5
printf %s "checking for Windows/CE celib directory... " >&6; }
if test ${ac_cv_c_celibconfig+y}
then :
printf %s "(cached) " >&6
else $as_nop
# First check to see if --with-celibconfig was specified.
if test x"${with_celibconfig}" != x ; then
if test -d "${with_celibconfig}/inc" ; then
ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)`
else
as_fn_error $? "${with_celibconfig} directory doesn't contain inc directory" "$LINENO" 5
fi
fi
# then check for a celib library
if test x"${ac_cv_c_celibconfig}" = x ; then
for i in \
../celib-palm-3.0 \
../celib \
../../celib-palm-3.0 \
../../celib \
`ls -dr ../celib-*3.[0-9]* 2>/dev/null` \
${srcdir}/../celib-palm-3.0 \
${srcdir}/../celib \
`ls -dr ${srcdir}/../celib-*3.[0-9]* 2>/dev/null` \
; do
if test -d "$i/inc" ; then
ac_cv_c_celibconfig=`(cd $i; pwd)`
break
fi
done
fi
fi
if test x"${ac_cv_c_celibconfig}" = x ; then
as_fn_error $? "Cannot find celib support library directory" "$LINENO" 5
else
no_celib=
CELIB_DIR=${ac_cv_c_celibconfig}
CELIB_DIR=`echo "$CELIB_DIR" | sed -e 's!\\\!/!g'`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found $CELIB_DIR" >&5
printf "%s\n" "found $CELIB_DIR" >&6; }
fi
fi
# Set defaults for common evc4/PPC2003 setup
# Currently Tcl requires 300+, possibly 420+ for sockets
CEVERSION=420; # could be 211 300 301 400 420 ...
TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ...
ARCH=ARM; # could be ARM MIPS X86EM ...
PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002"
if test "$doWince" != "yes"; then
# If !yes then the user specified something
# Reset ARCH to allow user to skip specifying it
ARCH=
eval `echo $doWince | awk -F, '{ \
if (length($1)) { printf "CEVERSION=\"%s\"\n", $1; \
if ($1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \
if (length($2)) { printf "TARGETCPU=\"%s\"\n", toupper($2) }; \
if (length($3)) { printf "ARCH=\"%s\"\n", toupper($3) }; \
if (length($4)) { printf "PLATFORM=\"%s\"\n", $4 }; \
}'`
if test "x${ARCH}" = "x" ; then
ARCH=$TARGETCPU;
fi
fi
OSVERSION=WCE$CEVERSION;
if test "x${WCEROOT}" = "x" ; then
WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0"
if test ! -d "${WCEROOT}" ; then
WCEROOT="C:/Program Files/Microsoft eMbedded Tools"
fi
fi
if test "x${SDKROOT}" = "x" ; then
SDKROOT="C:/Program Files/Windows CE Tools"
if test ! -d "${SDKROOT}" ; then
SDKROOT="C:/Windows CE Tools"
fi
fi
WCEROOT=`echo "$WCEROOT" | sed -e 's!\\\!/!g'`
SDKROOT=`echo "$SDKROOT" | sed -e 's!\\\!/!g'`
if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \
-o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then
as_fn_error $? "could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" "$LINENO" 5
doWince="no"
else
# We could PATH_NOSPACE these, but that's not important,
# as long as we quote them when used.
CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include"
if test -d "${CEINCLUDE}/${TARGETCPU}" ; then
CEINCLUDE="${CEINCLUDE}/${TARGETCPU}"
fi
CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}"
fi
fi
if test "$GCC" != "yes" ; then
if test "${SHARED_BUILD}" = "0" ; then
runtime=-MT
else
runtime=-MD
fi
case "x`echo \${VisualStudioVersion}`" in
x1[4-9]*)
lflags="${lflags} -nodefaultlib:libucrt.lib"
vars="ucrt.lib"
for i in $vars; do
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
fi
PKG_LIBS="$PKG_LIBS $i"
done
;;
*)
;;
esac
if test "$do64bit" != "no" ; then
# All this magic is necessary for the Win64 SDK RC1 - hobbs
CC="\"${PATH64}/cl.exe\""
CFLAGS="${CFLAGS} -I\"${MSSDK}/Include\" -I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\""
RC="\"${MSSDK}/bin/rc.exe\""
lflags="${lflags} -nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\""
LINKBIN="\"${PATH64}/link.exe\""
CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d"
CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}"
# Avoid 'unresolved external symbol __security_cookie'
# errors, c.f. http://support.microsoft.com/?id=894573
vars="bufferoverflowU.lib"
for i in $vars; do
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
fi
PKG_LIBS="$PKG_LIBS $i"
done
elif test "$doWince" != "no" ; then
CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin"
if test "${TARGETCPU}" = "X86"; then
CC="\"${CEBINROOT}/cl.exe\""
else
CC="\"${CEBINROOT}/cl${ARCH}.exe\""
fi
CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\""
RC="\"${WCEROOT}/Common/EVC/bin/rc.exe\""
arch=`echo ${ARCH} | awk '{print tolower($0)}'`
defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS"
if test "${SHARED_BUILD}" = "1" ; then
# Static CE builds require static celib as well
defs="${defs} _DLL"
fi
for i in $defs ; do
printf "%s\n" "#define $i 1" >>confdefs.h
done
printf "%s\n" "#define _WIN32_WCE $CEVERSION" >>confdefs.h
printf "%s\n" "#define UNDER_CE $CEVERSION" >>confdefs.h
CFLAGS_DEBUG="-nologo -Zi -Od"
CFLAGS_OPTIMIZE="-nologo -Ox"
lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'`
lflags="${lflags} -MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo"
LINKBIN="\"${CEBINROOT}/link.exe\""
else
RC="rc"
lflags="${lflags} -nologo"
LINKBIN="link"
CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d"
CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}"
fi
fi
if test "$GCC" = "yes"; then
# mingw gcc mode
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
set dummy ${ac_tool_prefix}windres; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$RC"; then
ac_cv_prog_RC="$RC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_RC="${ac_tool_prefix}windres"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
RC=$ac_cv_prog_RC
if test -n "$RC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RC" >&5
printf "%s\n" "$RC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_RC"; then
ac_ct_RC=$RC
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_RC"; then
ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RC="windres"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_RC=$ac_cv_prog_ac_ct_RC
if test -n "$ac_ct_RC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5
printf "%s\n" "$ac_ct_RC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_RC" = x; then
RC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RC=$ac_ct_RC
fi
else
RC="$ac_cv_prog_RC"
fi
CFLAGS_DEBUG="-g"
CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer"
SHLIB_LD='${CC} -shared'
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
PRACTCL_UNSHARED_LIB_SUFFIX='.a'
LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}"
LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cross-compile version of gcc" >&5
printf %s "checking for cross-compile version of gcc... " >&6; }
if test ${ac_cv_cross+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _WIN32
#error cross-compiler
#endif
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_cross=yes
else $as_nop
ac_cv_cross=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cross" >&5
printf "%s\n" "$ac_cv_cross" >&6; }
if test "$ac_cv_cross" = "yes"; then
case "$do64bit" in
amd64|x64|yes)
CC="x86_64-w64-mingw32-gcc"
LD="x86_64-w64-mingw32-ld"
AR="x86_64-w64-mingw32-ar"
RANLIB="x86_64-w64-mingw32-ranlib"
RC="x86_64-w64-mingw32-windres"
;;
*)
CC="i686-w64-mingw32-gcc"
LD="i686-w64-mingw32-ld"
AR="i686-w64-mingw32-ar"
RANLIB="i686-w64-mingw32-ranlib"
RC="i686-w64-mingw32-windres"
;;
esac
fi
else
SHLIB_LD="${LINKBIN} -dll ${lflags}"
# link -lib only works when -lib is the first arg
STLIB_LD="${LINKBIN} -lib ${lflags}"
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib'
PATHTYPE=-w
# For information on what debugtype is most useful, see:
# http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
# and also
# http://msdn2.microsoft.com/en-us/library/y0zzbyt4%28VS.80%29.aspx
# This essentially turns it all on.
LDFLAGS_DEBUG="-debug -debugtype:cv"
LDFLAGS_OPTIMIZE="-release"
if test "$doWince" != "no" ; then
LDFLAGS_CONSOLE="-link ${lflags}"
LDFLAGS_WINDOW=${LDFLAGS_CONSOLE}
else
LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}"
LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}"
fi
fi
SHLIB_SUFFIX=".dll"
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll'
TCL_LIB_VERSIONS_OK=nodots
;;
AIX-*)
if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"
then :
# AIX requires the _r compiler when gcc isn't being used
case "${CC}" in
*_r|*_r\ *)
# ok ...
;;
*)
# Make sure only first arg gets _r
CC=`echo "$CC" | sed -e 's/^\([^ ]*\)/\1_r/'`
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using $CC for compiling with threads" >&5
printf "%s\n" "Using $CC for compiling with threads" >&6; }
fi
LIBS="$LIBS -lc"
SHLIB_CFLAGS=""
SHLIB_SUFFIX=".so"
LD_LIBRARY_PATH_VAR="LIBPATH"
# Check to enable 64-bit flags for compiler/linker
if test "$do64bit" = yes
then :
if test "$GCC" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
else $as_nop
do64bit_ok=yes
CFLAGS="$CFLAGS -q64"
LDFLAGS_ARCH="-q64"
RANLIB="${RANLIB} -X64"
AR="${AR} -X64"
SHLIB_LD_FLAGS="-b64"
fi
fi
if test "`uname -m`" = ia64
then :
# AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
if test "$GCC" = yes
then :
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
else $as_nop
CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
fi
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
else $as_nop
if test "$GCC" = yes
then :
SHLIB_LD='${CC} -shared -Wl,-bexpall'
else $as_nop
SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bexpall -H512 -T512 -bnoentry"
LDFLAGS="$LDFLAGS -brtl"
fi
SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
fi
;;
BeOS*)
SHLIB_CFLAGS="-fPIC"
SHLIB_LD='${CC} -nostart'
SHLIB_SUFFIX=".so"
#-----------------------------------------------------------
# Check for inet_ntoa in -lbind, for BeOS (which also needs
# -lsocket, even if the network functions are in -lnet which
# is always linked to, for compatibility.
#-----------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inet_ntoa in -lbind" >&5
printf %s "checking for inet_ntoa in -lbind... " >&6; }
if test ${ac_cv_lib_bind_inet_ntoa+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbind $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char inet_ntoa ();
int
main (void)
{
return inet_ntoa ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_bind_inet_ntoa=yes
else $as_nop
ac_cv_lib_bind_inet_ntoa=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_inet_ntoa" >&5
printf "%s\n" "$ac_cv_lib_bind_inet_ntoa" >&6; }
if test "x$ac_cv_lib_bind_inet_ntoa" = xyes
then :
LIBS="$LIBS -lbind -lsocket"
fi
;;
BSD/OS-4.*)
SHLIB_CFLAGS="-export-dynamic -fPIC"
SHLIB_LD='${CC} -shared'
SHLIB_SUFFIX=".so"
LDFLAGS="$LDFLAGS -export-dynamic"
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
CYGWIN_*)
SHLIB_CFLAGS=""
SHLIB_LD='${CC} -shared'
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$@.a"
SHLIB_SUFFIX=".dll"
EXEEXT=".exe"
do64bit_ok=yes
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
Haiku*)
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
SHLIB_CFLAGS="-fPIC"
SHLIB_SUFFIX=".so"
SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inet_ntoa in -lnetwork" >&5
printf %s "checking for inet_ntoa in -lnetwork... " >&6; }
if test ${ac_cv_lib_network_inet_ntoa+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lnetwork $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char inet_ntoa ();
int
main (void)
{
return inet_ntoa ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_network_inet_ntoa=yes
else $as_nop
ac_cv_lib_network_inet_ntoa=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_inet_ntoa" >&5
printf "%s\n" "$ac_cv_lib_network_inet_ntoa" >&6; }
if test "x$ac_cv_lib_network_inet_ntoa" = xyes
then :
LIBS="$LIBS -lnetwork"
fi
;;
HP-UX-*.11.*)
# Use updated header definitions where possible
printf "%s\n" "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h
# TEA specific: Needed by Tcl, but not most extensions
#AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?])
#LIBS="$LIBS -lxnet" # Use the XOPEN network library
if test "`uname -m`" = ia64
then :
SHLIB_SUFFIX=".so"
# Use newer C++ library for C++ extensions
#if test "$GCC" != "yes" ; then
# CPPFLAGS="-AA"
#fi
else $as_nop
SHLIB_SUFFIX=".sl"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
printf %s "checking for shl_load in -ldld... " >&6; }
if test ${ac_cv_lib_dld_shl_load+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* 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. */
char shl_load ();
int
main (void)
{
return shl_load ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_dld_shl_load=yes
else $as_nop
ac_cv_lib_dld_shl_load=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes
then :
tcl_ok=yes
else $as_nop
tcl_ok=no
fi
if test "$tcl_ok" = yes
then :
LDFLAGS="$LDFLAGS -Wl,-E"
CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
LD_LIBRARY_PATH_VAR="SHLIB_PATH"
fi
if test "$GCC" = yes
then :
SHLIB_LD='${CC} -shared'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
else $as_nop
CFLAGS="$CFLAGS -z"
# Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
#CFLAGS="$CFLAGS +DAportable"
SHLIB_CFLAGS="+z"
SHLIB_LD="ld -b"
fi
# Check to enable 64-bit flags for compiler/linker
if test "$do64bit" = "yes"
then :
if test "$GCC" = yes
then :
case `${CC} -dumpmachine` in
hppa64*)
# 64-bit gcc in use. Fix flags for GNU ld.
do64bit_ok=yes
SHLIB_LD='${CC} -shared'
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
;;
esac
else $as_nop
do64bit_ok=yes
CFLAGS="$CFLAGS +DD64"
LDFLAGS_ARCH="+DD64"
fi
fi ;;
IRIX-6.*)
SHLIB_CFLAGS=""
SHLIB_LD="ld -n32 -shared -rdata_shared"
SHLIB_SUFFIX=".so"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
fi
if test "$GCC" = yes
then :
CFLAGS="$CFLAGS -mabi=n32"
LDFLAGS="$LDFLAGS -mabi=n32"
else $as_nop
case $system in
IRIX-6.3)
# Use to build 6.2 compatible binaries on 6.3.
CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS"
;;
*)
CFLAGS="$CFLAGS -n32"
;;
esac
LDFLAGS="$LDFLAGS -n32"
fi
;;
IRIX64-6.*)
SHLIB_CFLAGS=""
SHLIB_LD="ld -n32 -shared -rdata_shared"
SHLIB_SUFFIX=".so"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
fi
# Check to enable 64-bit flags for compiler/linker
if test "$do64bit" = yes
then :
if test "$GCC" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported by gcc" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported by gcc" >&2;}
else $as_nop
do64bit_ok=yes
SHLIB_LD="ld -64 -shared -rdata_shared"
CFLAGS="$CFLAGS -64"
LDFLAGS_ARCH="-64"
fi
fi
;;
Linux*|GNU*|NetBSD-Debian)
SHLIB_CFLAGS="-fPIC"
SHLIB_SUFFIX=".so"
# TEA specific:
CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer"
# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
if test "`uname -m`" = "alpha"
then :
CFLAGS="$CFLAGS -mieee"
fi
if test $do64bit = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -m64 flag" >&5
printf %s "checking if compiler accepts -m64 flag... " >&6; }
if test ${tcl_cv_cc_m64+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -m64"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_cc_m64=yes
else $as_nop
tcl_cv_cc_m64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$hold_cflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_m64" >&5
printf "%s\n" "$tcl_cv_cc_m64" >&6; }
if test $tcl_cv_cc_m64 = yes
then :
CFLAGS="$CFLAGS -m64"
do64bit_ok=yes
fi
fi
# The combo of gcc + glibc has a bug related to inlining of
# functions like strtod(). The -fno-builtin flag should address
# this problem but it does not work. The -fno-inline flag is kind
# of overkill but it works. Disable inlining only when one of the
# files in compat/*.c is being linked in.
if test x"${USE_COMPAT}" != x
then :
CFLAGS="$CFLAGS -fno-inline"
fi
;;
Lynx*)
SHLIB_CFLAGS="-fPIC"
SHLIB_SUFFIX=".so"
CFLAGS_OPTIMIZE=-02
SHLIB_LD='${CC} -shared'
LD_FLAGS="-Wl,--export-dynamic"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
;;
OpenBSD-*)
arch=`arch -s`
case "$arch" in
vax)
SHLIB_SUFFIX=""
SHARED_LIB_SUFFIX=""
LDFLAGS=""
;;
*)
case "$arch" in
alpha|sparc64)
SHLIB_CFLAGS="-fPIC"
;;
*)
SHLIB_CFLAGS="-fpic"
;;
esac
SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
SHLIB_SUFFIX=".so"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}'
LDFLAGS="-Wl,-export-dynamic"
;;
esac
case "$arch" in
vax)
CFLAGS_OPTIMIZE="-O1"
;;
*)
CFLAGS_OPTIMIZE="-O2"
;;
esac
if test "${TCL_THREADS}" = "1"
then :
# On OpenBSD: Compile with -pthread
# Don't link with -lpthread
LIBS=`echo $LIBS | sed s/-lpthread//`
CFLAGS="$CFLAGS -pthread"
fi
# OpenBSD doesn't do version numbers with dots.
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
TCL_LIB_VERSIONS_OK=nodots
;;
NetBSD-*)
# NetBSD has ELF and can use 'cc -shared' to build shared libs
SHLIB_CFLAGS="-fPIC"
SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
SHLIB_SUFFIX=".so"
LDFLAGS="$LDFLAGS -export-dynamic"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
if test "${TCL_THREADS}" = "1"
then :
# The -pthread needs to go in the CFLAGS, not LIBS
LIBS=`echo $LIBS | sed s/-pthread//`
CFLAGS="$CFLAGS -pthread"
LDFLAGS="$LDFLAGS -pthread"
fi
;;
FreeBSD-*)
# This configuration from FreeBSD Ports.
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="${CC} -shared"
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,-soname,\$@"
SHLIB_SUFFIX=".so"
LDFLAGS=""
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
fi
if test "${TCL_THREADS}" = "1"
then :
# The -pthread needs to go in the LDFLAGS, not LIBS
LIBS=`echo $LIBS | sed s/-pthread//`
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
fi
case $system in
FreeBSD-3.*)
# Version numbers are dot-stripped by system policy.
TCL_TRIM_DOTS=`echo ${PACKAGE_VERSION} | tr -d .`
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
TCL_LIB_VERSIONS_OK=nodots
;;
esac
;;
Darwin-*)
CFLAGS_OPTIMIZE="-Os"
SHLIB_CFLAGS="-fno-common"
# To avoid discrepancies between what headers configure sees during
# preprocessing tests and compiling tests, move any -isysroot and
# -mmacosx-version-min flags from CFLAGS to CPPFLAGS:
CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \
awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
if ($i~/^(isysroot|mmacosx-version-min)/) print "-"$i}'`"
CFLAGS="`echo " ${CFLAGS}" | \
awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
if (!($i~/^(isysroot|mmacosx-version-min)/)) print "-"$i}'`"
if test $do64bit = yes
then :
case `arch` in
ppc)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch ppc64 flag" >&5
printf %s "checking if compiler accepts -arch ppc64 flag... " >&6; }
if test ${tcl_cv_cc_arch_ppc64+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_cc_arch_ppc64=yes
else $as_nop
tcl_cv_cc_arch_ppc64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$hold_cflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_ppc64" >&5
printf "%s\n" "$tcl_cv_cc_arch_ppc64" >&6; }
if test $tcl_cv_cc_arch_ppc64 = yes
then :
CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
do64bit_ok=yes
fi;;
i386)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch x86_64 flag" >&5
printf %s "checking if compiler accepts -arch x86_64 flag... " >&6; }
if test ${tcl_cv_cc_arch_x86_64+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -arch x86_64"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_cc_arch_x86_64=yes
else $as_nop
tcl_cv_cc_arch_x86_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$hold_cflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_x86_64" >&5
printf "%s\n" "$tcl_cv_cc_arch_x86_64" >&6; }
if test $tcl_cv_cc_arch_x86_64 = yes
then :
CFLAGS="$CFLAGS -arch x86_64"
do64bit_ok=yes
fi;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&5
printf "%s\n" "$as_me: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&2;};;
esac
else $as_nop
# Check for combined 32-bit and 64-bit fat build
if echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \
&& echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '
then :
fat_32_64=yes
fi
fi
# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ld accepts -single_module flag" >&5
printf %s "checking if ld accepts -single_module flag... " >&6; }
if test ${tcl_cv_ld_single_module+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_ld_single_module=yes
else $as_nop
tcl_cv_ld_single_module=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$hold_ldflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_single_module" >&5
printf "%s\n" "$tcl_cv_ld_single_module" >&6; }
if test $tcl_cv_ld_single_module = yes
then :
SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
fi
# TEA specific: link shlib with current and compatibility version flags
vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([0-9]\{1,5\}\)\(\(\.[0-9]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d`
SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}"
SHLIB_SUFFIX=".dylib"
# Don't use -prebind when building for Mac OS X 10.4 or later only:
if test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int($2)}'`" -lt 4 -a \
"`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int($2)}'`" -lt 4
then :
LDFLAGS="$LDFLAGS -prebind"
fi
LDFLAGS="$LDFLAGS -headerpad_max_install_names"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ld accepts -search_paths_first flag" >&5
printf %s "checking if ld accepts -search_paths_first flag... " >&6; }
if test ${tcl_cv_ld_search_paths_first+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_ld_search_paths_first=yes
else $as_nop
tcl_cv_ld_search_paths_first=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$hold_ldflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_search_paths_first" >&5
printf "%s\n" "$tcl_cv_ld_search_paths_first" >&6; }
if test $tcl_cv_ld_search_paths_first = yes
then :
LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
fi
if test "$tcl_cv_cc_visibility_hidden" != yes
then :
printf "%s\n" "#define MODULE_SCOPE __private_extern__" >>confdefs.h
tcl_cv_cc_visibility_hidden=yes
fi
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
# TEA specific: for combined 32 & 64 bit fat builds of Tk
# extensions, verify that 64-bit build is possible.
if test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"
then :
if test "${TEA_WINDOWINGSYSTEM}" = x11
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit X11" >&5
printf %s "checking for 64-bit X11... " >&6; }
if test ${tcl_cv_lib_x11_64+y}
then :
printf %s "(cached) " >&6
else $as_nop
for v in CFLAGS CPPFLAGS LDFLAGS; do
eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
done
CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
XrmInitialize();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_lib_x11_64=yes
else $as_nop
tcl_cv_lib_x11_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
for v in CFLAGS CPPFLAGS LDFLAGS; do
eval $v'="$hold_'$v'"'
done
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_x11_64" >&5
printf "%s\n" "$tcl_cv_lib_x11_64" >&6; }
fi
if test "${TEA_WINDOWINGSYSTEM}" = aqua
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit Tk" >&5
printf %s "checking for 64-bit Tk... " >&6; }
if test ${tcl_cv_lib_tk_64+y}
then :
printf %s "(cached) " >&6
else $as_nop
for v in CFLAGS CPPFLAGS LDFLAGS; do
eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
done
CPPFLAGS="$CPPFLAGS -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 ${TCL_INCLUDES} ${TK_INCLUDES}"
LDFLAGS="$LDFLAGS ${TCL_STUB_LIB_SPEC} ${TK_STUB_LIB_SPEC}"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
Tk_InitStubs(NULL, "", 0);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_lib_tk_64=yes
else $as_nop
tcl_cv_lib_tk_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
for v in CFLAGS CPPFLAGS LDFLAGS; do
eval $v'="$hold_'$v'"'
done
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_tk_64" >&5
printf "%s\n" "$tcl_cv_lib_tk_64" >&6; }
fi
# remove 64-bit arch flags from CFLAGS et al. if configuration
# does not support 64-bit.
if test "$tcl_cv_lib_tk_64" = no -o "$tcl_cv_lib_x11_64" = no
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Removing 64-bit architectures from compiler & linker flags" >&5
printf "%s\n" "$as_me: Removing 64-bit architectures from compiler & linker flags" >&6;}
for v in CFLAGS CPPFLAGS LDFLAGS; do
eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
done
fi
fi
;;
OS/390-*)
CFLAGS_OPTIMIZE="" # Optimizer is buggy
printf "%s\n" "#define _OE_SOCKETS 1" >>confdefs.h
;;
OSF1-V*)
# Digital OSF/1
SHLIB_CFLAGS=""
if test "$SHARED_BUILD" = 1
then :
SHLIB_LD='ld -shared -expect_unresolved "*"'
else $as_nop
SHLIB_LD='ld -non_shared -expect_unresolved "*"'
fi
SHLIB_SUFFIX=".so"
if test $doRpath = yes
then :
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
fi
if test "$GCC" = yes
then :
CFLAGS="$CFLAGS -mieee"
else $as_nop
CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"
fi
# see pthread_intro(3) for pthread support on osf1, k.furukawa
if test "${TCL_THREADS}" = 1
then :
CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE"
CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64"
LIBS=`echo $LIBS | sed s/-lpthreads//`
if test "$GCC" = yes
then :
LIBS="$LIBS -lpthread -lmach -lexc"
else $as_nop
CFLAGS="$CFLAGS -pthread"
LDFLAGS="$LDFLAGS -pthread"
fi
fi
;;
QNX-6*)
# QNX RTP
# This may work for all QNX, but it was only reported for v6.
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="ld -Bshareable -x"
SHLIB_LD_LIBS=""
SHLIB_SUFFIX=".so"
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
SCO_SV-3.2*)
if test "$GCC" = yes
then :
SHLIB_CFLAGS="-fPIC -melf"
LDFLAGS="$LDFLAGS -melf -Wl,-Bexport"
else $as_nop
SHLIB_CFLAGS="-Kpic -belf"
LDFLAGS="$LDFLAGS -belf -Wl,-Bexport"
fi
SHLIB_LD="ld -G"
SHLIB_LD_LIBS=""
SHLIB_SUFFIX=".so"
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
SunOS-5.[0-6])
# Careful to not let 5.10+ fall into this case
# Note: If _REENTRANT isn't defined, then Solaris
# won't define thread-safe library routines.
printf "%s\n" "#define _REENTRANT 1" >>confdefs.h
printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
SHLIB_CFLAGS="-KPIC"
SHLIB_SUFFIX=".so"
if test "$GCC" = yes
then :
SHLIB_LD='${CC} -shared'
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
else $as_nop
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
fi
;;
SunOS-5*)
# Note: If _REENTRANT isn't defined, then Solaris
# won't define thread-safe library routines.
printf "%s\n" "#define _REENTRANT 1" >>confdefs.h
printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
SHLIB_CFLAGS="-KPIC"
# Check to enable 64-bit flags for compiler/linker
if test "$do64bit" = yes
then :
arch=`isainfo`
if test "$arch" = "sparcv9 sparc"
then :
if test "$GCC" = yes
then :
if test "`${CC} -dumpversion | awk -F. '{print $1}'`" -lt 3
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&2;}
else $as_nop
do64bit_ok=yes
CFLAGS="$CFLAGS -m64 -mcpu=v9"
LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
SHLIB_CFLAGS="-fPIC"
fi
else $as_nop
do64bit_ok=yes
if test "$do64bitVIS" = yes
then :
CFLAGS="$CFLAGS -xarch=v9a"
LDFLAGS_ARCH="-xarch=v9a"
else $as_nop
CFLAGS="$CFLAGS -xarch=v9"
LDFLAGS_ARCH="-xarch=v9"
fi
# Solaris 64 uses this as well
#LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
fi
else $as_nop
if test "$arch" = "amd64 i386"
then :
if test "$GCC" = yes
then :
case $system in
SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
do64bit_ok=yes
CFLAGS="$CFLAGS -m64"
LDFLAGS="$LDFLAGS -m64";;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;};;
esac
else $as_nop
do64bit_ok=yes
case $system in
SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
CFLAGS="$CFLAGS -m64"
LDFLAGS="$LDFLAGS -m64";;
*)
CFLAGS="$CFLAGS -xarch=amd64"
LDFLAGS="$LDFLAGS -xarch=amd64";;
esac
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported for $arch" >&5
printf "%s\n" "$as_me: WARNING: 64bit mode not supported for $arch" >&2;}
fi
fi
fi
SHLIB_SUFFIX=".so"
if test "$GCC" = yes
then :
SHLIB_LD='${CC} -shared'
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
if test "$do64bit_ok" = yes
then :
if test "$arch" = "sparcv9 sparc"
then :
# We need to specify -static-libgcc or we need to
# add the path to the sparv9 libgcc.
# JH: static-libgcc is necessary for core Tcl, but may
# not be necessary for extensions.
SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc"
# for finding sparcv9 libgcc, get the regular libgcc
# path, remove so name and append 'sparcv9'
#v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..."
#CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
else $as_nop
if test "$arch" = "amd64 i386"
then :
# JH: static-libgcc is necessary for core Tcl, but may
# not be necessary for extensions.
SHLIB_LD="$SHLIB_LD -m64 -static-libgcc"
fi
fi
fi
else $as_nop
case $system in
SunOS-5.[1-9][0-9]*)
# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
SHLIB_LD='${CC} -G -z text ${LDFLAGS_DEFAULT}';;
*)
SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
esac
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
fi
;;
UNIX_SV* | UnixWare-5*)
SHLIB_CFLAGS="-KPIC"
SHLIB_LD='${CC} -G'
SHLIB_LD_LIBS=""
SHLIB_SUFFIX=".so"
# Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers
# that don't grok the -Bexport option. Test that it does.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld accepts -Bexport flag" >&5
printf %s "checking for ld accepts -Bexport flag... " >&6; }
if test ${tcl_cv_ld_Bexport+y}
then :
printf %s "(cached) " >&6
else $as_nop
hold_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,-Bexport"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
tcl_cv_ld_Bexport=yes
else $as_nop
tcl_cv_ld_Bexport=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$hold_ldflags
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_Bexport" >&5
printf "%s\n" "$tcl_cv_ld_Bexport" >&6; }
if test $tcl_cv_ld_Bexport = yes
then :
LDFLAGS="$LDFLAGS -Wl,-Bexport"
fi
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
esac
if test "$do64bit" = yes -a "$do64bit_ok" = no
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 64bit support being disabled -- don't know magic for this platform" >&5
printf "%s\n" "$as_me: WARNING: 64bit support being disabled -- don't know magic for this platform" >&2;}
fi
# Add in the arch flags late to ensure it wasn't removed.
# Not necessary in TEA, but this is aligned with core
LDFLAGS="$LDFLAGS $LDFLAGS_ARCH"
# If we're running gcc, then change the C flags for compiling shared
# libraries to the right flags for gcc, instead of those for the
# standard manufacturer compiler.
if test "$GCC" = yes
then :
case $system in
AIX-*) ;;
BSD/OS*) ;;
CYGWIN_*|MINGW32_*) ;;
IRIX*) ;;
NetBSD-*|FreeBSD-*|OpenBSD-*) ;;
Darwin-*) ;;
SCO_SV-3.2*) ;;
windows) ;;
*) SHLIB_CFLAGS="-fPIC" ;;
esac
fi
if test "$tcl_cv_cc_visibility_hidden" != yes
then :
printf "%s\n" "#define MODULE_SCOPE extern" >>confdefs.h
fi
if test "$SHARED_LIB_SUFFIX" = ""
then :
# TEA specific: use PACKAGE_VERSION instead of VERSION
SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}'
fi
if test "$UNSHARED_LIB_SUFFIX" = ""
then :
# TEA specific: use PACKAGE_VERSION instead of VERSION
UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a'
fi
if test "${GCC}" = "yes" -a ${SHLIB_SUFFIX} = ".dll"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SEH support in compiler" >&5
printf %s "checking for SEH support in compiler... " >&6; }
if test ${tcl_cv_seh+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$cross_compiling" = yes
then :
tcl_cv_seh=no
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define WIN32_LEAN_AND_MEAN
#include
#undef WIN32_LEAN_AND_MEAN
int main(int argc, char** argv) {
int a, b = 0;
__try {
a = 666 / b;
}
__except (EXCEPTION_EXECUTE_HANDLER) {
return 0;
}
return 1;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
tcl_cv_seh=yes
else $as_nop
tcl_cv_seh=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_seh" >&5
printf "%s\n" "$tcl_cv_seh" >&6; }
if test "$tcl_cv_seh" = "no" ; then
printf "%s\n" "#define HAVE_NO_SEH 1" >>confdefs.h
fi
#
# Check to see if the excpt.h include file provided contains the
# definition for EXCEPTION_DISPOSITION; if not, which is the case
# with Cygwin's version as of 2002-04-10, define it to be int,
# sufficient for getting the current code to work.
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EXCEPTION_DISPOSITION support in include files" >&5
printf %s "checking for EXCEPTION_DISPOSITION support in include files... " >&6; }
if test ${tcl_cv_eh_disposition+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
# define WIN32_LEAN_AND_MEAN
# include
# undef WIN32_LEAN_AND_MEAN
int
main (void)
{
EXCEPTION_DISPOSITION x;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_eh_disposition=yes
else $as_nop
tcl_cv_eh_disposition=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_eh_disposition" >&5
printf "%s\n" "$tcl_cv_eh_disposition" >&6; }
if test "$tcl_cv_eh_disposition" = "no" ; then
printf "%s\n" "#define EXCEPTION_DISPOSITION int" >>confdefs.h
fi
# Check to see if winnt.h defines CHAR, SHORT, and LONG
# even if VOID has already been #defined. The win32api
# used by mingw and cygwin is known to do this.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for winnt.h that ignores VOID define" >&5
printf %s "checking for winnt.h that ignores VOID define... " >&6; }
if test ${tcl_cv_winnt_ignore_void+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define VOID void
#define WIN32_LEAN_AND_MEAN
#include
#undef WIN32_LEAN_AND_MEAN
int
main (void)
{
CHAR c;
SHORT s;
LONG l;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_winnt_ignore_void=yes
else $as_nop
tcl_cv_winnt_ignore_void=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_winnt_ignore_void" >&5
printf "%s\n" "$tcl_cv_winnt_ignore_void" >&6; }
if test "$tcl_cv_winnt_ignore_void" = "yes" ; then
printf "%s\n" "#define HAVE_WINNT_IGNORE_VOID 1" >>confdefs.h
fi
fi
# See if the compiler supports casting to a union type.
# This is used to stop gcc from printing a compiler
# warning when initializing a union member.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cast to union support" >&5
printf %s "checking for cast to union support... " >&6; }
if test ${tcl_cv_cast_to_union+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
union foo { int i; double d; };
union foo f = (union foo) (int) 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_cast_to_union=yes
else $as_nop
tcl_cv_cast_to_union=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cast_to_union" >&5
printf "%s\n" "$tcl_cv_cast_to_union" >&6; }
if test "$tcl_cv_cast_to_union" = "yes"; then
printf "%s\n" "#define HAVE_CAST_TO_UNION 1" >>confdefs.h
fi
# These must be called after we do the basic CFLAGS checks and
# verify any possible 64-bit or similar switches are necessary
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for required early compiler flags" >&5
printf %s "checking for required early compiler flags... " >&6; }
tcl_flags=""
if test ${tcl_cv_flag__isoc99_source+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
char *p = (char *)strtoll; char *q = (char *)strtoull;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__isoc99_source=no
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _ISOC99_SOURCE 1
#include
int
main (void)
{
char *p = (char *)strtoll; char *q = (char *)strtoull;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__isoc99_source=yes
else $as_nop
tcl_cv_flag__isoc99_source=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then
printf "%s\n" "#define _ISOC99_SOURCE 1" >>confdefs.h
tcl_flags="$tcl_flags _ISOC99_SOURCE"
fi
if test ${tcl_cv_flag__largefile64_source+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
struct stat64 buf; int i = stat64("/", &buf);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__largefile64_source=no
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _LARGEFILE64_SOURCE 1
#include
int
main (void)
{
struct stat64 buf; int i = stat64("/", &buf);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__largefile64_source=yes
else $as_nop
tcl_cv_flag__largefile64_source=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then
printf "%s\n" "#define _LARGEFILE64_SOURCE 1" >>confdefs.h
tcl_flags="$tcl_flags _LARGEFILE64_SOURCE"
fi
if test ${tcl_cv_flag__largefile_source64+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
char *p = (char *)open64;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__largefile_source64=no
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _LARGEFILE_SOURCE64 1
#include
int
main (void)
{
char *p = (char *)open64;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_flag__largefile_source64=yes
else $as_nop
tcl_cv_flag__largefile_source64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "x${tcl_cv_flag__largefile_source64}" = "xyes" ; then
printf "%s\n" "#define _LARGEFILE_SOURCE64 1" >>confdefs.h
tcl_flags="$tcl_flags _LARGEFILE_SOURCE64"
fi
if test "x${tcl_flags}" = "x" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
printf "%s\n" "none" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${tcl_flags}" >&5
printf "%s\n" "${tcl_flags}" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit integer type" >&5
printf %s "checking for 64-bit integer type... " >&6; }
if test ${tcl_cv_type_64bit+y}
then :
printf %s "(cached) " >&6
else $as_nop
tcl_cv_type_64bit=none
# See if the compiler knows natively about __int64
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
__int64 value = (__int64) 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_type_64bit=__int64
else $as_nop
tcl_type_64bit="long long"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# See if we should use long anyway Note that we substitute in the
# type that is our current guess for a 64-bit type inside this check
# program, so it should be modified only carefully...
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
switch (0) {
case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ;
}
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_type_64bit=${tcl_type_64bit}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "${tcl_cv_type_64bit}" = none ; then
printf "%s\n" "#define TCL_WIDE_INT_IS_LONG 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using long" >&5
printf "%s\n" "using long" >&6; }
elif test "${tcl_cv_type_64bit}" = "__int64" \
-a "${TEA_PLATFORM}" = "windows" ; then
# TEA specific: We actually want to use the default tcl.h checks in
# this case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER*
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using Tcl header defaults" >&5
printf "%s\n" "using Tcl header defaults" >&6; }
else
printf "%s\n" "#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit}" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${tcl_cv_type_64bit}" >&5
printf "%s\n" "${tcl_cv_type_64bit}" >&6; }
# Now check for auxiliary declarations
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct dirent64" >&5
printf %s "checking for struct dirent64... " >&6; }
if test ${tcl_cv_struct_dirent64+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
struct dirent64 p;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_struct_dirent64=yes
else $as_nop
tcl_cv_struct_dirent64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_dirent64" >&5
printf "%s\n" "$tcl_cv_struct_dirent64" >&6; }
if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then
printf "%s\n" "#define HAVE_STRUCT_DIRENT64 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct stat64" >&5
printf %s "checking for struct stat64... " >&6; }
if test ${tcl_cv_struct_stat64+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
struct stat64 p;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_struct_stat64=yes
else $as_nop
tcl_cv_struct_stat64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_stat64" >&5
printf "%s\n" "$tcl_cv_struct_stat64" >&6; }
if test "x${tcl_cv_struct_stat64}" = "xyes" ; then
printf "%s\n" "#define HAVE_STRUCT_STAT64 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "open64" "ac_cv_func_open64"
if test "x$ac_cv_func_open64" = xyes
then :
printf "%s\n" "#define HAVE_OPEN64 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "lseek64" "ac_cv_func_lseek64"
if test "x$ac_cv_func_lseek64" = xyes
then :
printf "%s\n" "#define HAVE_LSEEK64 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for off64_t" >&5
printf %s "checking for off64_t... " >&6; }
if test ${tcl_cv_type_off64_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
off64_t offset;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
tcl_cv_type_off64_t=yes
else $as_nop
tcl_cv_type_off64_t=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "x${tcl_cv_type_off64_t}" = "xyes" && \
test "x${ac_cv_func_lseek64}" = "xyes" && \
test "x${ac_cv_func_open64}" = "xyes" ; then
printf "%s\n" "#define HAVE_TYPE_OFF64_T 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
# Without the following two eval statements, NSF_SHARED_LIB_SUFFIX
# in nsfConfig.sh has $PACKAGE_VERSION unresolved. When another
# app links against nsf, the PACKAGE_VERSIONs are confused.
#
# Without the first eval, we get
# NSF_SHARED_LIB_SUFFIX=${PACKAGE_VERSION}\$\{DBGX\}${SHLIB_SUFFIX}
# NSF_UNSHARED_LIB_SUFFIX=${PACKAGE_VERSION}\$\{DBGX\}.a
#
# after the first eval, we get
# NSF_SHARED_LIB_SUFFIX=1.2.1${DBGX}.so
# NSF_UNSHARED_LIB_SUFFIX=1.2.1${DBGX}.a
# after the second eval, all variables are resolved.
eval "SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
eval "UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
#eval "SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
#eval "UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
#--------------------------------------------------------------------
# Set the default compiler switches based on the --enable-symbols
# option.
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for build with symbols" >&5
printf %s "checking for build with symbols... " >&6; }
# Check whether --enable-symbols was given.
if test ${enable_symbols+y}
then :
enableval=$enable_symbols; tcl_ok=$enableval
else $as_nop
tcl_ok=no
fi
DBGX=""
if test "$tcl_ok" = "no"; then
CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE} -DNDEBUG"
LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
CFLAGS_DEFAULT="${CFLAGS_DEBUG}"
LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}"
if test "$tcl_ok" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (standard debugging)" >&5
printf "%s\n" "yes (standard debugging)" >&6; }
fi
fi
# TEA specific:
if test "${TEA_PLATFORM}" != "windows" ; then
LDFLAGS_DEFAULT="${LDFLAGS}"
fi
if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
printf "%s\n" "#define TCL_MEM_DEBUG 1" >>confdefs.h
fi
if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then
if test "$tcl_ok" = "all"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: enabled symbols mem debugging" >&5
printf "%s\n" "enabled symbols mem debugging" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: enabled $tcl_ok debugging" >&5
printf "%s\n" "enabled $tcl_ok debugging" >&6; }
fi
fi
#--------------------------------------------------------------------
# Everyone should be linking against the Tcl stub library. If you
# can't for some reason, remove this definition. If you aren't using
# stubs, you also need to modify the SHLIB_LD_LIBS setting below to
# link against the non-stubbed Tcl library.
#--------------------------------------------------------------------
printf "%s\n" "#define USE_TCL_STUBS 1" >>confdefs.h
#--------------------------------------------------------------------
# This macro generates a line to use when building a library. It
# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS,
# and TEA_LOAD_TCLCONFIG macros above.
#--------------------------------------------------------------------
PRACTCL_TOOLSET="gcc"
PRACTCL_VC_MANIFEST_EMBED_DLL=:
PRACTCL_VC_MANIFEST_EMBED_EXE=:
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
PRACTCL_TOOLSET="msvc"
PRACTCL_STATIC_LIB="%STLIB_LD% -out:%OUTFILE% %LIBRARY_OBJECTS%"
PRACTCL_SHARED_LIB="%SHLIB_LD% %SHLIB_LD_LIBS% %LDFLAGS_DEFAULT% -out:%OUTFILE% %LIBRARY_OBJECTS%"
MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)"
MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined(_MSC_VER) && _MSC_VER >= 1400
print("manifest needed")
#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "manifest needed" >/dev/null 2>&1
then :
# Could do a CHECK_PROG for mt, but should always be with MSVC8+
PRACTCL_VC_MANIFEST_EMBED_DLL="mt.exe -nologo -manifest %OUTFILE%.manifest -outputresource:%OUTFILE%\;2"
PRACTCL_VC_MANIFEST_EMBED_EXE="mt.exe -nologo -manifest %OUTFILE%.manifest -outputresource:%OUTFILE%\;1"
VC_MANIFEST_EMBED_DLL="if test -f \$@.manifest ; then mt.exe -nologo -manifest \$@.manifest -outputresource:\$@\;2 ; fi"
VC_MANIFEST_EMBED_EXE="if test -f \$@.manifest ; then mt.exe -nologo -manifest \$@.manifest -outputresource:\$@\;1 ; fi"
MAKE_SHARED_LIB="${MAKE_SHARED_LIB} ; ${VC_MANIFEST_EMBED_DLL}"
CLEANFILES="$CLEANFILES *.manifest"
fi
rm -rf conftest*
PRACTCL_STUB_LIB="%STLIB_LD% -nodefaultlib -out:%OUTFILE% %LIBRARY_OBJECTS%"
MAKE_STUB_LIB="\${STLIB_LD} -nodefaultlib -out:\$@ \$(PKG_STUB_OBJECTS)"
else
MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)"
MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)"
PRACTCL_STATIC_LIB="%STLIB_LD% %OUTFILE% %LIBRARY_OBJECTS%"
PRACTCL_SHARED_LIB="%SHLIB_LD% -o %OUTFILE% %LIBRARY_OBJECTS% %SHLIB_LD_LIBS%"
PRACTCL_STUB_LIB="%STLIB_LD% %OUTFILE% %LIBRARY_OBJECTS%"
fi
if test "${SHARED_BUILD}" = "1" ; then
MAKE_LIB="${MAKE_SHARED_LIB} "
else
MAKE_LIB="${MAKE_STATIC_LIB} "
fi
#--------------------------------------------------------------------
# Shared libraries and static libraries have different names.
# Use the double eval to make sure any variables in the suffix is
# substituted. (@@@ Might not be necessary anymore)
#--------------------------------------------------------------------
PACKAGE_LIB_PREFIX8="${PACKAGE_LIB_PREFIX}"
PACKAGE_LIB_PREFIX9="${PACKAGE_LIB_PREFIX}tcl9"
if test "${TCL_MAJOR_VERSION}" -gt 8 ; then
PACKAGE_LIB_PREFIX="${PACKAGE_LIB_PREFIX9}"
else
PACKAGE_LIB_PREFIX="${PACKAGE_LIB_PREFIX8}"
fi
if test "${TEA_PLATFORM}" = "windows" ; then
PRACTCL_NAME_LIBRARY="%LIBRARY_PREFIX%%LIBRARY_NAME%%LIBRARY_VERSION_NODOTS%"
if test "${SHARED_BUILD}" = "1" ; then
# We force the unresolved linking of symbols that are really in
# the private libraries of Tcl and Tk.
if test x"${TK_BIN_DIR}" != x ; then
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\""
fi
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\""
if test "$GCC" = "yes"; then
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -static-libgcc"
fi
eval eval "PKG_LIB_FILE8=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE9=${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
else
eval eval "PKG_LIB_FILE8=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE9=${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
if test "$GCC" = "yes"; then
PKG_LIB_FILE=lib${PKG_LIB_FILE}
fi
fi
# Some packages build their own stubs libraries
eval eval "PKG_STUB_LIB_FILE=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
if test "$GCC" = "yes"; then
PKG_STUB_LIB_FILE=lib${PKG_STUB_LIB_FILE}
fi
# These aren't needed on Windows (either MSVC or gcc)
RANLIB=:
RANLIB_STUB=:
else
PRACTCL_NAME_LIBRARY="lib%LIBRARY_PREFIX%%LIBRARY_NAME%%LIBRARY_VERSION%"
RANLIB_STUB="${RANLIB}"
if test "${SHARED_BUILD}" = "1" ; then
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}"
if test x"${TK_BIN_DIR}" != x ; then
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}"
fi
eval eval "PKG_LIB_FILE8=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE9=lib${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
RANLIB=:
else
eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
fi
# Some packages build their own stubs libraries
eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
fi
# Store the raw CFLAGS before we add the trimmings
PRACTCL_CFLAGS=${CFLAGS}
# These are escaped so that only CFLAGS is picked up at configure time.
# The other values will be substituted at make time.
CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}"
if test "${SHARED_BUILD}" = "1" ; then
CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}"
fi
#--------------------------------------------------------------------
# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl
# file during the install process. Don't run the TCLSH_PROG through
# ${CYGPATH} because it's being used directly by make.
# Require that we use a tclsh shell version 8.2 or later since earlier
# versions have bugs in the pkg_mkIndex routine.
#--------------------------------------------------------------------
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tclsh" >&5
printf %s "checking for tclsh... " >&6; }
# Check whether --with-tclsh was given.
if test ${with_tclsh+y}
then :
withval=$with_tclsh; with_tclsh=${withval}
fi
# Use the value from --with-tclsh, if it was given
TCLSH_PROG=0
if test x"${with_tclsh}" != x ; then
if test -f "${with_tclsh}" ; then
TCLSH_PROG=${with_tclsh}
else
if test -f "${with_tclsh}/tcl8.6" ; then
TCLSH_PROG="${with_tclsh}/tcl8.6"
else
if test -f "${with_tclsh}/tclsh86.exe" ; then
TCLSH_PROG="${with_tclsh}/tclsh86.exe"
else
as_fn_error $? "${with_tclsh} does not point to a valid Tcl executable" "$LINENO" 5
fi
fi
fi
else
if test -f "${TCL_BIN_DIR}/Makefile" ; then
# tclConfig.sh is in Tcl build directory
if test "${TEA_PLATFORM}" = "windows"; then
if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" ; then
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}" ; then
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}"
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}" ; then
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}"
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}" ; then
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}"
fi
else
TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
fi
else
# tclConfig.sh is in install location
if test "${TEA_PLATFORM}" = "windows"; then
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
else
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
fi
list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
`ls -d ${TCL_BIN_DIR}/.. 2>/dev/null` \
`ls -d ${TCL_PREFIX}/bin 2>/dev/null`"
for i in $list ; do
if test -f "$i/${TCLSH_PROG}" ; then
REAL_TCL_BIN_DIR="`cd "$i"; pwd`/"
break
fi
done
TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${TCLSH_PROG}" >&5
printf "%s\n" "${TCLSH_PROG}" >&6; }
# make this available, for such as nsfConfig.sh
NSF_COMPATIBLE_TCLSH=${TCLSH_PROG}
#
# Next Scripting specific configs
#
#NSF_SRC_DIR=$srcdir
#NSF_SRC_DIR="`pwd`"
NSF_BUILD_DIR=${PWD}
cd ${srcdir}
NSF_SRC_DIR=${PWD}
cd ${NSF_BUILD_DIR}
eval "NSF_PKG_LIBDIR=\"${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}\""
if test "${TEA_PLATFORM}" != "windows" ; then
NSF_BUILD_LIB_SPEC="-L${NSF_BUILD_DIR} -lnsf${PACKAGE_VERSION}"
NSF_LIB_SPEC="-L${NSF_PKG_LIBDIR} -lnsf${PACKAGE_VERSION}"
# If someone wants to build without stubs, as it was the case for
# earlier Tcl versions, we keep the following block as a reference.
if test "${TCL_MAJOR_VERSION}" = "8" -a "${TCL_MINOR_VERSION}" = "0"; then
NSF_BUILD_STUB_LIB_PATH=""
NSF_STUB_LIB_PATH=""
NSF_BUILD_STUB_LIB_SPEC=""
NSF_STUB_LIB_SPEC=""
else
NSF_BUILD_STUB_LIB_PATH="${NSF_SRC_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_PATH="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
NSF_BUILD_STUB_LIB_SPEC="-L${NSF_BUILD_DIR} -lnsfstub${PACKAGE_VERSION}"
NSF_STUB_LIB_SPEC="-L${NSF_PKG_LIBDIR} -lnsfstub${PACKAGE_VERSION}"
printf "%s\n" "#define COMPILE_NSF_STUBS 1" >>confdefs.h
fi
else
NSF_BUILD_LIB_SPEC="${NSF_SRC_DIR}/${PKG_LIB_FILE}"
NSF_LIB_SPEC="${NSF_PKG_LIBDIR}/${PKG_LIB_FILE}"
NSF_BUILD_STUB_LIB_PATH="${NSF_BUILD_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_PATH="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
NSF_BUILD_STUB_LIB_SPEC="${NSF_BUILD_DIR}/${PKG_STUB_LIB_FILE}"
NSF_STUB_LIB_SPEC="${NSF_PKG_LIBDIR}/${PKG_STUB_LIB_FILE}"
printf "%s\n" "#define COMPILE_NSF_STUBS 1" >>confdefs.h
fi
# include dirs for nsf during build process (i.e., does not assume installed)
NSF_BUILD_INCLUDE_DIR="${NSF_SRC_DIR}/generic"
NSF_BUILD_INCLUDE_SPEC="-I${NSF_BUILD_INCLUDE_DIR}"
eval "NSF_INCLUDE_DIR=\"$includedir\""
#--------------------------------------------------------------------
# the value of this variable is set to the files which are to be
# removed when the user invokes 'make distclean' (i.e., those
# files generated by ./configure) and is used in the make distclean
# target, defined in Makefile.in
#--------------------------------------------------------------------
CONFIG_CLEAN_FILES="Makefile ${srcdir}/nsfConfig.sh ${srcdir}/library/xotcl/xotclsh ${srcdir}/library/xotcl/xowish nxsh nxwish ${srcdir}/doc/version.inc autom4te.cache/"
ac_config_files="$ac_config_files Makefile ${srcdir}/nsfConfig.sh ${srcdir}/library/xotcl/xotclsh ${srcdir}/library/xotcl/xowish nxsh nxwish ${srcdir}/doc/version.inc"
#--------------------------------------------------------------------
# Finally, substitute all of the various values into the Makefile,
# and generate the other output files. (this is done by invoking
# config.status)
#
# NOTE the lack of parameters! AC_OUTPUT with params is deprecated;
# use macros such as AC_CONFIG_FILES, AC_HEADER_FILES, etc to add
# to the files output by ./configure.
#--------------------------------------------------------------------
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_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; 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+y} || &/
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
if test "x$cache_file" != "x/dev/null"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
case $cache_file in #(
*/* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
*)
mv -f confcache "$cache_file" ;;
esac
fi
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
printf "%s\n" "$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}'
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
ac_script='
:mline
/\\$/{
N
s,\\\n,,
b mline
}
t clear
:clear
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
t quote
s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
t quote
b any
:quote
s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
s/\[/\\&/g
s/\]/\\&/g
s/\$/$$/g
H
:any
${
g
s/^\n//
s/\n/ /g
p
}
'
DEFS=`sed -n "$ac_script" confdefs.h`
ac_libobjs=
ac_ltlibobjs=
U=
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=`printf "%s\n" "$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.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $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}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
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
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# 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
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
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 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
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 -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$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 ||
printf "%s\n" 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" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# 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
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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 nsf $as_me 2.4.0, which was
generated by GNU Autoconf 2.71. 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
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
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
Report bugs to ."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
nsf config.status 2.4.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Copyright (C) 2021 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'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
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=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
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 )
printf "%s\n" "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
printf "%s\n" "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h | --help | --hel | -h )
printf "%s\n" "$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.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append 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 || ac_write_fail=1
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
printf "%s\n" "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"${srcdir}/nsfConfig.sh") CONFIG_FILES="$CONFIG_FILES ${srcdir}/nsfConfig.sh" ;;
"${srcdir}/library/xotcl/xotclsh") CONFIG_FILES="$CONFIG_FILES ${srcdir}/library/xotcl/xotclsh" ;;
"${srcdir}/library/xotcl/xowish") CONFIG_FILES="$CONFIG_FILES ${srcdir}/library/xotcl/xowish" ;;
"nxsh") CONFIG_FILES="$CONFIG_FILES nxsh" ;;
"nxwish") CONFIG_FILES="$CONFIG_FILES nxwish" ;;
"${srcdir}/doc/version.inc") CONFIG_FILES="$CONFIG_FILES ${srcdir}/doc/version.inc" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
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+y} || CONFIG_FILES=$config_files
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= ac_tmp=
trap 'exit_status=$?
: "${ac_tmp:=$tmp}"
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries 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[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
eval set X " :F $CONFIG_FILES "
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[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="$ac_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 ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append 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 '`
printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
printf "%s\n" "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`printf "%s\n" "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
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 ||
printf "%s\n" 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"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$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
#
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
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 || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;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
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
printf "%s\n" "$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 "$ac_tmp/stdin"
case $ac_file in
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# 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 || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
chmod +x nxsh nxwish ${srcdir}/library/xotcl/xotclsh ${srcdir}/library/xotcl/xowish
for subdir in ${subdirs}
do
echo "==================== configure $subdir"
if test x"${srcdir}" = x. ; then
confdir=.
else
#mkdir -p $subdir
confdir=${srcdir}/$subdir
fi
(cd $subdir; echo $SHELL ${confdir}/configure ${ac_configure_args} --prefix=${prefix} --with-nsf=${NSF_SRC_DIR}; eval $SHELL ${confdir}/configure ${ac_configure_args} --prefix=${prefix} --with-nsf=${NSF_SRC_DIR})
done
./nsf2.4.0/host.key 000644 000766 000024 00000001567 13465515127 014701 0 ustar 00neumann staff 000000 000000 -----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDlc86E/05SCY1hBzhF7PjQS75jxEqZ8eI3p+4jph7XSNnQX2cS
e6+gIy7aaruQen3awtMRKUKZF2WE4qjh/1KbvN9Jmk25UuxhVJnEq5/amQUPLYcy
QqNJa5bAVRW//VfEjAUvn2W+6/JSA3CvRI3gU8ZvTFLaa/kPxROtYqZqTwIDAQAB
AoGBALQoHnIch2EwcNpLMertalsZ7a4l1DFVUzpB12AUMcj1QVgzYBmKFdZVaZdD
EGwbUS/vooup6smLLkGNOe7gavmx66+GOoJuDFIKLOsYAYgYS++TEBkCejQtFIf2
QHcu/xKMlWs1+rI+FhJrlr2w3bivuvpwyvhvKSxkgcbfkVchAkEA/e16lcuyQZKe
izQUyKUl6PW6Cl0wfZkibQ3CtAE3BZTMZ/Fscx1FtE4uAzY0t6tlUkoD4KWoTR/F
rMytjAEucQJBAOdTMU9FwHqz+4oTRPf8Wh+JAej+IwKMwitAi08jrowAUEuPJioC
jakrdDHu4bv/A7ZcGx/zGUjVwmcNFAU7BL8CQCkc8TMdtu/dAGSDezX9X0T3vDZ/
XiGH0MYdaz/fznvN2sadlTSSMb3+xn5ooWJ3ksEfEL+nsrdCBKx0u0imzFECQG+7
cDrQ/yqFWr8TlaGOY12OCL0oW3K02GiZ0XAVVQ7Ma/xDFXT/LLuEgKhJsQDkKT/g
9z0UZ6cVkMPDvmLUYfMCQBcZzbp/uCmZeFXTwBkCpXgGX/Ka+fFg8Q49p0hsDUyF
lblmlJ5pX4L0TSfBX8GNuIwKJ2geAyLBU7BOsxrMMis=
-----END RSA PRIVATE KEY-----
./nsf2.4.0/infer-out/logs 000644 000766 000024 00000340462 14271435441 016005 0 ustar 00neumann staff 000000 000000 [889][ debug] Loading models took 155ms
[890][ debug] Sqlite write daemon: starting up
[890][ debug] Sqlite write daemon: set up complete, waiting for connections
[889][environment] CWD = /nsf
[889][environment] No .inferconfig file found
[889][environment] Project root = /nsf
[889][environment] INFER_ARGS = @/tmp/args.tmp.61173a
[889][environment] command line arguments: infer run -- make
[889][environment] Available memory at startup: 596 MB
[889][environment] Active checkers: self-in-block (C/C++/ObjC), starvation (C/C++/ObjC, Java), uninit (C/C++/ObjC), siof (C/C++/ObjC), dotnet-resource-leak (C#/.Net), racerd (C/C++/ObjC, Java), liveness (C/C++/ObjC), inefficient-keyset-iterator (Java), fragment-retains-view (Java), biabduction (C/C++/ObjC, Java, C#/.Net)
[889][environment] Scheduler: file
[889][environment] Cores used: 8
[889][environment] Infer version v1.1.0
[889][environment] Copyright 2009 - present Facebook. All Rights Reserved.
[889][environment]
[889][ progress] Capturing in make/cc mode...
[889][environment] Running command make with env:
[889][environment] (Extend((PATH /opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/wrappers:/infer/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)(INFER_OLD_PATH /infer/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)))
[889][environment]
[894][environment] CWD = /nsf
[894][environment] No .inferconfig file found
[894][environment] Project root = /nsf
[894][environment] INFER_ARGS = @/tmp/args.tmp.3458cf
[894][environment] command line arguments: gcc -DPACKAGE_NAME="nsf" -DPACKAGE_TARNAME="nsf"
[894][environment] -DPACKAGE_VERSION="2.4.0"
[894][environment] -DPACKAGE_STRING="nsf 2.4.0"
[894][environment] -DPACKAGE_BUGREPORT="https://sourceforge.net/p/next-scripting/tickets/"
[894][environment] -DPACKAGE_URL="" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1
[894][environment] -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1
[894][environment] -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1
[894][environment] -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1
[894][environment] -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1
[894][environment] -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1
[894][environment] -DBUILD_nsf=/**/ -DHAVE_STRNSTR=1 -DNO_VALUES_H=1
[894][environment] -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1
[894][environment] -DHAVE_TCL_COMPILE_H=1 -DNSF_WITH_ASSERTIONS=1
[894][environment] -DNSF_PROFILE=1 -DNSF_DEVELOPMENT=1
[894][environment] -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1
[894][environment] -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1
[894][environment] -DUSE_TCLOO_STUBS=1
[894][environment] -DMODULE_SCOPE=extern __attribute__((__visibility__("hidden")))
[894][environment] -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1
[894][environment] -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1
[894][environment] -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION="2.4"
[894][environment] -DNSF_PATCHLEVEL="2.4.0"
[894][environment] -DNSF_COMMIT="2.3.0-204-g20b47273-dirty"
[894][environment] -I/usr/local/src/tcl-trunk/generic
[894][environment] -I/usr/local/src/tcl-trunk/unix
[894][environment] -I/Users/neumann/src/nsf2.3.0/generic -Os -Wall
[894][environment] -pipe -pedantic -g -std=c99 -DTCL_NO_DEPRECATED
[894][environment] -Wconversion -Wsign-conversion -Wsign-compare
[894][environment] -Wwrite-strings -Wextra
[894][environment] -Wdeclaration-after-statement -Wendif-labels
[894][environment] -Wshadow -Wmissing-prototypes -Wstrict-prototypes
[894][environment] -Wpacked -Wno-redundant-decls
[894][environment] -Wno-zero-length-array -Wmissing-braces
[894][environment] -Wmissing-declarations -Wundef -Wunreachable-code
[894][environment] -Wswitch-enum -Wpointer-arith
[894][environment] -Wold-style-definition -Wmissing-format-attribute
[894][environment] -Wformat-security -Wall -fno-common -c
[894][environment] ./generic/nsf.c -o nsf.o
[894][environment] Available memory at startup: 560 MB
[894][environment] Active checkers: self-in-block (C/C++/ObjC), starvation (C/C++/ObjC, Java), uninit (C/C++/ObjC), siof (C/C++/ObjC), dotnet-resource-leak (C#/.Net), racerd (C/C++/ObjC, Java), liveness (C/C++/ObjC), inefficient-keyset-iterator (Java), fragment-retains-view (Java), biabduction (C/C++/ObjC, Java, C#/.Net)
[894][ debug]
[894][ debug] *** Beginning capture of file /nsf/generic/nsf.c ***
[894][ debug] Loading the following linters files: /opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/linter_rules/linters.al
[894][ debug] generic/nsf.c:681:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfDListAppend' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:833:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfDStringEval' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfLog' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1071:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParseContextExtendObjv' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1258:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1312:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCallMethodWithArgs' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'VarHashCreateVar' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1396:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_NextHashEntry' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1513:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfIsClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1548:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ObjSetVar2' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'Nsf_ObjGetVar2' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1591:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_UnsetVar2' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1618:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCreate' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1659:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRemoveObjectMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1685:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRemoveClassMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1819:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'IsClassNsName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1819:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'IsClassNsName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1889:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DStringAppendQualName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1929:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCleanupObject_' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:1985:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'TclObjIsNsfObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'GetObjectFromObj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2273:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetClassFromObj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2362:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'IsObjectOfType' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2397:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NameInNamespaceObj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2437:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NewTclCommand' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2547:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassListAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2596:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassListAddNoDup' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:2745:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassListUnlink' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3167:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MergeInheritanceLists' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3264:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'TopoSortSuper' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3394:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrecedenceOrder' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3562:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RemoveInstance' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3600:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddSuper' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3633:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RemoveSuper1' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3633:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RemoveSuper1' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3633:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RemoveSuper1' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3704:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetEnsembleObjectFromName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3759:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetRegObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3968:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ResolveMethodName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4098:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetTclProcFromCommand' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'FindMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4428:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectFindMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4504:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectSystemFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4736:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallDirectly' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4804:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRequireObjectOpt' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:4834:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRequireClassOpt' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'MakeObjNamespace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'CompiledLocalsLookup' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5217:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CompiledColonLocalsLookup' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5318:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodNamePath' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5471:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsColonVarResolver' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'HashVarFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'CompiledColonVarFetch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5678:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CompiledColonVarFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'InterpCompiledColonVarResolver' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5799:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'InterpGetFrameAndFlags' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:5974:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'InterpColonVarResolver' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6120:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'InterpColonCmdResolver' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6279:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'SlotContainerCmdResolver' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'RequireObjNamespace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6374:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NSNamespaceRelease' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6402:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NSDeleteCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6507:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NSDeleteChild' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6689:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'UnsetTracedVars' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6828:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_DeleteNamespace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6882:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NSValidObjectName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NSGetFreshNamespace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:6984:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NSRequireParentObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NSCheckNamespace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NSFindCommand' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'GetObjectFromString' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7404:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CanRedefineCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7455:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfAddObjectMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7521:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfAddClassMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7605:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AutonameIncr' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'CallStackDoDestroy' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7839:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallStackDestroyObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7934:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdListAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:7985:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdListAddSorted' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8045:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdListDeleteCmdListEntry' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8079:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdListRemoveFromList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8274:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CheckConditionInScope' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8346:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'TclObjListNewElement' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8450:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddObjToTclList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8476:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionNewList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8509:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionListCheckOption' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AssertionFindProcs' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AssertionRemoveProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8568:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionRemoveProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8630:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionRemoveStore' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8732:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionCheckList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8775:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionCheckInvars' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8824:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionCheck' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:8876:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AssertionSetCheckOptions' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AssertionSetInvariants' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10889:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardDel' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9201:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MixinComputeOrder' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9266:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MixinAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AppendMatchingElement' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9486:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetAllInstances' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9528:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddToResultSet' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9588:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddToResultSetWithGuards' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9700:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetAllObjectMixinsOf' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9893:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetAllClassMixinsOf' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:9981:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetAllClassMixins' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10215:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ResetOrderOfObjectsUsingThisClassAsObjectMixin' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10319:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MixinComputeDefined' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3394:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrecedenceOrder' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10370:9: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ComputePrecedenceList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10422:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'SeekCurrent' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10467:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CanInvokeMixinMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10634:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MixinSearchProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10798:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FilterSearch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10862:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardCheck' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'GuardDel' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'GuardAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10940:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardCall' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10983:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardAddFromDefinitionList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:11070:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardAddInheritedGuards' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'GuardList' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:11295:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FilterAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10889:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardDel' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10889:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardDel' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:10889:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GuardDel' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:11740:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FilterComputeOrder' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'FilterComputeDefined' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:11926:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FilterFindReg' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'FilterSearchProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'SuperclassAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12264:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'VarExists' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12424:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ByteCompiled' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12496:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PushProcCallFrame' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12709:67: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12779:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamDefsGet' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ParamDefsGetReturns' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfParamDefsNonposLookup' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12995:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CGetParamLookup' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13044:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfProcDeleteProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13094:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcContextRequire' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13124:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcContextGet' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ParamDefsStore' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13249:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamDefsFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13249:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamDefsFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13362:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamsDefMatchPattern' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13617:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamGetType' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13617:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamGetType' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13748:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfParamDefsVirtualFormat' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13795:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfParamDefsAppendVirtual' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:13939:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParsedParamFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:14014:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcMethodDispatchFinalize' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:14077:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcDispatchFinalize' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:14288:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcMethodDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:14359:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdMethodDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:14770:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectCmdMethodDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:15042:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MethodDispatchCsc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:15085:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MethodDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:15211:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectDispatchFinalize' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:15329:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CmdObjProcName' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:15518:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CacheCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16126:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16187:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DispatchDefaultMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16298:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DispatchDestroyMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16353:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DispatchInitMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16460:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DispatchUnknownMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16798:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToTclobj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16839:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToBoolean' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16881:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToInt32' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:16985:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToInteger' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17059:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17101:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17144:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToFilterreg' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17185:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_ConvertToMixinreg' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17352:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ConvertViaCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ConvertToObjpattern' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17495:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamOptionSetConverter' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:17913:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamOptionParse' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:12709:67: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamFree' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:18253:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamDefinitionParse' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:18360:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamDefsParse' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:18496:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParameterMethodForwardDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:18735:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParameterMethodDispatch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:18925:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MakeProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19055:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MakeMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19089:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfProcStubDeleteProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19158:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'InvokeShadowedProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19337:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfProcStub' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19547:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfProcAdd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19639:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ProcessMethodArguments' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19704:60: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ForwardCmdDeleteProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19735:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'SetterCmdDeleteProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19812:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AliasCmdDeleteProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19853:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetMatchObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:19991:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ForwardProcessOptions' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20153:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddSlotObjects' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20213:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FindCalledClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NextSearchMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20516:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NextGetArguments' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20599:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NextInvokeFinalize' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20881:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NextSearchAndInvoke' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:20955:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfNextObjCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'FindNextMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ComputeLevelObj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21181:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'UnsetInAllNamespaces' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'FreeUnsetTraceVariable' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21310:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfUnsetTrace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'CleanupDestroyObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21464:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CleanupInitObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'PrimitiveDestroy' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'TclDeletesObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'PrimitiveODestroy' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21684:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DoDealloc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21778:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrimitiveOInit' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21855:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrimitiveOCreate' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:21945:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DefaultSuperClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22113:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CleanupDestroyClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3600:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddSuper' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22205:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CleanupInitClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22286:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrimitiveCDestroy' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22326:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrimitiveCInit' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22405:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'PrimitiveCCreate' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3562:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RemoveInstance' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22470:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ChangeClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22584:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'DoObjInitialization' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22716:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'IsMetaClass' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:22942:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ImportInstVarIntoCurrentScope' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'SetInstVar' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23077:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'SetInstArray' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'UnsetInstVar' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23205:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfSetterMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23288:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfForwardPrintError' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23578:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ForwardArg' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23664:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallForwarder' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:23897:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfForwardMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24047:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'IsDashArg' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24116:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallConfigureMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24203:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'CallingNameSpace' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24307:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ArgumentCheckHelper' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24437:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ArgumentCheck' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:24629:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ArgumentDefaults' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:25160:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ArgumentParse' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ListVarKeys' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:25372:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetOriginalCommand' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:25632:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ListCmdParams' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AppendForwardDefinition' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AppendMethodRegistration' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AppendReturnsClause' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'DisassembleProc' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ListMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:26471:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ListMethodResolve' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:26524:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MethodSourceMatches' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:26577:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'MethodTypeMatches' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:26914:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ListMethodKeys' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ListChildren' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27059:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ListForward' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ListDefinedMethods' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'ListSuperClasses' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27381:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AliasGet' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27424:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AliasDeleteObjectReference' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27497:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AliasRefetch' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'AliasDereference' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27614:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'SetBooleanFlag' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:27703:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfDebugShowObj' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfDebugGetDict' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28027:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfUnsetUnknownArgsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28250:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfConfigureCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28350:9: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfColonCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28437:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfDirectDispatchCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28618:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfFinalizeCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28686:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfInterpObjCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28740:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfIsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:28823:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfParseArgsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29060:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodAliasCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29122:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodAssertionCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfMethodCreateCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29227:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodDeleteCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29304:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodForwardCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29380:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfForwardPropertyCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29558:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodPropertyCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29676:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMethodSetterCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29738:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjectAllocCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:29867:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjectPropertyCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:3600:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'AddSuper' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30008:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjectSystemCreateCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30086:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfMyCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30147:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfNextCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30281:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfNSCopyVarsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30395:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfParameterInfoCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfParameterCacheClassInvalidateCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfParameterCacheObjectInvalidateCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30592:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfParameterSpecsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30650:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfProcCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:30742:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRelationClassMixinsSet' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31008:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfRelationSetCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31242:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCurrentCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfSelfCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfVarExistsCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31396:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfVarSetCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfVarUnsetCmd' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31501:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamFreeInternalRep' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31575:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParamSetFromAny2' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31676:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ComputeParameterDefinition' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31775:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetObjectParameterDefinition' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31848:43: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ParameterCheck' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfOAutonameMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31957:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOCleanupMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:31981:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'GetSlotObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32358:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOConfigureMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32493:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOCgetMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32563:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfODestroyMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32620:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOFilterGuardMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32648:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOInstvarMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfOMixinGuardMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32836:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOResidualargsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:32939:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOUplevelMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33000:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfOUpvarMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33125:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'VolatileMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33183:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCAllocMethod_' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33249:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCAllocMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33461:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCCreateMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfCDeallocMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfCFilterGuardMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfCGetCachendParametersMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfCMixinGuardMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33675:7: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfCNewMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33748:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'RecreateObject' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfCRecreateMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:33983:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoLookupFilterMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34030:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoLookupMethodMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34147:9: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoLookupMethodsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34216:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoLookupSlotsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34331:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoParentMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfObjInfoPrecedenceMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34426:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfObjInfoVarsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34522:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassInfoHeritageMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34682:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassInfoMethodsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34746:5: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassInfoMixinsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:34860:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'NsfClassInfoMixinOfMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfClassInfoSlotobjectsMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'NsfClassInfoSubclassMethod' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:35139:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'FinalObjectDeletion' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
Aborting translation of method 'DeleteNsfProcs' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:35308:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'ObjectHasChildren' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] generic/nsf.c:36147:3: ERROR translating statement 'OpaqueValueExpr'
[894][ debug]
[894][ intern err] Aborting translation of method 'Nsf_Init' in file 'generic/nsf.c'
Known incorrect assumption in the frontend: Expected source expression for OpaqueValueExpr
[894][ debug] Elapsed: 3.349s.
[894][ debug]
[894][ extern err] Error: the following clang command did not run successfully:
[894][ extern err] /opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/bin/clang-11
[894][ extern err] @/nsf/infer-out/tmp/clang_command_.tmp.e307ea.txt ++Contents of '/nsf/infer-out/tmp/clang_command_.tmp.e307ea.txt':
[894][ extern err] "-cc1" "-load"
[894][ extern err] "/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../../facebook-clang-plugins/libtooling/build/FacebookClangPlugin.dylib"
[894][ extern err] "-add-plugin"
[894][ extern err] "BiniouASTExporter"
[894][ extern err] "-plugin-arg-BiniouASTExporter"
[894][ extern err] "-"
[894][ extern err] "-plugin-arg-BiniouASTExporter"
[894][ extern err] "PREPEND_CURRENT_DIR=1"
[894][ extern err] "-plugin-arg-BiniouASTExporter"
[894][ extern err] "MAX_STRING_SIZE=65535"
[894][ extern err] "-cc1" "-triple"
[894][ extern err] "x86_64-unknown-linux-gnu"
[894][ extern err] "-emit-obj"
[894][ extern err] "-disable-free"
[894][ extern err] "-disable-llvm-verifier"
[894][ extern err] "-discard-value-names"
[894][ extern err] "-main-file-name"
[894][ extern err] "nsf.c"
[894][ extern err] "-mrelocation-model"
[894][ extern err] "static"
[894][ extern err] "-mframe-pointer=none"
[894][ extern err] "-fmath-errno"
[894][ extern err] "-fno-rounding-math"
[894][ extern err] "-mconstructor-aliases"
[894][ extern err] "-munwind-tables"
[894][ extern err] "-target-cpu"
[894][ extern err] "x86-64"
[894][ extern err] "-fno-split-dwarf-inlining"
[894][ extern err] "-debug-info-kind=limited"
[894][ extern err] "-dwarf-version=4"
[894][ extern err] "-debugger-tuning=gdb"
[894][ extern err] "-resource-dir"
[894][ extern err] "/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0"
[894][ extern err] "-include"
[894][ extern err] "/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_NAME=\"nsf\""
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_TARNAME=\"nsf\""
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_VERSION=\"2.4.0\""
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_STRING=\"nsf 2.4.0\""
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\""
[894][ extern err] "-D"
[894][ extern err] "PACKAGE_URL=\"\""
[894][ extern err] "-D"
[894][ extern err] "HAVE_STDIO_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_STDLIB_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_STRING_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_INTTYPES_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_STDINT_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_STRINGS_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_SYS_STAT_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_SYS_TYPES_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_UNISTD_H=1"
[894][ extern err] "-D"
[894][ extern err] "STDC_HEADERS=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_INTPTR_T=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_UINTPTR_T=1"
[894][ extern err] "-D"
[894][ extern err] "BUILD_nsf=/**/"
[894][ extern err] "-D"
[894][ extern err] "HAVE_STRNSTR=1"
[894][ extern err] "-D" "NO_VALUES_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_LIMITS_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_SYS_PARAM_H=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_TCL_COMPILE_H=1"
[894][ extern err] "-D"
[894][ extern err] "NSF_WITH_ASSERTIONS=1"
[894][ extern err] "-D" "NSF_PROFILE=1"
[894][ extern err] "-D"
[894][ extern err] "NSF_DEVELOPMENT=1"
[894][ extern err] "-D"
[894][ extern err] "USE_THREAD_ALLOC=1"
[894][ extern err] "-D" "_REENTRANT=1"
[894][ extern err] "-D"
[894][ extern err] "_THREAD_SAFE=1"
[894][ extern err] "-D" "TCL_THREADS=1"
[894][ extern err] "-D"
[894][ extern err] "USE_TCL_STUBS=1"
[894][ extern err] "-D"
[894][ extern err] "USE_TCLOO_STUBS=1"
[894][ extern err] "-D"
[894][ extern err] "MODULE_SCOPE=extern __attribute__((__visibility__(\"hidden\")))"
[894][ extern err] "-D" "HAVE_HIDDEN=1"
[894][ extern err] "-D"
[894][ extern err] "HAVE_CAST_TO_UNION=1"
[894][ extern err] "-D"
[894][ extern err] "TCL_WIDE_INT_IS_LONG=1"
[894][ extern err] "-D"
[894][ extern err] "USE_TCL_STUBS=1"
[894][ extern err] "-D"
[894][ extern err] "COMPILE_NSF_STUBS=1"
[894][ extern err] "-D"
[894][ extern err] "NSF_VERSION=\"2.4\""
[894][ extern err] "-D"
[894][ extern err] "NSF_PATCHLEVEL=\"2.4.0\""
[894][ extern err] "-D"
[894][ extern err] "NSF_COMMIT=\"2.3.0-204-g20b47273-dirty\""
[894][ extern err] "-I"
[894][ extern err] "/usr/local/src/tcl-trunk/generic"
[894][ extern err] "-I"
[894][ extern err] "/usr/local/src/tcl-trunk/unix"
[894][ extern err] "-I"
[894][ extern err] "/Users/neumann/src/nsf2.3.0/generic"
[894][ extern err] "-D"
[894][ extern err] "TCL_NO_DEPRECATED"
[894][ extern err] "-internal-isystem"
[894][ extern err] "/usr/local/include"
[894][ extern err] "-internal-isystem"
[894][ extern err] "/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0/include"
[894][ extern err] "-internal-externc-isystem"
[894][ extern err] "/usr/include/x86_64-linux-gnu"
[894][ extern err] "-internal-externc-isystem"
[894][ extern err] "/include"
[894][ extern err] "-internal-externc-isystem"
[894][ extern err] "/usr/include" "-Os"
[894][ extern err] "-Wall"
[894][ extern err] "-Wconversion"
[894][ extern err] "-Wsign-conversion"
[894][ extern err] "-Wsign-compare"
[894][ extern err] "-Wwrite-strings"
[894][ extern err] "-Wextra"
[894][ extern err] "-Wdeclaration-after-statement"
[894][ extern err] "-Wendif-labels"
[894][ extern err] "-Wshadow"
[894][ extern err] "-Wmissing-prototypes"
[894][ extern err] "-Wstrict-prototypes"
[894][ extern err] "-Wpacked"
[894][ extern err] "-Wno-redundant-decls"
[894][ extern err] "-Wno-zero-length-array"
[894][ extern err] "-Wmissing-braces"
[894][ extern err] "-Wmissing-declarations"
[894][ extern err] "-Wundef"
[894][ extern err] "-Wunreachable-code"
[894][ extern err] "-Wswitch-enum"
[894][ extern err] "-Wpointer-arith"
[894][ extern err] "-Wold-style-definition"
[894][ extern err] "-Wmissing-format-attribute"
[894][ extern err] "-Wformat-security"
[894][ extern err] "-Wall"
[894][ extern err] "-Wno-ignored-optimization-argument"
[894][ extern err] "-Wno-everything"
[894][ extern err] "-pedantic"
[894][ extern err] "-std=c99"
[894][ extern err] "-fconst-strings"
[894][ extern err] "-fdebug-compilation-dir"
[894][ extern err] "/nsf"
[894][ extern err] "-ferror-limit" "19"
[894][ extern err] "-fgnuc-version=4.2.1"
[894][ extern err] "-vectorize-loops"
[894][ extern err] "-vectorize-slp"
[894][ extern err] "-o" "nsf.o" "-x"
[894][ extern err] "c"
[894][ extern err] "./generic/nsf.c"
[894][ extern err] "-O0" "-include"
[894][ extern err] "/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
[894][ extern err] "-Wno-everything"
[894][ extern err]
[894][ extern err]
[894][environment] Scheduler: file
[894][environment] Cores used: 8
[894][environment] [889][ extern err] *** capture command failed:
*** make
*** exited with code 2
[889][ extern err] Raised at Stdlib__scanf.bad_input in file "scanf.ml" (inlined), line 444, characters 18-40
Called from Stdlib__scanf.scanf_bad_input in file "scanf.ml", line 1164, characters 4-75
Called from IBase__Utils.get_available_memory_MB.scan_for_expected_output in file "src/base/Utils.ml", line 447, characters 10-86
[890][ debug] Sqlite write daemon: terminating
./nsf2.4.0/infer-out/tmp/clang_command_.tmp.e307ea.txt 000600 000766 000024 00000006443 14271435441 023150 0 ustar 00neumann staff 000000 000000 "-cc1"
"-load"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../../facebook-clang-plugins/libtooling/build/FacebookClangPlugin.dylib"
"-add-plugin"
"BiniouASTExporter"
"-plugin-arg-BiniouASTExporter"
"-"
"-plugin-arg-BiniouASTExporter"
"PREPEND_CURRENT_DIR=1"
"-plugin-arg-BiniouASTExporter"
"MAX_STRING_SIZE=65535"
"-cc1"
"-triple"
"x86_64-unknown-linux-gnu"
"-emit-obj"
"-disable-free"
"-disable-llvm-verifier"
"-discard-value-names"
"-main-file-name"
"nsf.c"
"-mrelocation-model"
"static"
"-mframe-pointer=none"
"-fmath-errno"
"-fno-rounding-math"
"-mconstructor-aliases"
"-munwind-tables"
"-target-cpu"
"x86-64"
"-fno-split-dwarf-inlining"
"-debug-info-kind=limited"
"-dwarf-version=4"
"-debugger-tuning=gdb"
"-resource-dir"
"/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0"
"-include"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
"-D"
"PACKAGE_NAME=\"nsf\""
"-D"
"PACKAGE_TARNAME=\"nsf\""
"-D"
"PACKAGE_VERSION=\"2.4.0\""
"-D"
"PACKAGE_STRING=\"nsf 2.4.0\""
"-D"
"PACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\""
"-D"
"PACKAGE_URL=\"\""
"-D"
"HAVE_STDIO_H=1"
"-D"
"HAVE_STDLIB_H=1"
"-D"
"HAVE_STRING_H=1"
"-D"
"HAVE_INTTYPES_H=1"
"-D"
"HAVE_STDINT_H=1"
"-D"
"HAVE_STRINGS_H=1"
"-D"
"HAVE_SYS_STAT_H=1"
"-D"
"HAVE_SYS_TYPES_H=1"
"-D"
"HAVE_UNISTD_H=1"
"-D"
"STDC_HEADERS=1"
"-D"
"HAVE_INTPTR_T=1"
"-D"
"HAVE_UINTPTR_T=1"
"-D"
"BUILD_nsf=/**/"
"-D"
"HAVE_STRNSTR=1"
"-D"
"NO_VALUES_H=1"
"-D"
"HAVE_LIMITS_H=1"
"-D"
"HAVE_SYS_PARAM_H=1"
"-D"
"HAVE_TCL_COMPILE_H=1"
"-D"
"NSF_WITH_ASSERTIONS=1"
"-D"
"NSF_PROFILE=1"
"-D"
"NSF_DEVELOPMENT=1"
"-D"
"USE_THREAD_ALLOC=1"
"-D"
"_REENTRANT=1"
"-D"
"_THREAD_SAFE=1"
"-D"
"TCL_THREADS=1"
"-D"
"USE_TCL_STUBS=1"
"-D"
"USE_TCLOO_STUBS=1"
"-D"
"MODULE_SCOPE=extern __attribute__((__visibility__(\"hidden\")))"
"-D"
"HAVE_HIDDEN=1"
"-D"
"HAVE_CAST_TO_UNION=1"
"-D"
"TCL_WIDE_INT_IS_LONG=1"
"-D"
"USE_TCL_STUBS=1"
"-D"
"COMPILE_NSF_STUBS=1"
"-D"
"NSF_VERSION=\"2.4\""
"-D"
"NSF_PATCHLEVEL=\"2.4.0\""
"-D"
"NSF_COMMIT=\"2.3.0-204-g20b47273-dirty\""
"-I"
"/usr/local/src/tcl-trunk/generic"
"-I"
"/usr/local/src/tcl-trunk/unix"
"-I"
"/Users/neumann/src/nsf2.3.0/generic"
"-D"
"TCL_NO_DEPRECATED"
"-internal-isystem"
"/usr/local/include"
"-internal-isystem"
"/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0/include"
"-internal-externc-isystem"
"/usr/include/x86_64-linux-gnu"
"-internal-externc-isystem"
"/include"
"-internal-externc-isystem"
"/usr/include"
"-Os"
"-Wall"
"-Wconversion"
"-Wsign-conversion"
"-Wsign-compare"
"-Wwrite-strings"
"-Wextra"
"-Wdeclaration-after-statement"
"-Wendif-labels"
"-Wshadow"
"-Wmissing-prototypes"
"-Wstrict-prototypes"
"-Wpacked"
"-Wno-redundant-decls"
"-Wno-zero-length-array"
"-Wmissing-braces"
"-Wmissing-declarations"
"-Wundef"
"-Wunreachable-code"
"-Wswitch-enum"
"-Wpointer-arith"
"-Wold-style-definition"
"-Wmissing-format-attribute"
"-Wformat-security"
"-Wall"
"-Wno-ignored-optimization-argument"
"-Wno-everything"
"-pedantic"
"-std=c99"
"-fconst-strings"
"-fdebug-compilation-dir"
"/nsf"
"-ferror-limit"
"19"
"-fgnuc-version=4.2.1"
"-vectorize-loops"
"-vectorize-slp"
"-o"
"nsf.o"
"-x"
"c"
"./generic/nsf.c"
"-O0"
"-include"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
"-Wno-everything"
./nsf2.4.0/infer-out/tmp/clang_command_.tmp.f6d95c.txt 000600 000766 000024 00000003616 14271435435 023166 0 ustar 00neumann staff 000000 000000 '-###'
'-DPACKAGE_NAME="nsf"'
'-DPACKAGE_TARNAME="nsf"'
'-DPACKAGE_VERSION="2.4.0"'
'-DPACKAGE_STRING="nsf 2.4.0"'
'-DPACKAGE_BUGREPORT="https://sourceforge.net/p/next-scripting/tickets/"'
'-DPACKAGE_URL=""'
'-DHAVE_STDIO_H=1'
'-DHAVE_STDLIB_H=1'
'-DHAVE_STRING_H=1'
'-DHAVE_INTTYPES_H=1'
'-DHAVE_STDINT_H=1'
'-DHAVE_STRINGS_H=1'
'-DHAVE_SYS_STAT_H=1'
'-DHAVE_SYS_TYPES_H=1'
'-DHAVE_UNISTD_H=1'
'-DSTDC_HEADERS=1'
'-DHAVE_INTPTR_T=1'
'-DHAVE_UINTPTR_T=1'
'-DBUILD_nsf=/**/'
'-DHAVE_STRNSTR=1'
'-DNO_VALUES_H=1'
'-DHAVE_LIMITS_H=1'
'-DHAVE_SYS_PARAM_H=1'
'-DHAVE_TCL_COMPILE_H=1'
'-DNSF_WITH_ASSERTIONS=1'
'-DNSF_PROFILE=1'
'-DNSF_DEVELOPMENT=1'
'-DUSE_THREAD_ALLOC=1'
'-D_REENTRANT=1'
'-D_THREAD_SAFE=1'
'-DTCL_THREADS=1'
'-DUSE_TCL_STUBS=1'
'-DUSE_TCLOO_STUBS=1'
'-DMODULE_SCOPE=extern __attribute__((__visibility__("hidden")))'
'-DHAVE_HIDDEN=1'
'-DHAVE_CAST_TO_UNION=1'
'-DTCL_WIDE_INT_IS_LONG=1'
'-DUSE_TCL_STUBS=1'
'-DCOMPILE_NSF_STUBS=1'
'-DNSF_VERSION="2.4"'
'-DNSF_PATCHLEVEL="2.4.0"'
'-DNSF_COMMIT="2.3.0-204-g20b47273-dirty"'
'-I/usr/local/src/tcl-trunk/generic'
'-I/usr/local/src/tcl-trunk/unix'
'-I/Users/neumann/src/nsf2.3.0/generic'
'-Os'
'-Wall'
'-pipe'
'-pedantic'
'-g'
'-std=c99'
'-DTCL_NO_DEPRECATED'
'-Wconversion'
'-Wsign-conversion'
'-Wsign-compare'
'-Wwrite-strings'
'-Wextra'
'-Wdeclaration-after-statement'
'-Wendif-labels'
'-Wshadow'
'-Wmissing-prototypes'
'-Wstrict-prototypes'
'-Wpacked'
'-Wno-redundant-decls'
'-Wno-zero-length-array'
'-Wmissing-braces'
'-Wmissing-declarations'
'-Wundef'
'-Wunreachable-code'
'-Wswitch-enum'
'-Wpointer-arith'
'-Wold-style-definition'
'-Wmissing-format-attribute'
'-Wformat-security'
'-Wall'
'-fno-common'
'-c'
'./generic/nsf.c'
'-o'
'nsf.o'
'-fno-cxx-modules'
'-Qunused-arguments'
'-Wno-ignored-optimization-argument'
'-fno-addrsig'
'-fembed-bitcode=off'
'-include'
'/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h'
'-Wno-everything'
./nsf2.4.0/infer-out/tmp/clang_command_.tmp.4a0147.txt 000600 000766 000024 00000006443 14271435435 023007 0 ustar 00neumann staff 000000 000000 "-cc1"
"-load"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../../facebook-clang-plugins/libtooling/build/FacebookClangPlugin.dylib"
"-add-plugin"
"BiniouASTExporter"
"-plugin-arg-BiniouASTExporter"
"-"
"-plugin-arg-BiniouASTExporter"
"PREPEND_CURRENT_DIR=1"
"-plugin-arg-BiniouASTExporter"
"MAX_STRING_SIZE=65535"
"-cc1"
"-triple"
"x86_64-unknown-linux-gnu"
"-emit-obj"
"-disable-free"
"-disable-llvm-verifier"
"-discard-value-names"
"-main-file-name"
"nsf.c"
"-mrelocation-model"
"static"
"-mframe-pointer=none"
"-fmath-errno"
"-fno-rounding-math"
"-mconstructor-aliases"
"-munwind-tables"
"-target-cpu"
"x86-64"
"-fno-split-dwarf-inlining"
"-debug-info-kind=limited"
"-dwarf-version=4"
"-debugger-tuning=gdb"
"-resource-dir"
"/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0"
"-include"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
"-D"
"PACKAGE_NAME=\"nsf\""
"-D"
"PACKAGE_TARNAME=\"nsf\""
"-D"
"PACKAGE_VERSION=\"2.4.0\""
"-D"
"PACKAGE_STRING=\"nsf 2.4.0\""
"-D"
"PACKAGE_BUGREPORT=\"https://sourceforge.net/p/next-scripting/tickets/\""
"-D"
"PACKAGE_URL=\"\""
"-D"
"HAVE_STDIO_H=1"
"-D"
"HAVE_STDLIB_H=1"
"-D"
"HAVE_STRING_H=1"
"-D"
"HAVE_INTTYPES_H=1"
"-D"
"HAVE_STDINT_H=1"
"-D"
"HAVE_STRINGS_H=1"
"-D"
"HAVE_SYS_STAT_H=1"
"-D"
"HAVE_SYS_TYPES_H=1"
"-D"
"HAVE_UNISTD_H=1"
"-D"
"STDC_HEADERS=1"
"-D"
"HAVE_INTPTR_T=1"
"-D"
"HAVE_UINTPTR_T=1"
"-D"
"BUILD_nsf=/**/"
"-D"
"HAVE_STRNSTR=1"
"-D"
"NO_VALUES_H=1"
"-D"
"HAVE_LIMITS_H=1"
"-D"
"HAVE_SYS_PARAM_H=1"
"-D"
"HAVE_TCL_COMPILE_H=1"
"-D"
"NSF_WITH_ASSERTIONS=1"
"-D"
"NSF_PROFILE=1"
"-D"
"NSF_DEVELOPMENT=1"
"-D"
"USE_THREAD_ALLOC=1"
"-D"
"_REENTRANT=1"
"-D"
"_THREAD_SAFE=1"
"-D"
"TCL_THREADS=1"
"-D"
"USE_TCL_STUBS=1"
"-D"
"USE_TCLOO_STUBS=1"
"-D"
"MODULE_SCOPE=extern __attribute__((__visibility__(\"hidden\")))"
"-D"
"HAVE_HIDDEN=1"
"-D"
"HAVE_CAST_TO_UNION=1"
"-D"
"TCL_WIDE_INT_IS_LONG=1"
"-D"
"USE_TCL_STUBS=1"
"-D"
"COMPILE_NSF_STUBS=1"
"-D"
"NSF_VERSION=\"2.4\""
"-D"
"NSF_PATCHLEVEL=\"2.4.0\""
"-D"
"NSF_COMMIT=\"2.3.0-204-g20b47273-dirty\""
"-I"
"/usr/local/src/tcl-trunk/generic"
"-I"
"/usr/local/src/tcl-trunk/unix"
"-I"
"/Users/neumann/src/nsf2.3.0/generic"
"-D"
"TCL_NO_DEPRECATED"
"-internal-isystem"
"/usr/local/include"
"-internal-isystem"
"/opt/infer-linux64-v1.1.0/lib/infer/facebook-clang-plugins/clang/install/lib/clang/11.1.0/include"
"-internal-externc-isystem"
"/usr/include/x86_64-linux-gnu"
"-internal-externc-isystem"
"/include"
"-internal-externc-isystem"
"/usr/include"
"-Os"
"-Wall"
"-Wconversion"
"-Wsign-conversion"
"-Wsign-compare"
"-Wwrite-strings"
"-Wextra"
"-Wdeclaration-after-statement"
"-Wendif-labels"
"-Wshadow"
"-Wmissing-prototypes"
"-Wstrict-prototypes"
"-Wpacked"
"-Wno-redundant-decls"
"-Wno-zero-length-array"
"-Wmissing-braces"
"-Wmissing-declarations"
"-Wundef"
"-Wunreachable-code"
"-Wswitch-enum"
"-Wpointer-arith"
"-Wold-style-definition"
"-Wmissing-format-attribute"
"-Wformat-security"
"-Wall"
"-Wno-ignored-optimization-argument"
"-Wno-everything"
"-pedantic"
"-std=c99"
"-fconst-strings"
"-fdebug-compilation-dir"
"/nsf"
"-ferror-limit"
"19"
"-fgnuc-version=4.2.1"
"-vectorize-loops"
"-vectorize-slp"
"-o"
"nsf.o"
"-x"
"c"
"./generic/nsf.c"
"-O0"
"-include"
"/opt/infer-linux64-v1.1.0/lib/infer/infer/bin/../lib/clang_wrappers/global_defines.h"
"-Wno-everything"
./nsf2.4.0/infer-out/.infer_runstate.json 000644 000766 000024 00000002355 14271435435 021116 0 ustar 00neumann staff 000000 000000 {"run_sequence":[{"date":"2022-07-31 08:19:41.181599Z","command":"run","infer_version":{"major":1,"minor":1,"patch":0,"commit":"f9b6f2b"}}],"results_dir_format":"db_filename: infer-out/results.db\ndb_schema: \n CREATE TABLE IF NOT EXISTS procedures\n ( proc_uid TEXT PRIMARY KEY NOT NULL\n , proc_name BLOB NOT NULL\n , attr_kind INTEGER NOT NULL\n , source_file TEXT NOT NULL\n , proc_attributes BLOB NOT NULL\n , cfg BLOB\n , callees BLOB NOT NULL\n )\n ;\n\n CREATE TABLE IF NOT EXISTS source_files\n ( source_file TEXT PRIMARY KEY\n , type_environment BLOB NOT NULL\n , integer_type_widths BLOB\n , procedure_names BLOB NOT NULL\n , freshly_captured INT NOT NULL )\n ;\n\n CREATE TABLE IF NOT EXISTS specs\n ( proc_uid TEXT PRIMARY KEY NOT NULL\n , proc_name BLOB NOT NULL\n , analysis_summary BLOB NOT NULL\n , report_summary BLOB NOT NULL\n )\n ;\n\n CREATE TABLE IF NOT EXISTS model_specs\n ( proc_uid TEXT PRIMARY KEY NOT NULL\n , proc_name BLOB NOT NULL\n , analysis_summary BLOB NOT NULL\n , report_summary BLOB NOT NULL\n )\n ","should_merge_capture":false} ./nsf2.4.0/ChangeLog-2.3.0-2.4.0.log 000644 000766 000024 00000064350 14275417765 016651 0 ustar 00neumann staff 000000 000000 2022-08-11 Gustaf Neumann
* nsf.c (Nsf_ObjSetVar2): Address the maybe-uninitialized warnings.
I do not really like the approach based on pragmas, but i do even
less like the warnings, when compiled with -pedantic [c8791939]
2022-08-10 Gustaf Neumann
*Announce2.4.0: Tested with recent MongoDB (server 5.0.9, driver 1.22.1)
[f20c1eaf]
* nsf.c (VarHashTableCreate, DStringAppendQualName)
(NewTclCommand): Reduced compiler warnings when compiling against
Tcl 8.6* with TIDY settings. [286401d1]
* nsf.c (ObjectDispatch): Deactivate block for double-checking
cached data for Tcl commands. Leave the code for potential future
debugging purposes. [4808f8e3]
2022-08-09 Gustaf Neumann
* next-tutorial.txt: Improve spelling [dc9c6c5d]
* ChangeLog-2.3.0-2.4.0.log, Announce2.0b3, Announce-1.3.5:
Improve spelling [e2998b4f]
2022-08-09 Stefan Sobernig
* next-tutorial, next-migration: Fix version number [51fc6ac1]
* mkIndex.tcl: Have mkIndex produce package-provide compliant
ifneeded scripts [5bd3de95]
* Makefile.in, configure: Re-worked pkgIndex.tcl handling [aa25ce85]
* README.release: Document changes to doc pipeline [8f63a682]
* doc/: Re-generated man pages and tutorials [f63b1bb9]
* Makefile.in, doc/*.css: Replace prince with Chrome headless for
PDF doc generation, PDF-specific CSS now organized as @media print
queries. [6f2b5aab]
2022-08-08 Stefan Sobernig
* doc/Announce2.4.0: Cont'd [skip ci]
[297884f8]
* ChangeLog-2.3.0-2.4.0.log: Added entries since late Jan 2021 [skip ci]
[af95cd6e]
2022-08-07 Stefan Sobernig
* tcl86.test, nsf-cmd.test, forward.test, destroy.test: Make sure
to run all 8.6+/ 8.7+ specific tests also under Tcl 9
[982b1e8d]
2022-08-06 Stefan Sobernig
* rules.vc: Have TCL_MAJOR_VERSION properly picked up from newer
tcl.h via nmakehlp [d55aa4b7]
* makefile.vc: Make sure Tcl 9 handles TIP-595 guessing of the
_Init function, avoid third argument to load [58a12e0d]
2022-07-31 Gustaf Neumann
* nsfDebug.c, nsfPointer.c: Minor polishing [9f2bb394]
2022-07-29 Gustaf Neumann
* build.tcl: Turn on debugging (AppVeyor) [e4569ae5, 0f2f3c4f,
c18dacc8, 584687ed]
2022-07-29 Stefan Sobernig
* build.tcl: Turn on debugging (AppVeyor) [b59caea3, 01ff609d,
a0d10764, 58cb7088, 64ce7231]; try using 7z instead of internal
unpacking [00ac4c06]
2022-07-29 Gustaf Neumann
* nsfAccessInt.h: Fix comment [58c09af3]
* mongodb/m4/tcl.m4, tcl.m4: Revert back to earlier version of tcl.m4;
The version from head is not yet ready [d1bea33b]
* configure, mongodb/configure: Re-generated files [52070e0d]
2022-07-29 Stefan Sobernig
* build.tcl: Turn on more debugging output [dd6a0a0b]
2022-07-29 Gustaf Neumann
* mongodb/README.md: update README for mongoDB interface
[20b47273]
* mongodb/configure: re-generated file [28349668]
* Makefile.in: Fix line break [bbb3b835]
* tcl.m4, mongodb/m4/tcl.m4: Updated with upstream versions of
tcl.m4 [1ddf01fe, a817b85f, 3137543b, afda2d90]
* nsfStubLib.c (Nsf_InitStubs): Fix compilation hickups for Tcl
8.5 [8c0fd2cd]
2022-07-27 Gustaf Neumann
* nsf.h, nsfInt.h: Reduce warnings from redefined constants [fc37052d]
* configure, mongodb/configure: Re-generated files [fb1613b4]
* Makefile.in: Don't include "package provide" Tcl command in
pkgIndex.tcl file, since the binary performs the provide operation
[86365e57]
* mkIndex.tcl: Exclude pkgIndex.tcl from searched files,
whitespace changes [e2825dd0]
2022-07-27 Gustaf Neumann
* Makefile.in: Pack Tcl version into name for Tcl 9.* With Tcl 9,
it is possible to install NSF for 8.7 and 9.0 in parallel, in the same
directories. The trick is naming the shared library
"libtcl9nsf2.4.0.so" instead of "libnsf2.4.0.so" when compiled
with Tcl 9.0 (keeping the original name when compiled with Tcl
8.x). Many thanks to Jan Nijtmans for the patch. [0b577d09]
2022-07-20 Stefan Sobernig
* appveyor.yml: Allow failures on trunk builds [a0e21882]
2022-07-17 Stefan Sobernig
* build.yml: Remove build jobs for 8-7-a3 (GH and AppVeyor); add
trunk builds for win (AppVeyor) [9a007250]
2022-07-06 Gustaf Neumann
* build.yml: Added GitHub event for workflow dispatches
[42704e31]; cosmetic change to trigger workflow run [d661abd3];
added build for tcl9 under macOS [8515b3d2]; added build for Tcl 9 (branch trunk)
[1b526520]
* nsfAccessInt.h: Fix typo [5e66d95c]
* nsf.h, nsfAccessInt.h: Improve compatibility with core-8 branch
[2db70d13]; fix for Tcl versions having Tcl_LibraryInitProc()
already defined (core-8-branch) [4501d2e2]
* object-system.test: Report Tcl version at the begin of
regression test to ease reading output of Git workflows [f546d287]
* nsf.h: Provide compatibility for core-8-7-a3 [e7b25cd9]
* nsfAccessInt.h: fix compatibility with earlier versions of Tcl 8.7
[1a327d6a]
* nsf.c (ParseContextExtendObjv, AssertionCheck, ListMethod)
(NsfMethodPropertyCmd, NsfCurrentCmd, NsfRelationSetCmd),
nsfInt.h: Improve cleanness of compilation under gcc-11+ and
"-pedantic" + -Wextra" [958b24f9]
2022-07-05 Gustaf Neumann
* Makefile.in, generic/nsf*.c, generic/nsf*.h, generic/stubs9.0/*, nsfmongo.c: Added
support for compiling with Tcl 9.0 (Many Thanks to Jan Nijtmans
for first steps) This version compiles cleanly at least with Tcl
8.6.* and Tcl 9.0 (fossil main) having -pedantic and -Wextra defined. [e48161ab]
2022-04-29 Stefan Sobernig
* ChangeLog-2.3.0-2.4.0.log: Adding changelog entries since July/ August 2021.
[9b3cf1ba]
2022-01-22 Gustaf Neumann
* next-migration.txt, next-tutorial.txt: Improve spelling [a1996616]
* nsf.c (NsfParseArgsCmd): Cleanup to avoid memory leak in cases
the Tcl_DictObjPut fails [e3f1c112]
2022-01-21 Gustaf Neumann
* nsf.c (NsfParseArgsCmd): Added option "-asdict" to
nsf::parseargs. The new option makes it easier to process the
parsed argument in different contexts [b2781b9d]
2022-01-18 Stefan Sobernig
* build.yml, appveyor.yml: Bumps to 8.6.12 and 8.7a5
[96f4eb32]
2022-01-03 Gustaf Neumann
* nsf.c (ListMethodKeys), nx.tcl, class-method.test, methods.test,
plain-object-method.test: Include alias to object in "info methods
-path" Previously, it was not possible to define an alias to an
object for NaviServer, since it was not returned by "info methods
-path" and was, therefore, not included into the blueprint. Extended
regression tests. [40b842e5]
2021-12-03 Gustaf Neumann
* nsf.c (CallStackDoDestroy): Improve function description [344ce3ff]
2021-10-16 Gustaf Neumann
* object-system.test: Fix broken test [8fe8acb5]
2021-10-12 Stefan Sobernig
* nsfAccessInt.h (TclFreeIntRep): A recent name reform requires an
explicit define for backwards compat. [7645e8f8]
* nx-zip.tcl: Add closing paren in comment [8bb94eca]
2021-10-08 Stefan Sobernig
* nx-zip.tcl (writeToZipFile): 'writeToStream' requires a command
prefixed defined by an object variable 'writer'. In a direct call
on 'writeToZipFile', this variable was not defined. Thanks to
Héctor Romojaro for the catch and patch. [2a99a6a1]
2021-09-01 Gustaf Neumann
s
* nx-zip.tcl: Use buffered ns_connchan for writing to slow
channels for handling partial write operations properly [d82ed6ca]
2021-08-23 Gustaf Neumann
* Makefile.in: Make it possible to pass "CFLAGS_OPTIMIZE=..." to
Makefile [379ac9a3]
2021-08-12 Gustaf Neumann
* nsf.c, nsf.h (NsColonVarResolver): Remove relatively costly
asserts when not in development mode [f01f68ea]
2021-07-26 Stefan Sobernig
* README.release: Complete description of vagrant setup
[f826efe9]
2021-07-25 Stefan Sobernig
* nsf.c (ObjectDispatch): Fix another invalid read of a cached cmd
structure (NsfColonCommandContext) [da6d8cc3]
2021-07-24 Stefan Sobernig
* nsf.c (NsfUnsetTrace, VolatileMethod): Plug a post-mortem
memleak related to volatile objects (The Tcl_Obj carrying an
auto-qualified object name was not cleaned up properly during
interp shutdown because the matching decrement operations used to
be disabled during shutdown.) [fc14b058]
* nsf.c (ObjectDispatch): Fix invalid read as indicated by
valgrind by guarding access to intrep.
[a6e4b1ad]
* README.release: Describe valgrind via vagrant procedure
[304b0654]
2021-07-23 Stefan Sobernig
* nsf.c (ObjectDispatch): First attempt to fight valgrind warning
on cond/uninitialized jump [f4077b42]
* ChangeLog-2.3.0-2.4.0.log: Completed changelog work [a3149d6b]
2021-07-21 Stefan Sobernig
* README.release: Add note on using gnulibs' gitlog-to-changelog
[999de5b9]
2021-07-14 Gustaf Neumann
* nx-zip.tcl: Added support for returning streaming zip files via
HTTPS. The old version was just replying via ns_write, which can be
only used for plain TCP connections (no TLS). [4f198095]
2021-07-08 Gustaf Neumann
* nsf.c (MakeProc): Fixed false positive from facebook infer 1.1.0
[2b630211]
2021-06-23 Gustaf Neumann
* ChangeLog-*.log: Improved spelling [b431d2c0]
* nsf.c: Reduced warnings from clang12 static checker (null value
passed to non-null arguments, dead assignment, ...)
[e791865c]
2021-06-09 Stefan Sobernig
* build.yml, appveyor.yml: Add 8.7a5 branch to build matrices. [2a01cc6f]
* nsf.c (Nsf_Init): Plumb a small memory leak due to not clearing
mp_int data. Make sure _not_ to use mp_clear (TIP 538). [5338fea8]
* ChangeLog-2.3.0-2.4.0.log, Announce2.4.0: Continued work on
release files [63b2e82e]
2021-06-05 Gustaf Neumann
* nsfmongo.c, nsf.c: Update copyright dates [6b1f85df]
* nsfmongo.c: Minor cleanup: reduce strlen operations, reduce
hard-coded constants, perfer Tcl_Obj based interfaces of string
based ones (opens opportunities for special objtypes) [725dc72f]
2021-05-25 Gustaf Neumann
* nsf.c (ParamOptionParse): Do not support predefined parameter
options spelled with trailing content This change makes argument
type checking more strict by rejecting names as synonyms which are
longer than the specified values. Background: Previous versions
did not handle cases correctly where an application type name
starts with the same characters as a built-in type. So it was not
possible to define a type "object_id", since a a spec of the form
"x:object_id" was interpreted as "x:object". [9bc1a996]
2021-05-13 Stefan Sobernig
* build.yml: clang 11 is default on macos-latest runners; add
remaining macos configs [f29f3c69]
* build.yml: Fix expressions [cf79aef0]
* build.yml: Remove artifacts from workflow [4f7b34fe]
* build.yml: Added initial GitHub Actions workflow enabling Linux
and macOS builds [e372b812]
2021-05-12 Stefan Sobernig
* appveyor.yml: Bump build matrix to include the tag 8.6.11
[7bb2abc4]
2021-05-11 Stefan Sobernig
* nsfAccessInt.h (TclIsCommandDeleted), nsf.c, nsfObj.c: More
recent Tcl 8.7 (starting Sep 2020) has replaced the macro
CMD_IS_DELETED by CMD_DYING. [e01e3055]
2021-05-05 Stefan Sobernig
* nsf.c (ParamOptionParse): Simplify option parsing for
substdefault; Tcl_GetInt knows how to handle 0b binary constants,
no expr call needed. [9e705a33]
* nsf.c (VolatileMethod): Save a little by checking first chars
[eb3b441c]
2021-05-02 Stefan Sobernig
* nsf.c (VolatileMethod), volatile.test: Fix volatile for XOTcl 2:
frame skipping must be limited to configure, otherwise, for self
calls (e.g., 'my volatile'), the sentinel variable plus unset
trace become created in the wrong callframe context (leading to
corruption of any non-proc callframe); added test cases
[3916bf00]
2021-02-17 Gustaf Neumann
* nsfProfile.c (NsfProfileDebugExit): Fix provided length values
for string arguments [460ae16a]
2021-02-06 Gustaf Neumann
* nx.tcl: Whitespace cleanup (replace tabs) [75f60be7]
* nx.tcl: Make warning message more precise about unexpected slot
structures during delete [473a993c]
2021-01-03 Gustaf Neumann
* Makefile.in: Added target for clang-tidy, fine-tuning of compile flags
[e3c98331]
* generic/nsf.c, generic/nsf.h, generic/nsfAPI.decls,
generic/nsfAPI.h, generic/nsfInt.h, library/mongodb/mongoAPI.h:
Added enumeration values [f0f87b41]
* gentclAPI.tcl: Added support for enumeration values replaced
anonymous arrays by dicts [91a7b7d1]
2021-01-02 Gustaf Neumann
* generic/gentclAPI.tcl, generic/nsfAPI.h: Improve type safety of
generated code [deed56d5]
* generic/*/*.h: Reduced usage of reserved identifiers:
cert-dcl37-c, cert-dcl51-cpp [65d1c0f8]
* generic/aolstub.c, generic/asm/asmAssembleTemplate.c,
generic/asm/nsfAsmAssemble.c, generic/nsf.c, generic/nsfObj.c,
generic/nsfProfile.c, generic/nsfStack.c: Improve comments and spelling
[84ebec01]
* generic/*/*.c: Improve regularity and linebreaking in comments,
mostly in function headers [42dbfd5d]
2021-01-01 Gustaf Neumann
* generic/*/*.c: Whitespace changes: more consistent indentation of comments
[83e2a1bc]
* doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt,
generic/predefined_part1.tcl, generic/predefined_part2.tcl:
Improve spelling [18b65162]
2020-10-28 Gustaf Neumann
* nsf.c (ObjectDispatch): Add one more test to sanity check
[a4cc4075]; added debugging output for a case, where a Tcl cmd
looks perfectly fine, but its procPtr (scripted cases) contains
invalid data [57eb831d]
* nx.tcl: Reduce debugging output [226d979a]
2020-10-27 Gustaf Neumann
* nsf.c, nsf.h, nsfInt.h, nsfStubLib.c: Make clean compile, when
TRACE flags are defined
[a422e30c]
2020-10-21 Gustaf Neumann
* nsf.c (MethodDispatchCsc, ComputeLevelObj): Reduce verbosity,
silence checker [77a6f178]
* doc/*.man: Improve spelling [be71d48c]
* nsf.c (NsfDebugGetDict): Use memmove() instead of strncat()
since the former supports overlapping buffers. [c72f84a5]
2020-08-31 Gustaf Neumann
* nsf.c (Nsf_Init): Do not try to initialize Tcl_TomMath_InitStubs when
TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6 [4bd7db4e]
* nsf.c (Nsf_ConvertToInt32): Include for Tcl 8.5 tclTomMath.h to
define the mp_int type [61c07a2b]; check, if the flag MP_INT_DECLARED
is defined in 8.7* builds [f3258689]
* nsf.c (Nsf_ConvertToInteger): Avoid creation of
Tcl_NewBignumObj() when argument is already of the bignum type
[9d4daad1]; added mp_int type definion for Tcl >= 8.7
see:
https://core.tcl-lang.org/tcl/tktview/4663e0636f7a24b9363e67c7a3dd25e9e495be17 [e157ce6c]; getting rid of mp_free (we still need the type for mp_int)
[0e957261]
2020-08-30 Stefan Sobernig
* win/rules.vc: Starting with recent 8.7, there is no 't' suffix
appended to binaries and libs anymore, to indicate a threaded
build. [c5097786]
2020-08-28 Stefan Sobernig
* appveyor.yml: Use newer VS image
[77053610, 9647540c, 7c4a1425,d8bc09f6, db9147b0,8d4ac524]
2020-08-19 Gustaf Neumann
* README.profile: Added readme document on profiling
[e40a0652]
* Connection.xotcl, xodoc.xotcl: Improve spelling
[dc6b2eb2]
* slottest.xotcl, testx.xotcl: Avoid overly short method names
[c493c042]
2020-08-07 Gustaf Neumann
* doc/next-tutorial/next-tutorial.txt, generic/asm/nsfAssemble.c,
generic/nsfError.c: Improve spelling [d25e6ec7]
2020-07-02 Gustaf Neumann
* doc/example-scripts/per-object-mixins.tcl,
doc/example-scripts/rosetta-add-variable.tcl,
doc/example-scripts/rosetta-multiple-distinct.tcl,
doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt,
generic/nsf.c, generic/nsfInt.h, generic/nsfStack.c,
library/lib/nx-shell.tcl, library/lib/nx-zip.tcl,
library/mongodb/nsfmongo.c, library/mongodb/tests/nsf-gridfs.test,
library/serialize/serializer.tcl, tests/alias.test,
tests/disposition.test, tests/doc.test, tests/methods.test,
tests/parameters.test, tests/shells.test, tests/tcloo.test:
Improve spelling by moving closer to the Linux documentation
recommendations [78c12b94]
* Makefile.in, library/mongodb/Makefile.in: Reduce useless output
of "make test" [754d1562]
2020-06-11 Gustaf Neumann
* doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt,
library/lib/make.tcl, tests/parameters.test: Improve spelling [30864532]
2020-05-29 Stefan Sobernig
* nsf.c (Nsf_ConvertToInteger): Use Jan's hot fix
TCL_NO_TOMMATH_H, not yet integrated into Tcl's 8.7 branch.
[0aae1296]
2020-05-15 Stefan Sobernig
* build.tcl: Force use of internal libtommath (TIP 538) in 8.7 builds
[5a80e290]
* .travis.yml: Bump Travis macOS image and use gcc-9
[6259567b]
2020-03-21 Gustaf Neumann
* nsf.c (NsfMethodAliasCmd, ProtectionMatches): Make sure,
variable is always initialized [6ef097d5, 053960da]
2020-03-09 Gustaf Neumann
* generic/nsf.c, generic/nsfEnumerationType.c,
generic/nsfPointer.c, generic/nsfStack.c, tests/methods.test,
tests/nsf-cmd.test, tests/parameters.test: Improve spelling [5bcb005e]
2020-02-18 Gustaf Neumann
* generic/nsf.c, library/lib/nx-zip.tcl: Improve spelling
[10011595]
2020-02-06 Gustaf Neumann
* xotcl2.tcl: Add object level method "dict" similar to "array"
for larger symmetry of commands [34c85637]
2019-12-09 Gustaf Neumann
* doc/example-scripts/rosetta-constraint-genericity.tcl,
doc/example-scripts/rosetta-delegates.tcl,
doc/example-scripts/ruby-mixins.tcl, doc/next-migration.txt,
doc/next-tutorial/next-tutorial.txt, generic/nsf.c,
library/xotcl/library/xotcl2.tcl: Improve spelling [a11d866d]
* nsfDebug.c (NsfStackDump): Remove redundant tests
[a77455e1]
2019-11-25 Stefan Sobernig
* .travis.yml, appveyor.xml: Updates to build descriptors
(incl. new Tcl release tags)
[d2a20690, e1be9ee9, 9808a2f3]
2019-11-21 Gustaf Neumann
* library/nx/nx.tcl, library/xotcl/doc/langRef.xotcl,
library/xotcl/tests/slottest.xotcl,
library/xotcl/tests/testx.xotcl: Improve spelling [cd6385e4]
2019-11-06 Gustaf Neumann
* doc/Object.3, library/mongodb/tests/nsf-mongo.test,
library/mongodb/tests/nx-mongo.test,
library/xotcl/apps/utils/xo-daemon,
library/xotcl/doc/Announce-1.3.6,
library/xotcl/doc/Announce-1.4.0,
library/xotcl/library/comm/Access.xotcl,
library/xotcl/library/comm/PCache.xotcl, tests/alias.test,
tests/parameters.test: Improve spelling [f10f6e08]
* nsf.c (NsfParseArgsCmd): Reduce debugging output
[eef40b99]
2019-10-08 Stefan Sobernig
* Makefile.in: Avoid pathnames as targets and target dependencies,
as they may break make in presence of colons or whitespaces in
pathnames as set by autoconf (e.g.,
--prefix=/data/bin-2019-10-04:19:39:35 or
--exec-prefix=/tmp/data/bin-2019-10-04:19:39:35). Thanks to Héctor
Romojaro for reporting. [8eebb7d3]
* nsf.c, testx.xotcl: Substitute tab-based indentation (1x) for
space-based one (8x) for 'required argument' error msg. [5a31aba4]
2019-10-06 Gustaf Neumann
* nsf.c, parameters.test: Fix potential crash, whe nsf::parseargs
is called with a nonempty argspec and empty argv Extended
regression test to cover such cases. [f69d5326]
2019-10-05 Gustaf Neumann
* gentclAPI.tcl: Add missing EXTERN declarations
[37833d29]
* nsf.c, nx-bi.test, contains.test, disposition.test,
method-parameter.test, nsf-cmd.test, tcl86.test: typographic
changes, most prominently, more consistent comma settings
https://onlinewritingtraining.com.au/however-therefore-furthermore/
[9e281d51]
2019-09-27 Gustaf Neumann
* nsf.c: Remove "default" from fully initialized
switches. initialize variable to slience compiler warnings
[3493340e]
2019-09-23 Gustaf Neumann
* Object.man, nsfAccessInt.h, webserver.xotcl, htmllib.xotcl,
makeDoc.xotcl, destroy.test, doc.test, info-method.test,
methods.test, object-system.test, protected.test, tcloo.test:
Improve spelling [8024df76]
* tcl.m4: Use newer m4 file [a4a0ad0e, 7792a2a9]
* nsf.c: Remove redundant test [d32646c8]
2019-08-20 Gustaf Neumann
* nsf.c: Fix indentation [83d91f91]
2019-08-20 Stefan Sobernig
* nsf.c (NSDeleteChildren): Remove redundant check on
NSDeleteChild, leading to endless loop. [84a79b3f]
* appveyor.yml: Fix MinGW, ultimate attempt, long story
[5c433a50]
2019-08-20 Gustaf Neumann
* nsf.c, nsf.h, nsfInt.h, nsfStack.c: Avoid dangerous and
potentially recursive macro definition "pure"
[7ad03f0f]
2019-08-19 Stefan Sobernig
* appveyor.yml: Fix MAKE, Nth attempt [0ac89591..df7f1017]
2019-08-16 Gustaf Neumann
* nsf.c, nsfAccessInt.h (FilterAddActive, ProcDispatchFinalize,
CallForwarder): Fix compilation issues with recent version of the
Tcl core-8.branch (aka newest Tcl 8.7 branch)
[8f7c25f9]
2019-08-13 Gustaf Neumann
* *.log, nx-zip.tcl, get-regression-nb.xotcl, Httpd.xotcl,
parameters.test, tcloo.test: Improve spelling [3c7374ae]
2019-08-10 Gustaf Neumann
* Class.3, Class.man, tutorial2.html: Improve spelling [f817725e]
2019-08-09 Gustaf Neumann
* doc/example-scripts/*.html: Improve spelling [f35ab630]
2019-08-08 Gustaf Neumann
* nsf.c: Don't preallocate elements in Tcl_NewListObj with 2nd arg
NULL (deprecated) nsf::__db_get_obj: make sure, the returned dict
is valid [febe765f]
2019-08-06 Gustaf Neumann
* nsf.c, nx.tcl, object-system.test: Enable temporary debugging
output to investigate AppVeyor build failures
[1e698728, 9e6766c4, 63c904a4, 8e725616, faa3eeb7]
2019-08-05 Gustaf Neumann
* nsfShadow.c (Nsf_RenameObjCmd, Nsf_InfoBodyObjCmd): Fix
shadowing of variable names [114f2ea7]
* Makefile.in: fine-tuning of gcc warnings [89894f47]
* Serializer.xotcl: Fix version number [c1612273]
2019-07-21 Stefan Sobernig
* tests/submethods.test: Test for various conditions of unknown
handling for ensemble methods of varying depth; also covers the
crash condition reported on c.l.t, introduced with [156a37f] [37735fae]
2019-07-21 Gustaf Neumann
* nsf.c (NextSearchAndInvoke): Fix but on top-level shell on
unknown ensemble submethods [5368627b]
2019-07-07 Stefan Sobernig
* nx.tcl, pkgIndex.tcl: Fix version number to include patch level:
x.y.z [31adfd57]
* properties.test: Add a case to test for the bug on
cget/configure NsfFlagObjType sharing [13ac2740]
2019-07-06 Gustaf Neumann
* nsf.h: Let developer control NDEBUG via Makefile (Tcl seems to define it nowadays)
[1fb16685]
* nsf.c (ArgumentParse): Fix for a caching bug reported by Manfred
Stelzhammer at comp.lang.tcl. See
https://groups.google.com/g/comp.lang.tcl/c/F9cn_Ah4js4/m/eL22xbQaCgAJ
[94a8ea7c]; improve cleanness of compilation
[172a32e2];improve fall-through markup for case statements [3a4c6144]
2019-06-26 Stefan Sobernig
* appveyor.yml: Fix tclkit URL for win.
[2b4d1bca]
2019-06-19 Stefan Sobernig
* apps/build.tcl: Fallback to curl, in case we run under a
non-TLS-enabled Tcl environment.
[cc4c9b92]
2019-06-17 Stefan Sobernig
* .travis.yml, apps/build.tcl, appveyor.yml: Fix build environment
to be able to fetch Tcl tarballs via https; updated tclkits for
linux, macos, and win. [1544e5c0]
2019-06-16 Gustaf Neumann
* nsf.c, nsf.h, nsfFunPtrHashTable.c, nsfInt.h: Silence gcc7+ by
using attribute-based approach for denoting fall through in case
statements [ec5702da]
2019-05-25 Gustaf Neumann
* nsf.c: Code gardening (make unused argument explicitly as
unused, cleanness of compilation when compiled without threads)
[937c6deb, 51302024]
* library/mongodb/pkgIndex.add: Fix missed version bump
[641f75e3]
* nsf.c (ObjectSystemsCleanup): Fix endless loop at exit, when
compiled without thread support. Many thanks to Pavel Demin for
reporting this bug. [8dbedb9a]
2019-05-14 Gustaf Neumann
* nsf.c (NsfUnsetTrace): Eliminate TCL_INTERP_DESTROYED flag (as
suggested by TIP #543) [e2349563]
2019-05-13 Stefan Sobernig
* configure.ac, library/mongodb/configure.ac, nx-mongo.tcl,
nx.tcl, nx/pkgIndex.tcl, serialize/pkgIndex.tcl,
serialize/serializer.tcl, xotcl/library/pkgIndex.tcl,
xotcl/library/xotcl2.tcl: Bump version number to 2.4.0 [39197485,
c80b57b9]
* .travis.yml, appveyor.yml: Update branch settings in CI
descriptors, Added CI entries to README.release
[8c195577, 717b102a]
2019-05-12 Stefan Sobernig
* .travis.yml, appveyor.yml: Update branch settings in CI
descriptors [4ee2e547]
./nsf2.4.0/win.patch 000644 000766 000024 00000001036 13441227315 015010 0 ustar 00neumann staff 000000 000000 index c17895e..1ab1fd0 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -537,6 +537,7 @@ install-binaries:
@echo Installing binaries to '$(SCRIPT_INSTALL_DIR)'
@if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)"
@$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL
+ @if not exist "$(INCLUDE_INSTALL_DIR)" mkdir "$(INCLUDE_INSTALL_DIR)"
@echo Installing header files to "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(GENERICDIR)\nsf.h" "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(GENERICDIR)\nsfInt.h" "$(INCLUDE_INSTALL_DIR)"
./nsf2.4.0/win/pkg.vc 000644 000766 000024 00000000407 13466507354 015116 0 ustar 00neumann staff 000000 000000 # remember to change configure.in as well when these change
# (then re-autoconf)
PACKAGE_MAJOR = 2
PACKAGE_MINOR = 4
PACKAGE_VERSION = "2.4.0"
!if exists("..\COMMIT")
NSF_COMMIT = \
!include "..\COMMIT"
!else
NSF_COMMIT = unknown-msvc-$(PACKAGE_VERSION)
!endif
./nsf2.4.0/win/makefile.vc 000644 000766 000024 00000050061 14274463622 016110 0 ustar 00neumann staff 000000 000000 #------------------------------------------------------------- -*- makefile -*-
# makefile.vc --
#
# Microsoft Visual C++ makefile for use with nmake.exe v1.62+
# (VC++ 5.0+, MVSVC 11, MVSVC 12)
#
# This makefile is based upon the Tcl 8.6 Makefile.vc and modified to
# make it suitable as an NSF package makefile.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
# Copyright (c) 1998-2000 Ajuba Solutions.
# Copyright (c) 2001-2005 ActiveState Corporation.
# Copyright (c) 2001-2004 David Gravereaux.
# Copyright (c) 2003-2008 Pat Thoyts.
# Copyright (c) 2013-2018 Stefan Sobernig
#------------------------------------------------------------------------------
# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCINSTALLDIR) && !defined(MSSDK) && !defined(WINDOWSSDKDIR)
MSG = ^
You need to run vcvars32.bat from Developer Studio or setenv.bat from the^
Platform SDK first to setup the environment. Jump to this line to read^
the build instructions.
!error $(MSG)
!endif
#------------------------------------------------------------------------------
# HOW TO USE this makefile:
#
# 1) It is now necessary to have MSVCDir, MSDevDir or MSSDK set in the
# environment. This is used as a check to see if vcvars32.bat had been
# run prior to running nmake or during the installation of Microsoft
# Visual C++, MSVCDir had been set globally and the PATH adjusted.
# Either way is valid.
#
# You'll need to run vcvars32.bat contained in the MsDev's vc(98)/bin
# directory to setup the proper environment, if needed, for your
# current setup. This is a needed bootstrap requirement and allows the
# swapping of different environments to be easier.
#
# 2) To use the Platform SDK (not expressly needed), run setenv.bat after
# vcvars32.bat according to the instructions for it. This can also
# turn on the 64-bit compiler, if your SDK has it.
#
# 3) Targets are:
# all -- Builds everything.
# -- Builds the project (eg: nmake sample)
# test -- Builds and runs the test suite.
# install -- Installs the built binaries and libraries to $(INSTALLDIR)
# in an appropriate subdirectory.
# clean/realclean/distclean -- varying levels of cleaning.
#
# 4) Macros usable on the commandline:
# INSTALLDIR=
# Sets where to install Tcl from the built binaries.
# C:\Progra~1\Tcl is assumed when not specified.
#
# OPTS=loimpact,msvcrt,nothreads,pdbs,profile,static,symbols,unchecked,none
# Sets special options for the core. The default is for none.
# Any combination of the above may be used (comma separated).
# 'none' will over-ride everything to nothing.
#
# loimpact = Adds a flag for how NT treats the heap to keep memory
# in use, low. This is said to impact alloc performance.
# msvcrt = Affects the static option only to switch it from
# using libcmt(d) as the C runtime [by default] to
# msvcrt(d). This is useful for static embedding
# support.
# nothreads = Turns off multithreading support (not recommended)
# static = Builds a static library of the core instead of a
# dll. The shell will be static (and large), as well.
# pdbs = Build detached symbols for release builds.
# profile = Adds profiling hooks. Map file is assumed.
# symbols = Debug build. Links to the debug C runtime, disables
# optimizations and creates pdb symbols files.
# unchecked= Allows a symbols build to not use the debug
# enabled runtime (msvcrt.dll not msvcrtd.dll
# or libcmt.lib not libcmtd.lib).
#
# STATS=compdbg,memdbg,none
# Sets optional memory and bytecode compiler debugging code added
# to the core. The default is for none. Any combination of the
# above may be used (comma separated). 'none' will over-ride
# everything to nothing.
#
# compdbg = Enables byte compilation logging.
# memdbg = Enables the debugging memory allocator.
#
# CHECKS=64bit,fullwarn,nodep,none
# Sets special macros for checking compatibility.
#
# 64bit = Enable 64bit portability warnings (if available)
# fullwarn = Builds with full compiler and link warnings enabled.
# Very verbose.
# nodep = Turns off compatibility macros to ensure the extension
# isn't being built with deprecated functions.
#
# MACHINE=(ALPHA|AMD64|IA64|IX86)
# Set the machine type used for the compiler, linker, and
# resource compiler. This hook is needed to tell the tools
# when alternate platforms are requested. IX86 is the default
# when not specified. If the CPU environment variable has been
# set (ie: recent Platform SDK) then MACHINE is set from CPU.
#
# TMP_DIR=
# OUT_DIR=
# Hooks to allow the intermediate and output directories to be
# changed. $(OUT_DIR) is assumed to be
# $(BINROOT)\(Release|Debug) based on if symbols are requested.
# $(TMP_DIR) will de $(OUT_DIR)\ by default.
#
# TESTPAT=
# Reads the tests requested to be run from this file.
#
# 5) Examples:
#
# Basic syntax of calling nmake looks like this:
# nmake [-nologo] -f makefile.vc [target|macrodef [target|macrodef] [...]]
#
# Using VC++:
#
# Standard (in cmd.exe, no frills, x86)
# c:\nsf_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat
# Setting environment for using Microsoft Visual C++ tools.
# c:\nsf_src\win\>nmake -f makefile.vc TCLDIR=c:\tcl_src\
# c:\nsf_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl
#
# Building for Win64 (IA64)
# c:\nsf_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat
# Setting environment for using Microsoft Visual C++ tools.
# c:\nsf_src\win\>c:\progra~1\platfo~1\setenv.bat /pre64 /RETAIL
# Targeting Windows pre64 RETAIL
# c:\nsf_src\win\>nmake -f makefile.vc MACHINE=IA64
#
# Using Microsoft Visual Compiler 11+:
# see also http://msdn.microsoft.com/en-us/library/vstudio/x4d2c09s.aspx
#
# Standard (in cmd.exe, no frills, x86)
# c:\nsf_src\win>"c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86
# c:\nsf_src\win\>nmake -f makefile.vc all TCLDIR=c:\tcl_src\ MACHINE=X86
# c:\nsf_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl
#
# Building for Win64 (AMD64)
# c:\nsf_src\win>"c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64
# c:\nsf_src\win\>nmake -f makefile.vc all TCLDIR=c:\tcl_src\ MACHINE=AMD64
# c:\nsf_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl
#
#------------------------------------------------------------------------------
#==============================================================================
#------------------------------------------------------------------------------
!if !exist("makefile.vc")
MSG = ^
You must run this makefile only from the directory it is in.^
Please `cd` to its location first.
!error $(MSG)
!endif
#-------------------------------------------------------------------------
# Project specific information (EDIT)
#
# You should edit this with the name and version of your project. This
# information is used to generate the name of the package library and
# it's install location.
#
# For example, the sample extension is going to build sample05.dll and
# would install it into $(INSTALLDIR)\lib\sample05
#
# You need to specify the object files that need to be linked into your
# binary here.
#
#-------------------------------------------------------------------------
PROJECT = nsf
# Uncomment the following line if this is a Tk extension.
#PROJECT_REQUIRES_TK=1
!include "pkg.vc"
DOTVERSION = $(PACKAGE_VERSION:"=) #"
VERSION = $(PACKAGE_MAJOR)$(PACKAGE_MINOR)
STUBPREFIX = $(PROJECT)stub
!include "rules.vc"
PRJ_CFLAGS = -DNSF_VERSION=\"$(DOTVERSION)\" -DNSF_PATCHLEVEL=\"$(PACKAGE_VERSION)\" -DNSF_COMMIT=\"$(NSF_COMMIT)\" -DHAVE_INTPTR_T -DHAVE_UINTPTR_T
DLLOBJS = \
$(TMP_DIR)\nsf.obj \
$(TMP_DIR)\nsfError.obj \
$(TMP_DIR)\nsfObjectData.obj \
$(TMP_DIR)\nsfProfile.obj \
$(TMP_DIR)\nsfDebug.obj \
$(TMP_DIR)\nsfUtil.obj \
$(TMP_DIR)\nsfObj.obj \
$(TMP_DIR)\nsfPointer.obj \
$(TMP_DIR)\nsfShadow.obj \
$(TMP_DIR)\nsfCompile.obj \
$(TMP_DIR)\aolstub.obj \
$(TMP_DIR)\nsfStubInit.obj \
$(TMP_DIR)\nsfEnumerationType.obj \
$(TMP_DIR)\nsfCmdDefinitions.obj \
$(TMP_DIR)\nsfFunPtrHashTable.obj
EXTESTS = \
$(ROOT)\doc\example-scripts\bagel.tcl \
$(ROOT)\doc\example-scripts\container.tcl \
$(ROOT)\doc\example-scripts\rosetta-abstract-type.tcl \
$(ROOT)\doc\example-scripts\rosetta-classes.tcl \
$(ROOT)\doc\example-scripts\rosetta-constraint-genericity.tcl \
$(ROOT)\doc\example-scripts\rosetta-delegates.tcl \
$(ROOT)\doc\example-scripts\rosetta-polymorphism.tcl \
$(ROOT)\doc\example-scripts\rosetta-serialization.tcl \
$(ROOT)\doc\example-scripts\rosetta-singleton.tcl \
$(ROOT)\doc\example-scripts\rosetta-sudoku.tcl \
$(ROOT)\doc\example-scripts\rosetta-unknown-method.tcl \
$(ROOT)\doc\example-scripts\ruby-mixins.tcl \
$(ROOT)\doc\example-scripts\traits-composite.tcl \
$(ROOT)\doc\example-scripts\traits-simple.tcl \
$(ROOT)\doc\example-scripts\rosetta-tokenizer.tcl \
$(ROOT)\doc\example-scripts\rosetta-tree.tcl \
$(ROOT)\doc\example-scripts\rosetta-multiple-distinct.tcl \
$(ROOT)\doc\example-scripts\rosetta-add-variable.tcl \
$(ROOT)\doc\example-scripts\rosetta-clone.tcl \
$(ROOT)\doc\example-scripts\rosetta-multiple-inheritance.tcl \
$(ROOT)\doc\example-scripts\rosetta-single-inheritance.tcl
PRJTESTS = \
$(ROOT)\tests\object-system.test \
$(ROOT)\tests\alias.test \
$(ROOT)\tests\returns.test \
$(ROOT)\tests\cget.test \
$(ROOT)\tests\method-parameter.test \
$(ROOT)\tests\serialize.test \
$(ROOT)\tests\contains.test \
$(ROOT)\tests\method-require.test \
$(ROOT)\tests\submethods.test \
$(ROOT)\tests\destroy.test \
$(ROOT)\tests\methods.test \
$(ROOT)\tests\disposition.test \
$(ROOT)\tests\mixinof.test \
$(ROOT)\tests\tcl86.test \
$(ROOT)\tests\tcloo.test \
$(ROOT)\tests\forward.test \
$(ROOT)\tests\var-access.test \
$(ROOT)\tests\info-method.test \
$(ROOT)\tests\varresolution.test \
$(ROOT)\tests\interceptor-slot.test\
$(ROOT)\tests\properties.test \
$(ROOT)\tests\volatile.test \
$(ROOT)\tests\interp.test \
$(ROOT)\tests\protected.test \
$(ROOT)\tests\parameters.test \
$(ROOT)\tests\plain-object-method.test \
$(ROOT)\tests\class-method.test \
$(ROOT)\tests\nsf-cmd.test \
$(ROOT)\tests\accessor.test \
$(ROOT)\tests\linearization.test \
$(ROOT)\tests\traits.test \
$(ROOT)\tests\info-variable.test \
$(EXTESTS)
PRJHEADERS =
#-------------------------------------------------------------------------
# Target names and paths ( shouldn't need changing )
#-------------------------------------------------------------------------
BINROOT = .
# ROOT = ..
PRJIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib
PRJLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT)
PRJLIB = $(OUT_DIR)\$(PRJLIBNAME)
PRJSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib
PRJSTUBLIB = $(OUT_DIR)\$(PRJSTUBLIBNAME)
### Make sure we use backslash only.
PRJ_INSTALL_DIR = $(_INSTALLDIR)\$(PROJECT)$(DOTVERSION)
LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR)
BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR)
DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR)
SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR)
INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\include
### The following paths CANNOT have spaces in them.
GENERICDIR = $(ROOT)\generic
WINDIR = $(ROOT)\win
LIBDIR = $(ROOT)\library
DOCDIR = $(ROOT)\doc
COMPATDIR = $(ROOT)\compat
UTILDIR = $(ROOT)\apps\utils
STUBSDIR = $(GENERICDIR)\stubs$(TCL_DOTVERSION)
#---------------------------------------------------------------------
# Compile flags
#---------------------------------------------------------------------
!if !$(DEBUG)
!if $(OPTIMIZING)
### This cranks the optimization level to maximize speed
cdebug = $(OPTIMIZATIONS)
!else
cdebug =
!endif
!else if "$(MACHINE)" == "IA64"
### Warnings are too many, can't support warnings into errors.
cdebug = -Zi -Od $(DEBUGFLAGS)
!else
cdebug = -Zi -WX $(DEBUGFLAGS)
!endif
### Declarations common to all compiler options
cwarn = $(WARNINGS) -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
cflags = -nologo -c $(COMPILERFLAGS) -DBUILD_$(PROJECT) $(cwarn) -Fp$(TMP_DIR)^\
!if $(MSVCRT)
!if $(DEBUG) && !$(UNCHECKED)
crt = -MDd
!else
crt = -MD
!endif
!else
!if $(DEBUG) && !$(UNCHECKED)
crt = -MTd
!else
crt = -MT
!endif
!endif
cflags = $(cflags) -DMODULE_SCOPE=extern
!if !$(STATIC_BUILD)
cflags = $(cflags) -DUSE_TCL_STUBS
!if defined(TKSTUBLIB)
cflags = $(cflags) -DUSE_TK_STUBS
!endif
!endif
INCLUDES = $(TCL_INCLUDES) -I"$(WINDIR)" -I"$(GENERICDIR)"
BASE_CFLAGS = $(cflags) $(cdebug) $(crt) $(INCLUDES)
CON_CFLAGS = $(cflags) $(cdebug) $(crt) -DCONSOLE
TCL_CFLAGS = -DPACKAGE_NAME="\"$(PROJECT)\"" \
-DPACKAGE_VERSION="\"$(DOTVERSION)\"" \
-DBUILD_$(PROJECT) \
$(BASE_CFLAGS) $(OPTDEFINES) $(PRJ_CFLAGS)
#---------------------------------------------------------------------
# Link flags
#---------------------------------------------------------------------
!if $(DEBUG)
ldebug = -debug -debugtype:cv
!if $(MSVCRT)
ldebug = $(ldebug) -nodefaultlib:msvcrt
!endif
!else
ldebug = -release -opt:ref -opt:noicf
!endif
### Declarations common to all linker options
lflags = -nologo -machine:$(MACHINE) $(LINKERFLAGS) $(ldebug)
!if $(PROFILE)
lflags = $(lflags) -profile
!endif
dlllflags = $(lflags) -dll
conlflags = $(lflags) -subsystem:console
guilflags = $(lflags) -subsystem:windows
!if !$(STATIC_BUILD)
baselibs = $(TCLSTUBLIB)
!if defined(TKSTUBLIB)
baselibs = $(baselibs) $(TKSTUBLIB)
!endif
!endif
# Avoid 'unresolved external symbol __security_cookie' errors.
# c.f. http://support.microsoft.com/?id=894573
!if "$(MACHINE)" == "IA64" || "$(MACHINE)" == "AMD64"
!if $(VCVERSION) > 1399 && $(VCVERSION) < 1500
baselibs = $(baselibs) bufferoverflowU.lib
!endif
!endif
baselibs = $(baselibs) user32.lib gdi32.lib
#---------------------------------------------------------------------
# TclTest flags
#---------------------------------------------------------------------
!if "$(TESTPAT)" != ""
TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
!endif
#---------------------------------------------------------------------
# Project specific targets (EDIT)
#---------------------------------------------------------------------
all: setup $(PROJECT)
$(PROJECT): setup pkgIndex $(PRJLIB)
install: install-binaries install-libraries install-docs
pkgIndex: $(OUT_DIR)\pkgIndex.tcl
test: setup $(PROJECT)
@set TCL_LIBRARY=$(TCL_LIBRARY:\=/)
@set TCLLIBPATH=.
@set TCL_PKG_PREFER_LATEST=1
@$(CPY) $(ROOT)\library library /e
!if $(TCLINSTALL)
@set PATH=$(_TCLDIR)\bin;$(PATH)
!else
@set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH)
!endif
!if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE"
for %i in ($(PRJTESTS)) do \
$(DEBUGGER) $(TCLSH) %i -testlog __test.log
!else
@echo Please wait while the tests are collected...
for %i in ($(PRJTESTS)) do \
$(DEBUGGER) $(TCLSH) %i -testlog __test.log >> tests.log
type tests.log | more
!endif
@$(TCLSH) "$(ROOT)/tests/summary.tcl" -title NX+XOTcl -testlog __test.log
@rd library /s /q
@del __test.log
shell: setup $(PROJECT)
@set VLERQ_LIBRARY=$(LIBDIR:\=/)
@set TCL_LIBRARY=$(TCL_LIBRARY:\=/)
@set TCLLIBPATH=.
@set TCL_PKG_PREFER_LATEST=1
!if $(TCLINSTALL)
@set PATH=$(_TCLDIR)\bin;$(PATH)
!else
@set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH)
!endif
@echo lappend auto_path $(ROOT:\=/) .; puts $$auto_path; package req nx::shell 1.1; exit [nx::shell run $$argc $$argv;] > nsfshell.tcl
$(DEBUGGER) $(TCLSH) nsfshell.tcl $(SCRIPT)
@del nsfshell.tcl
setup:
@if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR)
@if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR)
# See /win/coffbase.txt for extension base addresses.
$(PRJLIB): $(DLLOBJS)
!if $(STATIC_BUILD)
$(lib32) -nologo -out:$@ @<<
$**
<<
!else
$(link32) $(dlllflags) -out:$@ $(baselibs) @<<
$**
<<
$(_VC_MANIFEST_EMBED_DLL)
-@del $*.exp
!endif
$(PRJSTUBLIB): $(PRJSTUBOBJS)
$(lib32) -nologo -out:$@ $(PRJSTUBOBJS)
#---------------------------------------------------------------------
# Implicit rules
#---------------------------------------------------------------------
{$(WINDIR)}.c{$(TMP_DIR)}.obj::
$(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<<
$<
<<
{$(GENERICDIR)}.c{$(TMP_DIR)}.obj::
$(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<<
$<
<<
{$(STUBSDIR)}.c{$(TMP_DIR)}.obj::
$(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<<
$<
<<
{$(COMPATDIR)}.c{$(TMP_DIR)}.obj::
$(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<<
$<
<<
{$(WINDIR)}.rc{$(TMP_DIR)}.res:
$(rc32) -fo $@ -r -i "$(GENERICDIR)" -D__WIN32__ \
-DCOMMAVERSION=$(DOTVERSION:.=,),0 \
-DDOTVERSION=\"$(DOTVERSION)\" \
-DVERSION=\"$(VERSION)$(SUFX)\" \
!if $(DEBUG)
-d DEBUG \
!endif
!if $(TCL_THREADS)
-d TCL_THREADS \
!endif
!if $(STATIC_BUILD)
-d STATIC_BUILD \
!endif
$<
.SUFFIXES:
.SUFFIXES:.c .rc
#-------------------------------------------------------------------------
# Explicit dependency rules
#
#-------------------------------------------------------------------------
$(OUT_DIR)\pkgIndex.tcl:
@set TCL_PKG_PREFER_LATEST=1
@echo package ifneeded $(PROJECT) $(DOTVERSION) \
[list load [file join $$dir $(PRJLIBNAME)]] > $@
@for /d %d in ($(LIBDIR)\*) do \
@pushd %d &\
@$(TCLSH) $(LIBDIR)\lib\mkIndex.tcl -dir %d &\
@popd
#---------------------------------------------------------------------
# Installation. (EDIT)
#
# You may need to modify this section to reflect the final distribution
# of your files and possibly to generate documentation.
#
#---------------------------------------------------------------------
install-binaries:
@echo Installing binaries to '$(SCRIPT_INSTALL_DIR)'
@if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)"
@$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL
@if not exist "$(INCLUDE_INSTALL_DIR)" mkdir "$(INCLUDE_INSTALL_DIR)"
@echo Installing header files to "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(GENERICDIR)\nsf.h" "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(GENERICDIR)\nsfInt.h" "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(STUBSDIR)\nsfDecls.h" "$(INCLUDE_INSTALL_DIR)"
@$(CPY) "$(STUBSDIR)\nsfIntDecls.h" "$(INCLUDE_INSTALL_DIR)"
@echo Installing package index in '$(SCRIPT_INSTALL_DIR)'
@$(CPY) $(OUT_DIR)\pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"
install-libraries:
@echo Installing libraries to '$(SCRIPT_INSTALL_DIR)'
@echo Installing NX
@if not exist "$(SCRIPT_INSTALL_DIR)"\nx mkdir "$(SCRIPT_INSTALL_DIR)"\nx
@$(CPY) $(LIBDIR)\nx\*.tcl "$(SCRIPT_INSTALL_DIR)"\nx
@echo Installing serialize
@if not exist "$(SCRIPT_INSTALL_DIR)\serialize" mkdir "$(SCRIPT_INSTALL_DIR)\serialize"
@$(CPY) $(LIBDIR)\serialize\*.tcl "$(SCRIPT_INSTALL_DIR)\serialize"
@echo Installing XOTcl2
@if not exist "$(SCRIPT_INSTALL_DIR)\xotcl" mkdir "$(SCRIPT_INSTALL_DIR)\xotcl"
@$(CPY) $(LIBDIR)\xotcl\apps "$(SCRIPT_INSTALL_DIR)\xotcl\apps" /e
@$(CPY) $(LIBDIR)\xotcl\library "$(SCRIPT_INSTALL_DIR)\xotcl\library" /e
# @$(CPY) $(LIBDIR)\xotcl\xo* "$(SCRIPT_INSTALL_DIR)\xotcl"
@echo Installing NX libs
@if not exist "$(SCRIPT_INSTALL_DIR)\lib" mkdir "$(SCRIPT_INSTALL_DIR)\lib"
@$(CPY) $(LIBDIR)\lib\*.tcl "$(SCRIPT_INSTALL_DIR)\lib"
@type "$(LIBDIR)\pkgIndex.tcl" >> "$(SCRIPT_INSTALL_DIR)"\pkgIndex.tcl
install-docs:
@echo Installing documentation files to '$(DOC_INSTALL_DIR)'
# @if exist $(DOCDIR) $(CPY) $(DOCDIR)\*.n "$(DOC_INSTALL_DIR)"
#---------------------------------------------------------------------
# Clean up
#---------------------------------------------------------------------
clean:
@if exist $(TMP_DIR)\nul $(RMDIR) $(TMP_DIR)
@if exist $(WINDIR)\version.vc del $(WINDIR)\version.vc
@if exist $(WINDIR)\versions.vc del $(WINDIR)\versions.vc
@if exist $(WINDIR)\vercl.i del $(WINDIR)\vercl.i
@if exist $(WINDIR)\vercl.x del $(WINDIR)\vercl.x
@if exist $(WINDIR)\_junk.pch del $(WINDIR)\_junk.pch
realclean: clean
@if exist $(OUT_DIR)\nul $(RMDIR) $(OUT_DIR)
distclean: realclean
@if exist $(WINDIR)\nmakehlp.exe del $(WINDIR)\nmakehlp.exe
@if exist $(WINDIR)\nmakehlp.obj del $(WINDIR)\nmakehlp.obj
./nsf2.4.0/win/nmakehlp.c 000644 000766 000024 00000042172 13774055457 015757 0 ustar 00neumann staff 000000 000000 /*
* ----------------------------------------------------------------------------
* nmakehlp.c --
*
* This is used to fix limitations within nmake and the environment.
*
* Copyright (c) 2002 by David Gravereaux.
* Copyright (c) 2006 by Pat Thoyts
*
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
* ----------------------------------------------------------------------------
*/
#define _CRT_SECURE_NO_DEPRECATE
#include
#define NO_SHLWAPI_GDI
#define NO_SHLWAPI_STREAM
#define NO_SHLWAPI_REG
#include
#pragma comment (lib, "user32.lib")
#pragma comment (lib, "kernel32.lib")
#pragma comment (lib, "shlwapi.lib")
#include
#include
/*
* This library is required for x64 builds with _some_ versions of MSVC
*/
#if defined(_M_IA64) || defined(_M_AMD64)
#if _MSC_VER >= 1400 && _MSC_VER < 1500
#pragma comment(lib, "bufferoverflowU")
#endif
#endif
/* ISO hack for dumb VC++ */
#ifdef _MSC_VER
#define snprintf _snprintf
#endif
/* protos */
static int CheckForCompilerFeature(const char *option);
static int CheckForLinkerFeature(const char *option);
static int IsIn(const char *string, const char *substring);
static int SubstituteFile(const char *substs, const char *filename);
static int QualifyPath(const char *path);
static const char *GetVersionFromFile(const char *filename, const char *match, int numdots);
static DWORD WINAPI ReadFromPipe(LPVOID args);
/* globals */
#define CHUNK 25
#define STATICBUFFERSIZE 1000
typedef struct {
HANDLE pipe;
char buffer[STATICBUFFERSIZE];
} pipeinfo;
pipeinfo Out = {INVALID_HANDLE_VALUE, '\0'};
pipeinfo Err = {INVALID_HANDLE_VALUE, '\0'};
/*
* exitcodes: 0 == no, 1 == yes, 2 == error
*/
int
main(
int argc,
char *argv[])
{
char msg[300];
DWORD dwWritten;
int chars;
/*
* Make sure children (cl.exe and link.exe) are kept quiet.
*/
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
/*
* Make sure the compiler and linker aren't effected by the outside world.
*/
SetEnvironmentVariable("CL", "");
SetEnvironmentVariable("LINK", "");
if (argc > 1 && *argv[1] == '-') {
switch (*(argv[1]+1)) {
case 'c':
if (argc != 3) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -c \n"
"Tests for whether cl.exe supports an option\n"
"exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 2;
}
return CheckForCompilerFeature(argv[2]);
case 'l':
if (argc != 3) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -l \n"
"Tests for whether link.exe supports an option\n"
"exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 2;
}
return CheckForLinkerFeature(argv[2]);
case 'f':
if (argc == 2) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -f \n"
"Find a substring within another\n"
"exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 2;
} else if (argc == 3) {
/*
* If the string is blank, there is no match.
*/
return 0;
} else {
return IsIn(argv[2], argv[3]);
}
case 's':
if (argc == 2) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -s \n"
"Perform a set of string map type substutitions on a file\n"
"exitcodes: 0\n",
argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 2;
}
return SubstituteFile(argv[2], argv[3]);
case 'V':
if (argc != 4) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -V filename matchstring\n"
"Extract a version from a file:\n"
"eg: pkgIndex.tcl \"package ifneeded http\"",
argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 0;
}
printf("%s\n", GetVersionFromFile(argv[2], argv[3], *(argv[1]+2) - '0'));
return 0;
case 'Q':
if (argc != 3) {
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -Q path\n"
"Emit the fully qualified path\n"
"exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars,
&dwWritten, NULL);
return 2;
}
return QualifyPath(argv[2]);
}
}
chars = snprintf(msg, sizeof(msg) - 1,
"usage: %s -c|-f|-l|-Q|-s|-V ...\n"
"This is a little helper app to equalize shell differences between WinNT and\n"
"Win9x and get nmake.exe to accomplish its job.\n",
argv[0]);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL);
return 2;
}
static int
CheckForCompilerFeature(
const char *option)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
SECURITY_ATTRIBUTES sa;
DWORD threadID;
char msg[300];
BOOL ok;
HANDLE hProcess, h, pipeThreads[2];
char cmdline[100];
hProcess = GetCurrentProcess();
ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = INVALID_HANDLE_VALUE;
ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES));
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
/*
* Create a non-inheritible pipe.
*/
CreatePipe(&Out.pipe, &h, &sa, 0);
/*
* Dupe the write side, make it inheritible, and close the original.
*/
DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, 0, TRUE,
DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
/*
* Same as above, but for the error side.
*/
CreatePipe(&Err.pipe, &h, &sa, 0);
DuplicateHandle(hProcess, h, hProcess, &si.hStdError, 0, TRUE,
DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
/*
* Base command line.
*/
lstrcpy(cmdline, "cl.exe -nologo -c -TC -Zs -X -Fp.\\_junk.pch ");
/*
* Append our option for testing
*/
lstrcat(cmdline, option);
/*
* Filename to compile, which exists, but is nothing and empty.
*/
lstrcat(cmdline, " .\\nul");
ok = CreateProcess(
NULL, /* Module name. */
cmdline, /* Command line. */
NULL, /* Process handle not inheritable. */
NULL, /* Thread handle not inheritable. */
TRUE, /* yes, inherit handles. */
DETACHED_PROCESS, /* No console for you. */
NULL, /* Use parent's environment block. */
NULL, /* Use parent's starting directory. */
&si, /* Pointer to STARTUPINFO structure. */
&pi); /* Pointer to PROCESS_INFORMATION structure. */
if (ok == 0) {
DWORD err = GetLastError();
int chars = snprintf(msg, sizeof(msg) - 1,
"Tried to launch: \"%s\", but got error [%u]: ", cmdline, err);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|
FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID)&msg[chars],
(300-chars), 0);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, lstrlen(msg), &err, NULL);
return 2;
}
/*
* Close our references to the write handles that have now been inherited.
*/
CloseHandle(si.hStdOutput);
CloseHandle(si.hStdError);
WaitForInputIdle(pi.hProcess, 5000);
CloseHandle(pi.hThread);
/*
* Start the pipe reader threads.
*/
pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID);
pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID);
/*
* Block waiting for the process to end.
*/
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
/*
* Wait for our pipe to get done reading, should it be a little slow.
*/
WaitForMultipleObjects(2, pipeThreads, TRUE, 500);
CloseHandle(pipeThreads[0]);
CloseHandle(pipeThreads[1]);
/*
* Look for the commandline warning code in both streams.
* - in MSVC 6 & 7 we get D4002, in MSVC 8 we get D9002.
*/
return !(strstr(Out.buffer, "D4002") != NULL
|| strstr(Err.buffer, "D4002") != NULL
|| strstr(Out.buffer, "D9002") != NULL
|| strstr(Err.buffer, "D9002") != NULL
|| strstr(Out.buffer, "D2021") != NULL
|| strstr(Err.buffer, "D2021") != NULL);
}
static int
CheckForLinkerFeature(
const char *option)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
SECURITY_ATTRIBUTES sa;
DWORD threadID;
char msg[300];
BOOL ok;
HANDLE hProcess, h, pipeThreads[2];
char cmdline[100];
hProcess = GetCurrentProcess();
ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = INVALID_HANDLE_VALUE;
ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES));
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
/*
* Create a non-inheritible pipe.
*/
CreatePipe(&Out.pipe, &h, &sa, 0);
/*
* Dupe the write side, make it inheritible, and close the original.
*/
DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, 0, TRUE,
DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
/*
* Same as above, but for the error side.
*/
CreatePipe(&Err.pipe, &h, &sa, 0);
DuplicateHandle(hProcess, h, hProcess, &si.hStdError, 0, TRUE,
DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
/*
* Base command line.
*/
lstrcpy(cmdline, "link.exe -nologo ");
/*
* Append our option for testing.
*/
lstrcat(cmdline, option);
ok = CreateProcess(
NULL, /* Module name. */
cmdline, /* Command line. */
NULL, /* Process handle not inheritable. */
NULL, /* Thread handle not inheritable. */
TRUE, /* yes, inherit handles. */
DETACHED_PROCESS, /* No console for you. */
NULL, /* Use parent's environment block. */
NULL, /* Use parent's starting directory. */
&si, /* Pointer to STARTUPINFO structure. */
&pi); /* Pointer to PROCESS_INFORMATION structure. */
if (ok == 0) {
DWORD err = GetLastError();
int chars = snprintf(msg, sizeof(msg) - 1,
"Tried to launch: \"%s\", but got error [%u]: ", cmdline, err);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|
FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID)&msg[chars],
(300-chars), 0);
WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, lstrlen(msg), &err, NULL);
return 2;
}
/*
* Close our references to the write handles that have now been inherited.
*/
CloseHandle(si.hStdOutput);
CloseHandle(si.hStdError);
WaitForInputIdle(pi.hProcess, 5000);
CloseHandle(pi.hThread);
/*
* Start the pipe reader threads.
*/
pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID);
pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID);
/*
* Block waiting for the process to end.
*/
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
/*
* Wait for our pipe to get done reading, should it be a little slow.
*/
WaitForMultipleObjects(2, pipeThreads, TRUE, 500);
CloseHandle(pipeThreads[0]);
CloseHandle(pipeThreads[1]);
/*
* Look for the commandline warning code in the stderr stream.
*/
return !(strstr(Out.buffer, "LNK1117") != NULL ||
strstr(Err.buffer, "LNK1117") != NULL ||
strstr(Out.buffer, "LNK4044") != NULL ||
strstr(Err.buffer, "LNK4044") != NULL);
}
static DWORD WINAPI
ReadFromPipe(
LPVOID args)
{
pipeinfo *pi = (pipeinfo *) args;
char *lastBuf = pi->buffer;
DWORD dwRead;
BOOL ok;
again:
if (lastBuf - pi->buffer + CHUNK > STATICBUFFERSIZE) {
CloseHandle(pi->pipe);
return (DWORD)-1;
}
ok = ReadFile(pi->pipe, lastBuf, CHUNK, &dwRead, 0L);
if (!ok || dwRead == 0) {
CloseHandle(pi->pipe);
return 0;
}
lastBuf += dwRead;
goto again;
return 0; /* makes the compiler happy */
}
static int
IsIn(
const char *string,
const char *substring)
{
return (strstr(string, substring) != NULL);
}
/*
* GetVersionFromFile --
* Looks for a match string in a file and then returns the version
* following the match where a version is anything acceptable to
* package provide or package ifneeded.
*/
static const char *
GetVersionFromFile(
const char *filename,
const char *match,
int numdots)
{
size_t cbBuffer = 100;
static char szBuffer[100];
char *szResult = NULL;
FILE *fp = fopen(filename, "rt");
if (fp != NULL) {
/*
* Read data until we see our match string.
*/
while (fgets(szBuffer, cbBuffer, fp) != NULL) {
LPSTR p, q;
p = strstr(szBuffer, match);
if (p != NULL) {
/*
* Skip to first digit after the match.
*/
p += strlen(match);
while (*p && !isdigit(*p)) {
++p;
}
/*
* Find ending whitespace.
*/
q = p;
while (*q && (strchr("0123456789.ab", *q)) && ((!strchr(".ab", *q)
&& (!strchr("ab", q[-1])) || --numdots))) {
++q;
}
memcpy(szBuffer, p, q - p);
szBuffer[q-p] = 0;
szResult = szBuffer;
break;
}
}
fclose(fp);
}
return szResult;
}
/*
* List helpers for the SubstituteFile function
*/
typedef struct list_item_t {
struct list_item_t *nextPtr;
char * key;
char * value;
} list_item_t;
/* insert a list item into the list (list may be null) */
static list_item_t *
list_insert(list_item_t **listPtrPtr, const char *key, const char *value)
{
list_item_t *itemPtr = malloc(sizeof(list_item_t));
if (itemPtr != NULL) {
itemPtr->key = strdup(key);
itemPtr->value = strdup(value);
itemPtr->nextPtr = NULL;
while(*listPtrPtr) {
listPtrPtr = &(*listPtrPtr)->nextPtr;
}
*listPtrPtr = itemPtr;
}
return itemPtr;
}
static void
list_free(list_item_t **listPtrPtr)
{
list_item_t *tmpPtr, *listPtr = *listPtrPtr;
while (listPtr) {
tmpPtr = listPtr;
listPtr = listPtr->nextPtr;
free(tmpPtr->key);
free(tmpPtr->value);
free(tmpPtr);
}
}
/*
* SubstituteFile --
* As windows doesn't provide anything useful like sed and it's unreliable
* to use the tclsh you are building against (consider x-platform builds -
* eg compiling AMD64 target from IX86) we provide a simple substitution
* option here to handle autoconf style substitutions.
* The substitution file is whitespace and line delimited. The file should
* consist of lines matching the regular expression:
* \s*\S+\s+\S*$
*
* Usage is something like:
* nmakehlp -S << $** > $@
* @PACKAGE_NAME@ $(PACKAGE_NAME)
* @PACKAGE_VERSION@ $(PACKAGE_VERSION)
* <<
*/
static int
SubstituteFile(
const char *substitutions,
const char *filename)
{
size_t cbBuffer = 1024;
static char szBuffer[1024], szCopy[1024];
char *szResult = NULL;
list_item_t *substPtr = NULL;
FILE *fp, *sp;
fp = fopen(filename, "rt");
if (fp != NULL) {
/*
* Build a list of substutitions from the first filename
*/
sp = fopen(substitutions, "rt");
if (sp != NULL) {
while (fgets(szBuffer, cbBuffer, sp) != NULL) {
char *ks, *ke, *vs, *ve;
ks = szBuffer;
while (ks && *ks && isspace(*ks)) ++ks;
ke = ks;
while (ke && *ke && !isspace(*ke)) ++ke;
vs = ke;
while (vs && *vs && isspace(*vs)) ++vs;
ve = vs;
while (ve && *ve && !(*ve == '\r' || *ve == '\n')) ++ve;
*ke = 0, *ve = 0;
list_insert(&substPtr, ks, vs);
}
fclose(sp);
}
/* debug: dump the list */
#ifdef _DEBUG
{
int n = 0;
list_item_t *p = NULL;
for (p = substPtr; p != NULL; p = p->nextPtr, ++n) {
fprintf(stderr, "% 3d '%s' => '%s'\n", n, p->key, p->value);
}
}
#endif
/*
* Run the substitutions over each line of the input
*/
while (fgets(szBuffer, cbBuffer, fp) != NULL) {
list_item_t *p = NULL;
for (p = substPtr; p != NULL; p = p->nextPtr) {
char *m = strstr(szBuffer, p->key);
if (m != NULL) {
char *cp, *op, *sp;
cp = szCopy;
op = szBuffer;
while (op != m) *cp++ = *op++;
sp = p->value;
while (sp && *sp) *cp++ = *sp++;
op += strlen(p->key);
while (*op) *cp++ = *op++;
*cp = 0;
memcpy(szBuffer, szCopy, sizeof(szCopy));
}
}
printf(szBuffer);
}
list_free(&substPtr);
}
fclose(fp);
return 0;
}
/*
* QualifyPath --
*
* This composes the current working directory with a provided path
* and returns the fully qualified and normalized path.
* Mostly needed to setup paths for testing.
*/
static int
QualifyPath(
const char *szPath)
{
char szCwd[MAX_PATH + 1];
char szTmp[MAX_PATH + 1];
char *p;
GetCurrentDirectory(MAX_PATH, szCwd);
while ((p = strchr(szPath, '/')) && *p)
*p = '\\';
PathCombine(szTmp, szCwd, szPath);
PathCanonicalize(szCwd, szTmp);
printf("%s\n", szCwd);
return 0;
}
/*
* Local Variables:
* mode: c
* c-basic-offset: 4
* fill-column: 78
* indent-tabs-mode: t
* tab-width: 8
* End:
*/
./nsf2.4.0/win/rules.vc 000644 000766 000024 00000153342 14274463622 015473 0 ustar 00neumann staff 000000 000000 #------------------------------------------------------------- -*- makefile -*-
# rules.vc --
#
# Part of the nmake based build system for Tcl and its extensions.
# This file does all the hard work in terms of parsing build options,
# compiler switches, defining common targets and macros. The Tcl makefile
# directly includes this. Extensions include it via "rules-ext.vc".
#
# See TIP 477 (https://core.tcl.tk/tips/doc/trunk/tip/477.md) for
# detailed documentation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# Copyright (c) 2001-2003 David Gravereaux.
# Copyright (c) 2003-2008 Patrick Thoyts
# Copyright (c) 2017 Ashok P. Nadkarni
#------------------------------------------------------------------------------
!ifndef _RULES_VC
_RULES_VC = 1
# The following macros define the version of the rules.vc nmake build system
# For modifications that are not backward-compatible, you *must* change
# the major version.
RULES_VERSION_MAJOR = 1
RULES_VERSION_MINOR = 0
# The PROJECT macro must be defined by parent makefile.
!if "$(PROJECT)" == ""
!error *** Error: Macro PROJECT not defined! Please define it before including rules.vc
!endif
!if "$(PRJ_PACKAGE_TCLNAME)" == ""
PRJ_PACKAGE_TCLNAME = $(PROJECT)
!endif
# Also special case Tcl and Tk to save some typing later
DOING_TCL = 0
DOING_TK = 0
!if "$(PROJECT)" == "tcl"
DOING_TCL = 1
!elseif "$(PROJECT)" == "tk"
DOING_TK = 1
!endif
!ifndef NEED_TK
# Backwards compatibility
!ifdef PROJECT_REQUIRES_TK
NEED_TK = $(PROJECT_REQUIRES_TK)
!else
NEED_TK = 0
!endif
!endif
!ifndef NEED_TCL_SOURCE
NEED_TCL_SOURCE = 0
!endif
!ifdef NEED_TK_SOURCE
!if $(NEED_TK_SOURCE)
NEED_TK = 1
!endif
!else
NEED_TK_SOURCE = 0
!endif
################################################################
# Nmake is a pretty weak environment in syntax and capabilities
# so this file is necessarily verbose. It's broken down into
# the following parts.
#
# 0. Sanity check that compiler environment is set up and initialize
# any built-in settings from the parent makefile
# 1. First define the external tools used for compiling, copying etc.
# as this is independent of everything else.
# 2. Figure out our build structure in terms of the directory, whether
# we are building Tcl or an extension, etc.
# 3. Determine the compiler and linker versions
# 4. Build the nmakehlp helper application
# 5. Determine the supported compiler options and features
# 6. Parse the OPTS macro value for user-specified build configuration
# 7. Parse the STATS macro value for statistics instrumentation
# 8. Parse the CHECKS macro for additional compilation checks
# 9. Extract Tcl, and possibly Tk, version numbers from the headers
# 10. Based on this selected configuration, construct the output
# directory and file paths
# 11. Construct the paths where the package is to be installed
# 12. Set up the actual options passed to compiler and linker based
# on the information gathered above.
# 13. Define some standard build targets and implicit rules. These may
# be optionally disabled by the parent makefile.
# 14. (For extensions only.) Compare the configuration of the target
# Tcl and the extensions and warn against discrepancies.
#
# One final note about the macro names used. They are as they are
# for historical reasons. We would like legacy extensions to
# continue to work with this make include file so be wary of
# changing them for consistency or clarity.
# 0. Sanity check compiler environment
# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCINSTALLDIR) && !defined(MSSDK) && !defined(WINDOWSSDKDIR)
MSG = ^
Visual C++ compiler environment not initialized.
!error $(MSG)
!endif
# We need to run from the directory the parent makefile is located in.
# nmake does not tell us what makefile was used to invoke it so parent
# makefile has to set the MAKEFILEVC macro or we just make a guess and
# warn if we think that is not the case.
!if "$(MAKEFILEVC)" == ""
!if exist("$(PROJECT).vc")
MAKEFILEVC = $(PROJECT).vc
!elseif exist("makefile.vc")
MAKEFILEVC = makefile.vc
!endif
!endif # "$(MAKEFILEVC)" == ""
!if !exist("$(MAKEFILEVC)")
MSG = ^
You must run nmake from the directory containing the project makefile.^
If you are doing that and getting this message, set the MAKEFILEVC^
macro to the name of the project makefile.
!message WARNING: $(MSG)
!endif
################################################################
# 1. Define external programs being used
#----------------------------------------------------------
# Set the proper copy method to avoid overwrite questions
# to the user when copying files and selecting the right
# "delete all" method.
#----------------------------------------------------------
RMDIR = rmdir /S /Q
CPY = xcopy /i /y >NUL
CPYDIR = xcopy /e /i /y >NUL
COPY = copy /y >NUL
MKDIR = mkdir
######################################################################
# 2. Figure out our build environment in terms of what we're building.
#
# (a) Tcl itself
# (b) Tk
# (c) a Tcl extension using libraries/includes from an *installed* Tcl
# (d) a Tcl extension using libraries/includes from Tcl source directory
#
# This last is needed because some extensions still need
# some Tcl interfaces that are not publicly exposed.
#
# The fragment will set the following macros:
# ROOT - root of this module sources
# COMPATDIR - source directory that holds compatibility sources
# DOCDIR - source directory containing documentation files
# GENERICDIR - platform-independent source directory
# WINDIR - Windows-specific source directory
# TESTDIR - directory containing test files
# TOOLSDIR - directory containing build tools
# _TCLDIR - root of the Tcl installation OR the Tcl sources. Not set
# when building Tcl itself.
# _INSTALLDIR - native form of the installation path. For Tcl
# this will be the root of the Tcl installation. For extensions
# this will be the lib directory under the root.
# TCLINSTALL - set to 1 if _TCLDIR refers to
# headers and libraries from an installed Tcl, and 0 if built against
# Tcl sources. Not set when building Tcl itself. Yes, not very well
# named.
# _TCL_H - native path to the tcl.h file
#
# If Tk is involved, also sets the following
# _TKDIR - native form Tk installation OR Tk source. Not set if building
# Tk itself.
# TKINSTALL - set 1 if _TKDIR refers to installed Tk and 0 if Tk sources
# _TK_H - native path to the tk.h file
# Root directory for sources and assumed subdirectories
ROOT = $(MAKEDIR)\..
# The following paths CANNOT have spaces in them as they appear on the
# left side of implicit rules.
!ifndef COMPATDIR
COMPATDIR = $(ROOT)\compat
!endif
!ifndef DOCDIR
DOCDIR = $(ROOT)\doc
!endif
!ifndef GENERICDIR
GENERICDIR = $(ROOT)\generic
!endif
!ifndef TOOLSDIR
TOOLSDIR = $(ROOT)\tools
!endif
!ifndef TESTDIR
TESTDIR = $(ROOT)\tests
!endif
!ifndef LIBDIR
!if exist("$(ROOT)\library")
LIBDIR = $(ROOT)\library
!else
LIBDIR = $(ROOT)\lib
!endif
!endif
!ifndef DEMODIR
!if exist("$(LIBDIR)\demos")
DEMODIR = $(LIBDIR)\demos
!else
DEMODIR = $(ROOT)\demos
!endif
!endif # ifndef DEMODIR
# Do NOT enclose WINDIR in a !ifndef because Windows always defines
# WINDIR env var to point to c:\windows!
# TBD - This is a potentially dangerous conflict, rename WINDIR to
# something else
WINDIR = $(ROOT)\win
!ifndef RCDIR
!if exist("$(WINDIR)\rc")
RCDIR = $(WINDIR)\rc
!else
RCDIR = $(WINDIR)
!endif
!endif
RCDIR = $(RCDIR:/=\)
# The target directory where the built packages and binaries will be installed.
# INSTALLDIR is the (optional) path specified by the user.
# _INSTALLDIR is INSTALLDIR using the backslash separator syntax
!ifdef INSTALLDIR
### Fix the path separators.
_INSTALLDIR = $(INSTALLDIR:/=\)
!else
### Assume the normal default.
_INSTALLDIR = $(HOMEDRIVE)\Tcl
!endif
!if $(DOING_TCL)
# BEGIN Case 2(a) - Building Tcl itself
# Only need to define _TCL_H
_TCL_H = ..\generic\tcl.h
# END Case 2(a) - Building Tcl itself
!elseif $(DOING_TK)
# BEGIN Case 2(b) - Building Tk
TCLINSTALL = 0 # Tk always builds against Tcl source, not an installed Tcl
!if "$(TCLDIR)" == ""
!if [echo TCLDIR = \> nmakehlp.out] \
|| [nmakehlp -L generic\tcl.h >> nmakehlp.out]
!error *** Could not locate Tcl source directory.
!endif
!include nmakehlp.out
!endif # TCLDIR == ""
_TCLDIR = $(TCLDIR:/=\)
_TCL_H = $(_TCLDIR)\generic\tcl.h
!if !exist("$(_TCL_H)")
!error Could not locate tcl.h. Please set the TCLDIR macro to point to the Tcl *source* directory.
!endif
_TK_H = ..\generic\tk.h
# END Case 2(b) - Building Tk
!else
# BEGIN Case 2(c) or (d) - Building an extension other than Tk
# If command line has specified Tcl location through TCLDIR, use it
# else default to the INSTALLDIR setting
!if "$(TCLDIR)" != ""
_TCLDIR = $(TCLDIR:/=\)
!if exist("$(_TCLDIR)\include\tcl.h") # Case 2(c) with TCLDIR defined
TCLINSTALL = 1
_TCL_H = $(_TCLDIR)\include\tcl.h
!elseif exist("$(_TCLDIR)\generic\tcl.h") # Case 2(d) with TCLDIR defined
TCLINSTALL = 0
_TCL_H = $(_TCLDIR)\generic\tcl.h
!endif
!else # # Case 2(c) for extensions with TCLDIR undefined
# Need to locate Tcl depending on whether it needs Tcl source or not.
# If we don't, check the INSTALLDIR for an installed Tcl first
!if exist("$(_INSTALLDIR)\include\tcl.h") && !$(NEED_TCL_SOURCE)
TCLINSTALL = 1
TCLDIR = $(_INSTALLDIR)\..
# NOTE: we will be resetting _INSTALLDIR to _INSTALLDIR/lib for extensions
# later so the \.. accounts for the /lib
_TCLDIR = $(_INSTALLDIR)\..
_TCL_H = $(_TCLDIR)\include\tcl.h
!else # exist(...) && ! $(NEED_TCL_SOURCE)
!if [echo _TCLDIR = \> nmakehlp.out] \
|| [nmakehlp -L generic\tcl.h >> nmakehlp.out]
!error *** Could not locate Tcl source directory.
!endif
!include nmakehlp.out
TCLINSTALL = 0
TCLDIR = $(_TCLDIR)
_TCL_H = $(_TCLDIR)\generic\tcl.h
!endif # exist(...) && ! $(NEED_TCL_SOURCE)
!endif # TCLDIR
!ifndef _TCL_H
MSG =^
Failed to find tcl.h. The TCLDIR macro is set incorrectly or is not set and default path does not contain tcl.h.
!error $(MSG)
!endif
# Now do the same to locate Tk headers and libs if project requires Tk
!if $(NEED_TK)
!if "$(TKDIR)" != ""
_TKDIR = $(TKDIR:/=\)
!if exist("$(_TKDIR)\include\tk.h")
TKINSTALL = 1
_TK_H = $(_TKDIR)\include\tk.h
!elseif exist("$(_TKDIR)\generic\tk.h")
TKINSTALL = 0
_TK_H = $(_TKDIR)\generic\tk.h
!endif
!else # TKDIR not defined
# Need to locate Tcl depending on whether it needs Tcl source or not.
# If we don't, check the INSTALLDIR for an installed Tcl first
!if exist("$(_INSTALLDIR)\include\tk.h") && !$(NEED_TK_SOURCE)
TKINSTALL = 1
# NOTE: we will be resetting _INSTALLDIR to _INSTALLDIR/lib for extensions
# later so the \.. accounts for the /lib
_TKDIR = $(_INSTALLDIR)\..
_TK_H = $(_TKDIR)\include\tk.h
TKDIR = $(_TKDIR)
!else # exist("$(_INSTALLDIR)\include\tk.h") && !$(NEED_TK_SOURCE)
!if [echo _TKDIR = \> nmakehlp.out] \
|| [nmakehlp -L generic\tk.h >> nmakehlp.out]
!error *** Could not locate Tk source directory.
!endif
!include nmakehlp.out
TKINSTALL = 0
TKDIR = $(_TKDIR)
_TK_H = $(_TKDIR)\generic\tk.h
!endif # exist("$(_INSTALLDIR)\include\tk.h") && !$(NEED_TK_SOURCE)
!endif # TKDIR
!ifndef _TK_H
MSG =^
Failed to find tk.h. The TKDIR macro is set incorrectly or is not set and default path does not contain tk.h.
!error $(MSG)
!endif
!endif # NEED_TK
!if $(NEED_TCL_SOURCE) && $(TCLINSTALL)
MSG = ^
*** Warning: This extension requires the source distribution of Tcl.^
*** Please set the TCLDIR macro to point to the Tcl sources.
!error $(MSG)
!endif
!if $(NEED_TK_SOURCE)
!if $(TKINSTALL)
MSG = ^
*** Warning: This extension requires the source distribution of Tk.^
*** Please set the TKDIR macro to point to the Tk sources.
!error $(MSG)
!endif
!endif
# If INSTALLDIR set to tcl installation root dir then reset to the
# lib dir for installing extensions
!if exist("$(_INSTALLDIR)\include\tcl.h")
_INSTALLDIR=$(_INSTALLDIR)\lib
!endif
# END Case 2(c) or (d) - Building an extension
!endif # if $(DOING_TCL)
################################################################
# 3. Determine compiler version and architecture
# In this section, we figure out the compiler version and the
# architecture for which we are building. This sets the
# following macros:
# VCVERSION - the internal compiler version as 1200, 1400, 1910 etc.
# This is also printed by the compiler in dotted form 19.10 etc.
# VCVER - the "marketing version", for example Visual C++ 6 for internal
# compiler version 1200. This is kept only for legacy reasons as it
# does not make sense for recent Microsoft compilers. Only used for
# output directory names.
# ARCH - set to IX86 or AMD64 depending on 32- or 64-bit target
# NATIVE_ARCH - set to IX86 or AMD64 for the host machine
# MACHINE - same as $(ARCH) - legacy
# _VC_MANIFEST_EMBED_{DLL,EXE} - commands for embedding a manifest if needed
# CFG_ENCODING - set to an character encoding.
# TBD - this is passed to compiler as TCL_CFGVAL_ENCODING but can't
# see where it is used
cc32 = $(CC) # built-in default.
link32 = link
lib32 = lib
rc32 = $(RC) # built-in default.
#----------------------------------------------------------------
# Figure out the compiler architecture and version by writing
# the C macros to a file, preprocessing them with the C
# preprocessor and reading back the created file
_HASH=^#
_VC_MANIFEST_EMBED_EXE=
_VC_MANIFEST_EMBED_DLL=
VCVER=0
!if ![echo VCVERSION=_MSC_VER > vercl.x] \
&& ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
&& ![echo ARCH=IX86 >> vercl.x] \
&& ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
&& ![echo ARCH=AMD64 >> vercl.x] \
&& ![echo $(_HASH)endif >> vercl.x] \
&& ![$(cc32) -nologo -TC -P vercl.x 2>NUL]
!include vercl.i
!if $(VCVERSION) < 1900
!if ![echo VCVER= ^\> vercl.vc] \
&& ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
!include vercl.vc
!endif
!else
# The simple calculation above does not apply to new Visual Studio releases
# Keep the compiler version in its native form.
VCVER = $(VCVERSION)
!endif
!endif
!if ![del 2>NUL /q/f vercl.x vercl.i vercl.vc]
!endif
#----------------------------------------------------------------
# The MACHINE macro is used by legacy makefiles so set it as well
!ifdef MACHINE
!if "$(MACHINE)" == "x86"
!undef MACHINE
MACHINE = IX86
!elseif "$(MACHINE)" == "x64"
!undef MACHINE
MACHINE = AMD64
!endif
!if "$(MACHINE)" != "$(ARCH)"
!error Specified MACHINE macro $(MACHINE) does not match detected target architecture $(ARCH).
!endif
!else
MACHINE=$(ARCH)
!endif
#------------------------------------------------------------
# Figure out the *host* architecture by reading the registry
!if ![reg query HKLM\Hardware\Description\System\CentralProcessor\0 /v Identifier | findstr /i x86]
NATIVE_ARCH=IX86
!else
NATIVE_ARCH=AMD64
!endif
# Since MSVC8 we must deal with manifest resources.
!if $(VCVERSION) >= 1400
_VC_MANIFEST_EMBED_EXE=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1
_VC_MANIFEST_EMBED_DLL=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2
!endif
!ifndef CFG_ENCODING
CFG_ENCODING = \"cp1252\"
!endif
################################################################
# 4. Build the nmakehlp program
# This is a helper app we need to overcome nmake's limiting
# environment. We will call out to it to get various bits of
# information about supported compiler options etc.
#
# Tcl itself will always use the nmakehlp.c program which is
# in its own source. This is the "master" copy and kept updated.
#
# Extensions built against an installed Tcl will use the installed
# copy of Tcl's nmakehlp.c if there is one and their own version
# otherwise. In the latter case, they would also be using their own
# rules.vc. Note that older versions of Tcl do not install nmakehlp.c
# or rules.vc.
#
# Extensions built against Tcl sources will use the one from the Tcl source.
#
# When building an extension using a sufficiently new version of Tcl,
# rules-ext.vc will define NMAKEHLPC appropriately to point to the
# copy of nmakehlp.c to be used.
!ifndef NMAKEHLPC
# Default to the one in the current directory (the extension's own nmakehlp.c)
NMAKEHLPC = nmakehlp.c
!if !$(DOING_TCL)
!if $(TCLINSTALL)
!if exist("$(_TCLDIR)\lib\nmake\nmakehlp.c")
NMAKEHLPC = $(_TCLDIR)\lib\nmake\nmakehlp.c
!endif
!else # ! $(TCLINSTALL)
!if exist("$(_TCLDIR)\win\nmakehlp.c")
NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c
!endif
!endif # $(TCLINSTALL)
!endif # !$(DOING_TCL)
!endif # NMAKEHLPC
# We always build nmakehlp even if it exists since we do not know
# what source it was built from.
!message *** Using $(NMAKEHLPC)
!if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul]
!endif
################################################################
# 5. Test for compiler features
# Visual C++ compiler options have changed over the years. Check
# which options are supported by the compiler in use.
#
# The following macros are set:
# OPTIMIZATIONS - the compiler flags to be used for optimized builds
# DEBUGFLAGS - the compiler flags to be used for debug builds
# LINKERFLAGS - Flags passed to the linker
#
# Note that these are the compiler settings *available*, not those
# that will be *used*. The latter depends on the OPTS macro settings
# which we have not yet parsed.
#
# Also note that some of the flags in OPTIMIZATIONS are not really
# related to optimization. They are placed there only for legacy reasons
# as some extensions expect them to be included in that macro.
# -Op improves float consistency. Note only needed for older compilers
# Newer compilers do not need or support this option.
!if [nmakehlp -c -Op]
FPOPTS = -Op
!endif
# Strict floating point semantics - present in newer compilers in lieu of -Op
!if [nmakehlp -c -fp:strict]
FPOPTS = $(FPOPTS) -fp:strict
!endif
!if "$(MACHINE)" == "IX86"
### test for pentium errata
!if [nmakehlp -c -QI0f]
!message *** Compiler has 'Pentium 0x0f fix'
FPOPTS = $(FPOPTS) -QI0f
!else
!message *** Compiler does not have 'Pentium 0x0f fix'
!endif
!endif
### test for optimizations
# /O2 optimization includes /Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy as per
# documentation. Note we do NOT want /Gs as that inserts a _chkstk
# stack probe at *every* function entry, not just those with more than
# a page of stack allocation resulting in a performance hit. However,
# /O2 documentation is misleading as its stack probes are simply the
# default page size locals allocation probes and not what is implied
# by an explicit /Gs option.
OPTIMIZATIONS = $(FPOPTS)
!if [nmakehlp -c -O2]
!message *** Compiler has 'Optimizations'
OPTIMIZING = 1
OPTIMIZATIONS = $(OPTIMIZATIONS) -O2
!else
# Legacy, really. All modern compilers support this
!message *** Compiler does not have 'Optimizations'
OPTIMIZING = 0
!endif
# Checks for buffer overflows in local arrays
!if [nmakehlp -c -GS]
OPTIMIZATIONS = $(OPTIMIZATIONS) -GS
!endif
# Link time optimization. Note that this option (potentially) makes
# generated libraries only usable by the specific VC++ version that
# created it. Requires /LTCG linker option
!if [nmakehlp -c -GL]
OPTIMIZATIONS = $(OPTIMIZATIONS) -GL
CC_GL_OPT_ENABLED = 1
!else
# In newer compilers -GL and -YX are incompatible.
!if [nmakehlp -c -YX]
OPTIMIZATIONS = $(OPTIMIZATIONS) -YX
!endif
!endif # [nmakehlp -c -GL]
DEBUGFLAGS = $(FPOPTS)
# Run time error checks. Not available or valid in a release, non-debug build
# RTC is for modern compilers, -GZ is legacy
!if [nmakehlp -c -RTC1]
DEBUGFLAGS = $(DEBUGFLAGS) -RTC1
!elseif [nmakehlp -c -GZ]
DEBUGFLAGS = $(DEBUGFLAGS) -GZ
!endif
#----------------------------------------------------------------
# Linker flags
# LINKER_TESTFLAGS are for internal use when we call nmakehlp to test
# if the linker supports a specific option. Without these flags link will
# return "LNK1561: entry point must be defined" error compiling from VS-IDE:
# They are not passed through to the actual application / extension
# link rules.
!ifndef LINKER_TESTFLAGS
LINKER_TESTFLAGS = /DLL /NOENTRY /OUT:nmakehlp.out
!endif
LINKERFLAGS =
# If compiler has enabled link time optimization, linker must too with -ltcg
!ifdef CC_GL_OPT_ENABLED
!if [nmakehlp -l -ltcg $(LINKER_TESTFLAGS)]
LINKERFLAGS = $(LINKERFLAGS) -ltcg
!endif
!endif
########################################################################
# 6. Parse the OPTS macro to work out the requested build configuration.
# Based on this, we will construct the actual switches to be passed to the
# compiler and linker using the macros defined in the previous section.
# The following macros are defined by this section based on OPTS
# STATIC_BUILD - 0 -> Tcl is to be built as a shared library
# 1 -> build as a static library and shell
# TCL_THREADS - legacy but always 1 on Windows since winsock requires it.
# DEBUG - 1 -> debug build, 0 -> release builds
# SYMBOLS - 1 -> generate PDB's, 0 -> no PDB's
# PROFILE - 1 -> generate profiling info, 0 -> no profiling
# PGO - 1 -> profile based optimization, 0 -> no
# MSVCRT - 1 -> link to dynamic C runtime even when building static Tcl build
# 0 -> link to static C runtime for static Tcl build.
# Does not impact shared Tcl builds (STATIC_BUILD == 0)
# TCL_USE_STATIC_PACKAGES - 1 -> statically link the registry and dde extensions
# in the Tcl shell. 0 -> keep them as shared libraries
# Does not impact shared Tcl builds.
# USE_THREAD_ALLOC - 1 -> Use a shared global free pool for allocation.
# 0 -> Use the non-thread allocator.
# UNCHECKED - 1 -> when doing a debug build with symbols, use the release
# C runtime, 0 -> use the debug C runtime.
# USE_STUBS - 1 -> compile to use stubs interfaces, 0 -> direct linking
# CONFIG_CHECK - 1 -> check current build configuration against Tcl
# configuration (ignored for Tcl itself)
# Further, LINKERFLAGS are modified based on above.
# Default values for all the above
STATIC_BUILD = 0
TCL_THREADS = 1
DEBUG = 0
SYMBOLS = 0
PROFILE = 0
PGO = 0
MSVCRT = 1
TCL_USE_STATIC_PACKAGES = 0
USE_THREAD_ALLOC = 1
UNCHECKED = 0
CONFIG_CHECK = 1
!if $(DOING_TCL)
USE_STUBS = 0
!else
USE_STUBS = 1
!endif
# If OPTS is not empty AND does not contain "none" which turns off all OPTS
# set the above macros based on OPTS content
!if "$(OPTS)" != "" && ![nmakehlp -f "$(OPTS)" "none"]
# OPTS are specified, parse them
!if [nmakehlp -f $(OPTS) "static"]
!message *** Doing static
STATIC_BUILD = 1
!endif
!if [nmakehlp -f $(OPTS) "nostubs"]
!message *** Not using stubs
USE_STUBS = 0
!endif
!if [nmakehlp -f $(OPTS) "nomsvcrt"]
!message *** Doing nomsvcrt
MSVCRT = 0
!else
!if [nmakehlp -f $(OPTS) "msvcrt"]
!message *** Doing msvcrt
MSVCRT = 1
!else
!if !$(STATIC_BUILD)
MSVCRT = 1
!else
MSVCRT = 0
!endif
!endif
!endif # [nmakehlp -f $(OPTS) "nomsvcrt"]
!if [nmakehlp -f $(OPTS) "staticpkg"] && $(STATIC_BUILD)
!message *** Doing staticpkg
TCL_USE_STATIC_PACKAGES = 1
!else
TCL_USE_STATIC_PACKAGES = 0
!endif
!if [nmakehlp -f $(OPTS) "nothreads"]
!message *** Compile explicitly for non-threaded tcl
TCL_THREADS = 0
USE_THREAD_ALLOC= 0
!else
TCL_THREADS = 1
USE_THREAD_ALLOC= 1
!endif
!if [nmakehlp -f $(OPTS) "symbols"]
!message *** Doing symbols
DEBUG = 1
!else
DEBUG = 0
!endif
!if [nmakehlp -f $(OPTS) "pdbs"]
!message *** Doing pdbs
SYMBOLS = 1
!else
SYMBOLS = 0
!endif
!if [nmakehlp -f $(OPTS) "profile"]
!message *** Doing profile
PROFILE = 1
!else
PROFILE = 0
!endif
!if [nmakehlp -f $(OPTS) "pgi"]
!message *** Doing profile guided optimization instrumentation
PGO = 1
!elseif [nmakehlp -f $(OPTS) "pgo"]
!message *** Doing profile guided optimization
PGO = 2
!else
PGO = 0
!endif
!if [nmakehlp -f $(OPTS) "loimpact"]
!message *** Warning: ignoring option "loimpact" - deprecated on modern Windows.
!endif
# TBD - should get rid of this option
!if [nmakehlp -f $(OPTS) "thrdalloc"]
!message *** Doing thrdalloc
USE_THREAD_ALLOC = 1
!endif
!if [nmakehlp -f $(OPTS) "tclalloc"]
USE_THREAD_ALLOC = 0
!endif
!if [nmakehlp -f $(OPTS) "unchecked"]
!message *** Doing unchecked
UNCHECKED = 1
!else
UNCHECKED = 0
!endif
!if [nmakehlp -f $(OPTS) "noconfigcheck"]
CONFIG_CHECK = 1
!else
CONFIG_CHECK = 0
!endif
!endif # "$(OPTS)" != "" && ... parsing of OPTS
# Set linker flags based on above
!if $(PGO) > 1
!if [nmakehlp -l -ltcg:pgoptimize $(LINKER_TESTFLAGS)]
LINKERFLAGS = $(LINKERFLAGS:-ltcg=) -ltcg:pgoptimize
!else
MSG=^
This compiler does not support profile guided optimization.
!error $(MSG)
!endif
!elseif $(PGO) > 0
!if [nmakehlp -l -ltcg:pginstrument $(LINKER_TESTFLAGS)]
LINKERFLAGS = $(LINKERFLAGS:-ltcg=) -ltcg:pginstrument
!else
MSG=^
This compiler does not support profile guided optimization.
!error $(MSG)
!endif
!endif
################################################################
# 7. Parse the STATS macro to configure code instrumentation
# The following macros are set by this section:
# TCL_MEM_DEBUG - 1 -> enables memory allocation instrumentation
# 0 -> disables
# TCL_COMPILE_DEBUG - 1 -> enables byte compiler logging
# 0 -> disables
# Default both are off
TCL_MEM_DEBUG = 0
TCL_COMPILE_DEBUG = 0
!if "$(STATS)" != "" && ![nmakehlp -f "$(STATS)" "none"]
!if [nmakehlp -f $(STATS) "memdbg"]
!message *** Doing memdbg
TCL_MEM_DEBUG = 1
!else
TCL_MEM_DEBUG = 0
!endif
!if [nmakehlp -f $(STATS) "compdbg"]
!message *** Doing compdbg
TCL_COMPILE_DEBUG = 1
!else
TCL_COMPILE_DEBUG = 0
!endif
!endif
####################################################################
# 8. Parse the CHECKS macro to configure additional compiler checks
# The following macros are set by this section:
# WARNINGS - compiler switches that control the warnings level
# TCL_NO_DEPRECATED - 1 -> disable support for deprecated functions
# 0 -> enable deprecated functions
# Defaults - Permit deprecated functions and warning level 3
TCL_NO_DEPRECATED = 0
WARNINGS = -W3
!if "$(CHECKS)" != "" && ![nmakehlp -f "$(CHECKS)" "none"]
!if [nmakehlp -f $(CHECKS) "nodep"]
!message *** Doing nodep check
TCL_NO_DEPRECATED = 1
!endif
!if [nmakehlp -f $(CHECKS) "fullwarn"]
!message *** Doing full warnings check
WARNINGS = -W4
!if [nmakehlp -l -warn:3 $(LINKER_TESTFLAGS)]
LINKERFLAGS = $(LINKERFLAGS) -warn:3
!endif
!endif
!if [nmakehlp -f $(CHECKS) "64bit"] && [nmakehlp -c -Wp64]
!message *** Doing 64bit portability warnings
WARNINGS = $(WARNINGS) -Wp64
!endif
!endif
################################################################
# 9. Extract various version numbers
# For Tcl and Tk, version numbers are extracted from tcl.h and tk.h
# respectively. For extensions, versions are extracted from the
# configure.in or configure.ac from the TEA configuration if it
# exists, and unset otherwise.
# Sets the following macros:
# TCL_MAJOR_VERSION
# TCL_MINOR_VERSION
# TCL_PATCH_LEVEL
# TCL_VERSION
# TK_MAJOR_VERSION
# TK_MINOR_VERSION
# TK_PATCH_LEVEL
# TK_VERSION
# DOTVERSION - set as (for example) 2.5
# VERSION - set as (for example 25)
#--------------------------------------------------------------
!message >>> $(_TCL_H)
!if [echo REM = This file is generated from rules.vc > versions.vc]
!endif
!if [echo TCL_MAJOR_VERSION = \>> versions.vc] \
&& [nmakehlp -V "$(_TCL_H)" "define TCL_MAJOR_VERSION" >> versions.vc]
!endif
!if [echo TCL_MINOR_VERSION = \>> versions.vc] \
&& [nmakehlp -V "$(_TCL_H)" TCL_MINOR_VERSION >> versions.vc]
!endif
!if [echo TCL_PATCH_LEVEL = \>> versions.vc] \
&& [nmakehlp -V "$(_TCL_H)" TCL_PATCH_LEVEL >> versions.vc]
!endif
!if defined(_TK_H)
!if [echo TK_MAJOR_VERSION = \>> versions.vc] \
&& [nmakehlp -V $(_TK_H) TK_MAJOR_VERSION >> versions.vc]
!endif
!if [echo TK_MINOR_VERSION = \>> versions.vc] \
&& [nmakehlp -V $(_TK_H) TK_MINOR_VERSION >> versions.vc]
!endif
!if [echo TK_PATCH_LEVEL = \>> versions.vc] \
&& [nmakehlp -V $(_TK_H) TK_PATCH_LEVEL >> versions.vc]
!endif
!endif # _TK_H
!include versions.vc
TCL_VERSION = $(TCL_MAJOR_VERSION)$(TCL_MINOR_VERSION)
TCL_DOTVERSION = $(TCL_MAJOR_VERSION).$(TCL_MINOR_VERSION)
!if defined(_TK_H)
TK_VERSION = $(TK_MAJOR_VERSION)$(TK_MINOR_VERSION)
TK_DOTVERSION = $(TK_MAJOR_VERSION).$(TK_MINOR_VERSION)
!endif
# Set DOTVERSION and VERSION
!if $(DOING_TCL)
DOTVERSION = $(TCL_MAJOR_VERSION).$(TCL_MINOR_VERSION)
VERSION = $(TCL_VERSION)
!elseif $(DOING_TK)
DOTVERSION = $(TK_DOTVERSION)
VERSION = $(TK_VERSION)
!else # Doing a non-Tk extension
# If parent makefile has not defined DOTVERSION, try to get it from TEA
# first from a configure.in file, and then from configure.ac
!ifndef DOTVERSION
!if [echo DOTVERSION = \> versions.vc] \
|| [nmakehlp -V $(ROOT)\configure.in ^[$(PROJECT)^] >> versions.vc]
!if [echo DOTVERSION = \> versions.vc] \
|| [nmakehlp -V $(ROOT)\configure.ac ^[$(PROJECT)^] >> versions.vc]
!error *** Could not figure out extension version. Please define DOTVERSION in parent makefile before including rules.vc.
!endif
!endif
!include versions.vc
!endif # DOTVERSION
VERSION = $(DOTVERSION:.=)
!endif # $(DOING_TCL) ... etc.
################################################################
# 10. Construct output directory and file paths
# Figure-out how to name our intermediate and output directories.
# In order to avoid inadvertent mixing of object files built using
# different compilers, build configurations etc.,
#
# Naming convention (suffixes):
# t = full thread support.
# s = static library (as opposed to an import library)
# g = linked to the debug enabled C run-time.
# x = special static build when it links to the dynamic C run-time.
#
# The following macros are set in this section:
# SUFX - the suffix to use for binaries based on above naming convention
# BUILDDIRTOP - the toplevel default output directory
# is of the form {Release,Debug}[_AMD64][_COMPILERVERSION]
# TMP_DIR - directory where object files are created
# OUT_DIR - directory where output executables are created
# Both TMP_DIR and OUT_DIR are defaulted only if not defined by the
# parent makefile (or command line). The default values are
# based on BUILDDIRTOP.
# STUBPREFIX - name of the stubs library for this project
# PRJIMPLIB - output path of the generated project import library
# PRJLIBNAME - name of generated project library
# PRJLIB - output path of generated project library
# PRJSTUBLIBNAME - name of the generated project stubs library
# PRJSTUBLIB - output path of the generated project stubs library
# RESFILE - output resource file (only if not static build)
SUFX = tsgx
!if $(DEBUG)
BUILDDIRTOP = Debug
!else
BUILDDIRTOP = Release
!endif
!if "$(MACHINE)" != "IX86"
BUILDDIRTOP =$(BUILDDIRTOP)_$(MACHINE)
!endif
!if $(VCVER) > 6
BUILDDIRTOP =$(BUILDDIRTOP)_VC$(VCVER)
!endif
!if !$(DEBUG) || $(DEBUG) && $(UNCHECKED)
SUFX = $(SUFX:g=)
!endif
TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX
!if !$(STATIC_BUILD)
TMP_DIRFULL = $(TMP_DIRFULL:Static=)
SUFX = $(SUFX:s=)
EXT = dll
TMP_DIRFULL = $(TMP_DIRFULL:X=)
SUFX = $(SUFX:x=)
!else
TMP_DIRFULL = $(TMP_DIRFULL:Dynamic=)
EXT = lib
!if !$(MSVCRT)
TMP_DIRFULL = $(TMP_DIRFULL:X=)
SUFX = $(SUFX:x=)
!endif
!endif
!if !$(TCL_THREADS)
TMP_DIRFULL = $(TMP_DIRFULL:Threaded=)
SUFX = $(SUFX:t=)
!endif
!ifndef TMP_DIR
TMP_DIR = $(TMP_DIRFULL)
!ifndef OUT_DIR
OUT_DIR = .\$(BUILDDIRTOP)
!endif
!else
!ifndef OUT_DIR
OUT_DIR = $(TMP_DIR)
!endif
!endif
# Relative paths -> absolute
!if [echo OUT_DIR = \> nmakehlp.out] \
|| [nmakehlp -Q "$(OUT_DIR)" >> nmakehlp.out]
!error *** Could not fully qualify path OUT_DIR=$(OUT_DIR)
!endif
!if [echo TMP_DIR = \>> nmakehlp.out] \
|| [nmakehlp -Q "$(TMP_DIR)" >> nmakehlp.out]
!error *** Could not fully qualify path TMP_DIR=$(TMP_DIR)
!endif
!include nmakehlp.out
# The name of the stubs library for the project being built
STUBPREFIX = $(PROJECT)stub
# Set up paths to various Tcl executables and libraries needed by extensions
!if $(DOING_TCL)
TCLSHNAME = $(PROJECT)sh$(TCL_VERSION)$(SUFX).exe
TCLSH = $(OUT_DIR)\$(TCLSHNAME)
TCLIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib
TCLLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT)
TCLLIB = $(OUT_DIR)\$(TCLLIBNAME)
TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib
TCLSTUBLIB = $(OUT_DIR)\$(TCLSTUBLIBNAME)
TCL_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)"
!else # ! $(DOING_TCL)
!if $(TCLINSTALL) # Building against an installed Tcl
# When building extensions, we need to locate tclsh. Depending on version
# of Tcl we are building against, this may or may not have a "t" suffix.
# Try various possibilities in turn.
TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX:t=).exe
!if !exist("$(TCLSH)")
TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX:t=).exe
!endif
TCLSTUBLIB = $(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib
TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX:t=).lib
# When building extensions, may be linking against Tcl that does not add
# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility.
!if !exist("$(TCLIMPLIB)")
TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)t$(SUFX:t=).lib
!endif
TCL_LIBRARY = $(_TCLDIR)\lib
TCLREGLIB = $(_TCLDIR)\lib\tclreg13$(SUFX:t=).lib
TCLDDELIB = $(_TCLDIR)\lib\tcldde14$(SUFX:t=).lib
TCLTOOLSDIR = \must\have\tcl\sources\to\build\this\target
TCL_INCLUDES = -I"$(_TCLDIR)\include"
!else # Building against Tcl sources
TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX:t=).exe
!if !exist($(TCLSH))
TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)t$(SUFX:t=).exe
!endif
TCLSTUBLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib
TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX:t=).lib
# When building extensions, may be linking against Tcl that does not add
# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility.
!if !exist("$(TCLIMPLIB)")
TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)t$(SUFX:t=).lib
!endif
TCL_LIBRARY = $(_TCLDIR)\library
TCLREGLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg13$(SUFX:t=).lib
TCLDDELIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde14$(SUFX:t=).lib
TCLTOOLSDIR = $(_TCLDIR)\tools
TCL_INCLUDES = -I"$(_TCLDIR)\generic" -I"$(_TCLDIR)\win"
!endif # TCLINSTALL
tcllibs = "$(TCLSTUBLIB)" "$(TCLIMPLIB)"
!endif # $(DOING_TCL)
# We need a tclsh that will run on the host machine as part of the build.
# IX86 runs on all architectures.
!ifndef TCLSH_NATIVE
!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)"
TCLSH_NATIVE = $(TCLSH)
!else
!error You must explicitly set TCLSH_NATIVE for cross-compilation
!endif
!endif
# Do the same for Tk and Tk extensions that require the Tk libraries
!if $(DOING_TK) || $(NEED_TK)
WISHNAMEPREFIX = wish
WISHNAME = $(WISHNAMEPREFIX)$(TK_VERSION)$(SUFX).exe
TKLIBNAME = $(PROJECT)$(TK_VERSION)$(SUFX).$(EXT)
TKSTUBLIBNAME = tkstub$(TK_VERSION).lib
TKIMPLIBNAME = tk$(TK_VERSION)$(SUFX).lib
!if $(DOING_TK)
WISH = $(OUT_DIR)\$(WISHNAME)
TKSTUBLIB = $(OUT_DIR)\$(TKSTUBLIBNAME)
TKIMPLIB = $(OUT_DIR)\$(TKIMPLIBNAME)
TKLIB = $(OUT_DIR)\$(TKLIBNAME)
TK_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)"
!else # effectively NEED_TK
!if $(TKINSTALL) # Building against installed Tk
WISH = $(_TKDIR)\bin\$(WISHNAME)
TKSTUBLIB = $(_TKDIR)\lib\$(TKSTUBLIBNAME)
TKIMPLIB = $(_TKDIR)\lib\$(TKIMPLIBNAME)
TK_INCLUDES = -I"$(_TKDIR)\include"
!else # Building against Tk sources
WISH = $(_TKDIR)\win\$(BUILDDIRTOP)\$(WISHNAME)
TKSTUBLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKSTUBLIBNAME)
TKIMPLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKIMPLIBNAME)
TK_INCLUDES = -I"$(_TKDIR)\generic" -I"$(_TKDIR)\win" -I"$(_TKDIR)\xlib"
!endif # TKINSTALL
tklibs = "$(TKSTUBLIB)" "$(TKIMPLIB)"
!endif # $(DOING_TK)
!endif # $(DOING_TK) || $(NEED_TK)
# Various output paths
PRJIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib
PRJLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT)
PRJLIB = $(OUT_DIR)\$(PRJLIBNAME)
PRJSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib
PRJSTUBLIB = $(OUT_DIR)\$(PRJSTUBLIBNAME)
# If extension parent makefile has not defined a resource definition file,
# we will generate one from standard template.
!if !$(DOING_TCL) && !$(DOING_TK) && !$(STATIC_BUILD)
!ifdef RCFILE
RESFILE = $(TMP_DIR)\$(RCFILE:.rc=.res)
!else
RESFILE = $(TMP_DIR)\$(PROJECT).res
!endif
!endif
###################################################################
# 11. Construct the paths for the installation directories
# The following macros get defined in this section:
# LIB_INSTALL_DIR - where libraries should be installed
# BIN_INSTALL_DIR - where the executables should be installed
# DOC_INSTALL_DIR - where documentation should be installed
# SCRIPT_INSTALL_DIR - where scripts should be installed
# INCLUDE_INSTALL_DIR - where C include files should be installed
# DEMO_INSTALL_DIR - where demos should be installed
# PRJ_INSTALL_DIR - where package will be installed (not set for tcl and tk)
!if $(DOING_TCL) || $(DOING_TK)
LIB_INSTALL_DIR = $(_INSTALLDIR)\lib
BIN_INSTALL_DIR = $(_INSTALLDIR)\bin
DOC_INSTALL_DIR = $(_INSTALLDIR)\doc
!if $(DOING_TCL)
SCRIPT_INSTALL_DIR = $(_INSTALLDIR)\lib\$(PROJECT)$(TCL_MAJOR_VERSION).$(TCL_MINOR_VERSION)
!else # DOING_TK
SCRIPT_INSTALL_DIR = $(_INSTALLDIR)\lib\$(PROJECT)$(TK_MAJOR_VERSION).$(TK_MINOR_VERSION)
!endif
DEMO_INSTALL_DIR = $(SCRIPT_INSTALL_DIR)\demos
INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\include
!else # extension other than Tk
PRJ_INSTALL_DIR = $(_INSTALLDIR)\$(PROJECT)$(DOTVERSION)
LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR)
BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR)
DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR)
SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR)
DEMO_INSTALL_DIR = $(PRJ_INSTALL_DIR)\demos
INCLUDE_INSTALL_DIR = $(_TCLDIR)\include
!endif
###################################################################
# 12. Set up actual options to be passed to the compiler and linker
# Now we have all the information we need, set up the actual flags and
# options that we will pass to the compiler and linker. The main
# makefile should use these in combination with whatever other flags
# and switches are specific to it.
# The following macros are defined, names are for historical compatibility:
# OPTDEFINES - /Dxxx C macro flags based on user-specified OPTS
# COMPILERFLAGS - /Dxxx C macro flags independent of any configuration opttions
# crt - Compiler switch that selects the appropriate C runtime
# cdebug - Compiler switches related to debug AND optimizations
# cwarn - Compiler switches that set warning levels
# cflags - complete compiler switches (subsumes cdebug and cwarn)
# ldebug - Linker switches controlling debug information and optimization
# lflags - complete linker switches (subsumes ldebug) except subsystem type
# dlllflags - complete linker switches to build DLLs (subsumes lflags)
# conlflags - complete linker switches for console program (subsumes lflags)
# guilflags - complete linker switches for GUI program (subsumes lflags)
# baselibs - minimum Windows libraries required. Parent makefile can
# define PRJ_LIBS before including rules.rc if additional libs are needed
OPTDEFINES = -DTCL_CFGVAL_ENCODING=$(CFG_ENCODING) -DSTDC_HEADERS
!if $(TCL_MEM_DEBUG)
OPTDEFINES = $(OPTDEFINES) -DTCL_MEM_DEBUG
!endif
!if $(TCL_COMPILE_DEBUG)
OPTDEFINES = $(OPTDEFINES) -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
!endif
!if $(TCL_THREADS)
OPTDEFINES = $(OPTDEFINES) -DTCL_THREADS=1
!if $(USE_THREAD_ALLOC)
OPTDEFINES = $(OPTDEFINES) -DUSE_THREAD_ALLOC=1
!endif
!endif
!if $(STATIC_BUILD)
OPTDEFINES = $(OPTDEFINES) -DSTATIC_BUILD
!endif
!if $(TCL_NO_DEPRECATED)
OPTDEFINES = $(OPTDEFINES) -DTCL_NO_DEPRECATED
!endif
!if $(USE_STUBS)
# Note we do not define USE_TCL_STUBS even when building tk since some
# test targets in tk do not use stubs
!if ! $(DOING_TCL)
USE_STUBS_DEFS = -DUSE_TCL_STUBS -DUSE_TCLOO_STUBS
!if $(NEED_TK)
USE_STUBS_DEFS = $(USE_STUBS_DEFS) -DUSE_TK_STUBS
!endif
!endif
!endif # USE_STUBS
!if !$(DEBUG)
OPTDEFINES = $(OPTDEFINES) -DNDEBUG
!if $(OPTIMIZING)
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_OPTIMIZED
!endif
!endif
!if $(PROFILE)
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_PROFILED
!endif
!if "$(MACHINE)" == "AMD64"
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_DO64BIT
!endif
!if $(VCVERSION) < 1300
OPTDEFINES = $(OPTDEFINES) -DNO_STRTOI64
!endif
# _ATL_XP_TARGETING - Newer SDK's need this to build for XP
COMPILERFLAGS = /D_ATL_XP_TARGETING
# Following is primarily for the benefit of extensions. Tcl 8.5 builds
# Tcl without /DUNICODE, while 8.6 builds with it defined. When building
# an extension, it is advisable (but not mandated) to use the same Windows
# API as the Tcl build. This is accordingly defaulted below. A particular
# extension can override this by pre-defining USE_WIDECHAR_API.
!ifndef USE_WIDECHAR_API
!if $(TCL_VERSION) > 85
USE_WIDECHAR_API = 1
!else
USE_WIDECHAR_API = 0
!endif
!endif
!if $(USE_WIDECHAR_API)
COMPILERFLAGS = $(COMPILERFLAGS) /DUNICODE /D_UNICODE
!endif
# Like the TEA system only set this non empty for non-Tk extensions
# Note: some extensions use PACKAGE_NAME and others use PACKAGE_TCLNAME
# so we pass both
!if !$(DOING_TCL) && !$(DOING_TK)
PKGNAMEFLAGS = -DPACKAGE_NAME="\"$(PRJ_PACKAGE_TCLNAME)\"" \
-DPACKAGE_TCLNAME="\"$(PRJ_PACKAGE_TCLNAME)\"" \
-DPACKAGE_VERSION="\"$(DOTVERSION)\"" \
-DMODULE_SCOPE=extern
!endif
# crt picks the C run time based on selected OPTS
!if $(MSVCRT)
!if $(DEBUG) && !$(UNCHECKED)
crt = -MDd
!else
crt = -MD
!endif
!else
!if $(DEBUG) && !$(UNCHECKED)
crt = -MTd
!else
crt = -MT
!endif
!endif
# cdebug includes compiler options for debugging as well as optimization.
!if $(DEBUG)
# In debugging mode, optimizations need to be disabled
cdebug = -Zi -Od $(DEBUGFLAGS)
!else
cdebug = $(OPTIMIZATIONS)
!if $(SYMBOLS)
cdebug = $(cdebug) -Zi
!endif
!endif # $(DEBUG)
# cwarn includes default warning levels.
cwarn = $(WARNINGS)
!if "$(MACHINE)" == "AMD64"
# Disable pointer<->int warnings related to cast between different sizes
# There are a gadzillion of these due to use of ClientData and
# clutter up compiler
# output increasing chance of a real warning getting lost. So disable them.
# Eventually some day, Tcl will be 64-bit clean.
cwarn = $(cwarn) -wd4311 -wd4312
!endif
### Common compiler options that are architecture specific
!if "$(MACHINE)" == "ARM"
carch = -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
!else
carch =
!endif
!if $(DEBUG)
# Turn warnings into errors
cwarn = $(cwarn) -WX
!endif
INCLUDES = $(TCL_INCLUDES) $(TK_INCLUDES) $(PRJ_INCLUDES)
!if !$(DOING_TCL) && !$(DOING_TK)
INCLUDES = $(INCLUDES) -I"$(GENERICDIR)" -I"$(WINDIR)" -I"$(COMPATDIR)"
!endif
# These flags are defined roughly in the order of the pre-reform
# rules.vc/makefile.vc to help visually compare that the pre- and
# post-reform build logs
# cflags contains generic flags used for building practically all object files
cflags = -nologo -c $(COMPILERFLAGS) $(carch) $(cwarn) -Fp$(TMP_DIR)^\ $(cdebug)
# appcflags contains $(cflags) and flags for building the application
# object files (e.g. tclsh, or wish) pkgcflags contains $(cflags) plus
# flags used for building shared object files The two differ in the
# BUILD_$(PROJECT) macro which should be defined only for the shared
# library *implementation* and not for its caller interface
appcflags = $(cflags) $(crt) $(INCLUDES) $(TCL_DEFINES) $(PRJ_DEFINES) $(OPTDEFINES) $(USE_STUBS_DEFS)
appcflags_nostubs = $(cflags) $(crt) $(INCLUDES) $(TCL_DEFINES) $(PRJ_DEFINES) $(OPTDEFINES)
pkgcflags = $(appcflags) $(PKGNAMEFLAGS) -DBUILD_$(PROJECT)
pkgcflags_nostubs = $(appcflags_nostubs) $(PKGNAMEFLAGS) -DBUILD_$(PROJECT)
# stubscflags contains $(cflags) plus flags used for building a stubs
# library for the package. Note: -DSTATIC_BUILD is defined in
# $(OPTDEFINES) only if the OPTS configuration indicates a static
# library. However the stubs library is ALWAYS static hence included
# here irrespective of the OPTS setting.
#
# TBD - tclvfs has a comment that stubs libs should not be compiled with -GL
# without stating why. Tcl itself compiled stubs libs with this flag.
# so we do not remove it from cflags. -GL may prevent extensions
# compiled with one VC version to fail to link against stubs library
# compiled with another VC version. Check for this and fix accordingly.
stubscflags = $(cflags) $(PKGNAMEFLAGS) $(PRJ_DEFINES) $(OPTDEFINES) -Zl -DSTATIC_BUILD $(INCLUDES)
# Link flags
!if $(DEBUG)
ldebug = -debug -debugtype:cv
!else
ldebug = -release -opt:ref -opt:icf,3
!if $(SYMBOLS)
ldebug = $(ldebug) -debug -debugtype:cv
!endif
!endif
# Note: Profiling is currently only possible with the Visual Studio Enterprise
!if $(PROFILE)
ldebug= $(ldebug) -profile
!endif
### Declarations common to all linker versions
lflags = -nologo -machine:$(MACHINE) $(LINKERFLAGS) $(ldebug)
!if $(MSVCRT) && !($(DEBUG) && !$(UNCHECKED)) && $(VCVERSION) >= 1900
lflags = $(lflags) -nodefaultlib:libucrt.lib
!endif
# Old linkers (Visual C++ 6 in particular) will link for fast loading
# on Win98. Since we do not support Win98 any more, we specify nowin98
# as recommended for NT and later. However, this is only required by
# IX86 on older compilers and only needed if we are not doing a static build.
!if "$(MACHINE)" == "IX86" && !$(STATIC_BUILD)
!if [nmakehlp -l -opt:nowin98 $(LINKER_TESTFLAGS)]
# Align sections for PE size savings.
lflags = $(lflags) -opt:nowin98
!endif
!endif
dlllflags = $(lflags) -dll
conlflags = $(lflags) -subsystem:console
guilflags = $(lflags) -subsystem:windows
# Libraries that are required for every image.
# Extensions should define any additional libraries with $(PRJ_LIBS)
winlibs = kernel32.lib advapi32.lib
!if $(NEED_TK)
winlibs = $(winlibs) gdi32.lib user32.lib uxtheme.lib
!endif
# Avoid 'unresolved external symbol __security_cookie' errors.
# c.f. http://support.microsoft.com/?id=894573
!if "$(MACHINE)" == "AMD64"
!if $(VCVERSION) > 1399 && $(VCVERSION) < 1500
winlibs = $(winlibs) bufferoverflowU.lib
!endif
!endif
baselibs = $(winlibs) $(PRJ_LIBS)
!if $(MSVCRT) && !($(DEBUG) && !$(UNCHECKED)) && $(VCVERSION) >= 1900
baselibs = $(baselibs) ucrt.lib
!endif
################################################################
# 13. Define standard commands, common make targets and implicit rules
CCPKGCMD = $(cc32) $(pkgcflags) -Fo$(TMP_DIR)^\
CCAPPCMD = $(cc32) $(appcflags) -Fo$(TMP_DIR)^\
CCSTUBSCMD = $(cc32) $(stubscflags) -Fo$(TMP_DIR)^\
LIBCMD = $(lib32) -nologo $(LINKERFLAGS) -out:$@
DLLCMD = $(link32) $(dlllflags) -out:$@ $(baselibs) $(tcllibs) $(tklibs)
CONEXECMD = $(link32) $(conlflags) -out:$@ $(baselibs) $(tcllibs) $(tklibs)
GUIEXECMD = $(link32) $(guilflags) -out:$@ $(baselibs) $(tcllibs) $(tklibs)
RESCMD = $(rc32) -fo $@ -r -i "$(GENERICDIR)" -i "$(TMP_DIR)" \
$(TCL_INCLUDES) \
-DDEBUG=$(DEBUG) -d UNCHECKED=$(UNCHECKED) \
-DCOMMAVERSION=$(DOTVERSION:.=,),0 \
-DDOTVERSION=\"$(DOTVERSION)\" \
-DVERSION=\"$(VERSION)\" \
-DSUFX=\"$(SUFX)\" \
-DPROJECT=\"$(PROJECT)\" \
-DPRJLIBNAME=\"$(PRJLIBNAME)\"
!ifndef DEFAULT_BUILD_TARGET
DEFAULT_BUILD_TARGET = $(PROJECT)
!endif
default-target: $(DEFAULT_BUILD_TARGET)
default-pkgindex:
@echo package ifneeded $(PRJ_PACKAGE_TCLNAME) $(DOTVERSION) \
[list load [file join $$dir $(PRJLIBNAME)]] > $(OUT_DIR)\pkgIndex.tcl
default-pkgindex-tea:
@if exist $(ROOT)\pkgIndex.tcl.in nmakehlp -s << $(ROOT)\pkgIndex.tcl.in > $(OUT_DIR)\pkgIndex.tcl
@PACKAGE_VERSION@ $(DOTVERSION)
@PACKAGE_NAME@ $(PRJ_PACKAGE_TCLNAME)
@PACKAGE_TCLNAME@ $(PRJ_PACKAGE_TCLNAME)
@PKG_LIB_FILE@ $(PRJLIBNAME)
<<
default-install: default-install-binaries default-install-libraries
default-install-binaries: $(PRJLIB)
@echo Installing binaries to '$(SCRIPT_INSTALL_DIR)'
@if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)"
@$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL
default-install-libraries: $(OUT_DIR)\pkgIndex.tcl
@echo Installing libraries to '$(SCRIPT_INSTALL_DIR)'
@if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)"
@echo Installing package index in '$(SCRIPT_INSTALL_DIR)'
@$(CPY) $(OUT_DIR)\pkgIndex.tcl $(SCRIPT_INSTALL_DIR)
default-install-stubs:
@echo Installing stubs library to '$(SCRIPT_INSTALL_DIR)'
@if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)"
@$(CPY) $(PRJSTUBLIB) "$(SCRIPT_INSTALL_DIR)" >NUL
default-install-docs-html:
@echo Installing documentation files to '$(DOC_INSTALL_DIR)'
@if not exist "$(DOC_INSTALL_DIR)" mkdir "$(DOC_INSTALL_DIR)"
@if exist $(DOCDIR) for %f in ("$(DOCDIR)\*.html" "$(DOCDIR)\*.css" "$(DOCDIR)\*.png") do @$(COPY) %f "$(DOC_INSTALL_DIR)"
default-install-docs-n:
@echo Installing documentation files to '$(DOC_INSTALL_DIR)'
@if not exist "$(DOC_INSTALL_DIR)" mkdir "$(DOC_INSTALL_DIR)"
@if exist $(DOCDIR) for %f in ("$(DOCDIR)\*.n") do @$(COPY) %f "$(DOC_INSTALL_DIR)"
default-install-demos:
@echo Installing demos to '$(DEMO_INSTALL_DIR)'
@if not exist "$(DEMO_INSTALL_DIR)" mkdir "$(DEMO_INSTALL_DIR)"
@if exist $(DEMODIR) $(CPYDIR) "$(DEMODIR)" "$(DEMO_INSTALL_DIR)"
default-clean:
@echo Cleaning $(TMP_DIR)\* ...
@if exist $(TMP_DIR)\nul $(RMDIR) $(TMP_DIR)
@echo Cleaning $(WINDIR)\nmakehlp.obj, nmakehlp.exe ...
@if exist $(WINDIR)\nmakehlp.obj del $(WINDIR)\nmakehlp.obj
@if exist $(WINDIR)\nmakehlp.exe del $(WINDIR)\nmakehlp.exe
@if exist $(WINDIR)\nmakehlp.out del $(WINDIR)\nmakehlp.out
@echo Cleaning $(WINDIR)\nmhlp-out.txt ...
@if exist $(WINDIR)\nmhlp-out.txt del $(WINDIR)\nmhlp-out.txt
@echo Cleaning $(WINDIR)\_junk.pch ...
@if exist $(WINDIR)\_junk.pch del $(WINDIR)\_junk.pch
@echo Cleaning $(WINDIR)\vercl.x, vercl.i ...
@if exist $(WINDIR)\vercl.x del $(WINDIR)\vercl.x
@if exist $(WINDIR)\vercl.i del $(WINDIR)\vercl.i
@echo Cleaning $(WINDIR)\versions.vc, version.vc ...
@if exist $(WINDIR)\versions.vc del $(WINDIR)\versions.vc
@if exist $(WINDIR)\version.vc del $(WINDIR)\version.vc
default-hose: default-clean
@echo Hosing $(OUT_DIR)\* ...
@if exist $(OUT_DIR)\nul $(RMDIR) $(OUT_DIR)
# Only for backward compatibility
default-distclean: default-hose
default-setup:
@if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR)
@if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR)
!if "$(TESTPAT)" != ""
TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
!endif
default-test: default-setup $(PROJECT)
@set TCLLIBPATH=$(OUT_DIR:\=/)
@if exist $(LIBDIR) for %f in ("$(LIBDIR)\*.tcl") do @$(COPY) %f "$(OUT_DIR)"
cd "$(TESTDIR)" && $(DEBUGGER) $(TCLSH) all.tcl $(TESTFLAGS)
default-shell: default-setup $(PROJECT)
@set TCLLIBPATH=$(OUT_DIR:\=/)
@if exist $(LIBDIR) for %f in ("$(LIBDIR)\*.tcl") do @$(COPY) %f "$(OUT_DIR)"
$(DEBUGGER) $(TCLSH)
# Generation of Windows version resource
!ifdef RCFILE
# Note: don't use $** in below rule because there may be other dependencies
# and only the "master" rc must be passed to the resource compiler
$(TMP_DIR)\$(PROJECT).res: $(RCDIR)\$(PROJECT).rc
$(RESCMD) $(RCDIR)\$(PROJECT).rc
!else
# If parent makefile has not defined a resource definition file,
# we will generate one from standard template.
$(TMP_DIR)\$(PROJECT).res: $(TMP_DIR)\$(PROJECT).rc
$(TMP_DIR)\$(PROJECT).rc:
@$(COPY) << $(TMP_DIR)\$(PROJECT).rc
#include
VS_VERSION_INFO VERSIONINFO
FILEVERSION COMMAVERSION
PRODUCTVERSION COMMAVERSION
FILEFLAGSMASK 0x3fL
#ifdef DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "Tcl extension " PROJECT
VALUE "OriginalFilename", PRJLIBNAME
VALUE "FileVersion", DOTVERSION
VALUE "ProductName", "Package " PROJECT " for Tcl"
VALUE "ProductVersion", DOTVERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
<<
!endif # ifdef RCFILE
!ifndef DISABLE_IMPLICIT_RULES
DISABLE_IMPLICIT_RULES = 0
!endif
!if !$(DISABLE_IMPLICIT_RULES)
# Implicit rule definitions - only for building library objects. For stubs and
# main application, the master makefile should define explicit rules.
{$(ROOT)}.c{$(TMP_DIR)}.obj::
$(CCPKGCMD) @<<
$<
<<
{$(WINDIR)}.c{$(TMP_DIR)}.obj::
$(CCPKGCMD) @<<
$<
<<
{$(GENERICDIR)}.c{$(TMP_DIR)}.obj::
$(CCPKGCMD) @<<
$<
<<
{$(COMPATDIR)}.c{$(TMP_DIR)}.obj::
$(CCPKGCMD) @<<
$<
<<
{$(RCDIR)}.rc{$(TMP_DIR)}.res:
$(RESCMD) $<
{$(WINDIR)}.rc{$(TMP_DIR)}.res:
$(RESCMD) $<
{$(TMP_DIR)}.rc{$(TMP_DIR)}.res:
$(RESCMD) $<
.SUFFIXES:
.SUFFIXES:.c .rc
!endif
################################################################
# 14. Sanity check selected options against Tcl build options
# When building an extension, certain configuration options should
# match the ones used when Tcl was built. Here we check and
# warn on a mismatch.
!if ! $(DOING_TCL)
!if $(TCLINSTALL) # Building against an installed Tcl
!if exist("$(_TCLDIR)\lib\nmake\tcl.nmake")
TCLNMAKECONFIG = "$(_TCLDIR)\lib\nmake\tcl.nmake"
!endif
!else # ! $(TCLINSTALL) - building against Tcl source
!if exist("$(OUT_DIR)\tcl.nmake")
TCLNMAKECONFIG = "$(OUT_DIR)\tcl.nmake"
!endif
!endif # TCLINSTALL
!if $(CONFIG_CHECK)
!ifdef TCLNMAKECONFIG
!include $(TCLNMAKECONFIG)
!if defined(CORE_MACHINE) && "$(CORE_MACHINE)" != "$(MACHINE)"
!error ERROR: Build target ($(MACHINE)) does not match the Tcl library architecture ($(CORE_MACHINE)).
!endif
!if defined(CORE_USE_THREAD_ALLOC) && $(CORE_USE_THREAD_ALLOC) != $(USE_THREAD_ALLOC)
!message WARNING: Value of USE_THREAD_ALLOC ($(USE_THREAD_ALLOC)) does not match its Tcl core value ($(CORE_USE_THREAD_ALLOC)).
!endif
!if defined(CORE_DEBUG) && $(CORE_DEBUG) != $(DEBUG)
!message WARNING: Value of DEBUG ($(DEBUG)) does not match its Tcl library configuration ($(DEBUG)).
!endif
!endif
!endif # TCLNMAKECONFIG
!endif # ! $(DOING_TCL)
#----------------------------------------------------------
# Display stats being used.
#----------------------------------------------------------
!if !$(DOING_TCL)
!message *** Building against Tcl at '$(_TCLDIR)'
!endif
!if !$(DOING_TK) && $(NEED_TK)
!message *** Building against Tk at '$(_TKDIR)'
!endif
!message *** Intermediate directory will be '$(TMP_DIR)'
!message *** Output directory will be '$(OUT_DIR)'
!message *** Installation, if selected, will be in '$(_INSTALLDIR)'
!message *** Suffix for binaries will be '$(SUFX)'
!message *** Compiler version $(VCVER). Target machine is $(MACHINE)
!message *** Host architecture is $(NATIVE_ARCH)
!endif # ifdef _RULES_VC
./nsf2.4.0/Makefile.in.rej 000644 000766 000024 00000003426 14270240761 016024 0 ustar 00neumann staff 000000 000000 ***************
*** 708,717 ****
#========================================================================
pkgIndex.tcl: $(PKG_LIB_FILE)
- @echo package ifneeded nsf $(PACKAGE_VERSION) \"load [list [file join \$$dir . $(PKG_LIB_FILE)] Nsf]\; package provide nsf $(PACKAGE_VERSION)\" > pkgIndex.tcl
install-pkgIndex:
- # @echo package ifneeded nsf $(PACKAGE_VERSION) [list load [file join \$$dir .. "$(PKG_LIB_FILE)"] Nsf] > "$(pkglibdir)/pkgIndex.tcl"
#nxsh: tclAppInit.o $(PKG_OBJECTS) $(CONDITIONAL_STUB_OBJECTS)
# $(CC) -rdynamic -o $@ tclAppInit.o \
--- 708,731 ----
#========================================================================
pkgIndex.tcl: $(PKG_LIB_FILE)
+ @echo "if {[package vsatisfies [package provide Tcl] 9]} {" > pkgIndex.tcl
+ @echo " package ifneeded nsf @PACKAGE_VERSION@ \\" >> pkgIndex.tcl
+ @echo " [list load [file join \$$dir @PKG_LIB_FILE9@] Nsf]" >> pkgIndex.tcl
+ @echo "} else {" >> pkgIndex.tcl
+ @echo " package ifneeded nsf @PACKAGE_VERSION@ \\" >> pkgIndex.tcl
+ @echo " [list load [file join \$$dir @PKG_LIB_FILE8@] Nsf]" >> pkgIndex.tcl
+ @echo "}" >> pkgIndex.tcl
+ @echo "package provide nsf $(PACKAGE_VERSION)" >> pkgIndex.tcl
+
install-pkgIndex:
+ @echo "if {[package vsatisfies [package provide Tcl] 9]} {" > pkgIndex.tcl
+ @echo " package ifneeded nsf @PACKAGE_VERSION@ \\" >> pkgIndex.tcl
+ @echo " [list load [file join \$$dir @PKG_LIB_FILE9@] Nsf]" >> pkgIndex.tcl
+ @echo "} else {" >> pkgIndex.tcl
+ @echo " package ifneeded nsf @PACKAGE_VERSION@ \\" >> pkgIndex.tcl
+ @echo " [list load [file join \$$dir @PKG_LIB_FILE8@] Nsf]" >> pkgIndex.tcl
+ @echo "}" >> pkgIndex.tcl
#nxsh: tclAppInit.o $(PKG_OBJECTS) $(CONDITIONAL_STUB_OBJECTS)
# $(CC) -rdynamic -o $@ tclAppInit.o \
./nsf2.4.0/ChangeLog-2.0.0-2.1.0.log 000644 000766 000024 00000144630 14275417765 016643 0 ustar 00neumann staff 000000 000000 2016-12-23 Gustaf Neumann
* nsfmongo.c: Added explicit calls to mongoc_init() and
mongoc_cleanup(). Documented use of configure flag
"--disable-automatic-init-and-cleanup" to avoid crashes under macOS. [b7029a4]
* nxsh.man: Improved wording. [a7ce921]
* tk-*.tcl: Change package name in Tk example scripts:
"nx::traits:XXX" -> "nx::trait::XXX"; add comment to
Announcement. [71e1805]
* linearization.test: extended regression test suite with a case
reproducing a recently fixed crash. [bc72af7]
* nsf-gridfs.test: Changes to README file requires a small
adjustment on a test case, working on the README file. [65669db]
* mongodb/configure.ac, mongodb/pkgIndex.add, nx-mongo.tcl: Bump
version numbers: nsfmongo to 2.1, TEA to 3.10, nx::mongo to 2.1.
[ad195da, 4028b98]
2016-12-22 Gustaf Neumann
* nsfInt.h: Define NsfObjDispatch as Tcl_ObjCmdProc. [41e0544]
* mongoAPI.decls, nsfmongo.c: Upgraded MongoDB and drivers to
mongodb-c-driver 1.5.1, libbson 1.5.1 and MongoDB v3.4.0; added
support for BSON type DECIMAL128. [ab21c85]
2016-12-21 Stefan Sobernig
* configure, aclocal.m4: Re-generated autotools artifacts to reflect
changes in configure.ac. [70e6617]
* configure.ac: Fix bogus variable assignment. [cd18d47]
2016-12-18 Gustaf Neumann
* nsf.c (PrecedenceOrder, MergeInheritanceLists): Fix occasional
crash when deleting and recomputing precedence orders under
multiple inheritance. One assumption in the precedence order
computation is that the precedence orders of superclasses are
computed before the precedence orders of the class itself. The
check whether to perform this computation turned out too simple
minded because it used to check this condition only on the current
class, but not on its superclasses. [a1a7bac]
* nsfInt.h: Use the same ISOBJ definition for both Tcl 8.5 and
8.6. This avoids another potential crash. [8eda332]
* nsf.c (ParseContextExtendObjv): Make type conversion
explicit. [6a4df82]
* Makefile.in: Add make target lldbtest. [a42449a]
2016-12-17 Gustaf Neumann
* nsf.c, nsfInt.h, nsfUtil.c: Avoid implicit type conversions
[bdfa0fc, e8d2c80]
* nsfmongo.c: Avoid implicit type conversions. [ebb54b9]
* mongodb/configure.ac: Allow specification of --enable-assertions
on the parent NSF project. [6e88221]
2016-12-16 Gustaf Neumann
* testx.xotcl (filterGuards): When compiled without assertions, a
test case was skipped, that created an object "b"; the subsequent
test therefore produced different results when b happened to be
created or recreated; avoid use of global modifier. [e7afc31]
2016-12-16 Stefan Sobernig
* summary.tcl: Report NSF commit id along with NSF package
version. [3232e56]
* pkg.vc: Provide for incorporating the commit id at least for
tarball builds under win/nmake. [d257d63, f6634af] supersede
[5b7ad96].
2016-12-16 Gustaf Neumann
* shells.test: The shell test depends on console output which in
turn varies according to build-time configuration options such as
memcount. Deactivate this test file for NSF configurations with
debug output. [4a0eb5e]
* nsf.c (AliasRefetch): Don't add extra newlines to log lines.
[a56620f]
2016-12-16 Stefan Sobernig
* makefile.vc, pkg.vc: For the time being, set an empty commit id
under Win. [5b7ad96]
* configure.ac, configure: Align TEA versions. [6a77970]
* nsfDebug.c, configure.ac: Provide for the commit id (if available) to
be stored in the variable "::nsf::commit". [0ecc82c]
2016-12-15 Stefan Sobernig
* README.release: Provide for and document publishing the
doctools manpages to https://next-scripting.sourceforge.io/.
* man.css: Updated to match doctools markup (tcllib 1.18+; new id
and class names) and remove button-style from keywords and syntax
elements. [9414504]
2016-12-15 Gustaf Neumann
* nsf.c (CompiledLocalsLookup): Improve variable names and limit
calls to strcmp. [438ba04]
2016-12-13 Stefan Sobernig
* gentclAPI.tcl (methodDefinition): Deactivate docstring
generation for now, as they are not actively used. [44ab715]
2016-12-12 Stefan Sobernig
* configure.ac, configure (AC_INIT): Rather add link to SF
ticketing as PACKAGE_BUGREPORT define. [d5c3562]
2016-12-12 Gustaf Neumann
* nsf.c, nsfAPI.decls (NsfConfigureCmd): Remove configure options
"trace" and "profile". [4b20700]
2016-12-11 Stefan Sobernig
* win/makefile.vc: Set title for summary.tcl. [88f1605]
* interp.test: Import auto_path from parent interp so that "package
req" works as expected. [3e47756]
* nsfInt.h, nsfError.c (NsfDStringVPrintf): The logic assumes
_vsnprintf being used under MSVC. However, under Tcl 8.5.*, the
mapping is missing from tclInt.h. Fill this gap. [295ac11]
2016-12-11 Gustaf Neumann
* nsf.c
(TclDeletesObject): Fix bug that sneaked-in in last
commit. [7f016c4]
(Nsf_DeleteNamespace): Remove unneeded code in cases, when
compiled with NDEBUG. [af86f66]
* nsf.c: Prefer boolean expressions, reduce number of implicit
signed/unsigned conversions. [7c9627d]
* nsfStack.c (NsfShowStack): Remove always false statement used
for controlling output of showstack. [b44aabd]
* Makefile.in: Remove duplicated flag "TCL_NO_DEPRECATED"
[cfa9e21], make cppcheckcmd configurable. [15b9823]
2016-12-10 Gustaf Neumann
* nsf.c: Address cmdflags conversion, prefer unsigned int over
unsigned long. [2d51c0b]
2016-12-09 Stefan Sobernig
* nsf.c (ProcDispatchFinalize): Silence compiler warning on
ckfree. [641e77f]
2016-12-09 Stefan Sobernig
* win/makefile.vc: Register missing test scripts. [5c55039]
2016-12-09 Gustaf Neumann
* nsf.c (ProcDispatchFinalize, InvokeShadowedProc): Fix debug
output when compiled without --enable-profile. [e2dfaca, b99c256]
2016-12-09 Stefan Sobernig
* win/rules.vc: Remove artifact from OPTDEFINES. [a7d6bf4]
* win/rules.vc: Avoid type-cast warnings under 64-bit MSVC (MSVC >
1300) toolchains due to compiler flags missing from Tcl headers
and from rules' OPTDEFINES. Reported as
http://core.tcl.tk/tclconfig/tktview?name=ab69a602bf. [ccc0e58]
2016-12-09 Gustaf Neumann
* nsf.c (ProcDispatchFinalize): Move result reporting of
nsf::procs into ProcDispatchFinalize(). This fixes the result
value reporting and timings for nsf::procs. [1723e95]
2016-12-07 Gustaf Neumann
* nsf.c (NsfProcStub): Make sure that stub proc is used when
"-deprecated" is set.
* nsf.tcl: Use "Debug" severity for -debug messages. [4befd49]
2016-12-02 Stefan Sobernig
* nsf.c (GetObjectFromObj, TclDeletesObject): Remove two earlier
fixes to deal with ::nsf::object::alloc failing under cmd
deletion/recreation. The issue has been tackled more generally by
a Tcl-side fix. Background: Since 2005 (commit fcb9ab1df3a9b2d1),
in Tcl the cmdEpoch state in delete traces and delete callbacks
has been compromised. Bumping the epoch of the cmd under deletion
before executing the traces and callbacks had the potential of
caching the cmd under in Tcl_Objs beyond its deletion (at least in
our code path). In July 2017 for 8.7a (commit 54fac92610d3bdd9),
this potential realized by removing a guard expression
on CMD_IS_DELETED in the Tcl_Obj cache invalidation logic, which
had protected from such invalid caches as a side effect. As of
today (8.7a, commit 71fa1f9c91), the underlying timing problem of
epoch bumping has been resolved. [f314d0a] reverts [bab0e88,
75a78fb, 646eda3]
2016-11-23 Stefan Sobernig
* nsf.c (NsfMethodAliasCmd): Tcl 8.7 is more picky about typePtr and
intrep being in line. We need to NULL the typePtr explicitly.
TclFreeIntRep does so for us as good Tcl citizens, rather than setting
bodyObj->typePtr == NULL directly. [438e614]
2016-11-11 Stefan Sobernig
* nx.tcl (VariableSlot->setCheckInstVar): Use method parameter
'value' rather than object variable 'default'. [361fa32]
* nx.tcl, parameters.test (Object->object variable): Support for
substdefault has been entirely missing so far. Added basic tests.
[7bcc1f1]
2016-11-03 Stefan Sobernig
* interceptor-slot.test: Adding a first test case. [71f9dc8]
2016-11-03 Gustaf Neumann
* nsf.c (ObjectDispatchFinalize): Address potential crash when a
filter calls a filter which calls unknown. [641d41d]
* nsfInt.h: Prefer lowercase "U" suffix to improve readability.
[4b4a734]
2016-11-02 Stefan Sobernig
* xotcl2.tcl (Class->unknown): Use ::nsf::current explicitly to avoid
NX/XOTcl2 self hickups. [a147560]
2016-10-28 Gustaf Neumann
* Documentation (tk-ludo.tcl): Regenerated documentation. [c8cc440]
* tk-ludo.tcl, nx-shell.tcl: Remove useless expr statements. [f691059]
2016-10-27 Stefan Sobernig
* xotcl2.tcl
(Class->unknown): Fix regressions due to uplevel mambo-jumbo. [020d3d6]
(Class->unknown): Make sure that Class->unknown bypasses filter and mixin
frames. [9dcea26]
2016-10-26 Stefan Sobernig
* nsf.c (ExitHandler): Re-locate clearing history from finalize to
ExitHandler. [59b4e8c]
2016-10-22 Stefan Sobernig
* nsf.c (NsfFinalizeCmd): Clear Tcl's history list explicitly
before finalizing NSF. See also Tcl ticket 1ae12987cb. [6be629e]
2016-10-16 Stefan Sobernig
* nx.tcl (nx::Class->unknown): Rewrite unknown message to include
'?...?'. [371cc41]
* nsfStack.c: Unify writing style. [114df8b]
* nsfProfile.c: Fix typos in code comments. [5447fe0]
* nsfFunPtrHashTable.c: Fix typos in code comments. [6e37cdb]
2016-10-15 Gustaf Neumann
* nsfError.c: Cleanup: remove spurious blank in error message, fix
typo in print string. [e0da9e0]
2016-10-15 Stefan Sobernig
* nx.tcl: Commit missing unknown message change. [dafe310]
2016-10-15 Gustaf Neumann
* nsf.h, nsfError.c:
(NsfNoCurrentObjectError): Improve comment and signature. [5abaa15]
Improve wording of other comments, keep comments within the limits of
the header/trailer line. [5abaa15]
2016-10-14 Stefan Sobernig
* Testsuite: Adjust the test suite for the latest rewording of
the nx::Class unknown message. [2717622]
* nsfError.c: Fixed typos and unified writing style in code comments.
[f139db6]
* nsfObj.c: Fix some typos and align writing style. [1ce1f6a]
2016-10-14 Gustaf Neumann
* nsf.c: Fix typos in comments, align commenting style. [5ba5873]
* nx.tcl: Make xotcl::Class->unknown hint more explicit and
verbose. [4dda010]
2016-10-13 Stefan Sobernig
* nsf.c:
(ObjectSystemsCleanup): Remove interp resolvers explicitly before
the physical cleanup round. [371e0e3]
(DeleteProcsAndVars): Silence compiler warning and reduce variable
scope (spotted with memtracking on). [7992ec4]
2016-10-12 Stefan Sobernig
* shells.test: Add two tests on try/finally. [ce511c8]
* nx-shell.tcl:
Extend the exit wrapper to include Tcl 8.6 try [8f55f92]
Make sure that the proper exit code is provided when
leaving the -c stdin mode. [f83d0a1]
2016-10-12 Gustaf Neumann
* shells.test:
Add two more tests of plain tclsh. [0c79f62]
Remove superfluous (and incorrect) tests. [3f7e49e] reverting
[152c1d3]
Extend regression test for shell with tests in [info
nameofexecutable] rather than in nxsh [152c1d3]
* nsf.c (NsfLog): Don't call Tcl eval operations from NsfLog() in phyical
destroy round.
2016-10-12 Stefan Sobernig
* shells.test: Add some more tests. [31727ed]
* nx-shell.tcl (nx::shell2): Rewrote in-shell exit support to
avoid Tcl's native exit and to unwind gracefully to avoid NSF
refcount leaks on exit; bumped package number. [0956bd0]
2016-10-10 Gustaf Neumann
* nsf.c, nsfInt.h: Improve sanity test in ISOBJ(): obj->bytes
might only be NULL when type is given. [472a3c5]
2016-10-09 Stefan Sobernig
* TEA (tcl.m4): Updated m4/tcl.m4 to most recent TEA version:
3.10, regenerated autotools artifacts. [4a30a3a]
2016-10-08 Gustaf Neumann
* nsfUtil.c: Cleanup of strnstr() (when the clib function is not available).
[a8b3805]
* generic/*:
Cleaning up white spaces (mostly strip trailing spaces, remove a
few tabs). [77ba24e]
Cleanup of type conversions. [1d1ca56]
Reduce variable scopes. [fbd52e6]
2016-10-07 Gustaf Neumann
* nsf.c: Cleanup of type conversions in first ~18000 lines. [4e70d6d]
2016-10-07 Stefan Sobernig
* current.man (current.man): Extend doc on nx::current to include
nx::current level [d49b5f9]
2016-10-07 Gustaf Neumann
* nsf.c: Cleanup of type conversions in first ~6000 lines. [099e1ee]
* nsf.c, nsfAPI.*
(NsfCurrentCmd): New subcommand "nsf::current level", which
returns an empty string when outside an NSF frame/level. [8465a13]
(NsfCurrentCmd): Keep compatibility with traditional "nsf::current
activelevel" by returning 1, if we are not on an NSF
frame. [8465a13] reverting [dbd850e].
2016-10-06 Gustaf Neumann
* nsf.c (NsfCurrentCmd): Return from "nsf::current callinglevel"
the value 0 (instead of 1), when it is called outside of an NSF
frame, which has an NSF object associated. [dbd850e]
2016-10-05 Stefan Sobernig
* nsf.c (UnsetTracedVars): Silence compiler warning under 8.5 by providing
an explicit cast. [abfaf40]
* Documentation
(rosetta-single-inheritance.tcl):Add another Rosetta example:
Inheritance/Single [c7738a3]
(rosetta-multiple-inheritance.tcl): Fix typo L3 -> C3 [3617b69]
(Object.man): Include missing doc in 'info lookup parameters' and 'info
lookup syntax' [4bfe0ad]
2016-10-04 Stefan Sobernig
* nsf.c:
(ParamOptionParse): 'virtualobjectargs' and 'virtualclassargs'
defaulted to ConvertViaCmd when parsed from Tcl spec; explicitly
set ConvertToNothing to match the intended semantics and to avoid
false warnings (e.g., missing type=virtualobjectargs type checker).
[03b838a]
(NsfParameterInfoCmd): Correct two typos in code comment. [6d563e2]
2016-10-02 Stefan Sobernig
* Makefile.in: Register Rosetta examples. [ec6103a]
2016-10-02 Gustaf Neumann
* nsf.c, nsf.h: Make NSF compilable with "-DTCL_NO_DEPRECATED". [9cce0c1]
2016-10-01 Stefan Sobernig
* Documentation:
Remove redundant Rosetta example implementations. [14d4d3a]
(rosetta-multiple-inheritance.tcl): Added another Rosetta example:
multiple inheritance. [92c1ac3]
2016-09-30 Stefan Sobernig
* nsf.c (RemoveInstance): Fix typo and improve wording of nsf::log warning
slightly. [8a106d9]
* Documentation
(Object.man): Correct the documentation bit on Object->copy. [4b2d241]
(rosetta-clone.tcl): Added another Rosetta example: Polymorphic copy [922c0ab]
2016-09-29 Stefan Sobernig
* nsf.c, methods.test (DispatchUnknownMethod): Make sure that
arcane method names make it into proper unknown error messages
incl. names representing invalid Tcl lists; tests included;
checked by valgrind [4b78042]
* Documentation
(rosetta-add-variable.tcl): Adding yet another Rosetta example: Add object variable
dynamically. [ed0f5cb]
(rosetta-add-variable.tcl): Fix typo [e33e0a2]
* shells.test: Adjust shell tests for latest changes to stacktrace
formatting. [56f9658] triggered by [2c896da]
2016-09-28 Stefan Sobernig
* Documentation:
(rosetta-multiple-distinct.tcl, rosetta-tree.tcl): Improve output
spec in Rosetta example. [8648ec7]
(rosetta-multiple-distinct.tcl): Adding another Rosetta example:
Multiple distinct objects. [cc85907]
2016-09-23 Gustaf Neumann
* nsf.c: Add thread IDs to debug lines (in threaded builds). [e20e1c1]
2016-09-21 Stefan Sobernig
* Testsuite:
(tcl86.test): Make cmd-literal tests conditional on a (future) Tcl release: 8.6.7
[40ff115]
(destroy.test): Adding a second UnsetTracedVars test, this time
for the per-object namespace case. [2330f51]
2016-09-20 Stefan Sobernig
* destroy.test: Add missing test on UnsetTracedVars. [c29e5d3]
2016-09-19 Stefan Sobernig
* nsfCmdDefinitions.c (Nsf_CmdDefinitionRelease): Fix
documentation [23581e9]
* nx-shell.tcl (nx::shell2): Provide complete errorinfo, not just
top-level line [2c896da]
2016-09-16 Gustaf Neumann
* nsf.c (NsfFinalizeCmd): Remove manually mixinRegObjs during
cleanup to silence sanity checking for object refcounts. [9395752]
* nsfObj.c (NsfMixinregGet): Fix typo in comment. [73a82fc]
2016-09-15 Gustaf Neumann
* nsf.c (NsfFinalizeCmd): Add pthread id to debug message [b36a57b]
2016-09-13 Stefan Sobernig
* nsf.c (UnsetTracedVars): Provide for a two-pass deletion logic
during object shutdown, to account for unset traces possibly
reviving an object variable under deletion. This corresponds to a
recent memleak fix to Tcl itself. See also Tcl Fossil ticket
4dbdd9af144dbdd9af14. [d710110]
2016-09-09 Stefan Sobernig
* nx.tcl (VariableSlot->value=get): Substitute set for get, which
is a tick faster. [bb688b8]
* Documentation (rosetta-tree.tcl): Rosetta example: Tree
traversal. [f769aa3]
2016-09-06 Stefan Sobernig
* nx-shell.tcl (::nx::shell2): Harden nx::shell against inlined
return statements. [da0791d]
* Documentation (rosetta-tokenizer.tcl): Added first additional
Rosetta example. [b689afd]
* source-highlight-with-pp: Make src highlighter independent of
Tcl version. [8e929f8]
2016-09-01 Stefan Sobernig
* Makefile.in: Keep valgrind settings for the future. [0187626]
* nsf.c (ObjectCmdMethodDispatch): Get refcounting on method-path
lists right, fixing one actual (valgrind) and another potential
Tcl_Obj leak. [6cb02ec]
2016-08-31 Stefan Sobernig
* nsf.c
(ParamDefsNames): Fix another Tcl_Obj leak and optimize
code slightly, Tcl_Obj is only allocated once the string-matching
operation succeeded. [253e9e6]
(NsfForwardPrintError): Fix another instance of the
NsfMethodNamePath leak. [0739b93]
(NsfMethodName): Avoid unnecessary append operation between lists,
previously leaking the source list Tcl_Obj. [8a650e1]
(ArgumentParse): Addressing a series of Tcl_Obj leaks (valgrind). [2dbfbf4]
2016-08-22 Gustaf Neumann
* nsf.c (AssertionAddProc): Removing dead assignment. [1e25f4b]
2016-08-14 Stefan Sobernig
* nsf.c:
(TopoSortSub): Make intended true/false comparisons based on int
explicit. [ce32c79]
(TopoSort): cleanup (pt. 3): re-factored TransitiveSubClasses()
and DependentSubClasses() into one caller function of
TopoSortSub(). [a9057d3]
(TopoSort): cleanup (pt. 2): renamed TopoSort() to TopoSortSub() to
match TopoSortSuper. [49bad0b]
2016-08-13 Stefan Sobernig
* nsf.c (TopoSort): cleanup (pt. 1). [2caa518]
2016-08-10 Stefan Sobernig
* nsf.c
(GetNextArguments): Address CID 102646. [e982277]
(NsfObjInfoObjectparameterMethod, NsfParamDefsFilter): Removed two
unused functions: NsfObjInfoObjectparameterMethod() and
NsfParamDefsFilter(). Makes CID 88775 obsolete.[308a912]
(MakeProc): Address CID 88770. [566ca93]
2016-08-09 Gustaf Neumann
* nsfError.c
(NsfObjWrongArgs, NsfObjErrType): Remove occurrences
of deprecated Tcl_AppendResult() in overall code. [299a221]
(NsfPrintError): Avoid computing string length twice. [b8fe2d4]
* nsfStubLib.c: Remove 2 occurrences of deprecated
Tcl_AppendResult. [8e079b5]
* nsf.c, nsfInt.h (NsfLog, RUNTIME_STATE): Small logging reform,
renaming "debugLevel" to "logSeverity" and introduce logging
messages which have a severity larger or equal than a given log
severity; so; "nsf::configure debugLevel 0" will print everything,
and "nsf::configure debugLevel 3" will print just error messages
while omitting warnings etc. This is not a change in logging
semantics, but removes some confusion at the C level. Therefore, the
nsf::configure option "debugLevel" was not changed.
2016-08-07 Gustaf Neumann
* nsf.c (ExitHandler): Address potential double freeing problem of
runtime states. ExitHander should never be called twice on the
same interp. Therefore, provide for deleting ExitHandler in the
ExitProc, as well as for deleting ExitHandler and
ThreadExitHandler in the ThreadExitProc. [4ff9a50]
2016-08-04 Gustaf Neumann
* gentclAPI.tcl, nsfAPI.decls: Code generator was changed to
create enum types instead of enum values for NSF API, use enum
types in code. [aa5b3f4]
2016-08-04 Stefan Sobernig
* nsf.c, nsfCmdDefinitions.c, nsfEnumerationType.c
(ExitHandler, Nsf_CmdDefinitionRelease): Provide for
releasing/deleting the hash table for cmd definitions. [843e576]
(ExitHandler, Nsf_EnumerationTypeRelease): Provide for
releasing/deleting the hash table for enumeration-type converters
in ExitHandler. [843e576]
* nsfFunPtrHashTable.c (FreeFunPtrEntry): Remove deletion handler
for cmddef and enumeration-type hash entries, not needed
currently.
2016-08-02 Gustaf Neumann
* generic/**.c: Code cleanup (remove various code smells by
adding const declarations, preferring boolean tests, avoid "for"
loops without a block, don't pass non-initialized value in an
array on index [0], reducing variable scope, preferring single
returns statements in functions, don't use CONST unless defined
by Tcl API. [8eecbe5]
* nsf.c: Limit effects of namespace-imported classes. [3b5f62d]
2016-08-01 Stefan Sobernig