configure

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Improve portability (restict length of literal strings <= 4095)

Adress literal limitaton in ISO C99, that requires compilers to support

only strings up to 4095 bytes. As a consequence, we have to split

the compiled-in literal commands into two parts.

  1. … 7 more files in changeset.
* configure, aclocal.m4: Re-generated autotools artifacts to reflect changes in configure.ac.

  1. … 1 more file in changeset.
* configure.ac, configure: Align TEA versions.

  1. … 1 more file in changeset.
* nsfDebug.c, configure.ac: Provide for the commit id (if available) to be stored in the variable "::nsf::commit".

  1. … 3 more files in changeset.
* configure.ac, configure (AC_INIT): Rather add link to SF ticketing.

  1. … 1 more file in changeset.
* configure.ac (AC_INIT): Remove third argument to init because PACKAGE_BUGREPORT is unused.

  1. … 1 more file in changeset.
TEA: Updated m4/tcl.m4 to most recent TEA version: 3.10, regenerated autotools artifacts

  1. … 1 more file in changeset.
Docs: Link version numbering in man pages to autoconf tooling (similar to the NaviServer setup), update copyright dates in man pages where needed

  1. … 20 more files in changeset.
Re-factored new hash-table infrastructure (based on function-pointer keys) to support method-definitions (and future uses as well).

  1. … 5 more files in changeset.
- replace all remaning ObjectName and ClassName with variant with trailing "_" when appropriate - allow nsf::procs with zero arguments or plain arguments (when "-debug" is used - extended regression test - bump version number to 2.1

  1. … 7 more files in changeset.
- added nsf::method::property /obj/ /method/ debug ?0|1? when debug is activated, a debug line written to the log file when the function is called and exited

- added nsf::method::property /obj/ /method/ deprecated ?0|1?

when deprecated is activated, a warning written to the log file when

the function is called

- added flags to nsf::proc: -debug and -deprecated

(can als be set via nsf::method::property with an arbitrary object

and proc passed fully qualified)

- bumped version number to 2.0.1

  1. … 11 more files in changeset.
- support building nsd from some other directory than the root directory - raise no error, when nsf is built with mongo + profile enabled

  1. … 5 more files in changeset.
- handle nsfUtil.c from version-specific subdirectory

  1. … 2 more files in changeset.
- get rid of getstubs

  1. … 4 more files in changeset.
Rearrange 'make getstubs' slightly, so that we do not require the stub files present in generic/* for the build machinery to work properly

  1. … 4 more files in changeset.
- set the right version number to 2.0.0

  1. … 15 more files in changeset.
- Make dtplite configurable in Makefile, e.g. make "DTPLITE=/usr/local/ns/bin/tclsh8.5 /usr/local/ns/bin/dtplite" man

- regenerate documentation

- bump verison number to 2.0 (also in .man files)

  1. … 19 more files in changeset.
Revive nsfConfig.sh: The paths expanded during a configure run were broken, partly due to substituting obsolete variables

  1. … 2 more files in changeset.
First solution to provide a multi-step resolution of a Tcl interpreter in our shell wrappers. Uses some bash scripting to walk a list of candidates: 1) interp in build directory, 2) intep in install directory, 3) tcl interp in PATH. Where appropriate (cases 2 & 3), restricts search to a specific tinterp version. By relying on a generic shebang line (/bin/sh) we do not run into package-dependency restrictions on Debian. So a win-win?

  1. … 2 more files in changeset.
build system: - don't call genstubs from configure, since Debian does not seem to have genstubs.tcl installed. Now, we pre-generate the stub files for tcl8.5 and tcl8.6 and copy the "right" version depending on the configured version.

  1. … 10 more files in changeset.
- stick closer to TEA conventions (keep tclconfig-sh in tclconfig directory) - remove obsolete version of install-sh, copy manifested version to mongodb library - fix more configure quoting

  1. … 11 more files in changeset.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb

  1. … 13 more files in changeset.
- moving .m4 files to subdirectory as recommended

  1. … 11 more files in changeset.
- update generated configure files

  1. … 1 more file in changeset.
- change configure flags from --with-mongodb to --with-mongoc=... and --with-bson

  1. … 1 more file in changeset.
xotcl2: - fixed "... info defaults ..." and "... info instdefaults ..." emulation in XOTcl 2 - fixed error message - extended regression test - bumped revision of nsf/xotcl/nx to 2.0b6

  1. … 9 more files in changeset.
mongodb: - integrated configuration of mongodb into toplevel configfile option: --with-mongodb=MONGO_INCLUDE_DIR,MONGO_LIB_DIR - added regression test files for mongodb support (lowlevel (tcl-only) and highlevel (nx based oo support)) - integrated mongodb-testfiles with "make test" - reduced verbosity of nx-mongo.tcl (added verbosty variable)

  1. … 21 more files in changeset.
- bump version number to 2.0b5

  1. … 1 more file in changeset.
Object-method Reform: - changed interface to object specific commands by requiring an ensemble named "object". The rational behind is essentially to use always the same info command to retrieve object specific methods, no matter whether these are defined on a plain object or an a class object (does not break the "contract" what e.g. "info method" returns).

Now we define methods via:

/cls/ method foo {args} {...body...}

/cls/ object method foo {args} {...body...}

/obj/ object method foo {args} {...body...}

Similarly, aliases, forwards and mixins are defined, e.g.

/cls/ mixin add ...

/cls/ object mixin add ...

/obj/ object mixin add ...

/obj/ require object method ...

The same change propagated as well to the "info" method.

Now we have:

/cls/ info methods ...

/cls/ info object methods ...

/obj/ info object methods ...

Similar, the object parametererization uses

/cls/ create obj -object-mixin M

/cls/ create obj -object-filter f

/metacls/ create cls -mixin M1 -object-mixin M2

/metacls/ create cls -filter f1 -object-filter f2

- as a consequence,

a) "/cls/ class method ...",

"/cls/ class alias ...",

"/cls/ class forward ...",

"/cls/ class filter ...",

"/cls/ class mixin ...",

"/cls/ class info ..."

"/obj/ class method require method ..."

"/obj/ class method require public method ..."

"/obj/ class method require protected method ..."

"/obj/ class method require private method ..."

were dropped

b) "/obj/ method ....",

"/obj/ alias ....",

"/obj/ forward ...."

"/obj/ filter ...."

"/obj/ mixin ...."

"/obj/ info method*"

"/cls/ create obj -mixin M"

"/cls/ create obj -filter f"

"/obj/ method require method ..."

"/obj/ method require public method ..."

"/obj/ method require protected method ..."

"/obj/ method require private method ..."

were dropped

- added package nx::class to allow optionally the "class" notation

"/cls/ class method ..." (and friends, see (a)), and

"/cls/ class info ...

- added package nx::plain-object-method to allow optionally plain method

b) "/obj/ method ...." (and friends, see (b))

- add support to slots to use ensemble methods as setters

  1. … 43 more files in changeset.
- configure, configure.in: Under win, the CLEANFILES missed a pattern for object files - nsfInt.h: Based on the BUILD_nsf convention, the internal header introduced a TCL_STORAGE_CLASS macro placing the dllimport attribute (under Win/MinGW builts). As a consequence, shared and stub builts ended up with function declarations annotated with dllimport (which for these cases is either unnecessary or even breaks builts because the dllexport counterpart is missing, obviously). As nsf.h includes a sane DLLIMPORT/DLLEXPORT handling (copied over from tcl.h), I simply removed the special macro handling from nsfInt.h. - NsfProcStub(): Use the EXTERN macro rather than extern directly

  1. … 3 more files in changeset.