Skip to content

Commit

Permalink
Apply patches from OSGeo4W upstreams backported to relbr78 (#1893)
Browse files Browse the repository at this point in the history
* backport #1880 to releasebranch_7_8
* GRASS-Packager.bat: only 64bit builds produced
* GRASS-Installer: SVN_REVISION -> GIT_REVISION
* mswindows: py37 -> py39, remove epsg_csv
* GRASS Packager/Installer: only msvcrt2019 required by osgeo4w v2
  • Loading branch information
landam committed Sep 30, 2021
1 parent 21bf412 commit 8911770
Show file tree
Hide file tree
Showing 9 changed files with 123 additions and 249 deletions.
6 changes: 6 additions & 0 deletions lib/python/ctypes/loader.py
Expand Up @@ -236,6 +236,12 @@ def __getattr__(self, name):
class WindowsLibraryLoader(LibraryLoader):
name_formats = ["%s.dll", "lib%s.dll"]

def __init__(self):
super().__init__()
for p in os.getenv("PATH").split(";"):
if os.path.exists(p) and hasattr(os, 'add_dll_directory'):
os.add_dll_directory(p)

def load(self, path):
return _WindowsLibrary(path)

Expand Down
118 changes: 24 additions & 94 deletions mswindows/GRASS-Installer.nsi.tmpl
Expand Up @@ -22,19 +22,15 @@ SetCompressorDictSize 128

;Version variables

!if "@GRASS_VERSION_SVN@" == ""
!define SVN_REVISION "0"
!if "@GRASS_VERSION_GIT@" == ""
!define GIT_REVISION "0"
!else
!define SVN_REVISION "@GRASS_VERSION_SVN@"
!define GIT_REVISION "@GRASS_VERSION_GIT@"
!endif
!define BINARY_REVISION "1"
!define VERSION_NUMBER "@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@"
!define GRASS_BASE "GRASS GIS @GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@"
!if ${INSTALLER_TYPE} == "Release"
!define GRASS_COMMAND "grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@"
!else
!define GRASS_COMMAND "grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@svn"
!endif
!define GRASS_COMMAND "grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@"

;----------------------------------------------------------------------------------------------------------------------------

Expand Down Expand Up @@ -72,9 +68,9 @@ SetCompressorDictSize 128
!define DISPLAYED_NAME "GRASS GIS ${VERSION_NUMBER}-${BINARY_REVISION} (${PLATFORM})"
!define CHECK_INSTALL_NAME "GRASS GIS @GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@"
!else
!define INSTALLER_NAME "WinGRASS-${VERSION_NUMBER}-${SVN_REVISION}-${BINARY_REVISION}-Setup-${PLATFORM}.exe"
!define DISPLAYED_NAME "GRASS GIS ${VERSION_NUMBER}-${SVN_REVISION}-${BINARY_REVISION} (${PLATFORM})"
!define CHECK_INSTALL_NAME "GRASS GIS @GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@ SVN"
!define INSTALLER_NAME "WinGRASS-${VERSION_NUMBER}-${GIT_REVISION}-${BINARY_REVISION}-Setup-${PLATFORM}.exe"
!define DISPLAYED_NAME "GRASS GIS ${VERSION_NUMBER}-${GIT_REVISION}-${BINARY_REVISION} (${PLATFORM})"
!define CHECK_INSTALL_NAME "GRASS GIS @GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@ GIT"
!endif

;Define the source path of the demolocation files
Expand Down Expand Up @@ -184,7 +180,7 @@ FunctionEnd
;call the uninstaller of the currently installed GRASS release
;if the uninstall procedure succeeded, call the current installer asking for the install PATH

;the currently installed release of GRASS is defined by the variable $INSTALLED_VERSION = $INSTALLED_SVN_REVISION + $INSTALLED_BINARY_REVISION
;the currently installed release of GRASS is defined by the variable $INSTALLED_VERSION = $INSTALLED_GIT_REVISION + $INSTALLED_BINARY_REVISION

Function .onInit

Expand All @@ -195,7 +191,7 @@ Function .onInit
Var /GLOBAL INSTALL_PATH

Var /GLOBAL INSTALLED_VERSION_NUMBER
Var /GLOBAL INSTALLED_SVN_REVISION
Var /GLOBAL INSTALLED_GIT_REVISION
Var /GLOBAL INSTALLED_BINARY_REVISION

Var /GLOBAL INSTALLED_VERSION
Expand All @@ -210,10 +206,10 @@ Function .onInit
ReadRegStr $UNINSTALL_STRING HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "UninstallString"
ReadRegStr $INSTALL_PATH HKLM "Software\${GRASS_BASE}" "InstallPath"
ReadRegStr $INSTALLED_VERSION_NUMBER HKLM "Software\${GRASS_BASE}" "VersionNumber"
ReadRegStr $INSTALLED_SVN_REVISION HKLM "Software\${GRASS_BASE}" "SvnRevision"
ReadRegStr $INSTALLED_GIT_REVISION HKLM "Software\${GRASS_BASE}" "GitRevision"

${If} $INSTALLED_SVN_REVISION == ""
ReadRegStr $INSTALLED_SVN_REVISION HKLM "Software\${GRASS_BASE}" "Revision"
${If} $INSTALLED_GIT_REVISION == ""
ReadRegStr $INSTALLED_GIT_REVISION HKLM "Software\${GRASS_BASE}" "Revision"
${EndIf}

ReadRegStr $INSTALLED_BINARY_REVISION HKLM "Software\${GRASS_BASE}" "BinaryRevision"
Expand All @@ -228,7 +224,7 @@ Function .onInit
StrCpy $DISPLAYED_INSTALLED_VERSION "$INSTALLED_VERSION_NUMBER-$INSTALLED_BINARY_REVISION"
${EndIf}
!else
StrCpy $DISPLAYED_INSTALLED_VERSION "$INSTALLED_VERSION_NUMBER-$INSTALLED_SVN_REVISION-$INSTALLED_BINARY_REVISION"
StrCpy $DISPLAYED_INSTALLED_VERSION "$INSTALLED_VERSION_NUMBER-$INSTALLED_GIT_REVISION-$INSTALLED_BINARY_REVISION"
!endif

StrCpy $MESSAGE_0_ "$MESSAGE_0_The installed release is $DISPLAYED_INSTALLED_VERSION$\r$\n"
Expand All @@ -250,11 +246,11 @@ Function .onInit
StrCpy $MESSAGE_3_ "$MESSAGE_3_$\r$\n"
StrCpy $MESSAGE_3_ "$MESSAGE_3_Press OK to reinstall ${DISPLAYED_NAME} or Cancel to quit."

IntOp $INSTALLED_SVN_REVISION $INSTALLED_SVN_REVISION * 1
IntOp $INSTALLED_GIT_REVISION $INSTALLED_GIT_REVISION * 1
IntOp $INSTALLED_BINARY_REVISION $INSTALLED_BINARY_REVISION * 1
IntOp $INSTALLED_VERSION $INSTALLED_SVN_REVISION + $INSTALLED_BINARY_REVISION
IntOp $INSTALLED_VERSION $INSTALLED_GIT_REVISION + $INSTALLED_BINARY_REVISION

!define /math VERSION ${SVN_REVISION} + ${BINARY_REVISION}
!define /math VERSION ${GIT_REVISION} + ${BINARY_REVISION}

${If} $INSTALLED_VERSION_NUMBER == ""
${Else}
Expand Down Expand Up @@ -490,14 +486,6 @@ FunctionEnd
;Declares the variables for optional Sample Data Sections
Var /GLOBAL HTTP_PATH
Var /GLOBAL ARCHIVE_NAME
;Var /GLOBAL ARCHIVE_NAME2005
Var /GLOBAL ARCHIVE_NAME2008
Var /GLOBAL ARCHIVE_NAME2010
!if ${PLATFORM} == "x86_64"
Var /GLOBAL ARCHIVE_NAME2012
!endif
Var /GLOBAL ARCHIVE_NAME2013
Var /GLOBAL ARCHIVE_NAME2015
Var /GLOBAL EXTENDED_ARCHIVE_NAME
Var /GLOBAL ORIGINAL_UNTAR_FOLDER
Var /GLOBAL CUSTOM_UNTAR_FOLDER
Expand Down Expand Up @@ -629,7 +617,7 @@ Section "GRASS" SecGRASS
;Set the Name, Version and Revision of GRASS + PublisherInfo + InstallPath
WriteRegStr HKLM "Software\${GRASS_BASE}" "Name" "${GRASS_BASE} (${PLATFORM})"
WriteRegStr HKLM "Software\${GRASS_BASE}" "VersionNumber" "${VERSION_NUMBER}"
WriteRegStr HKLM "Software\${GRASS_BASE}" "SvnRevision" "${SVN_REVISION}"
WriteRegStr HKLM "Software\${GRASS_BASE}" "GitRevision" "${GIT_REVISION}"
WriteRegStr HKLM "Software\${GRASS_BASE}" "BinaryRevision" "${BINARY_REVISION}"
WriteRegStr HKLM "Software\${GRASS_BASE}" "Publisher" "${PUBLISHER}"
WriteRegStr HKLM "Software\${GRASS_BASE}" "WebSite" "${WEB_SITE}"
Expand All @@ -644,7 +632,7 @@ Section "GRASS" SecGRASS
"DisplayVersion" "${VERSION_NUMBER}-${BINARY_REVISION}"
!else
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}"\
"DisplayVersion" "${VERSION_NUMBER}-${SVN_REVISION}-${BINARY_REVISION}"
"DisplayVersion" "${VERSION_NUMBER}-${GIT_REVISION}-${BINARY_REVISION}"
!endif

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "DisplayIcon" "$INSTALL_DIR\gui\icons\grass.ico"
Expand Down Expand Up @@ -810,33 +798,13 @@ Function DownloadInstallMSRuntime
SetShellVarContext current
InitPluginsDir
NSISdl::download "$HTTP_PATH/$ARCHIVE_NAME" "$TEMP\$ARCHIVE_NAME"
;!if ${PLATFORM} == "x86"
; NSISdl::download "$HTTP_PATH/msvcrt2005/$ARCHIVE_NAME2005" "$TEMP\$ARCHIVE_NAME2005"
;!endif
NSISdl::download "$HTTP_PATH/msvcrt2008/$ARCHIVE_NAME2008" "$TEMP\$ARCHIVE_NAME2008"
NSISdl::download "$HTTP_PATH/msvcrt2010/$ARCHIVE_NAME2010" "$TEMP\$ARCHIVE_NAME2010"
!if ${PLATFORM} == "x86_64"
NSISdl::download "$HTTP_PATH/msvcrt2012/$ARCHIVE_NAME2012" "$TEMP\$ARCHIVE_NAME2012"
!endif
NSISdl::download "$HTTP_PATH/msvcrt2013/$ARCHIVE_NAME2013" "$TEMP\$ARCHIVE_NAME2013"
NSISdl::download "$HTTP_PATH/msvcrt2015/$ARCHIVE_NAME2015" "$TEMP\$ARCHIVE_NAME2015"

