Allow use of old zlib-1.2.3 on OpenBSD.
As of 2020-08-01, OpenBSD's system zlib is 1.2.3 which doesn't have gzoffset(). However we can get away with this by making gzfilebuf::approxOffset() always return zero.
This commit is contained in:
parent
9305417207
commit
46f4967f6e
@ -278,7 +278,14 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif(SIMGEAR_HEADLESS)
|
endif(SIMGEAR_HEADLESS)
|
||||||
|
|
||||||
find_package(ZLIB 1.2.4 REQUIRED)
|
if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||||
|
# As of 2020-08-01, OpenBSD's system zlib is slightly old, but it's usable
|
||||||
|
# with a workaround in simgear/io/iostreams/gzfstream.cxx.
|
||||||
|
find_package(ZLIB 1.2.3 REQUIRED)
|
||||||
|
else()
|
||||||
|
find_package(ZLIB 1.2.4 REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(CURL REQUIRED)
|
find_package(CURL REQUIRED)
|
||||||
|
|
||||||
if (SYSTEM_EXPAT)
|
if (SYSTEM_EXPAT)
|
||||||
|
@ -185,6 +185,9 @@ gzfilebuf::setcompressionstrategy( int comp_strategy )
|
|||||||
|
|
||||||
z_off_t
|
z_off_t
|
||||||
gzfilebuf::approxOffset() {
|
gzfilebuf::approxOffset() {
|
||||||
|
#ifdef __OpenBSD__
|
||||||
|
z_off_t res = 0;
|
||||||
|
#else
|
||||||
z_off_t res = gzoffset(file);
|
z_off_t res = gzoffset(file);
|
||||||
|
|
||||||
if (res == -1) {
|
if (res == -1) {
|
||||||
@ -201,7 +204,7 @@ gzfilebuf::approxOffset() {
|
|||||||
SG_LOG( SG_GENERAL, SG_ALERT, errMsg );
|
SG_LOG( SG_GENERAL, SG_ALERT, errMsg );
|
||||||
throw sg_io_exception(errMsg);
|
throw sg_io_exception(errMsg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user