[Mew-dist 15036] Win32 changes

Shuichi KITAGUCHI ki at example.com
2000年 11月 25日 (土) 00:16:11 JST


北口です。

bin 下の Win32 周りをごちゃごちゃといじってみました。

まずは、最終的なディレクトリ構成を、

  bin/ -+- mewls.c, mewencode.c, ...
        |
        +- <Makefile.w32> (BCC/VC++ 用)
        |
        +- w32 -+- <config.h>  (Win32 用ファイル群)
                +- dirent.h    (w32lib(*1)から引っぱってくる)
                +- dirent.c    (同上)
                +- w32.c       (同上)

                    注: <> のものをこのメールに添付しています。

としてみました(arch とあるけど、おそらく bin 直下が UNIX 等用になるだ
ろうから、それ以外は直下にディレクトリを掘れば良いだろうという目論み)。
そして、dirent.c など(VC++ には readdir がないので...)は別ライブラリに
しようと思っているので、Mew には含めないという考えでいます(ご意見があ
ります?>後藤さん)。

コンパイル方法は、まず zlib を拾ってきて(*2)どこかに置いておいておいて、
Makefile.w32 の先頭を修正します。そして Makefile.w32 のうち BCC 用の行
か VC++ 用の行のどちらかを生かして、

  > nmake -f Makefile.w32    ... VC++
  > make -f Makefile.w32     ... BCC

とします(どちらも確認済み。Cygwin は確認していないですが、影響はないは
ず)。

そうしてきた、VC++6.0 で make した 1.95b80 付属の 
mewencode.exe/mewls.exe を固めて

  ftp://ftp.Mew.org/pub/Mew/Win32/alpha/mew-1.95b80-bin.zip

に置いておきましたので、コンパイルするのが面倒〜、という方はどうぞ。


(*1) w32lib(注: 作りかけ、というより他のから切り出してきたレベルのもの):
  ftp://ftp.Mew.org/pub/Mew/Win32/alpha/w32lib.zip

(*2) zlib のコンパイル済みバイナリ:
  ftp://ftp.freesoftware.com/pub/infozip/zlib/contrib/


--
Shuichi Kitaguchi // ki at example.com kit at example.com

thread 表示ですが、とても速くて良いですね。
人に「ほらほら速いでしょ」と見せびらかすにはもってこいかと(^^;

スレッド表示がとても速いので、これであと親メッセージが辿れれば、

・+inbox で読んでいて「あれ、これってどういう話題だっけ?」
・親メッセージがある場所(フォルダ)へジャンプ
・'t' でスレッド表示、話を順に辿る

となって、個人的にはこれぐらいまでできれば充分満足しそうです
(常にスレッド表示である必要性はあまり感じませんので)。
-------------- next part --------------
diff -uNr bin/mewls.c bin.new/mewls.c
--- bin/mewls.c	Mon Nov 20 20:53:00 2000
+++ bin.new/mewls.c	Fri Nov 24 23:17:44 2000
@@ -39,6 +39,9 @@
 #  include <ndir.h>
 # endif /* HAVE_NDIR_H */
 #endif /* HAVE_DIRENT_H */
+#ifdef HAVE_DIRECT_H
+#include <direct.h>
+#endif
 
 /* for chdir() */
 #ifdef HAVE_DIR_H
-------------- next part --------------
# -*- Mode: makefile; -*-

# **** Please modify ****
ZLIBINC = C:/usr/local/zlib
ZLIBLIB = C:/usr/local/zlib/zlib.lib

# for Visual C++
CC      = cl
CFLAGS  = -nologo -O2 -W3 -Iw32 -I$(ZLIBINC)
EXEFLAG = -Fe

# for Borland C++
#CC      = bcc32
#CFLAGS  = -O2 -w -Iw32 -I$(ZLIBINC)
#EXEFLAG = -e



TARGET = mewencode.exe mewls.exe

MEWENCODEOBJS = mewencode.obj utils.obj
MEWLSOBJS     = mewls.obj utils.obj pattern.obj dirent.obj

all : $(TARGET)

config.h : w32\config.h
	copy w32\config.h config.h

mewencode.exe : $(MEWENCODEOBJS)
	$(CC) $(CFLAGS) $(EXEFLAG)mewencode.exe $(MEWENCODEOBJS) $(ZLIBLIB)
mewls.exe : $(MEWLSOBJS)
	$(CC) $(CFLAGS) $(EXEFLAG)mewls.exe $(MEWLSOBJS)

mewencode.obj : mewencode.c mew.h config.h
	$(CC) $(CFLAGS) -c mewencode.c
mewls.obj : mewls.c mew.h config.h
	$(CC) $(CFLAGS) -c mewls.c
utils.obj : utils.c mew.h config.h
	$(CC) $(CFLAGS) -c utils.c
pattern.obj : pattern.c mew.h config.h
	$(CC) $(CFLAGS) -c pattern.c
dirent.obj : w32\dirent.c w32\dirent.h w32\w32.h
	$(CC) $(CFLAGS) -c w32\dirent.c
-------------- next part --------------
#ifndef __CONFIG_H__
#define __CONFIG_H__

/* Define to empty if the keyword does not work.  */
/* #undef const */

/* Define if you have the <fcntl.h> header file.  */
#define HAVE_FCNTL_H 1

/* Define if you have the <dirent.h> header file.  */
#define HAVE_DIRENT_H 1

/* Define if you have the <dir.h> header file.  */
#ifdef __BORLANDC__
#define HAVE_DIR_H 1
#endif

/* Define if you have the <direct.h> header file.  */
#ifdef _MSC_VER
#define HAVE_DIRECT_H
#endif

/* Define if you have the <ndir.h> header file.  */
/* #undef HAVE_NDIR_H */

/* Define if you have the <sys/dir.h> header file.  */
/* #undef HAVE_SYS_DIR_H */

/* Define if you have the <sys/ndir.h> header file.  */
/* #undef HAVE_SYS_NDIR_H */

/* Define if you have the <unistd.h> header file.  */
/* #define HAVE_UNISTD_H 1 */

/* Define if you have the <getopt.h> header file.  */
/* #define HAVE_PWD_H 1 */

/* Define if you have the <io.h> header file.  */
#define HAVE_IO_H 1

/* Define if you have the strncasecmp function.  */
/* #define HAVE_STRNCASECMP 1 */

/* Define if you have the strnicmp function.  */
#define HAVE_STRNICMP 1

/* Define if you have the fork function.  */
/* #define HAVE_FORK 1 */

/* Define if you have the vfork function.  */
/* #define HAVE_VFORK 1 */

/* Define if you have the getpwuid function.  */
/* #define HAVE_GETPWUID 1 */

/* Define if you have the usleep function.  */
/* #define HAVE_USLEEP 1 */

/* Define if you have the Sleep function.  */
#define HAVE_SLEEP 1

/* Define if you have the setmode function.  */
#define HAVE_SETMODE 1

/* Define if you have the _setmode function.  */
/* #undef HAVE__SETMODE */

/* Define if you have the chdir function.  */
#define HAVE_CHDIR 1

/* Define if you have the _chdir2 function.  */
/* #undef HAVE__CHDIR2 */

/* Define useconds_t as int if you don't have useconds_t */
#define useconds_t int

/* Define if you have the z library (-lz).  */
#define HAVE_LIBZ 1

/* generic windows header */
#include <windows.h>

#endif /* !__CONFIG_H__ */


Mew-dist メーリングリストの案内