X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fmakefile;h=ba84e9c16ef343aeb1ece836c9c93b8ffe4998da;hp=727a593a3661cecf8612fac047019c71e2e3f758;hb=eebab252c82eb9cc5977e73ad7dd0ad83bb8dbf6;hpb=8b4a08403ae705e22b604bffa4577ac403b7de8d diff --git a/win/makefile b/win/makefile index 727a593..ba84e9c 100644 --- a/win/makefile +++ b/win/makefile @@ -1,6 +1,6 @@ # Copyright (C) 1995-2007, Index Data ApS # All rights reserved. -# $Id: makefile,v 1.138 2007-11-09 16:46:43 adam Exp $ +# $Id: makefile,v 1.142 2008-01-14 22:58:46 adam Exp $ # # Programmed by # Heikki Levanto & Adam Dickmeiss @@ -19,6 +19,11 @@ HAVE_TCL=1 HAVE_ICONV=1 ICONV_DIR = c:\iconv-1.9.2.win32 +# icu charcter conversion utility +# get icu libraries from http://www.icu-project.org +HAVE_ICU=1 +ICU_DIR = c:\icu + # libxslt HAVE_LIBXSLT=1 LIBXSLT_DIR=c:\libxslt-1.1.19.win32 @@ -39,7 +44,7 @@ BISON=bison default: all -all: dirs generate dll client ztest zoomsh utilprog testprog iconv libxml2 libxslt +all: dirs generate dll client ztest yazicu zoomsh utilprog testprog iconv icu libxml2 libxslt NSIS="c:\program files\nsis\makensis.exe" HHC="c:\program files\html help workshop\hhc.exe" @@ -89,14 +94,19 @@ TMP=$(TMPDIR) # Targets - what to make !if $(DEBUG) -DLL=$(BINDIR)\yaz3d.dll +YAZ_DLL=$(BINDIR)\yaz3d.dll YAZ_IMPLIB=$(LIBDIR)\yaz3d.lib +YAZ_ICU_DLL=$(BINDIR)\yaz_icu3d.dll +YAZ_ICU_IMPLIB=$(LIBDIR)\yaz_icu3d.lib !else -DLL=$(BINDIR)\yaz3.dll +YAZ_DLL=$(BINDIR)\yaz3.dll YAZ_IMPLIB=$(LIBDIR)\yaz3.lib +YAZ_ICU_DLL=$(BINDIR)\yaz_icu3.dll +YAZ_ICU_IMPLIB=$(LIBDIR)\yaz_icu3.lib !endif CLIENT=$(BINDIR)\yaz-client.exe +YAZ_ICU=$(BINDIR)\yaz-icu.exe ZOOMSH=$(BINDIR)\zoomsh.exe ZTEST=$(BINDIR)\yaz-ztest.exe @@ -119,7 +129,7 @@ TSTLOG=$(BINDIR)\tstlog.exe TST_TIMING=$(BINDIR)\tst_timing.exe # shortcut names defined here -dll: dirs generate $(DLL) +dll: dirs generate $(YAZ_DLL) client: dirs generate $(CLIENT) ztest: dirs generate $(ZTEST) @@ -127,8 +137,7 @@ zoomsh: $(ZOOMSH) $(ZOOMTST1) $(ZOOMTST2) $(ZOOMTST3) \ $(ZOOMTST4) $(ZOOMTST5) $(ZOOMTST6) $(ZOOMTST7) $(ZOOMTST8) $(ZOOMTST9) \ $(ZOOMTST10) -utilprog: $(CQL2PQF) $(CQL2XCQL) $(YAZ_MARCDUMP) - +utilprog: $(CQL2PQF) $(CQL2XCQL) $(YAZ_MARCDUMP) testprog: $(TSTLOG) $(TST_TIMING) htmlhelp: $(DOCDIR)\htmlhelp.chm @@ -153,6 +162,35 @@ iconv: !endif +###TRYING ICU FLAGS HERE WORKS #### +## ADAM ARE THESE FLAGS OK and the DLL sufficient ## +##IT COMPILES AND SEEMS TO WORK + +!if $(HAVE_ICU) +ICU_DEF= \ + /D YAZ_HAVE_ICU=1 /D HAVE_ICU_H=1 \ + /I"$(ICU_DIR)\include" +ICU_LIB= \ + $(ICU_DIR)\lib\icudt.lib $(ICU_DIR)\lib\icuin.lib $(ICU_DIR)\lib\icuuc.lib +icu: $(BINDIR)\icudt38.dll $(BINDIR)\icuin38.dll $(BINDIR)\icuuc38.dll +yazicu: dirs generate $(YAZ_ICU) + +$(BINDIR)\icudt38.dll: + copy "$(ICU_DIR)\bin\icudt38.dll" $(BINDIR) +$(BINDIR)\icuin38.dll: + copy "$(ICU_DIR)\bin\icuin38.dll" $(BINDIR) +$(BINDIR)\icuuc38.dll: + copy "$(ICU_DIR)\bin\icuuc38.dll" $(BINDIR) +!else +ICU_DEF= \ + /D YAZ_HAVE_ICU=0 +ICU_LIB= +icu: +yazicu: +!endif + +### + !if $(HAVE_LIBXML2) LIBXML2_LIB="$(LIBXML2_DIR)\lib\libxml2.lib" LIBXML2_DEF=/D YAZ_HAVE_XML2=1 /I"$(LIBXML2_DIR)\include" @@ -196,6 +234,7 @@ libxslt: COMMON_C_OPTIONS= \ /nologo /W3 /EHsc /FD /c \ $(ICONV_DEF) \ + $(ICU_DEF) \ $(LIBXML2_DEF) \ $(LIBXSLT_DEF) \ /D "_CRT_SECURE_NO_DEPRECATE" \ @@ -259,15 +298,11 @@ COMMON_TCL_OPTIONS= ..\util\yaz-asncomp -I$(INCLDIR) -i yaz # Final opt variables !if $(DEBUG) COPT= $(COMMON_C_OPTIONS) $(DEBUG_C_OPTIONS) $(COMMON_C_INCLUDES) -MTLOPT= $(COMMON_MTL_OPTIONS) $(DEBUG_MTL_OPTIONS) -RCOPT= $(COMMON_RC_OPTIONS) $(DEBUG_RC_OPTIONS) LNKOPT= $(COMMON_LNK_OPTIONS) $(DEBUG_LNK_OPTIONS) $(LNK_LIBS) TCLOPT= $(COMMON_TCL_OPTIONS) !else COPT= $(COMMON_C_OPTIONS) $(RELEASE_C_OPTIONS) $(COMMON_C_INCLUDES) -MTLOPT= $(COMMON_MTL_OPTIONS) $(RELEASE_MTL_OPTIONS) -RCOPT= $(COMMON_RC_OPTIONS) $(RELEASE_RC_OPTIONS) LNKOPT= $(COMMON_LNK_OPTIONS) $(RELEASE_LNK_OPTIONS) $(LNK_LIBS) TCLOPT= $(COMMON_TCL_OPTIONS) !endif @@ -290,6 +325,8 @@ YAZ_CLIENT_OBJS= \ $(OBJDIR)\admin.obj \ $(OBJDIR)\fhistory.obj +YAZ_ICU_OBJS= $(OBJDIR)\yaz-icu.obj + ZTEST_OBJS= \ $(OBJDIR)\read-marc.obj \ $(OBJDIR)\read-grs.obj \ @@ -326,6 +363,7 @@ YAZ_CQL2XCQL_OBJS = \ YAZ_MARCDUMP_OBJS = \ $(OBJDIR)\marcdump.obj + TSTLOG_OBJS = \ $(OBJDIR)\tstlog.obj @@ -440,7 +478,7 @@ MISC_OBJS= \ $(OBJDIR)\copy_types.obj \ $(OBJDIR)\http.obj \ $(OBJDIR)\match_glob.obj \ - $(OBJDIR)\poll.obj + $(OBJDIR)\poll.obj \ Z3950_OBJS= \ $(OBJDIR)\z-date.obj\ @@ -483,6 +521,9 @@ DLL_OBJS =\ $(MISC_OBJS) \ $(Z3950_OBJS) \ $(ILL_OBJS) \ + +ICU_DLL_OBJS =\ + $(OBJDIR)\icu_I18N.obj # Generated C and H files @@ -738,11 +779,11 @@ RSOPT=/d_NDEBUG !endif $(YAZ_RES): $(YAZ_RC) - $(RSC) $(RSOPT) /fo"$(YAZ_RES)" $(YAZ_RC) + $(RSC) $(RSOPT) /I"../include" /fo"$(YAZ_RES)" $(YAZ_RC) # Linking -$(DLL) $(YAZ_IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES) +$(YAZ_DLL) $(YAZ_IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES) $(LINK_DLL) \ $(DLL_OBJS) \ $(YAZ_RES) \ @@ -750,75 +791,88 @@ $(DLL) $(YAZ_IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES) /implib:"$(YAZ_IMPLIB)" $(MT) -manifest $@.manifest -outputresource:$@;2 -$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(DLL) +$(YAZ_ICU_DLL) $(YAZ_ICU_IMPLIB): "$(BINDIR)" $(ICU_DLL_OBJS) $(YAZ_RES) + $(LINK_DLL) $(ICU_LIB) $(YAZ_IMPLIB)\ + $(ICU_DLL_OBJS) \ + /out:$@ \ + /implib:"$(YAZ_ICU_IMPLIB)" + $(MT) -manifest $@.manifest -outputresource:$@;2 + +$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_CLIENT_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMSH) : "$(BINDIR)" $(YAZ_ZOOMSH_OBJS) $(DLL) +$(YAZ_ICU) : "$(BINDIR)" $(YAZ_ICU_OBJS) $(YAZ_ICU_DLL) + $(LINK_PROGRAM) $(ICU_LIB) $(YAZ_ICU_IMPLIB) $(YAZ_ICU_OBJS) /out:$@ + $(MT) -manifest $@.manifest -outputresource:$@;1 + + +$(ZOOMSH) : "$(BINDIR)" $(YAZ_ZOOMSH_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMSH_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST1) : "$(BINDIR)" $(YAZ_ZOOMTST1_OBJS) $(DLL) +$(ZOOMTST1) : "$(BINDIR)" $(YAZ_ZOOMTST1_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST1_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST2) : "$(BINDIR)" $(YAZ_ZOOMTST2_OBJS) $(DLL) +$(ZOOMTST2) : "$(BINDIR)" $(YAZ_ZOOMTST2_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST2_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST3) : "$(BINDIR)" $(YAZ_ZOOMTST3_OBJS) $(DLL) +$(ZOOMTST3) : "$(BINDIR)" $(YAZ_ZOOMTST3_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST3_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST4) : "$(BINDIR)" $(YAZ_ZOOMTST4_OBJS) $(DLL) +$(ZOOMTST4) : "$(BINDIR)" $(YAZ_ZOOMTST4_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST4_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST5) : "$(BINDIR)" $(YAZ_ZOOMTST5_OBJS) $(DLL) +$(ZOOMTST5) : "$(BINDIR)" $(YAZ_ZOOMTST5_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST5_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST6) : "$(BINDIR)" $(YAZ_ZOOMTST6_OBJS) $(DLL) +$(ZOOMTST6) : "$(BINDIR)" $(YAZ_ZOOMTST6_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST6_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST7) : "$(BINDIR)" $(YAZ_ZOOMTST7_OBJS) $(DLL) +$(ZOOMTST7) : "$(BINDIR)" $(YAZ_ZOOMTST7_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST7_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST8) : "$(BINDIR)" $(YAZ_ZOOMTST8_OBJS) $(DLL) +$(ZOOMTST8) : "$(BINDIR)" $(YAZ_ZOOMTST8_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST8_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST9) : "$(BINDIR)" $(YAZ_ZOOMTST9_OBJS) $(DLL) +$(ZOOMTST9) : "$(BINDIR)" $(YAZ_ZOOMTST9_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST9_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZOOMTST10) : "$(BINDIR)" $(YAZ_ZOOMTST10_OBJS) $(DLL) +$(ZOOMTST10) : "$(BINDIR)" $(YAZ_ZOOMTST10_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_ZOOMTST10_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(CQL2PQF) : "$(BINDIR)" $(YAZ_CQL2PQF_OBJS) $(DLL) +$(CQL2PQF) : "$(BINDIR)" $(YAZ_CQL2PQF_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_CQL2PQF_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(CQL2XCQL) : "$(BINDIR)" $(YAZ_CQL2XCQL_OBJS) $(DLL) +$(CQL2XCQL) : "$(BINDIR)" $(YAZ_CQL2XCQL_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_CQL2XCQL_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(DLL) +$(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(ZTEST_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(YAZ_MARCDUMP) : "$(BINDIR)" $(YAZ_MARCDUMP_OBJS) $(DLL) +$(YAZ_MARCDUMP) : "$(BINDIR)" $(YAZ_MARCDUMP_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(YAZ_MARCDUMP_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(TSTLOG) : "$(BINDIR)" $(TSTLOG_OBJS) $(DLL) + +$(TSTLOG) : "$(BINDIR)" $(TSTLOG_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(TSTLOG_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1 -$(TST_TIMING) : "$(BINDIR)" $(TST_TIMING_OBJS) $(DLL) +$(TST_TIMING) : "$(BINDIR)" $(TST_TIMING_OBJS) $(YAZ_DLL) $(LINK_PROGRAM) $(TST_TIMING_OBJS) /out:$@ $(MT) -manifest $@.manifest -outputresource:$@;1