[Groonga-commit] groonga/groonga [master] refined build_windows.bat and mkmfwin32.vbs

Back to archive index

null+****@clear***** null+****@clear*****
2010年 10月 15日 (金) 00:07:14 JST


Toshihisa	2010-10-14 15:07:14 +0000 (Thu, 14 Oct 2010)

  New Revision: 23f5a19349ca78238d6dc986c7d73ac47a8d713f

  Log:
    refined build_windows.bat and mkmfwin32.vbs

  Modified files:
    build_windows.bat
    mkmfwin32.vbs

  Modified: build_windows.bat (+12 -0)
===================================================================
--- build_windows.bat    2010-10-14 17:45:24 +0000 (234004f)
+++ build_windows.bat    2010-10-14 15:07:14 +0000 (82e6c3f)
@@ -23,6 +23,18 @@ nmake -f Makefile.msvc clean
 nmake -f Makefile.msvc
 cd ..
 
+ @ rem build suggest
+cd modules\suggest
+nmake -f Makefile.msvc clean
+nmake -f Makefile.msvc
+cd ..\..
+
+ @ rem build mecab
+cd modules\tokenizers
+nmake -f Makefile.msvc clean
+nmake -f Makefile.msvc
+cd ..\..
+
 @set INCLUDE=%OLD_INCLUDE%
 @set LIB=%OLD_LIB%
 

  Modified: mkmfwin32.vbs (+155 -9)
===================================================================
--- mkmfwin32.vbs    2010-10-14 17:45:24 +0000 (a289404)
+++ mkmfwin32.vbs    2010-10-14 15:07:14 +0000 (57fed6a)
@@ -7,6 +7,15 @@ set shell = createobject("wscript.shell")
 strarch = shell.expandenvironmentstrings("%PROCESSOR_ARCHITECTURE%")
 msgbox strarch
 
+
+dim MODULES_DIR, MODULES_DIR2, INSTALL_DIR, LOG_PATH, MECAB_LIB, CONFIG_PATH,DOCUMENT_ROOT
+MODULES_DIR = "c:\\groonga\\modules"
+MODULES_DIR2 = "c:\groonga\modules"
+INSTALL_DIR = "c:\windows\system32"
+LOG_PATH = "c:\\groonga\\log\\groonga.log"
+MECAB_LIB = "c:\program files\mecab\sdk\libmecab.lib"
+CONFIG_PATH ="c:\\groonga\\etc\\config"
+DOCUMENT_ROOT ="c:\\groonga\\data\\admin_html"
 'config options
 '
 dim use_debug, use_64bit, use_mecab, make_lib
@@ -16,11 +25,11 @@ if strarch = "x86" then
 else
   use_64bit = 1
 end if
-use_mecab = 0
+use_mecab = 1
 
 'object files
 dim objs
-objs = array("com.obj", "ctx.obj", "db.obj", "hash.obj", "ii.obj", "io.obj", "nfkc.obj", "pat.obj", "ql.obj", "query.obj", "scm.obj", "snip.obj", "store.obj", "str.obj", "token.obj", "proc.obj", "module.obj", "util.obj", "expr.obj")
+objs = array("com.obj", "ctx.obj", "db.obj", "hash.obj", "ii.obj", "io.obj", "nfkc.obj", "pat.obj", "ql.obj", "query.obj", "scm.obj", "snip.obj", "store.obj", "str.obj", "token.obj", "proc.obj", "module.obj", "util.obj", "expr.obj",  "geo.obj", "output.obj")
 
 dim fs
 set fs = wscript.createobject("scripting.filesystemobject")
@@ -68,7 +77,7 @@ sub common_header()
   if use_debug = 1 then
     ts.write "/debug "
   end if
-  ts.write "/STACK:2097152 /DYNAMICBASE /OPT:REF /OPT:ICF /NXCOMPAT advapi32.LIB ws2_32.lib "
+  ts.write "/STACK:10240000 /DYNAMICBASE /OPT:REF /OPT:ICF /NXCOMPAT advapi32.LIB ws2_32.lib "
   if use_mecab = 1 then
     ts.write "libmecab.lib"
   end if
