On Tue, Feb 3, 2015 at 9:47 AM, Even Rouault <[email protected]>
wrote:

> Le mardi 03 février 2015 08:02:58, Rashad M a écrit :
> > Hello,
> >
> > Is it possible to use existing libz when building gdal on msvc. On linux
> I
> > can pass --with-libz= during configure. But on windows I couldn't find
> any
> > options in the be-alike nmake.opt
> >
> > Also in gdal/port/Makefile.vc there is zlib includes in EXTRAFLAGS which
> > points to internal zlib from frmts/zlib
> >
> > Is there any reason I must you internal zlib with windows?
>
> Rashad,
>
> indeed it seems the option has never been implemented. I cannot think of a
> particular reason why linking against external zlib wouldn't work. This
> would
> require mostly editing the relevant makefiles (the one you mention and
> other
> ones such as in frmts/gtiff/libtiff etc...).
>

Ok. Here is a patch attached that can use external zlib when compiling gdal
on windows.


Could you have a look at it and let me if anything missing.

I made the diff against 1.11 branch. below is svn info output


Chemin : .
Chemin racine de la copie de travail : C:\Temp\gdal
URL : http://svn.osgeo.org/gdal/branches/1.11/gdal
Racine du dépôt : http://svn.osgeo.org/gdal
UUID du dépôt : f0d54148-0727-0410-94bb-9a71ac55c965
Révision : 28405
Type de noud : répertoire
Tâche programmée : normale
Auteur de la dernière modification : tamas
Révision de la dernière modification : 28397
Date de la dernière modification: 2015-01-31 23:34:06 +0100 (sam. 31 janv.
2015)



Even
>
> >
> > [1] http://svn.osgeo.org/gdal/trunk/gdal/port/makefile.vc
> > [2] http://svn.osgeo.org/gdal/trunk/gdal/nmake.opt
>
> --
> Spatialys - Geospatial professional services
> http://www.spatialys.com
>



-- 
Regards,
   Rashad
Index: nmake.opt
===================================================================
--- nmake.opt   (révision 28405)
+++ nmake.opt   (copie de travail)
@@ -228,6 +228,11 @@
 #JPEGDIR = c:/projects/jpeg-6b
 #JPEG_LIB = $(JPEGDIR)/libjpeg.lib
 
+#if using an external zlib library uncomment the follwing lines
+#ZLIB_EXTERNAL_LIB = 1
+#ZLIB_INC = -IC:\zlib_install\include
+#ZLIB_LIB = C:\zlib_install\lib\zlib.lib
+
 #if using an external png library uncomment the follwing lines
 #PNG_EXTERNAL_LIB = 1
 #PNGDIR = c:/projects/libpng-1.0.8
@@ -591,6 +596,14 @@
 INC    =       -I$(GDAL_ROOT)\port -I$(GDAL_ROOT)\ogr -I$(GDAL_ROOT)\gcore \
                -I$(GDAL_ROOT)\alg -I$(GDAL_ROOT)\ogr\ogrsf_frmts
 
