From ea08c768e27d594a91ad511feb9794bda3fe1c2a Mon Sep 17 00:00:00 2001 From: Thomas Winget Date: Tue, 26 May 2015 19:47:34 -0400 Subject: [PATCH] open() flag O_DSYNC isn't on BSD, use O_SYNC If the detected OS is FreeBSD, tell LMDB to compile with MDB_DSYNC=O_SYNC instead of the default O_DSYNC, as BSD does not implement this flag. --- external/db_drivers/liblmdb32/CMakeLists.txt | 4 ++++ external/db_drivers/liblmdb64/CMakeLists.txt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/external/db_drivers/liblmdb32/CMakeLists.txt b/external/db_drivers/liblmdb32/CMakeLists.txt index 62b80013..bca7ff51 100644 --- a/external/db_drivers/liblmdb32/CMakeLists.txt +++ b/external/db_drivers/liblmdb32/CMakeLists.txt @@ -26,6 +26,10 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +if(FREEBSD) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMDB_DSYNC=O_SYNC") +endif() + set (lmdb_sources mdb.c midl.c) diff --git a/external/db_drivers/liblmdb64/CMakeLists.txt b/external/db_drivers/liblmdb64/CMakeLists.txt index 62b80013..bca7ff51 100644 --- a/external/db_drivers/liblmdb64/CMakeLists.txt +++ b/external/db_drivers/liblmdb64/CMakeLists.txt @@ -26,6 +26,10 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +if(FREEBSD) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMDB_DSYNC=O_SYNC") +endif() + set (lmdb_sources mdb.c midl.c)