diff --git a/.travis.yml b/.travis.yml index ffb31fc08..d83675869 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,16 +10,12 @@ cache: env: global: - MAKEJOBS=-j3 - - RUN_TESTS=false - - BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID - CCACHE_SIZE=100M - CCACHE_TEMPDIR=/tmp/.ccache-temp - CCACHE_COMPRESS=1 - CCACHE_DIR=$HOME/.ccache - BASE_OUTDIR=$TRAVIS_BUILD_DIR/out - SDK_URL=https://bitcoincore.org/depends-sources/sdks - - PYTHON_DEBUG=1 - - WINEDEBUG=fixme-all - DOCKER_PACKAGES="build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache" matrix: # ARM v7 @@ -27,20 +23,20 @@ env: # ARM v8 - HOST=aarch64-linux-gnu PACKAGES="python3 gperf g++-aarch64-linux-gnu" # i686 Win - - HOST=i686-w64-mingw32 PACKAGES="python3 nsis g++-mingw-w64-i686" + - HOST=i686-w64-mingw32 DEP_OPTS="NO_QT=1" PACKAGES="python3 g++-mingw-w64-i686 qttools5-dev-tools" # i686 Linux - - HOST=i686-pc-linux-gnu PACKAGES="gperf cmake g++-multilib bc python3-zmq" RUN_TESTS=true + - HOST=i686-pc-linux-gnu PACKAGES="gperf cmake g++-multilib python3-zmq" # Win64 - - HOST=x86_64-w64-mingw32 PACKAGES="cmake python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64 bc" RUN_TESTS=true + - HOST=x86_64-w64-mingw32 DEP_OPTS="NO_QT=1" PACKAGES="cmake python3 g++-mingw-w64-x86-64 qttools5-dev-tools" # x86_64 Linux - - HOST=x86_64-unknown-linux-gnu PACKAGES="gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" RUN_TESTS=true + - HOST=x86_64-unknown-linux-gnu PACKAGES="gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" # Cross-Mac - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git" OSX_SDK=10.11 before_install: - export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") install: - - env | grep -E '^(CCACHE_|WINEDEBUG|DISPLAY|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env + - env | grep -E '^(CCACHE_|DISPLAY|CONFIG_SHELL)' | tee /tmp/env - if [[ $HOST = *-mingw32 ]]; then DOCKER_ADMIN="--cap-add SYS_ADMIN"; fi - DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env ubuntu:18.04) - DOCKER_EXEC="docker exec $DOCKER_ID" diff --git a/CMakeLists.txt b/CMakeLists.txt index 31c3dbd21..f3f3e90a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -898,7 +898,7 @@ if(MINGW) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wa,-mbig-obj") set(EXTRA_LIBRARIES mswsock;ws2_32;iphlpapi;crypt32;bcrypt) if(DEPENDS) - set(ICU_LIBRARIES sicuio sicuin sicuuc sicudt sicutu iconv) + set(ICU_LIBRARIES icuio icui18n icuuc icudata icutu iconv) else() set(ICU_LIBRARIES icuio icuin icuuc icudt icutu iconv) endif() diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile index bf33d706d..afa61b93b 100644 --- a/contrib/depends/Makefile +++ b/contrib/depends/Makefile @@ -94,8 +94,8 @@ $(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null) $(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null) $(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null) - -packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) +qt_packages_$(NO_QT) = $(qt_packages) +packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) all_packages = $(packages) $(native_packages) diff --git a/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in b/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in deleted file mode 100644 index 8bd4cf1f7..000000000 --- a/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in +++ /dev/null @@ -1,67 +0,0 @@ -# This file is part of MXE. See LICENSE.md for licensing information. - -# https://cmake.org/cmake/help/latest - -# Can't set `cmake_minimum_required` or `cmake_policy` in toolchain -# since toolchain is read before CMakeLists.txt -# See `target-cmake.in` for CMAKE_POLICY_DEFAULT_CMPNNNN - -# Check if we are using mxe supplied version -# - toolchain is included multiple times so set a guard in -# environment to suppress duplicate messages -if(NOT ${CMAKE_COMMAND} STREQUAL @PREFIX@/@BUILD@/bin/cmake AND NOT DEFINED ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED}) - message(WARNING " -** Warning: direct use of toolchain file is deprecated -** Please use prefixed wrapper script instead: - @TARGET@-cmake [options] - - uses mxe supplied cmake version @CMAKE_VERSION@ - - loads toolchain - - loads common run results - - sets various policy defaults - ") - set(ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED} TRUE) -endif() - -## General configuration -set(CMAKE_SYSTEM_NAME Windows) -set(MSYS 1) -set(CMAKE_EXPORT_NO_PACKAGE_REGISTRY ON) -# Workaround for https://www.cmake.org/Bug/view.php?id=14075 -set(CMAKE_CROSS_COMPILING ON) - - -## Library config -set(BUILD_SHARED_LIBS @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED_LIBS" FORCE) -set(BUILD_STATIC_LIBS @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC_LIBS" FORCE) -set(BUILD_SHARED @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED" FORCE) -set(BUILD_STATIC @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC" FORCE) -set(LIBTYPE @LIBTYPE@) - - -## Paths etc. -set(CMAKE_FIND_ROOT_PATH @PREFIX@/@TARGET@) -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_PREFIX_PATH @PREFIX@/@TARGET@) -set(CMAKE_INSTALL_PREFIX @PREFIX@/@TARGET@ CACHE PATH "Installation Prefix") -# For custom mxe FindPackage scripts -set(CMAKE_MODULE_PATH "@PREFIX@/share/cmake/modules" ${CMAKE_MODULE_PATH}) - - -## Programs -set(CMAKE_C_COMPILER @PREFIX@/bin/@TARGET@-gcc) -set(CMAKE_CXX_COMPILER @PREFIX@/bin/@TARGET@-g++) -set(CMAKE_Fortran_COMPILER @PREFIX@/bin/@TARGET@-gfortran) -set(CMAKE_RC_COMPILER @PREFIX@/bin/@TARGET@-windres) -# CMAKE_RC_COMPILE_OBJECT is defined in: -# /share/cmake-X.Y/Modules/Platform/Windows-windres.cmake -set(CPACK_NSIS_EXECUTABLE @TARGET@-makensis) - -## Individual package configuration -file(GLOB mxe_cmake_files - "@CMAKE_TOOLCHAIN_DIR@/*.cmake" -) -foreach(mxe_cmake_file ${mxe_cmake_files}) - include(${mxe_cmake_file}) -endforeach() diff --git a/contrib/depends/packages/cmake/conf/target-cmake.in b/contrib/depends/packages/cmake/conf/target-cmake.in deleted file mode 100644 index a78bcf58d..000000000 --- a/contrib/depends/packages/cmake/conf/target-cmake.in +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash -echo "== Using MXE wrapper: @PREFIX@/bin/@TARGET@-cmake" - -# https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html -# https://cmake.org/cmake/help/latest/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.html -POLICIES=(0017,0020) - -unset NO_MXE_TOOLCHAIN -if echo -- "$@" | grep -Ewq "(--build|-E|--system-information)" ; then - NO_MXE_TOOLCHAIN=1 -fi -if [[ "$NO_MXE_TOOLCHAIN" == "1" ]]; then - echo "== Skip using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@" - # see https://github.com/mxe/mxe/issues/932 - exec "@PREFIX@/@BUILD@/bin/cmake" "$@" -else - echo " - cmake version @CMAKE_VERSION@" - echo " - warnings for unused CMAKE_POLICY_DEFAULT variables can be ignored" - echo "== Using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@" - echo "== Using MXE runresult: @CMAKE_RUNRESULT_FILE@" - if ! ( echo "$@" | grep --silent "DCMAKE_BUILD_TYPE" ) ; then - echo '== Adding "-DCMAKE_BUILD_TYPE=Release"' - set -- "-DCMAKE_BUILD_TYPE=Release" "$@" - fi - exec "@PREFIX@/@BUILD@/bin/cmake" \ - -DCMAKE_TOOLCHAIN_FILE="@CMAKE_TOOLCHAIN_FILE@" \ - `eval echo -DCMAKE_POLICY_DEFAULT_CMP{$POLICIES}=NEW` \ - -C"@CMAKE_RUNRESULT_FILE@" "$@" -fi diff --git a/contrib/depends/packages/cmake/test/CMakeLists.txt b/contrib/depends/packages/cmake/test/CMakeLists.txt deleted file mode 100644 index 6075a8f5a..000000000 --- a/contrib/depends/packages/cmake/test/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# This file is part of MXE. See LICENSE.md for licensing information. - -# 2.8.9 is Debian Wheezy version -cmake_minimum_required(VERSION 2.8.9) - -# use default C and CXX languages -project(mxe) - -# see cmake --help-policy for details -cmake_policy(SET CMP0017 NEW) -if (POLICY CMP0020) - cmake_policy(SET CMP0020 NEW) -endif() - -# so we can find pkg-test.cmake files to include -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../.. ${CMAKE_MODULE_PATH}) - -include(${PKG}-test) diff --git a/contrib/depends/packages/icu4c.mk b/contrib/depends/packages/icu4c.mk index 370a02683..2b3845488 100644 --- a/contrib/depends/packages/icu4c.mk +++ b/contrib/depends/packages/icu4c.mk @@ -6,7 +6,7 @@ $(package)_sha256_hash=1f912c54035533fb4268809701d65c7468d00e292efbc31e644490845 $(package)_patches=icu-001-dont-build-static-dynamic-twice.patch define $(package)_set_vars - $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 --std=gnu++0x -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC -DENABLE_STATIC=YES -DPGKDATA_MODE=static" + $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC -DENABLE_STATIC=YES -DPGKDATA_MODE=static" endef define $(package)_config_cmds @@ -17,7 +17,7 @@ define $(package)_config_cmds sh ../source/runConfigureICU Linux &&\ make &&\ cd ../buildb &&\ - sh ../source/$($(package)_autoconf) --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\ + sh ../source/runConfigureICU MinGW --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\ $(MAKE) $($(package)_build_opts) endef diff --git a/contrib/depends/packages/native_protobuf.mk b/contrib/depends/packages/native_protobuf.mk index 83e602341..35f648b9a 100644 --- a/contrib/depends/packages/native_protobuf.mk +++ b/contrib/depends/packages/native_protobuf.mk @@ -15,12 +15,11 @@ define $(package)_config_cmds endef define $(package)_build_cmds - $(MAKE) -C src libprotobuf.la all + $(MAKE) -C src endef define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install install-libLTLIBRARIES install-nobase_includeHEADERS &&\ - $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA + $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install endef define $(package)_postprocess_cmds diff --git a/contrib/depends/packages/packages.mk b/contrib/depends/packages/packages.mk index 4800c9936..1db50580b 100644 --- a/contrib/depends/packages/packages.mk +++ b/contrib/depends/packages/packages.mk @@ -1,10 +1,11 @@ -packages:=boost openssl zeromq cppzmq expat ldns cppzmq readline libiconv qt hidapi protobuf libusb +packages:=boost openssl zeromq cppzmq expat ldns cppzmq readline libiconv hidapi protobuf libusb native_packages := native_ccache native_protobuf darwin_native_packages = native_biplist native_ds_store native_mac_alias darwin_packages = sodium-darwin linux_packages = eudev +qt_packages = qt ifeq ($(host_os),linux) packages += unwind diff --git a/contrib/depends/packages/readline.mk b/contrib/depends/packages/readline.mk index 826c1029e..afefc7f07 100644 --- a/contrib/depends/packages/readline.mk +++ b/contrib/depends/packages/readline.mk @@ -1,9 +1,8 @@ package=readline -$(package)_version=6.3 -$(package)_download_path=ftp://ftp.cwru.edu/pub/bash/ +$(package)_version=8.0 +$(package)_download_path=https://ftp.gnu.org/gnu/readline $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43 -$(package)_patches=readline-1.patch +$(package)_sha256_hash=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461 define $(package)_set_vars $(package)_build_opts=CC="$($(package)_cc)" @@ -15,7 +14,6 @@ define $(package)_set_vars endef define $(package)_config_cmds - patch -p1 < $($(package)_patch_dir)/readline-1.patch &&\ export bash_cv_have_mbstate_t=yes &&\ export bash_cv_wcwidth_broken=yes &&\ ./configure $($(package)_config_opts) @@ -29,5 +27,3 @@ define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef -define $(package)_postprocess_cmds -endef diff --git a/contrib/depends/patches/readline/readline-1.patch b/contrib/depends/patches/readline/readline-1.patch deleted file mode 100644 index 7610a29eb..000000000 --- a/contrib/depends/patches/readline/readline-1.patch +++ /dev/null @@ -1,187 +0,0 @@ -From c0572cecbeadc8fe24c70c5c39d49210a39ac719 Mon Sep 17 00:00:00 2001 -From: Timothy Gu -Date: Tue, 30 Sep 2014 10:32:33 -0700 -Subject: [PATCH 1/2] signals: safeguard the remaining usage of frequently - missing signals - -diff --git a/input.c b/input.c -index 117dfe8..465f0b9 100644 ---- a/input.c -+++ b/input.c -@@ -532,9 +532,17 @@ rl_getc (stream) - Otherwise (not EINTR), some error occurred, also signifying EOF. */ - if (errno != EINTR) - return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); -- else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) -+ else if (_rl_caught_signal == SIGTERM -+#if defined(SIGHUP) -+ || _rl_caught_signal == SIGHUP -+#endif -+ ) - return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); -- else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) -+ else if (_rl_caught_signal == SIGINT -+#if defined(SIGQUIT) -+ || _rl_caught_signal == SIGQUIT -+#endif -+ ) - RL_CHECK_SIGNALS (); - - if (rl_signal_event_hook) -diff --git a/signals.c b/signals.c -index 61f02f9..7c921d6 100644 ---- a/signals.c -+++ b/signals.c -@@ -216,7 +216,9 @@ _rl_handle_signal (sig) - /* FALLTHROUGH */ - - case SIGTERM: -+#if defined (SIGHUP) - case SIGHUP: -+#endif - #if defined (SIGTSTP) - case SIGTSTP: - case SIGTTOU: -@@ -426,7 +428,9 @@ rl_set_signals () - - rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int); - rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term); -+#if defined (SIGHUP) - rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup); -+#endif - #if defined (SIGQUIT) - rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit); - #endif -@@ -491,7 +495,9 @@ rl_clear_signals () - overhead */ - rl_maybe_restore_sighandler (SIGINT, &old_int); - rl_maybe_restore_sighandler (SIGTERM, &old_term); -+#if defined (SIGHUP) - rl_maybe_restore_sighandler (SIGHUP, &old_hup); -+#endif - #if defined (SIGQUIT) - rl_maybe_restore_sighandler (SIGQUIT, &old_quit); - #endif --- -1.8.3.2 - - -From 6896ffa4fc85bf0dfae58e69a860d2076c1d9fd2 Mon Sep 17 00:00:00 2001 -From: Timothy Gu -Date: Tue, 30 Sep 2014 17:16:32 -0700 -Subject: [PATCH 2/2] Handle missing S_IS* macros more gracefully - -diff --git a/colors.c b/colors.c -index 89d9035..ec19844 100644 ---- a/colors.c -+++ b/colors.c -@@ -152,14 +152,22 @@ _rl_print_color_indicator (char *f) - { - colored_filetype = C_FILE; - -+#if defined (S_ISUID) - if ((mode & S_ISUID) != 0 && is_colored (C_SETUID)) - colored_filetype = C_SETUID; -- else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) -+ else -+#endif -+#if defined (S_ISGID) -+ if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) - colored_filetype = C_SETGID; -- else if (is_colored (C_CAP) && 0) //f->has_capability) -+ else -+#endif -+ if (is_colored (C_CAP) && 0) //f->has_capability) - colored_filetype = C_CAP; -+#if defined(S_IXUGO) - else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC)) - colored_filetype = C_EXEC; -+#endif - else if ((1 < astat.st_nlink) && is_colored (C_MULTIHARDLINK)) - colored_filetype = C_MULTIHARDLINK; - } -@@ -173,8 +181,10 @@ _rl_print_color_indicator (char *f) - colored_filetype = C_STICKY_OTHER_WRITABLE; - else - #endif -+#if defined (S_IWOTH) - if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE)) - colored_filetype = C_OTHER_WRITABLE; -+#endif - #if defined (S_ISVTX) - else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY)) - colored_filetype = C_STICKY; -diff --git a/colors.h b/colors.h -index fc926e5..e62edd0 100644 ---- a/colors.h -+++ b/colors.h -@@ -96,7 +96,7 @@ enum indicator_no - }; - - --#if !S_IXUGO -+#if !S_IXUGO && defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH) - # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) - #endif - -diff --git a/posixstat.h b/posixstat.h -index 3eb7f29..854a2c9 100644 ---- a/posixstat.h -+++ b/posixstat.h -@@ -78,30 +78,44 @@ - - #if defined (S_IFBLK) && !defined (S_ISBLK) - #define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) /* block device */ -+#elif !defined (S_IFBLK) -+#define S_ISBLK(m) 0 - #endif - - #if defined (S_IFCHR) && !defined (S_ISCHR) - #define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) /* character device */ -+#elif !defined (S_IFCHR) -+#define S_ISCHR(m) 0 - #endif - - #if defined (S_IFDIR) && !defined (S_ISDIR) - #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) /* directory */ -+#elif !defined (S_IFDIR) -+#define S_ISDIR(m) 0 - #endif - - #if defined (S_IFREG) && !defined (S_ISREG) - #define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) /* file */ -+#elif !defined (S_IFREG) -+#define S_ISREG(m) 0 - #endif - - #if defined (S_IFIFO) && !defined (S_ISFIFO) - #define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) /* fifo - named pipe */ -+#elif !defined (S_IFIFO) -+#define S_ISFIFO(m) 0 - #endif - - #if defined (S_IFLNK) && !defined (S_ISLNK) - #define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) /* symbolic link */ -+#elif !defined (S_IFLNK) -+#define S_ISLNK(m) 0 - #endif - - #if defined (S_IFSOCK) && !defined (S_ISSOCK) - #define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) /* socket */ -+#elif !defined (S_IFSOCK) -+#define S_ISSOCK(m) 0 - #endif - - /* -@@ -137,6 +151,8 @@ - /* These are non-standard, but are used in builtins.c$symbolic_umask() */ - #define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH) - #define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH) -+#if defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH) - #define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) -+#endif - - #endif /* _POSIXSTAT_H_ */ --- -1.8.3.2 -