Pop $0
StrCmp $0 "success" download_ok download_failed

download_ok:
InitPluginsDir
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME"
;!if ${PLATFORM} == "x86"
; untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2005"
;!endif
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2008"
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2010"
!if ${PLATFORM} == "x86_64"
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2012"
!endif
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2013"
untgz::extract "-d" "$TEMP\$ORIGINAL_UNTAR_FOLDER" "-zbz2" "$TEMP\$ARCHIVE_NAME2015"
Pop $0
StrCmp $0 "success" untar_ok untar_failed

Expand All @@ -854,31 +822,6 @@ Function DownloadInstallMSRuntime

untar_ok:
DetailPrint "Archive successfully unzipped."
!if ${PLATFORM} == "x86"
; seems to be not needed, see #2996
;DetailPrint "Installing vcredist_2005_x86.exe ..."
;ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2005_x86.exe" /q'
DetailPrint "Installing vcredist_2008_x86.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2008_x86.exe" /q'
DetailPrint "Installing vcredist_2010_x86.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2010_x86.exe" /q'
DetailPrint "Installing vcredist_2013_x86.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2013_x86.exe" /q'
DetailPrint "Installing vcredist_2015_x86.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2015_x86.exe" /q'
!else
DetailPrint "Installing vcredist_2008_x64.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist-2008-sp1-x64.exe" /q'
DetailPrint "Installing vcredist_2010_x64.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist-2010-x64.exe" /q'
; msvcrt2012 package contains dll files
;DetailPrint "Installing vcredist_2012_x64.exe ..."
;ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist-2012-x64.exe" /q'
DetailPrint "Installing vcredist_2013_x64.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist-2013-x64.exe" /q'
DetailPrint "Installing vcredist_2015_x64.exe ..."
ExecWait '"$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\vcredist_2015_x64.exe" /q'
!endif
DetailPrint "Copying runtime files ..."
CopyFiles "$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\*.dll" "$INSTALL_DIR\extrabin"
DetailPrint "MS runtime files installed."
Expand All @@ -891,27 +834,13 @@ FunctionEnd
Section "Important Microsoft Runtime DLLs" SecMSRuntime

