[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 メーリングリストの案内