From 6bd5d0b8e9e07e7946f3ad3ca5d88cd12f197970 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Fri, 21 Dec 2018 18:31:49 +0800 Subject: [PATCH 1/2] Cleanup build scripts --- configure | 20 ++++++++------------ configure.ac | 17 +++++++---------- macxconf.pri | 6 ++---- unixconf.pri | 9 ++++----- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/configure b/configure index 629bbba1e..33c93d8b7 100755 --- a/configure +++ b/configure @@ -8433,21 +8433,17 @@ fi fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: Running qmake to generate the makefile..." >&5 $as_echo "$as_me: Running qmake to generate the makefile..." >&6;} -CONFDIR="$( cd "$( dirname "$0" )" && pwd )" - -$QT_QMAKE -r $CONFDIR/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE" - -ret="$?" +TOPDIR="$(cd "$(dirname "$0")" && pwd)" +$QT_QMAKE -r "$TOPDIR/qbittorrent.pro" "QMAKE_LRELEASE=$QMAKE_LRELEASE" +qmake_ret="$?" $as_echo -if test "x$ret" = "x0"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: Good, your configure finished." >&5 -$as_echo "$as_me: Good, your configure finished." >&6;} -else - as_fn_error $? "Failed running $QT_QMAKE to generate the makefile" "$LINENO" 5 +if test "x$qmake_ret" != "x0"; then : + as_fn_error $? "$QT_QMAKE failed to generate the makefile" "$LINENO" 5 fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: Good, the configure finished." >&5 +$as_echo "$as_me: Good, the configure finished." >&6;} $as_echo diff --git a/configure.ac b/configure.ac index 4591467d8..bd64c61b6 100644 --- a/configure.ac +++ b/configure.ac @@ -292,17 +292,14 @@ AC_OUTPUT(conf.pri) AS_IF([test "x$enable_systemd" = "xyes"], [AC_OUTPUT(dist/unix/systemd/qbittorrent-nox@.service)]) - - AC_MSG_NOTICE([Running qmake to generate the makefile...]) -CONFDIR="$( cd "$( dirname "$0" )" && pwd )" - -$QT_QMAKE -r [$CONFDIR]/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE" - -ret="$?" +TOPDIR="$(cd "$(dirname "$0")" && pwd)" +$QT_QMAKE -r "$TOPDIR/qbittorrent.pro" "QMAKE_LRELEASE=$QMAKE_LRELEASE" +qmake_ret="$?" AS_ECHO() -AS_IF([test "x$ret" = "x0"], - [AC_MSG_NOTICE([Good, your configure finished.])], - [AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])]) +AS_IF([test "x$qmake_ret" != "x0"], + [AC_MSG_ERROR([$QT_QMAKE failed to generate the makefile])]) + +AC_MSG_NOTICE([Good, the configure finished.]) AS_ECHO() diff --git a/macxconf.pri b/macxconf.pri index fd0d55e0f..40373f536 100644 --- a/macxconf.pri +++ b/macxconf.pri @@ -1,11 +1,9 @@ -# Generated by the configure file -# Ignore any WARNING about 'conf.pri' missing during configure. The file should be found during make. -# If not there will be a WARNING again. # The first path is used when the source is being build by packagers (pbuilder/sbuild/etc) # The second path is used when you manually run the configure script in the root folder (eg when using qt creator) exists($$OUT_PWD/../conf.pri) { include($$OUT_PWD/../conf.pri) -} else { +} +else { include(conf.pri) } diff --git a/unixconf.pri b/unixconf.pri index 164b835ef..89d5d1426 100644 --- a/unixconf.pri +++ b/unixconf.pri @@ -1,11 +1,9 @@ -# Generated by the configure file -# Ignore any WARNING about 'conf.pri' missing during configure. The file should be found during make. -# If not there will be a WARNING again. # The first path is used when the source is being build by packagers (pbuilder/sbuild/etc) # The second path is used when you manually run the configure script in the root folder (eg when using qt creator) exists($$OUT_PWD/../conf.pri) { include($$OUT_PWD/../conf.pri) -} else { +} +else { include(conf.pri) } @@ -18,7 +16,8 @@ QMAKE_CXXFLAGS += -Wall -Wextra -Wpedantic -Wformat-security # Man page nogui { man.files = ../doc/qbittorrent-nox.1 -} else { +} +else { man.files = ../doc/qbittorrent.1 } From 814488863d9dfdf96f28548b39a29bf168eafb2a Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Mon, 24 Dec 2018 13:23:25 +0800 Subject: [PATCH 2/2] Enforce C++14 requirement --- configure | 48 +++++++++++++++++++++++------------------------ configure.ac | 34 ++++++++++++++++----------------- m4/qbittorrent.m4 | 10 +++++----- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/configure b/configure index 33c93d8b7..fcc86bd33 100755 --- a/configure +++ b/configure @@ -5590,16 +5590,16 @@ $as_echo "yes" >&6; } LIBS="$zlib_LIBS $LIBS" fi -# Check if already in >= C++11 mode because of the flags returned by one of the above packages -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler is using C++11 or later mode" >&5 -$as_echo_n "checking if compiler is using C++11 or later mode... " >&6; } +# Check if already in >= C++14 mode because of the flags returned by one of the above packages +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler is using C++14 or later mode" >&5 +$as_echo_n "checking if compiler is using C++14 or later mode... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus #error "This is not a C++ compiler" - #elif __cplusplus < 201103L - #error "This is not a C++11 compiler" + #elif __cplusplus < 201402L + #error "This is not a C++14 compiler" #endif int main () @@ -5613,28 +5613,28 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - QBT_CXX11_FOUND="yes" + QBT_CXX14_FOUND="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - QBT_CXX11_FOUND="no" + QBT_CXX14_FOUND="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# In case of no, check if the compiler can support at least C++11 +# In case of no, check if the compiler can support at least C++14 # and if yes, enable it leaving a warning to the user -if test "x$QBT_CXX11_FOUND" = "xno"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports C++11" >&5 -$as_echo_n "checking if compiler supports C++11... " >&6; } +if test "x$QBT_CXX14_FOUND" = "xno"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports C++14" >&5 +$as_echo_n "checking if compiler supports C++14... " >&6; } TMP_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=c++11" + CXXFLAGS="$CXXFLAGS -std=c++14" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus #error "This is not a C++ compiler" - #elif __cplusplus < 201103L - #error "This is not a C++11 compiler" + #elif __cplusplus < 201402L + #error "This is not a C++14 compiler" #endif int main () @@ -5648,17 +5648,17 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C++11 is disabled by the set compiler flags" >&5 -$as_echo_n "checking if C++11 is disabled by the set compiler flags... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C++14 is disabled by the set compiler flags" >&5 +$as_echo_n "checking if C++14 is disabled by the set compiler flags... " >&6; } # prepend the flag so it won't override conflicting user defined flags - CXXFLAGS="-std=c++11 $TMP_CXXFLAGS" + CXXFLAGS="-std=c++14 $TMP_CXXFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus #error "This is not a C++ compiler" - #elif __cplusplus < 201103L - #error "This is not a C++11 compiler" + #elif __cplusplus < 201402L + #error "This is not a C++14 compiler" #endif int main () @@ -5672,25 +5672,25 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - CXXFLAGS="$TMP_CXXFLAGS -std=c++11" - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C++11 mode is now force enabled. + CXXFLAGS="$TMP_CXXFLAGS -std=c++14" + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C++14 mode is now force enabled. Make sure you use the same C++ mode for qBittorrent and its dependencies. To explicitly set qBittorrent to a later mode use CXXFLAGS. Example: \`CXXFLAGS=\"\$CXXFLAGS -std=c++14\" ./configure\`" >&5 -$as_echo "$as_me: WARNING: C++11 mode is now force enabled. +$as_echo "$as_me: WARNING: C++14 mode is now force enabled. Make sure you use the same C++ mode for qBittorrent and its dependencies. To explicitly set qBittorrent to a later mode use CXXFLAGS. Example: \`CXXFLAGS=\"\$CXXFLAGS -std=c++14\" ./configure\`" >&2;} else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - as_fn_error $? "The compiler supports C++11 but the user or a dependency has explicitly enabled a lower mode." "$LINENO" 5 + as_fn_error $? "The compiler supports C++14 but the user or a dependency has explicitly enabled a lower mode." "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - as_fn_error $? "A compiler supporting C++11 is required." "$LINENO" 5 + as_fn_error $? "A compiler supporting C++14 is required." "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext diff --git a/configure.ac b/configure.ac index bd64c61b6..305603801 100644 --- a/configure.ac +++ b/configure.ac @@ -209,36 +209,36 @@ PKG_CHECK_MODULES(zlib, [CXXFLAGS="$zlib_CFLAGS $CXXFLAGS" LIBS="$zlib_LIBS $LIBS"]) -# Check if already in >= C++11 mode because of the flags returned by one of the above packages -AC_MSG_CHECKING([if compiler is using C++11 or later mode]) -AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], +# Check if already in >= C++14 mode because of the flags returned by one of the above packages +AC_MSG_CHECKING([if compiler is using C++14 or later mode]) +AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], [AC_MSG_RESULT([yes]) - QBT_CXX11_FOUND="yes"], + QBT_CXX14_FOUND="yes"], [AC_MSG_RESULT([no]) - QBT_CXX11_FOUND="no"]) + QBT_CXX14_FOUND="no"]) -# In case of no, check if the compiler can support at least C++11 +# In case of no, check if the compiler can support at least C++14 # and if yes, enable it leaving a warning to the user -AS_IF([test "x$QBT_CXX11_FOUND" = "xno"], - [AC_MSG_CHECKING([if compiler supports C++11]) +AS_IF([test "x$QBT_CXX14_FOUND" = "xno"], + [AC_MSG_CHECKING([if compiler supports C++14]) TMP_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -std=c++11" - AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], + CXXFLAGS="$CXXFLAGS -std=c++14" + AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], [AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([if C++11 is disabled by the set compiler flags]) + AC_MSG_CHECKING([if C++14 is disabled by the set compiler flags]) # prepend the flag so it won't override conflicting user defined flags - CXXFLAGS="-std=c++11 $TMP_CXXFLAGS" - AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], + CXXFLAGS="-std=c++14 $TMP_CXXFLAGS" + AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], [AC_MSG_RESULT([no]) - CXXFLAGS="$TMP_CXXFLAGS -std=c++11" - AC_MSG_WARN([C++11 mode is now force enabled. + CXXFLAGS="$TMP_CXXFLAGS -std=c++14" + AC_MSG_WARN([C++14 mode is now force enabled. Make sure you use the same C++ mode for qBittorrent and its dependencies. To explicitly set qBittorrent to a later mode use CXXFLAGS. Example: `CXXFLAGS="\$CXXFLAGS -std=c++14" ./configure`])], [AC_MSG_RESULT([yes]) - AC_MSG_ERROR([The compiler supports C++11 but the user or a dependency has explicitly enabled a lower mode.])])], + AC_MSG_ERROR([The compiler supports C++14 but the user or a dependency has explicitly enabled a lower mode.])])], [AC_MSG_RESULT([no]) - AC_MSG_ERROR([A compiler supporting C++11 is required.])]) + AC_MSG_ERROR([A compiler supporting C++14 is required.])]) ]) # These are required because autoconf doesn't expand these **particular** diff --git a/m4/qbittorrent.m4 b/m4/qbittorrent.m4 index 0e771d765..7ef4a227a 100644 --- a/m4/qbittorrent.m4 +++ b/m4/qbittorrent.m4 @@ -37,15 +37,15 @@ AC_DEFUN([FIND_QTDBUS], HAVE_QTDBUS=[false]]) ]) -# DETECT_CPP11_PROGRAM() -# Detects if at least C++11 mode is enabled. +# DETECT_CPP14_PROGRAM() +# Detects if at least C++14 mode is enabled. # -------------------------------------- -AC_DEFUN([DETECT_CPP11_PROGRAM], +AC_DEFUN([DETECT_CPP14_PROGRAM], [AC_LANG_PROGRAM([[ #ifndef __cplusplus #error "This is not a C++ compiler" - #elif __cplusplus < 201103L - #error "This is not a C++11 compiler" + #elif __cplusplus < 201402L + #error "This is not a C++14 compiler" #endif]], [[]]) ])