@@ -84,20 +93,39 @@ sub common_header()
   ts.write "        -DNO_ZLIB \" + vbLf
   ts.write "        -DUSE_SELECT \" + vbLf
   ts.write "        -DGROONGA_DEFAULT_ENCODING=""\""utf-8\"""" \" + vbLf
+  ts.write "        -DGRN_MODULE_SUFFIX=""\"".dll\"""" \" + vbLf
+  ts.write "        -DMODULES_DIR=""\"""
+  ts.write MODULES_DIR
+  ts.write "\"""" \"  + vbLf
+
   ts.write "        -DGROONGA_DEFAULT_QUERY_ESCALATION_THRESHOLD=""0"" \" + vbLf
-  ts.write "        -DGROONGA_LOG_PATH=""\""c:\\groonga\\log\\groonga.log\"""" \" + vbLf
-  ts.write "        -DDEFAULT_ADMIN_HTML_PATH=""\""c:\\groonga\\data\\admin_html\"""" \" + vbLf
+
+  ts.write "        -DGROONGA_LOG_PATH=""\"""
+  ts.write LOG_PATH
+  ts.write "\"""" \"  + vbLf
+
+  ts.write "        -DGRN_CONFIG_PATH=""\"""
+  ts.write CONFIG_PATH
+  ts.write "\"""" \"  + vbLf
+
+  ts.write "        -DDEFAULT_DOCUMENT_ROOT=""\"""
+  ts.write DOCUMENT_ROOT
+  ts.write "\"""" \"  + vbLf
+
   ts.write "        -DPACKAGE=""\"""
   ts.write package
   ts.write "\"""" \" + vbLf
+
   ts.write "        -DPACKAGE_VERSION=""\"""
   ts.write version
   ts.write "\"""" \" + vbLf
+
   if make_lib = 1 then
   ts.write "        -DGROONGA_VERSION=""\"""
   ts.write revision
   ts.write "\"""" \" + vbLf
   end if
+
   ts.write "        -DPACKAGE_STRING=""\"""
   ts.write version
   ts.write "\"""" " + vbLf
@@ -127,7 +155,8 @@ ts.write "        $(LINK) $(LDFLAGS) /out:$@.dll $(OBJ) libgroonga.obj /dll" + v
 ts.write vbLf
 
 ts.write "install:" + vbLf
-ts.write "        copy libgroonga.dll %SystemRoot%\system32" + vbLf
+ts.write "        copy libgroonga.dll "
+ts.write INSTALL_DIR + vbLf
 
 ts.write "clean:" + vbLf
 ts.write "        $(DEL) *.obj *.dll *.pdb *.exp *.lib *.i" + vbLf
@@ -154,18 +183,135 @@ ts.write vbLf
 ts.write "all: groonga grntest" + vbLf
 
 ts.write "groonga: $(OBJ) groonga.obj" + vbLf
-ts.write "        $(LINK) $(LDFLAGS) /out:$@.exe $(OBJ) groonga.obj" + vbLf
+ts.write "        $(LINK) $(LDFLAGS) /out:$@.exe groonga.obj ../lib/libgroonga.lib" + vbLf
 ts.write vbLf
 
 ts.write "grntest: $(OBJ) grntest.obj" + vbLf
-ts.write "        $(LINK) $(LDFLAGS) /out:$@.exe $(OBJ) grntest.obj" + vbLf
+ts.write "        $(LINK) $(LDFLAGS) /out:$@.exe grntest.obj ../lib/libgroonga.lib " + vbLf
 ts.write vbLf
 
 ts.write "install:" + vbLf
-ts.write "        copy groonga.exe %SystemRoot%\system32" + vbLf
+ts.write "        copy groonga.exe "
+ts.write INSTALL_DIR + vbLf
 
 ts.write "clean:" + vbLf
 ts.write "        $(DEL) *.obj *.dll *.pdb *.exp  *.i" + vbLf
 
 ts.close
 msgbox "src/Makefile.msvc updated"
