mirror of
https://github.com/vgough/encfs.git
synced 2024-11-21 15:33:16 +01:00
Merge pull request #376 from vgough/osx
Special case FDATASYNC check on Apple
This commit is contained in:
commit
1eb93609ce
12
.travis.yml
12
.travis.yml
@ -4,18 +4,26 @@ language: cpp
|
||||
|
||||
sudo: true
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- os: osx
|
||||
compiler: gcc
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- travis
|
||||
|
||||
before_script:
|
||||
- sudo modprobe fuse
|
||||
- cmake --version
|
||||
- ./ci/setup.sh
|
||||
|
||||
script:
|
||||
- ./ci/check.sh
|
||||
|
@ -97,7 +97,12 @@ check_cxx_source_compiles ("#include <sys/types.h>
|
||||
include (CheckFuncs)
|
||||
check_function_exists_glibc (lchmod HAVE_LCHMOD)
|
||||
check_function_exists_glibc (utimensat HAVE_UTIMENSAT)
|
||||
check_function_exists_glibc (fdatasync HAVE_FDATASYNC)
|
||||
if (APPLE)
|
||||
message ("-- There is no usable FDATASYNC on Apple")
|
||||
set(HAVE_FDATASYNC FALSE)
|
||||
else()
|
||||
check_function_exists_glibc (fdatasync HAVE_FDATASYNC)
|
||||
endif (APPLE)
|
||||
|
||||
set (CMAKE_THREAD_PREFER_PTHREAD)
|
||||
find_package (Threads REQUIRED)
|
||||
|
2
build.sh
2
build.sh
@ -7,7 +7,7 @@ if [[ ! -d build ]]
|
||||
then
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake .. $*
|
||||
cd ..
|
||||
fi
|
||||
|
||||
|
11
ci/check.sh
11
ci/check.sh
@ -1,12 +1,19 @@
|
||||
#!/bin/bash -eu
|
||||
|
||||
cmake --version
|
||||
|
||||
CFG=""
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
CFG="-DENABLE_NLS=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
|
||||
fi
|
||||
|
||||
if [[ ! -d build ]]
|
||||
then
|
||||
mkdir build
|
||||
mkdir build
|
||||
fi
|
||||
|
||||
cd build
|
||||
cmake ..
|
||||
cmake .. ${CFG}
|
||||
make -j2
|
||||
make test
|
||||
|
||||
|
10
ci/setup.sh
Executable file
10
ci/setup.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash -eu
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
sudo modprobe fuse
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
brew cask install osxfuse
|
||||
fi
|
||||
|
@ -258,7 +258,7 @@ int FileNode::sync(bool datasync) {
|
||||
int fh = io->open(O_RDONLY);
|
||||
if (fh >= 0) {
|
||||
int res = -EIO;
|
||||
#ifdef linux
|
||||
#if defined(HAVE_FDATASYNC)
|
||||
if (datasync) {
|
||||
res = fdatasync(fh);
|
||||
} else {
|
||||
|
@ -1035,7 +1035,7 @@ RootPtr createV6Config(EncFS_Context *ctx,
|
||||
alg = findCipherAlgorithm("AES", keySize);
|
||||
|
||||
// If case-insensitive system, opt for Block32 filename encoding
|
||||
#if DEFAULT_CASE_INSENSITIVE
|
||||
#if defined(DEFAULT_CASE_INSENSITIVE)
|
||||
nameIOIface = BlockNameIO::CurrentInterface(true);
|
||||
#else
|
||||
nameIOIface = BlockNameIO::CurrentInterface();
|
||||
|
Loading…
Reference in New Issue
Block a user