+!IFDEF ZLIB_EXTERNAL_LIB
+ZLIB_CFLAGS    =  $(ZLIB_INC)
+ZLIB_LFLAGS =  $(ZLIB_LIB)
+!ELSE
+ZLIB_CFLAGS    =       -I$(GDAL_ROOT)\frmts\zlib
+ZLIB_LFLAGS =  $(GDAL_ROOT)/frmts/zlib/*.obj
+!ENDIF
+        
 !IFDEF MSVC_VLD_DIR
 MSVC_VLD_FLAGS=-DMSVC_USE_VLD=1 -I$(MSVC_VLD_DIR)\include
 !IFDEF WIN64
Index: frmts/png/makefile.vc
===================================================================
--- frmts/png/makefile.vc       (révision 28405)
+++ frmts/png/makefile.vc       (copie de travail)
@@ -4,12 +4,10 @@
 OBJ    =       \
        pngdataset.obj
 
-
-#EXTRAFLAGS =  -I..\zlib -Ilibpng
 !IFDEF PNG_EXTERNAL_LIB
-EXTRAFLAGS =   -I..\zlib -I$(PNGDIR)
+EXTRAFLAGS =   $(ZLIB_CFLAGS) -I$(PNGDIR)
 !ELSE
-EXTRAFLAGS =   -I..\zlib -Ilibpng
+EXTRAFLAGS =   $(ZLIB_CFLAGS) -Ilibpng
 !ENDIF
 
 default:       $(OBJ)
Index: frmts/png/libpng/makefile.vc
===================================================================
--- frmts/png/libpng/makefile.vc        (révision 28405)
+++ frmts/png/libpng/makefile.vc        (copie de travail)
@@ -23,10 +23,11 @@
 
 GDAL_ROOT      =       ..\..\..
 
-EXTRAFLAGS =   -I..\..\zlib
-
 !INCLUDE $(GDAL_ROOT)\nmake.opt
 
+EXTRAFLAGS =   $(ZLIB_CFLAGS)
+
+
 default:       $(OBJ)
        xcopy /D  /Y *.obj ..\..\o
 
Index: frmts/gtiff/libtiff/makefile.vc
===================================================================
--- frmts/gtiff/libtiff/makefile.vc     (révision 28405)
+++ frmts/gtiff/libtiff/makefile.vc     (copie de travail)
@@ -41,7 +41,7 @@
 
 GDAL_ROOT      =       ..\..\..
 
-EXTRAFLAGS =   -I..\..\zlib -DZIP_SUPPORT -DPIXARLOG_SUPPORT \
+EXTRAFLAGS =  $(ZLIB_CFLAGS) -DZIP_SUPPORT -DPIXARLOG_SUPPORT \
                $(JPEG_FLAGS) $(JPEG12_FLAGS) $(LZMA_FLAGS) \
                $(SOFTWARNFLAGS)
 
Index: frmts/ozi/makefile.vc
===================================================================
--- frmts/ozi/makefile.vc       (révision 28405)
+++ frmts/ozi/makefile.vc       (copie de travail)
@@ -5,7 +5,7 @@
 
 !INCLUDE $(GDAL_ROOT)\nmake.opt
 
-EXTRAFLAGS      =        -I..\zlib
+EXTRAFLAGS      =   $(ZLIB_CFLAGS)
 
 default:       $(OBJ)
        xcopy /D  /Y *.obj ..\o
Index: frmts/iso8211/makefile.vc
===================================================================
--- frmts/iso8211/makefile.vc   (révision 28405)
+++ frmts/iso8211/makefile.vc   (copie de travail)
@@ -21,22 +21,22 @@
 all:   default 8211view.exe 8211dump.exe 8211createfromxml.exe
 
 iso8211.dll: $(OBJ) $(CPLLIB) 
-       link /dll $(LDEBUG) $(OBJ) $(CPLLIB)  ../zlib/*.obj \
+       link /dll $(LDEBUG) $(OBJ) $(CPLLIB)  $(ZLIB_LFLAGS) \
                /out:iso8211.dll /implib:iso8211_i.lib
        if exist [email protected] mt -manifest [email protected] -outputresource:$@;1 
 
 8211view.exe:  8211view.obj $(OBJ) $(CPLLIB) 
-       $(CC) $(CFLAGS) 8211view.obj $(OBJ) $(CPLLIB) $(LIBICONV_LIBRARY) 
$(CURL_LIB) ../zlib/*.obj /link $(LINKER_FLAGS)
+       $(CC) $(CFLAGS) 8211view.obj $(OBJ) $(CPLLIB) $(LIBICONV_LIBRARY) 
$(CURL_LIB) $(ZLIB_LFLAGS) /link $(LINKER_FLAGS)
        if exist [email protected] mt -manifest [email protected] -outputresource:$@;1 
        del 8211view.obj
 
 8211dump.exe:  8211dump.obj $(OBJ) $(CPLLIB) 
-       $(CC) $(CFLAGS) 8211dump.obj $(OBJ) $(CPLLIB) $(LIBICONV_LIBRARY) 
$(CURL_LIB) ../zlib/*.obj  /link $(LINKER_FLAGS)
+       $(CC) $(CFLAGS) 8211dump.obj $(OBJ) $(CPLLIB) $(LIBICONV_LIBRARY) 
$(CURL_LIB) $(ZLIB_LFLAGS) /link $(LINKER_FLAGS)
        if exist [email protected] mt -manifest [email protected] -outputresource:$@;1 
        del 8211dump.obj
 
 8211createfromxml.exe: 8211createfromxml.obj $(OBJ) $(CPLLIB) 
-       $(CC) $(CFLAGS) 8211createfromxml.obj $(OBJ) $(CPLLIB) 
$(LIBICONV_LIBRARY) $(CURL_LIB) ../zlib/*.obj  /link $(LINKER_FLAGS)
+       $(CC) $(CFLAGS) 8211createfromxml.obj $(OBJ) $(CPLLIB) 
$(LIBICONV_LIBRARY) $(CURL_LIB) $(ZLIB_LFLAGS)  /link $(LINKER_FLAGS)
        if exist [email protected] mt -manifest [email protected] -outputresource:$@;1 
        del 8211createfromxml.obj
 
Index: frmts/grib/makefile.vc
===================================================================
--- frmts/grib/makefile.vc      (révision 28405)
+++ frmts/grib/makefile.vc      (copie de travail)
@@ -29,4 +29,4 @@
 gdal_GRIB.dll: default
        link /dll $(LDEBUG) /out:gdal_GRIB.dll \
                $(OBJ) degrib18\degrib\*.obj degrib18\g2clib-1.0.4\*.obj \
-               $(GDAL_ROOT)/gdal_i.lib $(LINK_PNG) ..\zlib\*.obj
+               $(GDAL_ROOT)/gdal_i.lib $(LINK_PNG) $(ZLIB_LFLAGS)
Index: frmts/rik/makefile.vc
===================================================================
--- frmts/rik/makefile.vc       (révision 28405)
+++ frmts/rik/makefile.vc       (copie de travail)
@@ -5,7 +5,7 @@
 
 !INCLUDE $(GDAL_ROOT)\nmake.opt
 
-EXTRAFLAGS =   -I..\zlib
+EXTRAFLAGS = $(ZLIB_CFLAGS)
 
 default:       $(OBJ)
        xcopy /D  /Y *.obj ..\o
Index: frmts/georaster/makefile.vc
===================================================================
--- frmts/georaster/makefile.vc (révision 28405)
+++ frmts/georaster/makefile.vc (copie de travail)
@@ -18,7 +18,7 @@
 !ENDIF
 !ENDIF
 
-EXTRAFLAGS = $(OCI_INCLUDE) -I..\zlib $(JPEG_FLAGS)
+EXTRAFLAGS = $(OCI_INCLUDE) $(ZLIB_CFLAGS) $(JPEG_FLAGS)
 
 default: $(OBJ)
        xcopy /D  /Y *.obj ..\o
@@ -37,7 +37,7 @@
 plugin:        $(PLUGIN_DLL)
 
 $(PLUGIN_DLL): $(OBJ)
-       link /dll $(LDEBUG) /out:$(PLUGIN_DLL) $(OBJ) $(GDALLIB) $(OCI_LIB) 
..\zlib\*.obj \
+       link /dll $(LDEBUG) /out:$(PLUGIN_DLL) $(OBJ) $(GDALLIB) $(OCI_LIB) 
$(ZLIB_LFLAGS) \
        ..\jpeg\vsidataio.obj $(JPEG_LIB)
        if exist $(PLUGIN_DLL).manifest mt -manifest $(PLUGIN_DLL).manifest 
-outputresource:$(PLUGIN_DLL);2
 
Index: frmts/mbtiles/makefile.vc
===================================================================
--- frmts/mbtiles/makefile.vc   (révision 28405)
+++ frmts/mbtiles/makefile.vc   (copie de travail)
@@ -1,7 +1,7 @@
 
 OBJ    =       mbtilesdataset.obj
 
-EXTRAFLAGS = -I../../ogr -I../../ogr/ogrsf_frmts/geojson 
-I../../ogr/ogrsf_frmts/geojson/libjson -I../zlib
+EXTRAFLAGS = -I../../ogr -I../../ogr/ogrsf_frmts/geojson 
-I../../ogr/ogrsf_frmts/geojson/libjson $(ZLIB_CFLAGS)
 
 GDAL_ROOT      =       ..\..
 
Index: port/makefile.vc
===================================================================
--- port/makefile.vc    (révision 28405)
+++ port/makefile.vc    (copie de travail)
@@ -57,7 +57,7 @@
 
 !INCLUDE ..\nmake.opt
 
-EXTRAFLAGS     =        -I..\frmts\zlib -DHAVE_LIBZ
+EXTRAFLAGS     =       $(ZLIB_CFLAGS) -DHAVE_LIBZ
 
 !IFDEF LIBICONV_INCLUDE
 EXTRAFLAGS =   $(EXTRAFLAGS) -DHAVE_ICONV $(LIBICONV_CFLAGS) 
$(LIBICONV_INCLUDE)
Index: ogr/makefile.vc
===================================================================
--- ogr/makefile.vc     (révision 28405)
+++ ogr/makefile.vc     (copie de travail)
@@ -1,12 +1,13 @@
 
 LINKFLAGS =    /Zi /MTd
-EXTRAFLAGS =   -DWIN32 -I. -Iogrsf_frmts -Iogrsf_frmts\mem 
-I..\frmts\gtiff\libgeotiff -I..\frmts\zlib \
-               $(PROJ_FLAGS) $(PROJ_INCLUDE) $(GEOS_CFLAGS)
+EXTRAFLAGS =   -DWIN32 -I. -Iogrsf_frmts -Iogrsf_frmts\mem 
-I..\frmts\gtiff\libgeotiff $(PROJ_FLAGS)  $(PROJ_INCLUDE) $(GEOS_CFLAGS)
 
 GDAL_ROOT =    ..
 
 !INCLUDE ..\nmake.opt
 
+EXTRAFLAGS = $(EXTRAFLAGS) $(ZLIB_CFLAGS)
+
 !IFDEF INCLUDE_OGR_FRMTS
 EXTRAFLAGS = $(EXTRAFLAGS) -DOGR_ENABLED -DHAVE_MITAB
 !ENDIF
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to