+
+'Makefile for modules\suggest
+set ts = fs.opentextfile("modules\suggest\Makefile.msvc", 2, True)
+ts.write "DEL = del" + vbLf
+ts.write "CC = cl.exe" + vbLf
+ts.write "LINK=link.exe" + vbLf
+ts.write vbLf
+if use_debug = 1 then
+  ts.write "CFLAGS = /nologo /Od /W3 /MT /Zi -DWIN32 -I../../ -I../../lib/" + vbLf
+else
+  ts.write "CFLAGS = /nologo /Ox /W3 /MT /Zi -DWIN32 -I../../ -I../../lib/" + vbLf
+end if
+
+ts.write "LDFLAGS = /nologo "
+if use_64bit = 1 then
+  ts.write "/MACHINE:X64 "
+else
+  ts.write "/MACHINE:X86 "
+end if
+if use_debug = 1 then
+  ts.write "/debug "
+end if
+ts.write vbLf
+
+ts.write "DEFS =  -D_CRT_SECURE_NO_DEPRECATE \" + vbLf
+ts.write "        -DDLL_EXPORT \" + vbLf
+ts.write "        -DNO_LZO \" + vbLf
+ts.write "        -DNO_ZLIB \" + vbLf
+ts.write "        -DUSE_SELECT" + vbLf
+
+ts.write ".c.obj:" + vbLf
+ts.write "        $(CC) $(CFLAGS) $(DEFS) -c $<" + vbLf
+ts.write vbLf
+
+ts.write "suggest: $(OBJ) suggest.obj" + vbLf
+ts.write "        $(LINK) $(LDFLAGS) /out:$@.dll suggest.obj ../../lib/libgroonga.lib /dll" + vbLf
+ts.write vbLf
+
+ts.write "install:" + vbLf
+ts.write "        if not exist "
+ts.write MODULES_DIR2
+ts.write "\suggest "
+ts.write "md "
+ts.write MODULES_DIR2
+ts.write "\suggest" + vblf
+
+ts.write "        copy suggest.dll "
+ts.write MODULES_DIR2
+ts.write "\suggest" + vblf
+
+ts.write "clean:" + vbLf
+ts.write "        $(DEL) *.obj *.dll *.pdb *.exp  *.i" + vbLf
+
+ts.close
+msgbox "modules/suggest/Makefile.msvc updated"
+
+'Makefile for modules\tokenizers
+if use_mecab = 0 then
+  wscript.quit
+end if
+
+set ts = fs.opentextfile("modules\tokenizers\Makefile.msvc", 2, True)
+ts.write "DEL = del" + vbLf
+ts.write "CC = cl.exe" + vbLf
+ts.write "LINK=link.exe" + vbLf
+ts.write vbLf
+if use_debug = 1 then
+  ts.write "CFLAGS = /nologo /Od /W3 /MT /Zi -DWIN32 -I../../ -I../../lib/" + vbLf
+else
+  ts.write "CFLAGS = /nologo /Ox /W3 /MT /Zi -DWIN32 -I../../ -I../../lib/" + vbLf
+end if
+
+ts.write "LDFLAGS = /nologo "
+if use_64bit = 1 then
+  ts.write "/MACHINE:X64 "
+else
+  ts.write "/MACHINE:X86 "
+end if
+if use_debug = 1 then
+  ts.write "/debug "
+end if
+ts.write vbLf
+
+ts.write "DEFS =  -D_CRT_SECURE_NO_DEPRECATE \" + vbLf
+ts.write "        -DDLL_EXPORT \" + vbLf
+ts.write "        -DNO_LZO \" + vbLf
+ts.write "        -DNO_ZLIB \" + vbLf
+ts.write "        -DUSE_SELECT" + vbLf
+
+ts.write ".c.obj:" + vbLf
+ts.write "        $(CC) $(CFLAGS) $(DEFS) -c $<" + vbLf
+ts.write vbLf
+
+ts.write "mecab: $(OBJ) mecab.obj" + vbLf
+ts.write "        $(LINK) $(LDFLAGS) /out:$@.dll mecab.obj ../../lib/libgroonga.lib """
+ts.write MECAB_LIB
+ts.write """ /dll" + vbLf
+ts.write vbLf
+
+ts.write "install:" + vbLf
+ts.write "        if not exist "
+ts.write MODULES_DIR2
+ts.write "\tokenizer "
+ts.write "md "
+ts.write MODULES_DIR2
+ts.write "\tokenizer" + vblf
+
+ts.write "        copy mecab.dll "
+ts.write MODULES_DIR2
+ts.write "\tokenizer" + vblf
+
+ts.write "clean:" + vbLf
+ts.write "        $(DEL) *.obj *.dll *.pdb *.exp  *.i" + vbLf
+
+ts.close
+msgbox "modules/tokenizers/Makefile.msvc updated"




Groonga-commit メーリングリストの案内
Back to archive index