Return-Path: bluepeak.westend.com!popeye
Return-Path: <popeye@bluepeak.westend.com>
Received: from popeye.bluepeak.westend.com by bluepeak  with smtp
	(Smail3.2 #1) id m11QcWi-00027eC; Mon, 13 Sep 1999 22:16:36 +0200 (MEST)
Received: from genesis for a.kupries
 with Cubic Circle's cucipop (v1.10 1996/09/06) Mon Sep 13 22:11:30 1999
X-From_: Jan.Nijtmans@wxs.nl  Mon Sep 13 21:10:33 1999
Received: from mail.telekabel.nl (arnhem.telekabel.nl [194.134.132.130])
	by genesis.westend.com (8.8.6/8.8.6) with ESMTP id VAA15921
	for <a.kupries@westend.com>; Mon, 13 Sep 1999 21:10:32 +0200 (MET DST)
Received: from wxs.nl (n20109.telekabel.chello.nl [212.142.20.109])
	by mail.telekabel.nl (8.8.8/8.8/EuroNet) with ESMTP id VAA04888;
	Mon, 13 Sep 1999 21:10:24 +0200 (MET DST)
Message-ID: <37DD4C3A.9974E947@wxs.nl>
Date: Mon, 13 Sep 1999 21:10:50 +0200
From: Jan Nijtmans <Jan.Nijtmans@wxs.nl>
Organization: C.M.G. Arnhem B.V.
X-Mailer: Mozilla 4.61 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Andreas Kupries <a.kupries@westend.com>
CC: lvirden@cas.org
Subject: Re: Memchan, TEA
References: <m11QPlK-00027cC@bluepeak>
Content-Type: multipart/mixed;
 boundary="------------1DB303DCFA7BBF2B109F209D"

This is a multi-part message in MIME format.
--------------1DB303DCFA7BBF2B109F209D
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Andreas Kupries wrote:
> I played with Memchan to make it TEA compliant, as far as TEA
> currently goes (Makefile and configure).

I built it successfully with VC++ 6.0 and with gcc-2.95. ,but I
made a few small modifications. This zip-file contains:

tea/Makefile.in.diff        Add the flag "-DBUILD_memchan".  Necessary to get
                            the __declspec() option correct for VC++ and
gcc-2.95.
generic/memchanInt.h.diff   Necessary for gcc-2.95, in order to be able to build
                            the dll without supplying a .def-file. This is a new
                            feature of gcc-2.95; with earlier versions of gcc or
                            egcs it has no effect.
generic/*.c.diff            Minor speed-up, using the function ltoa() in stead
                            of sprintf().
memchan21.dll               Result of the build (gcc-2.95, using crtdll.dll,
                            thread-enabled, works on Windows 95/98/NT/2000,
                            should work with Tcl 8.1 and higher).


Further remarks:
- TEA officially doesn't have support for gcc-2.95, therefore I had to tweak
  tclConfig.sh manually. However, with the first two changes above, Memchan
  is ready for it.
- Also, TEA doesn't have support for built-in icons. I manually modified the
  Makefile in order to correct that.
- The icon still is the same one as Trf.....   ;-)
- "make install" doesn't work on Windows, but it is easy enough to create
  a pkgIndex.tcl using the standard pkg_mkIndex function.
- The "win/Makefile.gnu" file works out-of-the-box with any version of
  mingw32/cygwin but the TEA build requires at least gcc-2.95.
- With gcc-2.95, dllEntry.c is no longer needed. But egcs-1.1 and lower
  still require it.
- As comparision: VC++ 6.0 produces a 20 kByte dll. The dll produced
  by gcc-2.95 is only 9 kByte!!!!!

The included dll passes all tests.

-- 
Jan Nijtmans, CMG Arnhem B.V.
email: Jan.Nijtmans@wxs.nl (private)
       Jan.Nijtmans@cmg.nl (work)
url:   http://home.wxs.nl/~nijtmans/
--------------1DB303DCFA7BBF2B109F209D
Content-Type: application/x-unknown-content-type-WinZip;
 name="memchan.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="memchan.zip"

[encoded data, 8395 characters]
BgAAAAAGAAYAnwEAAKAWAAAAAA==
--------------1DB303DCFA7BBF2B109F209D--