;Set the size (in KB) of the archive file
StrCpy $ARCHIVE_SIZE_KB 18512
StrCpy $ARCHIVE_SIZE_KB 833

;Set the size (in KB) of the unpacked archive file
AddSize 13500

StrCpy $HTTP_PATH "http://download.osgeo.org/osgeo4w/${PLATFORM}/release/msvcrt/"
!if ${PLATFORM} == "x86_64"
StrCpy $ARCHIVE_NAME "msvcrt-1.0.1-9.tar.bz2"
StrCpy $ARCHIVE_NAME2008 "msvcrt2008-1.0.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2010 "msvcrt2010-1.0.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2012 "msvcrt2012-1.0.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2013 "msvcrt2013-1.0.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2015 "msvcrt2015-1.0-1.tar.bz2"
!else
StrCpy $ARCHIVE_NAME "msvcrt-1.0.1-14.tar.bz2"
;StrCpy $ARCHIVE_NAME2005 "msvcrt2005-1.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2008 "msvcrt2008-1.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2010 "msvcrt2010-1.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2013 "msvcrt2013-1.0-1.tar.bz2"
StrCpy $ARCHIVE_NAME2015 "msvcrt2015-1.0-1.tar.bz2"
!endif
StrCpy $HTTP_PATH "http://download.osgeo.org/osgeo4w/v2/${PLATFORM}/release/msvcrt2019/"
StrCpy $ARCHIVE_NAME "msvcrt2019-14.2-1.tar.bz2"
StrCpy $EXTENDED_ARCHIVE_NAME "Microsoft Visual C++ Redistributable Packages"
StrCpy $ORIGINAL_UNTAR_FOLDER "install_msruntime"

