# $Id: nmake.opt 41878 2018-03-21 14:13:45Z rouault $ # # nmake.opt - main configuration file for NMAKE makefiles. # # Usage examples (see details below): # nmake -f makefile.vc # nmake -f makefile.vc MSVC_VER=1900 # nmake -f makefile.vc MSVC_VER=1900 DEBUG=1 # nmake -f makefile.vc MSVC_VER=1900 DEBUG=1 ANALYZE=1 # nmake -f makefile.vc MSVC_VER=1900 DEBUG=1 ANALYZE=1 WITH_PDB=1 # nmake -f makefile.vc MSVC_VER=1900 WIN64=1 # # Options: # DEBUG - set to disable optimizations and link with debug runtimes; also implies WITH_PDB. # ANALYZE - set to enable code analysis output. # WITH_PDB - set to enable output of PDB files, supported for both debug and release modes. # WIN64 - set to target 64-bit architecture. # ############################################################################### # For convenience, user may put custom settings in a local settings file # named nmake.local, or a name defined by the EXT_NMAKE_OPT option. !IF EXIST("$(GDAL_ROOT)\nmake.local") !INCLUDE $(GDAL_ROOT)\nmake.local !ENDIF # nmake -f makefile.vc EXT_NMAKE_OPT=mynmake.opt !IFDEF EXT_NMAKE_OPT !INCLUDE $(EXT_NMAKE_OPT) !ENDIF ############################################################################### # Check version of Visual C++ compiler: # nmake -f makefile.vc MSVC_VER=xxxx # where xxxx is one of following (older versions no longer supported): # 1910 = 15.0(2017) # 1900 = 14.0(2015) # !IFNDEF MSVC_VER #assume msvc VS2015. MSVC_VER=1900 !ENDIF ############################################################################### # Optional use of Visual Leak Detector (VLD) by Dan Moulding, available at # http://vld.codeplex.com/ # Uncomment this line to use VLD in debug configuration only: #MSVC_VLD_DIR="C:\Program Files\Visual Leak Detector" ############################################################################### # Location to install .exe, .dll and python stuff # Edit as required. GDAL_HOME is used for convenience here, # but this particular relative organization is not mandatory. # But the paths *should* be absolute (relative paths mess up in submakefiles). !IFNDEF GDAL_HOME GDAL_HOME = "C:\warmerda\bld" !ENDIF !IFNDEF BINDIR BINDIR = $(GDAL_HOME)\bin !ENDIF !IFNDEF PLUGINDIR PLUGINDIR = $(BINDIR)\gdalplugins !ENDIF !IFNDEF LIBDIR LIBDIR = $(GDAL_HOME)\lib !ENDIF !IFNDEF INCDIR INCDIR = $(GDAL_HOME)\include !ENDIF !IFNDEF DATADIR DATADIR = $(GDAL_HOME)\data !ENDIF !IFNDEF HTMLDIR HTMLDIR = $(GDAL_HOME)\html !ENDIF # Set this to the installed directory containing python. If you don't # have python just let it point to a directory that does not exist (as now). !IFNDEF PYDIR PYDIR = "C:\Software\Python24" !ENDIF # Set the location of your SWIG installation !IFNDEF SWIG SWIG = swig.exe !ENDIF # SWIG Java settings !IFNDEF JAVA_HOME JAVA_HOME = c:\j2sdk1.4.2_12 !ENDIF !IFNDEF ANT_HOME ANT_HOME=c:\programmi\apache-ant-1.7.0 !ENDIF JAVADOC=$(JAVA_HOME)\bin\javadoc JAVAC=$(JAVA_HOME)\bin\javac JAVA=$(JAVA_HOME)\bin\java JAR=$(JAVA_HOME)\bin\jar JAVA_INCLUDE=-I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 # Compilation flags # Enable code analysis on request # http://msdn.microsoft.com/en-us/library/ms173498.aspx !IFDEF ANALYZE CXX_ANALYZE_FLAGS=/analyze !ELSE CXX_ANALYZE_FLAGS= !ENDIF # Force PDB output for DEBUG mode !IFDEF DEBUG WITH_PDB=1 !ENDIF !IFDEF WITH_PDB CXX_PDB_FLAGS=/Zi /Fd$(GDAL_ROOT)\gdal$(VERSION).pdb !ELSE CXX_PDB_FLAGS= !ENDIF !IFNDEF OPTFLAGS !IFNDEF DEBUG OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG !ELSE OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MDd /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG !ENDIF !ENDIF # OPTFLAGS # # Set flags controlling warnings level, and suppression of some warnings. # !IFNDEF WARNFLAGS # 4127: conditional expression is constant # 4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' # 4275: non – DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier' # 4786: ?????????? # 4100: 'identifier' : unreferenced formal parameter # 4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch # 4206: nonstandard extension used : translation unit is empty (only applies to C source code) # 4351: new behavior: elements of array 'array' will be default initialized (needed for https://trac.osgeo.org/gdal/changeset/35593) # 4611: interaction between '_setjmp' and C++ object destruction is non-portable # WARNFLAGS = /W4 /wd4127 /wd4251 /wd4275 /wd4786 /wd4100 /wd4245 /wd4206 /wd4351 /wd4611 !ENDIF # # Set flags controlling availability of SSE # !IFNDEF SSEFLAGS SSEFLAGS = /DHAVE_SSE_AT_COMPILE_TIME SSSE3FLAGS = /DHAVE_SSSE3_AT_COMPILE_TIME #SSE_ARCH_FLAGS = /arch:SSE !ENDIF !IFNDEF AVXFLAGS AVXFLAGS = /DHAVE_AVX_AT_COMPILE_TIME AVX_ARCH_FLAGS = /arch:AVX !ENDIF # The following are extra disables that can be applied to external source # not under our control that we wish to use less stringent warnings with. !IFNDEF SOFTWARNFLAGS SOFTWARNFLAGS= /wd4244 /wd4702 /wd4701 /wd4013 /wd4706 /wd4057 /wd4210 /wd4305 !ENDIF # Linker debug options !IFDEF DEBUG LDEBUG= /debug !ELSEIFDEF WITH_PDB # Ensures that PDB is included in release DLL if so requested LDEBUG= /debug /opt:ref /opt:icf !ENDIF # Uncomment the following if you are building for 64-bit windows # (x64). You'll need to have PATH, INCLUDE and LIB set up for 64-bit # compiles. #WIN64=YES # Capture WIN64=1 if specified in NMAKE command line !IFDEF WIN64 WIN64=YES !ENDIF # If you don't want some entry points to have STDCALL conventions, # comment out the following and add -DCPL_DISABLE_STDCALL in OPTFLAGS. # This option has no effect on 64-bit windows. !IFNDEF STDCALL STDCALL=YES !ENDIF # Version number embedded in DLL name. # If GDAL version is X.Y.Z, VERSION = X * 100 + Y !IFNDEF VERSION VERSION = 202 !ENDIF # Comment the following out if you want PAM supported disabled # by default. !IFNDEF PAM_SETTING PAM_SETTING=-DPAM_ENABLED !ENDIF # Uncomment the following to link OGR utilities against main GDAL DLL # instead of statically linking against OGR libraries. !IFNDEF DLLBUILD DLLBUILD=1 !ENDIF # Enable all OGR formats, or only raster formats? Comment out to disable # vector formats. !IFNDEF INCLUDE_OGR_FRMTS INCLUDE_OGR_FRMTS = YES !ENDIF # Enable all GNM formats? Comment out to disable # gnm formats. !IFNDEF INCLUDE_GNM_FRMTS INCLUDE_GNM_FRMTS = YES !ENDIF # To be enabled defined to point to setargv.obj from the Visual C++ directory, # when you want the utility programs to be able to expand wildcards. #SETARGV = "D:\Software\VStudio\VC98\lib\setargv.obj" # Uncomment to build with libiconv library to support extended character # recoding capabilities. GDAL's internal stub implementation supports # latin1<->utf-8 translations only. # Depending on your libiconv build you may need to set ICONV_CONST macro to # const or leave it empty. Take a look on your iconv() declaration in iconv.h. # If the second parameter declared as const char** then you need to define # ICONV_CONST=const otherwise leave it empty. #LIBICONV_DIR = "C:\Program Files\GnuWin32" #LIBICONV_INCLUDE = -I$(LIBICONV_DIR)\include #LIBICONV_LIBRARY = $(LIBICONV_DIR)\lib\libiconv.lib #LIBICONV_CFLAGS = -DICONV_CONST=const # Comment out the following to disable BSB support. !IFNDEF BSB_SUPPORTED BSB_SUPPORTED = 1 !ENDIF # Comment out the following to disable ODBC support. !IFNDEF ODBC_SUPPORTED ODBC_SUPPORTED = 1 !ENDIF # Uncomment out the following to enable plugin with SQL Native Client support for MSSQL Bulk Copy. #SQLNCLI_VERSION = 11 #SQLNCLI_DIR = C:\Program Files (x86)\Microsoft SQL Server\$(SQLNCLI_VERSION)0\SDK #SQLNCLI_LIB = "$(SQLNCLI_DIR)\Lib\x86\sqlncli$(SQLNCLI_VERSION).lib" #SQLNCLI_INCLUDE = "-I$(SQLNCLI_DIR)\Include" -DSQLNCLI_VERSION=$(SQLNCLI_VERSION) -DMSSQL_BCP_SUPPORTED=1 # Comment out the following to disable JPEG support. !IFNDEF JPEG_SUPPORTED JPEG_SUPPORTED = 1 !ENDIF # This will enable 12bit libjpeg - use only with internal jpeg builds. !IFNDEF JPEG12_SUPPORTED JPEG12_SUPPORTED = 1 !ENDIF #if using an external jpeg library uncomment the following lines #JPEG_EXTERNAL_LIB = 1 #JPEGDIR = c:/projects/jpeg-6b #JPEG_LIB = $(JPEGDIR)/libjpeg.lib #if using an external png library uncomment the following lines #PNG_EXTERNAL_LIB = 1 #PNGDIR = c:/projects/libpng-1.0.8 #PNG_LIB = $(PNGDIR)/libpng.lib # if using an external libtiff library #TIFF_INC = -Ic:/warmerda/libtiff/libtiff #TIFF_LIB = c:/warmerda/libtiff/libtiff/libtiff_i.lib # uncomment following line, if you have libtiff version >= 4.0 to # enable BigTIFF support #TIFF_OPTS= -DBIGTIFF_SUPPORT # if using an external libgeotiff library #GEOTIFF_INC = -Ic:/warmerda/libgeotiff -Ic:/warmerda/libgeotiff/libxtiff #GEOTIFF_LIB = C:/warmerda/libgeotiff/geotiff_i.lib # Uncomment out the following lines to enable LibKML support. #LIBKML_DIR = C:/Dev/libkml #LIBKML_INCLUDE = -I$(LIBKML_DIR)/src -I$(LIBKML_DIR)/third_party/boost_1_34_1 #LIBKML_LIBRARY = $(LIBKML_DIR)/msvc/Release #LIBKML_LIBS = $(LIBKML_LIBRARY)/libkmlbase.lib \ # $(LIBKML_LIBRARY)/libkmlconvenience.lib \ # $(LIBKML_LIBRARY)/libkmldom.lib \ # $(LIBKML_LIBRARY)/libkmlengine.lib \ # $(LIBKML_LIBRARY)/libkmlregionator.lib \ # $(LIBKML_LIBRARY)/libkmlxsd.lib \ # $(LIBKML_LIBRARY)/minizip_static.lib \ # $(LIBKML_DIR)/third_party\expat.win32/libexpat.lib \ # $(LIBKML_DIR)/third_party\uriparser-0.7.5.win32/release/uriparser.lib \ # $(LIBKML_DIR)/third_party\zlib-1.2.3.win32/lib/minizip.lib \ # $(LIBKML_DIR)/third_party\zlib-1.2.3.win32/lib/zlib.lib # Uncomment the following and update to enable ECW read support with the # 4.1+ readonly SDK #ECWDIR = "c:/Program Files/ERDAS/ERDAS ECW JPEG2000 Read SDK" #ECWFLAGS = -DECWSDK_VERSION=41 \ # -I$(ECWDIR)\include \ # -I$(ECWDIR)\include/NCSECW/api -I$(ECWDIR)\include/NCSECW/jp2 \ # -I$(ECWDIR)\include/NCSECW/ecw #ECWLIB = $(ECWDIR)\lib\vc90\win32\NCSEcw4_RO.lib \ # $(ECWDIR)\lib\vc90\win32\NCSUtil4.lib \ # $(ECWDIR)\lib\vc90\win32\NCScnet4.lib # To add Write support, use the write SDK, change NCSEcw4_RO.lib to # NCSEcw4.lib, and add -DHAVE_COMPRESS to ECWFLAGS. The ECWDIR setting will # also need some adjustment. # Uncomment the following and update to enable ECW read support with the 5.0 SDK #ECWDIR = "c:\Intergraph\ecwsdk5" #ECWFLAGS = -DECWSDK_VERSION=50 \ # -I$(ECWDIR)\include \ # -I$(ECWDIR)\include/NCSECW/api -I$(ECWDIR)\include/NCSECW/jp2 \ # -I$(ECWDIR)\include/NCSECW/ecw #ECWLIB = $(ECWDIR)\lib\vc90\win32\NCSEcw.lib # To build ECW support as a plugin uncomment the following, and make sure # to do "nmake /f makefile.vc plugin" in gdal/frmts/ecw and copy the two # resulting DLLs to an appropriate place. #ECW_PLUGIN = YES # Uncomment the following and update to enable JP2Lura driver #LURATECH_CFLAGS = -Ic:\jp2_csdk_2.16_win64\include #LURATECH_LIB = c:\jp2_csdk_2.16_win64\library\lwf_jp2.lib # To build JP2Lura support as a plugin uncomment the following, and make sure # to do "nmake /f makefile.vc plugin" in gdal/frmts/jp2lura and copy the two # resulting DLLs to an appropriate place. #JP2LURA_PLUGIN = YES # Uncomment the following and update to enable ECW support with the 3.3 SDK. # Significant adaption may be needed. #ECWDIR = C:\warmerda\libecwj2-3.3 #ECWLIB = $(ECWDIR)\Source\NCSBuildQmake\Debug\libecwj2.lib #ECWFLAGS = -DECWSDK_VERSION=33 \ # -I$(ECWDIR)\include -I$(ECWDIR)/Source/include \ # /D_MBCS /D_UNICODE /DUNICODE /D_WINDOWS \ # /DLIBECWJ2 /DWIN32 /D_WINDLL -DNO_X86_MMI # DWG support using the Open Design Alliance Teigha Libraries #TD_BASE = C:\warmerda\pkg\td_vc9 #TD_FLAGS = -D_TOOLKIT_IN_DLL_ #TD_INCLUDE = -I$(TD_BASE)\TD\Include -I$(TD_BASE)\TD\Extensions\ExServices # The following works for Teigha 4.2.2 # In TD_INCLUDE, add /D_TOOLKIT_IN_DLL_ if linking against the .dll #TD_INCLUDE = -I$(TD_BASE)\Core\Include -I$(TD_BASE)\Core\Extensions\ExServices -I$(TD_BASE)\Dgn\include -I$(TD_BASE)\Dgn\Extensions\ExServices #TD_LIBDIR = $(TD_BASE)\lib\vc14dll #TD_LIBS = \ # $(TD_LIBDIR)/TD_Key.lib \ # $(TD_LIBDIR)/TD_ExamplesCommon.lib \ # $(TD_LIBDIR)/TD_Db.lib \ # $(TD_LIBDIR)/TD_DbRoot.lib \ # $(TD_LIBDIR)/TD_Root.lib \ # $(TD_LIBDIR)/TD_Ge.lib \ # $(TD_LIBDIR)/TD_Alloc.lib \ # $(TD_LIBDIR)/TG_Db.lib \ # $(TD_LIBDIR)/TG_ExamplesCommon.lib \ # advapi32.lib # Uncomment to build as a plugin #TD_PLUGIN = YES # Uncomment the following and update to enable OGDI support. #OGDIDIR = D:\warmerda\iii\devdir #OGDI_INCLUDE = $(OGDIDIR)\include\ogdi #OGDIVER = 31 #OGDILIB = $(OGDIDIR)\lib\$(TARGET)\ogdi$(OGDIVER).lib \ # $(OGDIDIR)\lib\$(TARGET)\zlib_ogdi$(OGDIVER).lib # Uncomment for Expat support (required for KML, GPX and GeoRSS read support). #EXPAT_DIR = "C:\Program Files\Expat 2.0.1" #EXPAT_INCLUDE = -I$(EXPAT_DIR)/source/lib #EXPAT_LIB = $(EXPAT_DIR)/bin/libexpat.lib # Uncomment for Xerces based GML and ILI support. #XERCES_DIR = c:\warmerda\supportlibs\xerces-c_3_1_3 #XERCES_INCLUDE = -I$(XERCES_DIR)/include -I$(XERCES_DIR)/include/xercesc #XERCES_LIB = $(XERCES_DIR)/lib/xerces-c_3.lib # Uncomment the following for Interlis support. Note that a Xercex 3.x # is also required (see above). Also, Interlis support only works with # Visual Studio.NET or newer, not VC6. #ILI_ENABLED = YES # Uncomment for JasPer based JPEG2000 support #JASPER_DIR = d:\projects\jasper-1.700.2.uuid #JASPER_INCLUDE = -I$(JASPER_DIR)\src\libjasper\include -DJAS_WIN_MSVC_BUILD #JASPER_LIB = $(JASPER_DIR)\src\msvc\Win32_Release\libjasper.lib # Uncomment the following line if you have patched UUID-enabled version # of JasPer from ftp://ftp.remotesensing.org/gdal/ #JASPER_INCLUDE = $(JASPER_INCLUDE) -DHAVE_JASPER_UUID # Uncomment and adjust paths if you have Kakadu 6.0 or newer # # Starting with KKDU V7.9.1 (at least), it is possible to generate # jp2ak and jpipkak with the 2 Kakadu DLLs instead of object files # In such case : # o do NOT define KAKOBJDIR # o define KAKLIB with BOTH Kakadu DLLs #KAKFLAGS=-DKDU_MAJOR_VERSION=7 -DKDU_MINOR_VERSION=9 -DKDU_PATCH_VERSION=1 #KAKDIR = C:\0_PGH\SRC_CSD\CSD_INTEGRATION\cots\kakadu\download\dev #KAKLIB = $(KAKDIR)\lib_x64\kdu_v79R.lib $(KAKDIR)\lib_x64\kdu_a79R.lib #KAKSRC = $(KAKDIR)\v7_9_1-01156C #KAKOBJDIR = $(KAKDIR)\v7_generated_x86 KAKADU_7_5_OR_LATER = YES #JP2KAK_PLUGIN = YES # Uncomment the following and update to enable NCSA HDF Release 4 support. #HDF4_PLUGIN = NO #HDF4_DIR = D:\warmerda\HDF41r5 #HDF4_LIB = /LIBPATH:$(HDF4_DIR)\lib Ws2_32.lib #HDF4_INCLUDE = $(HDF4_DIR)\include # HDF4 library newer than 4.2.5 has a SDreset_maxopenfiles/SDget_maxopenfiles # interface which allows opening many HDF files simultaneously (the max # number of files was previously hardcoded and too low, smth. like 32). # Uncomment following if your library is newer than 4.2.5. #HDF4_HAS_MAXOPENFILES = YES # Uncomment the following and update to enable NCSA HDF Release 5 support. #HDF5_PLUGIN = NO #HDF5_DIR = c:\warmerda\supportlibs\hdf5\5-164-win #HDF5_LIB = $(HDF5_DIR)\dll\hdf5dll.lib # Uncomment the following and update to enable KEA support. #KEA_PLUGIN = NO #KEA_CFLAGS = -Ic:\kea\include #KEA_LIB = c:\kea\libkea.lib # Uncomment the following for MrSID support. Only MRSID_DIR is required, # which may point to a MrSID Raster SDK, Lidar SDK, or the combined SDK, and # will auto-configure the mrsid and/or mrsid_lidar drivers as appropriate. # Other configuration options can be specified to control specific features # that may be available. See comments at the top of frmts/mrsid/nmake.opt # for more details. #MRSID_DIR = d:\projects\mrsid #MRSID_JP2 = YES !IF DEFINED(MRSID_DIR) || DEFINED(MRSID_RASTER_DIR) || DEFINED(MRSID_LIDAR_DIR) !IF EXIST(frmts\mrsid\nmake.opt) !INCLUDE frmts\mrsid\nmake.opt !ENDIF !ENDIF # PCIDSK Libraries - default configuration uses internal implementation PCIDSK_SETTING=INTERNAL # Replace with these to use an external build. #PCIDSK_SETTING=EXTERNAL #PCIDSK_INCLUDE=-I\warmerda\pcidsk\src #PCIDSK_LIB=\warmerda\pcidsk\src\pcidsk.lib # PostGIS Libraries #PG_INC_DIR = n:\pkg\libpq_win32\include #PG_LIB = n:\pkg\libpq_win32\lib\libpqdll.lib wsock32.lib # MySQL Libraries # NOTE: Need /MT instead of /MD, also enable /EHsc switch. #MYSQL_INC_DIR = D:\Software\MySQLServer4.1\include #MYSQL_LIB = D:\Software\MySQLServer4.1\lib\opt\libmysql.lib advapi32.lib # INGRES Libraries # Uncomment the following to enable Ingres format. # INGRES_HOME = $(II_SYSTEM)\ingres # Uncomment the following if you prefer to build Ingres support as a plugin. # INGRES_PLUGIN = YES !IFDEF INGRES_HOME INGRES_INC_DIR = "$(INGRES_HOME)\files" INGRES_LIB = "$(INGRES_HOME)\lib\iilibapi.lib" \ "$(INGRES_HOME)\lib\iilibutil.lib" \ "$(INGRES_HOME)\lib\libingres.lib" !ENDIF # SQLite Libraries #SQLITE_INC=-IN:\pkg\sqlite-win32 #SQLITE_LIB=N:\pkg\sqlite-win32\sqlite3_i.lib # For spatialite support, try this instead (assuming you grab the libspatialite-amalgamation-2.3.1 and installed it in osgeo4w): # The -DSPATIALITE_AMALGAMATION, which cause "spatialite/sqlite3.h" to be included instead of "sqlite3.h" might not be necessary # depending on the layout of the include directories. In case of compilation errors, remove it. # For RasterLite2 support, add something like -Ic:\install-rl2\include -DHAVE_RASTERLITE2 #SQLITE_INC=-IC:\osgeo4w\include -DHAVE_SPATIALITE -DSPATIALITE_AMALGAMATION # For RasterLite2 support, add something like c:\install-rl2\lib\librasterlite2.lib #SQLITE_LIB=C:\osgeo4w\lib\spatialite_i.lib # Uncomment following line if libsqlite3 has been compiled with SQLITE_HAS_COLUMN_METADATA=yes #SQLITE_HAS_COLUMN_METADATA=yes # Uncomment following line if spatialite is 4.1.2 or later #SPATIALITE_412_OR_LATER=yes # PCRE Library (REGEXP support for SQLite) for example from http://sourceforge.net/projects/gnuwin32/files/pcre/7.0/pcre-7.0.exe/download #PCRE_INC=-I"C:\Program Files\GNUWin32\include" -DHAVE_PCRE #PCRE_LIB="C:\Program Files\GNUWin32\lib\pcre.lib" # Informix Data Blade #INFORMIXDIR="C:\Program Files\IBM\Informix\Client-SDK" #IDB_INC=-I$(INFORMIXDIR)\incl\cpp -I$(INFORMIXDIR)\incl\dmi \ # -I$(INFORMIXDIR)\incl\esql #IDB_LIB=$(INFORMIXDIR)\lib\cpp\libthc++.lib \ # $(INFORMIXDIR)\lib\dmi\libthdmi.lib $(INFORMIXDIR)\lib\isqlt09a.lib # Uncomment the following and update to enable FME support. #FME_DIR = d:\Software\fme # Uncomment the following to enable FITS format support #FITS_PLUGIN = NO #FITS_INC_DIR = c:\dev32\usr\include\cfitsio #FITS_LIB = c:\dev32\usr\lib\cfitsio.lib # Comment out to disable GRIB support. GRIB_SETTING=yes # Uncomment the following to enable NetCDF format. #NETCDF_PLUGIN = NO #NETCDF_SETTING=yes #NETCDF_LIB=C:\Software\netcdf\lib\netcdf.lib #NETCDF_INC_DIR=C:\Software\netcdf\include # Uncomment the following to add NC4 and HDF4 support #NETCDF_HAS_NC4 = yes #NETCDF_HAS_HDF4 = yes # PROJ stuff # Uncomment the following lines to link PROJ library statically. Otherwise # it will be linked dynamically during runtime. # To use the new API of proj5 or later, use #PROJ_FLAGS = -DPROJ_STATIC -DPROJ_VERSION=5 # for proj 4.x: #PROJ_FLAGS = -DPROJ_STATIC -DPROJ_VERSION=4 #PROJ_INCLUDE = -Id:\projects\proj.4\src #PROJ_LIBRARY = d:\projects\proj.4\src\proj_i.lib # Add ORACLE support. # Uncomment the following line to enable OCI Oracle Spatial support. #ORACLE_HOME = C:/Software/Oracle/Product/10.1.0/db_1 # Uncomment the following if you prefer to build OCI support as a plugin. #OCI_PLUGIN = YES !IFDEF ORACLE_HOME OCI_LIB = $(ORACLE_HOME)\oci\lib\msvc\ociw32.lib \ $(ORACLE_HOME)\oci\lib\msvc\oci.lib OCI_INCLUDE = -I$(ORACLE_HOME)\oci\include !ENDIF #SDE_ENABLED = YES #SDE_VERSION=91 #SDE_PLUGIN = NO #SDE_SDK = C:\arcgis\arcsde #SDE_INC = $(SDE_SDK)\include #SDE_LIB = $(SDE_SDK)\lib\pe$(SDE_VERSION).lib \ # $(SDE_SDK)\lib\sde$(SDE_VERSION).lib $(SDE_SDK)\lib\sg$(SDE_VERSION).lib #FGDB_ENABLED = YES #FGDB_PLUGIN = YES #FGDB_SDK = C:\Users\rburhum\Desktop\FileGDB_API_VS2008_1_0beta3 #FGDB_INC = $(FGDB_SDK)\include #FGDB_LIB = $(FGDB_SDK)\lib\FileGDBAPI.lib #uncomment to build AmigoCloud as a plugin instead #AMIGOCLOUD_PLUGIN = YES #uncomment to use ArcObjects #ARCOBJECTS_ENABLED = YES #ARCOBJECTS_PLUGIN = YES #ARCOBJECTS_SDK = C:\PROGRA~2\ArcGIS\com #ARCOBJECTS_INC = $(ARCOBJECTS_SDK)\..\include # #Interestingly, since this is a COM application, we don't link against external libraries, #but we still need to link the app, so we put the generic user32.lib to force the linking process #ARCOBJECTS_LIB = user32.lib # Uncomment to use libcurl (DLL by default) # The cURL library is used for WCS, WMS, GeoJSON, SRS call importFromUrl(), WFS, GFT, CouchDB, /vsicurl/ etc. #CURL_DIR=C:\curl-7.15.0 #CURL_INC = -I$(CURL_DIR)/include # Uncomment following line to use libcurl as dynamic library #CURL_LIB = $(CURL_DIR)/libcurl_imp.lib wsock32.lib wldap32.lib winmm.lib # Uncomment following two lines to use libcurl as static library #CURL_LIB = $(CURL_DIR)/libcurl.lib wsock32.lib wldap32.lib winmm.lib #CURL_CFLAGS = -DCURL_STATICLIB # Uncomment for DODS / OPeNDAP support #DODS_DIR = C:\libdap3.6.2 #DODS_LIB = $(DODSDIR)\lib\libdapMD.lib # Uncomment for libdap >= 3.9 #DODS_FLAGS = -DLIBDAP_39 # Uncomment for GEOS support (GEOS >= 3.1.0 required) #GEOS_DIR=C:/warmerda/geos #GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/source/headers -DHAVE_GEOS #GEOS_LIB = $(GEOS_DIR)/source/geos_c_i.lib # Uncomment for SOSI support #SOSI_PLUGIN = YES #SOSI_ENABLED = YES #SOSI_INC_DIR = e:/sosi #SOSI_LIBS = e:/sosi/FYBA.lib e:/sosi/GM.lib e:/sosi/UT.lib # Uncomment for OpenJpeg (release v2.1 or later) support #OPENJPEG_ENABLED = YES # Note that, contrary to GDAL releases <= 2.2.X, this must point to the # directory where openjpeg.h and opj_config.h are set #OPENJPEG_CFLAGS = -IC:\openjpeg\include\openjpeg-2.X #OPENJPEG_LIB = C:\openjpeg\lib\openjp2.lib #if using an external zlib uncomment the following lines #ZLIB_EXTERNAL_LIB = 1 #ZLIB_INC = -IC:\projects\zlib #ZLIB_LIB = C:\projects\lib\Release\zlib.lib # Uncomment for PDF support # Uncomment POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES for Poppler >= 0.16.0 # Uncomment POPPLER_0_20_OR_LATER = YES for Poppler >= 0.20.0 # Uncomment POPPLER_0_23_OR_LATER = YES for Poppler >= 0.23.0 # Uncomment POPPLER_0_58_OR_LATER = YES for Poppler >= 0.58.0 #POPPLER_ENABLED = YES #POPPLER_CFLAGS = -Ie:/kde/include -Ie:/kde/include/poppler #POPPLER_HAS_OPTCONTENT = YES #POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES #POPPLER_0_20_OR_LATER = YES #POPPLER_0_23_OR_LATER = YES #POPPLER_0_58_OR_LATER = YES #POPPLER_LIBS = e:/kde/lib/poppler.lib e:/kde/lib/freetype.lib e:/kde/lib/liblcms-1.lib advapi32.lib gdi32.lib # Uncomment for PDF support #PODOFO_ENABLED = YES #PODOFO_CFLAGS = -Ie:/podofo-svn/install/include -Ie:/podofo-svn/install/include/podofo #PODOFO_LIBS = e:/podofo-svn/install/lib/podofo.lib E:/release-1500-dev/release-1500/lib/freetype239.lib gdi32.lib # Uncomment for PDF support with PDFium # # Copyright (C) 2015 Klokan Technologies GmbH (http://www.klokantech.com/) # Author: Martin Mikita , xmikit00 @ FIT VUT Brno # # Pdfium can be built from the win_gdal_build branch at https://github.com/rouault/pdfium that # has the following patch to ensure /MD (MultiThreadedDLL) linking consistent with GDAL one. # Build script from PDFium is available at https://github.com/rouault/pdfium/tree/build # #diff --git a/build/standalone.gypi b/build/standalone.gypi #index ecf849b..0e567e4 100644 #--- a/build/standalone.gypi #+++ b/build/standalone.gypi #@@ -100,7 +100,8 @@ # ['component=="shared_library"', { # 'RuntimeLibrary': '2', #/MD # }, { #- 'RuntimeLibrary': '0', #/MT #+ #'RuntimeLibrary': '0', #/MT #+ 'RuntimeLibrary': '2', #/MD # }], # ], # #PDFIUM_ENABLED = YES #PDFIUM_CFLAGS = -Ie:/pdfium/ -Ie:/pdfium/public #PDFIUM_LIB_DIR = e:/pdfium/build/Release/lib #PDFIUM_LIBS = $(PDFIUM_LIB_DIR)/pdfium.lib $(PDFIUM_LIB_DIR)/bigint.lib $(PDFIUM_LIB_DIR)/fdrm.lib $(PDFIUM_LIB_DIR)/formfiller.lib $(PDFIUM_LIB_DIR)/fpdfapi.lib $(PDFIUM_LIB_DIR)/fpdfdoc.lib $(PDFIUM_LIB_DIR)/fpdftext.lib $(PDFIUM_LIB_DIR)/freetype.lib $(PDFIUM_LIB_DIR)/fxcodec.lib $(PDFIUM_LIB_DIR)/fxcrt.lib $(PDFIUM_LIB_DIR)/fxedit.lib $(PDFIUM_LIB_DIR)/fxge.lib $(PDFIUM_LIB_DIR)/pdfwindow.lib $(PDFIUM_LIB_DIR)/fx_agg.lib $(PDFIUM_LIB_DIR)/fx_lcms2.lib $(PDFIUM_LIB_DIR)/fx_libjpeg.lib $(PDFIUM_LIB_DIR)/fx_libopenjpeg.lib $(PDFIUM_LIB_DIR)/fx_zlib.lib gdi32.lib kernel32.lib advapi32.lib # Build PDF driver as plugin #PDF_PLUGIN = NO # Uncomment for LZMA TIFF support #LZMA_CFLAGS = -IC:/gdal_trunk/xz-5.0.0-windows/include #LZMA_LIBS = C:/gdal_trunk/xz-5.0.0-windows/bin_i486/liblzma.lib # Uncomment for ZSTD TIFF support #ZSTD_CFLAGS = -IC:/install-zstd/include #ZSTD_LIBS = C:/install-zstd/lib/libzstd.lib # Uncomment for WEBP support #WEBP_ENABLED = YES #WEBP_CFLAGS = -IE:/libwebp-0.1-windows/dev/Include #WEBP_LIBS = e:/libwebp-0.1-windows/dev/lib/libwebp_a.lib # Uncomment for libxml2 support (for cpl_xml_validate.cpp routines, used optionally by the GML driver) #LIBXML2_INC = -Iz:\home\even\release-1500-dev\release-1500\include #LIBXML2_LIB = z:\home\even\release-1500-dev\release-1500\lib\libxml2.lib # Uncomment for freexl support # # Note: Currently there is no MSVC makefile to build freexl. # Here's the procedure I've followed (from root of freexl source tree) # cl /c src/freexl.c /Iheaders /IE:\release-1500-dev\release-1500\include /DDLL_EXPORT # link /dll E:\release-1500-dev\release-1500\lib\iconv.lib freexl.obj /out:freexl.dll /implib:freexl_i.lib # #FREEXL_CFLAGS = -Ie:/freexl-1.0.0a/headers #FREEXL_LIBS = e:/freexl-1.0.0a/freexl_i.lib # Uncomment for libgta support # #GTA_CFLAGS = -IC:/gdal_trunk/libgta-1.0.0-w32/include -IC:/gdal_trunk/libgta-1.0.0-w32/include/gta #GTA_LIBS = C:/gdal_trunk/libgta-1.0.0-w32/lib/libgta.dll.a # Uncomment for MongoDB support # This configuration is valid for a libmongoclient built as a DLL with: scons.bat --32 --dynamic-windows --sharedclient --prefix=c:\users\even\dev\mongo-client-install --cpppath=c:\users\even\dev\boost_1_55_0_32bit --libpath=c:\users\even\dev\boost_1_55_0_32bit\lib32-msvc-10.0 install #MONGODB_PLUGIN = NO #MONGODB_INC = c:/users/even/dev/mongo-client-install/include # Boost library names must be edited to reflect the actual MSVC and Boost versions #BOOST_INC = c:/users/even/dev/boost_1_55_0_32bit #BOOST_LIB_PATH= c:\users\even\dev\boost_1_55_0_32bit\lib32-msvc-10.0 #MONGODB_LIBS = c:/users/even/dev/mongo-client-install/lib/mongoclient.lib $(BOOST_LIB_PATH)\libboost_thread-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_system-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_date_time-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_chrono-vc100-mt-1_55.lib # For a static build of mongoclient, only building the driver as a plugin succeeded # The libmongoclient_s.lib file had to be renamed without the _s prefix to enable successful linking # It was built with: c:\Python27\Scripts\scons.bat --32 --prefix=c:\users\even\dev\mongo-client-install --cpppath=c:\users\even\dev\boost_1_55_0_32bit --libpath=c:\users\even\dev\boost_1_55_0_32bit\lib32-msvc-10.0 install # MONGODB_PLUGIN = YES # MONGODB_INC = c:/users/even/dev/mongo-client-install/include # MONGODB_CFLAGS = -DSTATIC_LIBMONGOCLIENT # BOOST_INC = c:/users/even/dev/boost_1_55_0_32bit # BOOST_LIB_PATH= c:\users\even\dev\boost_1_55_0_32bit\lib32-msvc-10.0 # MONGODB_LIBS = c:/users/even/dev/mongo-client-install/lib/libmongoclient.lib $(BOOST_LIB_PATH)\libboost_thread-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_thread-vc100-mt-s-1_55.lib $(BOOST_LIB_PATH)\libboost_system-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_system-vc100-mt-s-1_55.lib $(BOOST_LIB_PATH)\libboost_date_time-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_date_time-vc100-mt-s-1_55.lib $(BOOST_LIB_PATH)\libboost_chrono-vc100-mt-1_55.lib $(BOOST_LIB_PATH)\libboost_chrono-vc100-mt-s-1_55.lib $(BOOST_LIB_PATH)\libboost_regex-vc100-mt-s-1_55.lib /nodefaultlib:msvcprt /nodefaultlib:libcmt # QHull configuration. By default use internal libqhull. # QHULL_SETTING can be set to INTERNAL, EXTERNAL or NO # For external qhull, use qhull 2012 !IFNDEF QHULL_SETTING QHULL_SETTING = INTERNAL !ENDIF # To be defined if QHULL_SETTING=EXTERNAL # QHULL_INC = -I.... # Cryptopp stuff. # Make sure cryptopp is compiled with /MD ( Properties | Configuration properties | C/C++ | Code Generation | Runtime Library: Multi-threaded DLL (/MD)) # The headers file must be in $(CRYPTOPP_INC)/cryptopp (the /cryptopp part must not be in the following variable then) # CRYPTOPP_INC = -Ic:/install-cryptopp-x64/include # # Define USE_ONLY_CRYPTODLL_ALG is running against cryptopp.dll, but not if statically linking # USE_ONLY_CRYPTODLL_ALG=YES # # When linking against the DLL: # CRYPTOPP_LIB = c:/install-cryptopp-x64/lib/cryptopp.lib # # When linking against the static lib: # CRYPTOPP_LIB = c:/install-cryptopp-x64/lib/cryptlib.lib # OpenSSL stuff (needed if using curl in multithreaded way, with OpenSSL backend) # OPENSSL_INC = -Ic:/install-openssl/include # OPENSSL_LIB = c:/instal-oppenssl/lib/ssleay32.lib # Comment out to disable MRF support. MRF_SETTING=yes # Any extra libraries needed on this platform? ADD_LIBS = # Binding list. One or several in the following list # csharp, java, python #BINDINGS=java python # Comment out the following if you want to build with Python support, but # you don't have Numeric Python installed (with include files). Numeric # integration may not work. This only appears to the old generation # bindings. #HAVE_NUMPY=1 ########### END OF STUFF THAT NORMALLY NEEDS TO BE UPDATED ################## # Location of MS Data Access SDK (not really needed anymore I think) #MSDASDK = D:\Software\MDAC_2.6 GDAL_DLL = gdal$(VERSION).dll INC = -I$(GDAL_ROOT)\port -I$(GDAL_ROOT)\ogr -I$(GDAL_ROOT)\gcore \ -I$(GDAL_ROOT)\alg -I$(GDAL_ROOT)\ogr\ogrsf_frmts -I$(GDAL_ROOT)\gnm -I$(GDAL_ROOT)\gnm\gnm_frmts -I$(GDAL_ROOT)\apps !IFDEF MSVC_VLD_DIR MSVC_VLD_FLAGS=-DMSVC_USE_VLD=1 -I$(MSVC_VLD_DIR)\include !IFDEF WIN64 MSVC_VLD_LIB=/LIBPATH:$(MSVC_VLD_DIR)/lib/Win64 !ELSE MSVC_VLD_LIB=/LIBPATH:$(MSVC_VLD_DIR)/lib/Win32 !ENDIF !ENDIF !IFDEF INCLUDE_GNM_FRMTS !IFNDEF GNM_FLAG GNM_FLAG = -DGNM_ENABLED !ENDIF !ENDIF #LINKER_FLAGS = /NODEFAULTLIB:LIBC LINKER_FLAGS = $(EXTRA_LINKER_FLAGS) $(MSVC_VLD_LIB) $(LDEBUG) CFLAGS = $(OPTFLAGS) $(WARNFLAGS) $(USER_DEFS) $(SSEFLAGS) $(SSSE3FLAGS) $(INC) $(AVXFLAGS) $(EXTRAFLAGS) $(OGR_FLAG) $(GNM_FLAG) $(MSVC_VLD_FLAGS) -DGDAL_COMPILATION CPPFLAGS = $(CFLAGS) -DNOMINMAX MAKE = nmake /nologo !IFNDEF CC CC = cl !ENDIF INSTALL = xcopy /y /r /d /f /I CPLLIB = $(GDAL_ROOT)/port/cpl.lib !IFDEF DLLBUILD GDALLIB = $(GDAL_ROOT)/gdal_i.lib !ELSE GDALLIB = $(GDAL_ROOT)/gdal.lib !ENDIF !IFDEF ODBC_SUPPORTED # legacy_stdio_definitions.lib : https://connect.microsoft.com/VisualStudio/feedback/details/1134693/vs-2015-ctp-5-c-vsnwprintf-s-and-other-functions-are-not-exported-in-appcrt140-dll-breaking-linkage-of-static-libraries ODBCLIB = legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib !ENDIF !IF DEFINED(MRSID_DIR) || DEFINED(MRSID_RASTER_DIR) || DEFINED(MRSID_LIDAR_DIR) !IF "$(MRSID_PLUGIN)" != "YES" MRSID_LIB_LINK = $(MRSID_LIB) !ELSE MRSID_LIB_LINK= !ENDIF !ENDIF !IFDEF ECWDIR !IF "$(ECW_PLUGIN)" != "YES" ECW_LIB_LINK= $(ECWLIB) !ELSE ECW_LIB_LINK= !ENDIF !ENDIF !IFDEF LURATECH_CFLAGS !IF "$(JP2LURA_PLUGIN)" != "YES" LURATECH_LIB_LINK= $(LURATECH_LIB) !ELSE LURATECH_LIB_LINK= !ENDIF !ENDIF !IFDEF KAKDIR !IF "$(JP2KAK_PLUGIN)" != "YES" KAK_LIB_LINK= $(KAKLIB) !ELSE KAK_LIB_LINK= !ENDIF !ENDIF !IFDEF FITS_LIB !IF "$(FITS_PLUGIN)" != "YES" FITS_LIB_LINK = $(FITS_LIB) !ELSE FITS_LIB_LINK = !ENDIF !ENDIF !IFDEF POPPLER_LIBS !IF "$(PDF_PLUGIN)" != "YES" PDF_LIB_LINK = $(POPPLER_LIBS) !ELSE PDF_LIB_LINK = !ENDIF !ENDIF !IFDEF PODOFO_LIBS !IF "$(PDF_PLUGIN)" != "YES" PDF_LIB_LINK = $(PODOFO_LIBS) !ELSE PDF_LIB_LINK = !ENDIF !ENDIF !IFDEF PDFIUM_LIBS !IF "$(PDF_PLUGIN)" != "YES" PDF_LIB_LINK = $(PDFIUM_LIBS) !ELSE PDF_LIB_LINK = !ENDIF !ENDIF !IFDEF NETCDF_LIB !IF "$(NETCDF_PLUGIN)" != "YES" NETCDF_LIB_LINK = $(NETCDF_LIB) !ELSE NETCDF_LIB_LINK = !ENDIF !ENDIF !IFDEF HDF4_LIB !IF "$(HDF4_PLUGIN)" != "YES" HDF4_LIB_LINK = $(HDF4_LIB) !ELSE HDF4_LIB_LINK = !ENDIF !ENDIF !IFDEF HDF5_LIB !IF "$(HDF5_PLUGIN)" != "YES" HDF5_LIB_LINK = $(HDF5_LIB) !ELSE HDF5_LIB_LINK = !ENDIF !ENDIF !IFDEF KEA_LIB !IF "$(KEA_PLUGIN)" != "YES" KEA_LIB_LINK = $(KEA_LIB) !ELSE KEA_LIB_LINK = !ENDIF !ENDIF !IFDEF FGDB_LIB !IF "$(FGDB_PLUGIN)" != "YES" FGDB_LIB_LINK = $(FGDB_LIB) !ELSE FGDB_LIB_LINK = !ENDIF !ENDIF !IFDEF MONGODB_INC !IF "$(MONGODB_PLUGIN)" != "YES" MONGODB_LIB_LINK = $(MONGODB_LIBS) !ELSE MONGODB_LIB_LINK = !ENDIF !ENDIF !IFDEF XERCES_DIR NAS_ENABLED = YES !ENDIF !IFDEF TD_LIBS !IF "$(TD_PLUGIN)" != "YES" DWG_LIB_LINK = $(TD_LIBS) !ELSE DWG_LIB_LINK = !ENDIF !ENDIF # Under win64, symbols for function names lack the underscore prefix # present on win32. Also the STDCALL calling convention is not used. !IFDEF WIN64 !UNDEF STDCALL !ELSE SYM_PREFIX=_ !ENDIF EXTERNAL_LIBS = $(OGDILIB) $(XERCES_LIB) $(EXPAT_LIB) $(OCI_LIB) $(PG_LIB) \ $(KAK_LIB_LINK) $(ECW_LIB_LINK) $(LURATECH_LIB_LINK) $(HDF4_LIB_LINK) $(FME_LIB) $(MRSID_LIB_LINK) \ $(FITS_LIB_LINK) $(JPEG_LIB) $(NETCDF_LIB_LINK) $(PROJ4_LIB) \ $(GEOTIFF_LIB) $(TIFF_LIB) $(PROJ_LIBRARY) $(SQLITE_LIB) \ $(MYSQL_LIB) $(GEOS_LIB) $(HDF5_LIB_LINK) $(KEA_LIB_LINK) $(SDE_LIB) $(ARCOBJECTS_LIB) $(DWG_LIB_LINK) \ $(IDB_LIB) $(CURL_LIB) $(DODS_LIB) $(PCIDSK_LIB) \ $(ODBCLIB) $(JASPER_LIB) $(PNG_LIB) $(ZLIB_LIB) $(ADD_LIBS) $(OPENJPEG_LIB) \ $(MRSID_LIDAR_LIB) $(LIBKML_LIBS) $(SOSI_LIBS) $(PDF_LIB_LINK) $(LZMA_LIBS) $(ZSTD_LIBS) \ $(LIBICONV_LIBRARY) $(WEBP_LIBS) $(FGDB_LIB_LINK) $(FREEXL_LIBS) $(GTA_LIBS) \ $(INGRES_LIB) $(LIBXML2_LIB) $(PCRE_LIB) $(MONGODB_LIB_LINK) $(CRYPTOPP_LIB) $(OPENSSL_LIB) ws2_32.lib \ kernel32.lib psapi.lib