Windows 奈良では3。
Windows 公式版では「mecab-config」がインストールされない。うーん。
Unix系ではこんなね:
1 #!/bin/sh
2
3 prefix=/usr
4 exec_prefix=${prefix}
5 exec_prefix_set=no
6
7 usage()
8 {
9 cat <<EOF
10 Usage: mecab-config [OPTIONS]
11
12 Options:
13 [--cxx]
14 [--prefix[=DIR]]
15 [--exec-prefix[=DIR]]
16 [--libs]
17 [--cflags]
18 [--dicdir]
19 [--libexecdir]
20 [--sysconfdir]
21 [--libs-only-L]
22 [--libs-only-l]
23 [--inc-dir]
24 [--help]
25 [--version]
26 EOF
27
28 exit $1
29 }
30
31 if test $# -eq 0; then
32 usage 1
33 fi
34
35 cflags=false
36 libs=false
37
38 while test $# -gt 0; do
39 case "$1" in
40 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
41 *) optarg= ;;
42 esac
43
44 case "$1" in
45 --cxx)
46 echo g++
47 ;;
48
49 --cc)
50 echo gcc
51 ;;
52
53 --prefix=*)
54 prefix=$optarg
55 if test $exec_prefix_set = no ; then
56 exec_prefix=$optarg
57 fi
58 ;;
59
60 --prefix)
61 echo $prefix
62 ;;
63
64 --exec-prefix=*)
65 exec_prefix=$optarg
66 exec_prefix_set=yes
67 ;;
68
69 --exec-prefix)
70 echo $exec_prefix
71 ;;
72
73 --version)
74 echo 0.996
75 exit 0
76 ;;
77
78 --help)
79 usage 0
80 ;;
81
82 --cflags)
83 if test ${prefix}/include != /usr/include ; then
84 includes=-I${prefix}/include
85 fi
86 echo $includes
87 ;;
88
89 --libs)
90 echo -L${exec_prefix}/lib -lmecab -lstdc++
91 ;;
92
93 --dicdir)
94 echo ${exec_prefix}/lib/mecab/dic
95 ;;
96
97 --inc-dir)
98 echo ${prefix}/include
99 ;;
100
101 --libs-only-L)
102 echo ${exec_prefix}/lib
103 ;;
104
105 --libs-only-l)
106 echo -lmecab -lstdc++ | sed s/-l//g;
107 ;;
108
109 --libexecdir)
110 echo /usr/libexec/mecab
111 ;;
112
113 --sysconfdir)
114 echo ${prefix}/etc
115 ;;
116
117 *)
118 usage
119 exit 1
120 ;;
121 esac
122 shift
123 done
124
125 exit 0
一応ソースを見ると Windows に色目を使ってる形跡はあるんだけれど、とにかくこれはインストールはされない。と思う。(思わぬ場所にいないなら。)
前にも何回か書いたと思うけど、ほぼ99% の OSS デベロッパが「MSYS? なにそれたべれんの」とまったく相手にしてくれない。mecab に関しては、その古さも関係しているけれど、最近の OSS だって負けず劣らず「そんなもん知らん」としてこれへのサポートは切り捨てられている。なんつーか、こういうちょっとしたスクリプトくらい、置くだけ置いといてくれてもいいのにね。(どのみちそれの実行は結局難儀はするけれど、存在を当てに出来るだけマシ。)
Windows 公式 MeCab + MSYS という前提で使う用途での最小限の書き換え:
1 #!/bin/sh
2
3 prefix="c:/Program Files (x86)/MeCab" #/usr
4 exec_prefix=${prefix}
5 exec_prefix_set=no
6
7 usage()
8 {
9 cat <<EOF
10 Usage: mecab-config [OPTIONS]
11
12 Options:
13 [--cxx]
14 [--prefix[=DIR]]
15 [--exec-prefix[=DIR]]
16 [--libs]
17 [--cflags]
18 [--dicdir]
19 [--libexecdir]
20 [--sysconfdir]
21 [--libs-only-L]
22 [--libs-only-l]
23 [--inc-dir]
24 [--help]
25 [--version]
26 EOF
27
28 exit $1
29 }
30
31 if test $# -eq 0; then
32 usage 1
33 fi
34
35 cflags=false
36 libs=false
37
38 while test $# -gt 0; do
39 case "$1" in
40 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
41 *) optarg= ;;
42 esac
43
44 case "$1" in
45 --cxx)
46 echo g++
47 ;;
48
49 --cc)
50 echo gcc
51 ;;
52
53 --prefix=*)
54 prefix=$optarg
55 if test $exec_prefix_set = no ; then
56 exec_prefix=$optarg
57 fi
58 ;;
59
60 --prefix)
61 echo $prefix
62 ;;
63
64 --exec-prefix=*)
65 exec_prefix=$optarg
66 exec_prefix_set=yes
67 ;;
68
69 --exec-prefix)
70 echo $exec_prefix
71 ;;
72
73 --version)
74 echo 0.996
75 exit 0
76 ;;
77
78 --help)
79 usage 0
80 ;;
81
82 --cflags)
83 if test ${prefix}/include != /usr/include ; then
84 includes=-I${prefix}/include
85 fi
86 echo $includes
87 ;;
88
89 --libs)
90 echo -L${exec_prefix}/lib -lmecab -lstdc++
91 ;;
92
93 --dicdir)
94 #echo ${exec_prefix}/lib/mecab/dic
95 echo ${exec_prefix}/dic
96 ;;
97
98 --inc-dir)
99 echo ${prefix}/include
100 ;;
101
102 --libs-only-L)
103 echo ${exec_prefix}/lib
104 ;;
105
106 --libs-only-l)
107 echo -lmecab -lstdc++ | sed s/-l//g;
108 ;;
109
110 --libexecdir)
111 echo /usr/libexec/mecab
112 ;;
113
114 --sysconfdir)
115 echo ${prefix}/etc
116 ;;
117
118 *)
119 usage
120 exit 1
121 ;;
122 esac
123 shift
124 done
125
126 exit 0
–prefix、–exec-prefix、–sysconfdir、–dicdir だけならこれで動く、かな、おそらく。
こいつはこれを前提にするように書き換えた。「MSYS からの利用を想定」すると少しヘンチクリンなことをする必要はあるんだけれど。(どういうことかはソース見てちょ。)