Expand All @@ -921,11 +850,12 @@ SectionEnd

Function DownloadDataSet

IntOp $ARCHIVE_SIZE_MB $ARCHIVE_SIZE_KB / 1024
; IntOp $ARCHIVE_SIZE_MB $ARCHIVE_SIZE_KB / 1024

StrCpy $DOWNLOAD_MESSAGE_ "The installer will download the $EXTENDED_ARCHIVE_NAME sample data set.$\r$\n"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_$\r$\n"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_The archive is about $ARCHIVE_SIZE_MB MB and may take"
; StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_The archive is about $ARCHIVE_SIZE_MB MB and may take"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_The archive is about $ARCHIVE_SIZE_KB KB and may take"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_ several minutes to download.$\r$\n"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_$\r$\n"
StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_The $EXTENDED_ARCHIVE_NAME dataset will be copied to:$\r$\n"
Expand Down
30 changes: 10 additions & 20 deletions mswindows/GRASS-Packager.bat.tmpl
Expand Up @@ -14,14 +14,14 @@ rem ----------------------------------------------------------------------------

set PACKAGE_DIR=.\GRASS-@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@-Package

set OSGEO4W_BLD_DIR=C:\OSGeo4W%1
if exist C:\OSGeo4W%1_grass@GRASS_VERSION_MAJOR@_py3 (
set OSGEO4W_PKG_DIR=C:\OSGeo4W%1_grass@GRASS_VERSION_MAJOR@_py3
set OSGEO4W_BLD_DIR=C:\OSGeo4W
if exist C:\OSGeo4W_grass@GRASS_VERSION_MAJOR@ (
set OSGEO4W_PKG_DIR=C:\OSGeo4W_grass@GRASS_VERSION_MAJOR@
) else (
set OSGEO4W_PKG_DIR=C:\OSGeo4W%1
set OSGEO4W_PKG_DIR=C:\OSGeo4W
)

set MSYS_BLD_DIR=C:\msys%1\mingw%1
set MSYS_BLD_DIR=C:\msys64\mingw64

set GRASS_PREFIX=%OSGEO4W_BLD_DIR%\apps\grass\grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@

Expand Down Expand Up @@ -53,9 +53,8 @@ mkdir %PACKAGE_DIR%\extrabin\gdalplugins

copy %OSGEO4W_PKG_DIR%\bin\* %PACKAGE_DIR%\extrabin
xcopy %OSGEO4W_PKG_DIR%\bin\gdalplugins\* %PACKAGE_DIR%\extrabin\gdalplugins /S/V/F/I
del %PACKAGE_DIR%\extrabin\msvcp*
del %PACKAGE_DIR%\extrabin\msvcr*
del %PACKAGE_DIR%\extrabin\vcredist_*
rem msvcrt2019
del %PACKAGE_DIR%\extrabin\*140*.dll

@echo.
@echo -----------------------------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -86,22 +85,13 @@ xcopy %OSGEO4W_PKG_DIR%\share\gdal %PACKAGE_DIR%\share\gdal /S/V/F/I

@echo.
@echo -----------------------------------------------------------------------------------------------------------------------
@echo Copy shared GEOTIFF files to PACKAGE_DIR\share\epsg_csv
@echo Copy Python content to PACKAGE_DIR\Python3
@echo -----------------------------------------------------------------------------------------------------------------------
@echo.

mkdir %PACKAGE_DIR%\share\epsg_csv
xcopy %OSGEO4W_PKG_DIR%\share\epsg_csv %PACKAGE_DIR%\share\epsg_csv /S/V/F/I
mkdir %PACKAGE_DIR%\Python39

@echo.
@echo -----------------------------------------------------------------------------------------------------------------------
@echo Copy Python content to PACKAGE_DIR\Python37
@echo -----------------------------------------------------------------------------------------------------------------------
@echo.

mkdir %PACKAGE_DIR%\Python37

xcopy %OSGEO4W_PKG_DIR%\apps\Python37\* %PACKAGE_DIR%\Python37 /S/V/F/I
xcopy %OSGEO4W_PKG_DIR%\apps\Python39\* %PACKAGE_DIR%\Python39 /S/V/F/I

@echo.
@echo -----------------------------------------------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion mswindows/Makefile
Expand Up @@ -21,7 +21,7 @@ GRASS-Packager.bat: GRASS-Packager.bat.tmpl

GRASS-Installer.nsi: GRASS-Installer.nsi.tmpl
sed \
-e 's#@GRASS_VERSION_SVN@#$(GRASS_VERSION_SVN)#' \
-e 's#@GRASS_VERSION_GIT@#$(GRASS_VERSION_GIT)#' \
-e 's#@GRASS_VERSION_MAJOR@#$(GRASS_VERSION_MAJOR)#' \
-e 's#@GRASS_VERSION_MINOR@#$(GRASS_VERSION_MINOR)#' \
-e 's#@GRASS_VERSION_RELEASE@#$(GRASS_VERSION_RELEASE)#' \
Expand Down
3 changes: 1 addition & 2 deletions mswindows/env.bat
Expand Up @@ -3,13 +3,12 @@ REM Environmental variables for GRASS stand-alone installer
REM

set GRASS_PYTHON=%GISBASE%\extrabin\python3.exe
set PYTHONHOME=%GISBASE%\Python37
set PYTHONHOME=%GISBASE%\Python39

set GRASS_PROJSHARE=%GISBASE%\share\proj

set PROJ_LIB=%GISBASE%\share\proj
set GDAL_DATA=%GISBASE%\share\gdal
set GEOTIFF_CSV=%GISBASE%\share\epsg_csv

set FONTCONFIG_FILE=%GISBASE%\etc\fonts.conf

Expand Down
2 changes: 0 additions & 2 deletions mswindows/osgeo4w/env.bat.tmpl
Expand Up @@ -2,8 +2,6 @@ REM
REM Environmental variables for GRASS OSGeo4W installer
REM

call "%OSGEO4W_ROOT%\bin\py3_env.bat"

set GISBASE=%OSGEO4W_ROOT%\apps\grass\grass@POSTFIX@

REM Uncomment if you want to use Bash instead of Cmd
Expand Down
27 changes: 5 additions & 22 deletions mswindows/osgeo4w/mklibs.sh
Expand Up @@ -2,30 +2,12 @@

set -e

if [ -z "$OSGEO4W_POSTFIX" ]; then
OSGEO4W_POSTFIX=""
fi
[ -d mswindows/osgeo4w/vc ] || mkdir mswindows/osgeo4w/vc

if [ "$OSGEO4W_POSTFIX" != "64" ]; then
MACHINE=x86
else
MACHINE=x64
if [ -n "$VCPATH" ]; then
PATH=$PATH:$VCPATH
fi

PROGRAMFILES="/c/Program Files (x86)"
VSDIR="$PROGRAMFILES/Microsoft Visual Studio 14.0"
# add example for MS Visual Studio 2017 Community 64 bit
# VSDIR="$PROGRAMFILES/Microsoft Visual Studio/2017/Community"
PATH="$VSDIR/Common7/IDE:$PATH"
PATH="$VSDIR/VC/bin:$PATH"
# add example for MS Visual Studio 2017 Community 64 bit
# PATH="$VSDIR/VC/Tools/MSVC/14.12.25827/bin/Hostx64/x64:$PATH"
PATH="$VSDIR/Common7/Tools:$PATH"
PATH="$PATH:/c/OSGeo4W${OSGEO4W_POSTFIX}/bin"
export PATH

[ -d mswindows/osgeo4w/vc ] || mkdir mswindows/osgeo4w/vc

for dllfile in "$@"; do
dlldir=${dllfile%/*}
dllfile=${dllfile##*/}
Expand All @@ -43,6 +25,7 @@ for dllfile in "$@"; do
egrep -v "^[ ]*(_+IMPORT_DESCRIPTOR_.*|_+NULL_IMPORT_DESCRIPTOR)$" >mswindows/osgeo4w/vc/${defname%$VERSION}

(cd mswindows/osgeo4w/vc ;
lib -nologo -def:${defname} -subsystem:windows -machine:${MACHINE}
lib -nologo -def:${defname} -subsystem:windows -machine:x64
lib -nologo $libname || exit)
done

0 comments on commit 8911770

Please sign in to comment.