Enable C++11 testing by default, Appveyor testing scaled back

./configure now enables C++11 and later C++ standards testing by default (when
running: 'make check').

The options to control this testing are the same:

  ./configure --enable-cpp11-testing
  ./configure --disable-cpp11-testing

But the former is now the default and the latter can be used to turn off C++11 and
later C++ standards testing.

Reduce the number of tests on Appveyor by only running 32-bit (x86) using
latest Visual Studio (2022). Drop 32-bit Cygwin and MinGW testing.
Add C# and Java testing on VS2022 and drop Java testing on older Visual Studio.
This reduces the really long run times on Appveyor, however, VS2022 is
somewhat slower than older compilers.
This commit is contained in:
William S Fulton 2022-04-06 19:39:24 +01:00
commit dba941120d
4 changed files with 45 additions and 14 deletions

View file

@ -392,7 +392,8 @@ jobs:
esac esac
echo CSTD="$CSTD" >> $GITHUB_ENV echo CSTD="$CSTD" >> $GITHUB_ENV
fi fi
if test -n "$CPPSTD"; then CONFIGOPTS+=(--enable-cpp11-testing "CXXFLAGS=-std=$CPPSTD $CXXFLAGS"); fi if test -z "$CPPSTD"; then CONFIGOPTS+=("--disable-cpp11-testing"); fi
if test -n "$CPPSTD"; then CONFIGOPTS+=("CXXFLAGS=-std=$CPPSTD $CXXFLAGS"); fi
if test -n "$CSTD"; then CONFIGOPTS+=("CFLAGS=-std=$CSTD $CFLAGS"); fi if test -n "$CSTD"; then CONFIGOPTS+=("CFLAGS=-std=$CSTD $CFLAGS"); fi
if test -n "$SWIGLANG"; then CONFIGOPTS+=(--without-alllang --with-$WITHLANG); fi if test -n "$SWIGLANG"; then CONFIGOPTS+=(--without-alllang --with-$WITHLANG); fi
echo "${CONFIGOPTS[@]}" echo "${CONFIGOPTS[@]}"

View file

@ -7,6 +7,18 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/
Version 4.1.0 (in progress) Version 4.1.0 (in progress)
=========================== ===========================
2022-04-06: wsfulton
./configure now enables C++11 and later C++ standards testing by default (when
running: 'make check').
The options to control this testing are the same:
./configure --enable-cpp11-testing
./configure --disable-cpp11-testing
But the former is now the default and the latter can be used to turn off C++11 and
later C++ standards testing.
2022-04-06: wsfulton 2022-04-06: wsfulton
[Python] #1635 The "autodoc" feature no longer overrides Doxygen comments [Python] #1635 The "autodoc" feature no longer overrides Doxygen comments
in the generated docstring. in the generated docstring.

View file

@ -1,5 +1,4 @@
platform: platform:
- x86
- x64 - x64
skip_commits: skip_commits:
@ -18,8 +17,6 @@ environment:
VSVER: 12 VSVER: 12
- SWIGLANG: csharp - SWIGLANG: csharp
VSVER: 14 VSVER: 14
- SWIGLANG: java
VSVER: 14
- SWIGLANG: python - SWIGLANG: python
VSVER: 14 VSVER: 14
VER: 27 VER: 27
@ -34,10 +31,29 @@ environment:
VSVER: 16 VSVER: 16
VER: 39 VER: 39
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- SWIGLANG: csharp
VSVER: 17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: csharp
VSVER: 17
Platform: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: java
VSVER: 17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: java
VSVER: 17
Platform: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: python - SWIGLANG: python
VSVER: 17 VSVER: 17
VER: 310 VER: 310
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: python
VSVER: 17
VER: 310
Platform: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- SWIGLANG: python - SWIGLANG: python
OSVARIANT: cygwin OSVARIANT: cygwin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
@ -160,8 +176,8 @@ build_script:
- if "%BUILDSYSTEM%"=="cmake" cmake --version && cmake -G "Visual Studio 14 2015%VSARCH%" -DCMAKE_INSTALL_PREFIX="%CD:\=/%/install2" -DCMAKE_C_FLAGS="/WX /DPCRE2_STATIC" -DCMAKE_CXX_FLAGS="/WX /DPCRE2_STATIC" -DPCRE2_INCLUDE_DIR=%PCRE_ROOT%/include -DPCRE2_LIBRARY=%PCRE_ROOT%/lib/pcre2-8-static.lib -DBISON_EXECUTABLE=C:/cygwin/bin/bison.exe . && cmake --build . --config Release --target install && ctest --output-on-failure -V -C Release && appveyor exit - if "%BUILDSYSTEM%"=="cmake" cmake --version && cmake -G "Visual Studio 14 2015%VSARCH%" -DCMAKE_INSTALL_PREFIX="%CD:\=/%/install2" -DCMAKE_C_FLAGS="/WX /DPCRE2_STATIC" -DCMAKE_CXX_FLAGS="/WX /DPCRE2_STATIC" -DPCRE2_INCLUDE_DIR=%PCRE_ROOT%/include -DPCRE2_LIBRARY=%PCRE_ROOT%/lib/pcre2-8-static.lib -DBISON_EXECUTABLE=C:/cygwin/bin/bison.exe . && cmake --build . --config Release --target install && ctest --output-on-failure -V -C Release && appveyor exit
- if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && cd pcre2-pcre2-10.39 && ./autogen.sh && ./configure CC=$CC CXX=$CXX CFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' --prefix=%PCRE_ROOT% --disable-shared && time make -s -j%MAKEJOBS% LN_S=cp && make install && cd .. && cp -v %PCRE_ROOT%/lib/libpcre2-8.lib %PCRE_ROOT%/lib/pcre2-8.lib" - if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && cd pcre2-pcre2-10.39 && ./autogen.sh && ./configure CC=$CC CXX=$CXX CFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' --prefix=%PCRE_ROOT% --disable-shared && time make -s -j%MAKEJOBS% LN_S=cp && make install && cd .. && cp -v %PCRE_ROOT%/lib/libpcre2-8.lib %PCRE_ROOT%/lib/pcre2-8.lib"
# Open dummy file descriptor to fix error on cygwin: ./configure: line 560: 0: Bad file descriptor # Open dummy file descriptor to fix error on cygwin: ./configure: line 560: 0: Bad file descriptor
- if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache --enable-cpp11-testing CC=$CC CXX=$CXX CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE2_CFLAGS='-I%PCRE_ROOT%/include -DPCRE2_STATIC' PCRE2_LIBS='-L%PCRE_ROOT%/lib/ -lpcre2-8' --without-perl5 --without-go --with-boost=%BOOSTROOT% || cat config.log" - if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=$CC CXX=$CXX CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE2_CFLAGS='-I%PCRE_ROOT%/include -DPCRE2_STATIC' PCRE2_LIBS='-L%PCRE_ROOT%/lib/ -lpcre2-8' --without-perl5 --without-go --with-boost=%BOOSTROOT% || cat config.log"
- if not "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure CC=%CC% CXX=%CXX% --without-alllang --with-$SWIGLANG$PY3$SWIGWITHLANG --enable-cpp11-testing || cat config.log" - if not "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure CC=%CC% CXX=%CXX% --without-alllang --with-$SWIGLANG$PY3$SWIGWITHLANG || cat config.log"
- bash -c "time make -s -j%MAKEJOBS%" - bash -c "time make -s -j%MAKEJOBS%"
test_script: test_script:

View file

@ -282,7 +282,7 @@ fi
AC_MSG_RESULT($LINKFORSHARED) AC_MSG_RESULT($LINKFORSHARED)
# Optional CFLAGS used to silence/enhance compiler warnings on some platforms. # Optional CFLAGS used to silence/enhance compiler warnings on some platforms.
AC_MSG_CHECKING(PLATCFLAGS) AC_MSG_CHECKING(CFLAGS to use for testing (PLATCFLAGS))
case $host in case $host in
*-*-solaris*) if test "$GCC" = yes *-*-solaris*) if test "$GCC" = yes
then PLATCFLAGS= then PLATCFLAGS=
@ -295,8 +295,8 @@ esac
AC_MSG_RESULT($PLATCFLAGS) AC_MSG_RESULT($PLATCFLAGS)
# Add switch if necessary to enable C++11 support - just for tests # Add switch if necessary to enable C++11 support - just for tests
AC_ARG_ENABLE([cpp11-testing], AS_HELP_STRING([--enable-cpp11-testing], [enable C++11 testing if supported by compiler (default disabled)]), [enable_cpp11_testing=$enableval], [enable_cpp11_testing=no]) AC_ARG_ENABLE([cpp11-testing], AS_HELP_STRING([--disable-cpp11-testing], [disable C++11 and later C++ standards testing even if supported by compiler (default enabled)]), [enable_cpp11_testing=$enableval], [enable_cpp11_testing=yes])
AC_MSG_CHECKING([whether to attempt to enable C++11 testing]) AC_MSG_CHECKING([whether to attempt to enable C++11 and later C++ standards testing])
AC_MSG_RESULT([$enable_cpp11_testing]) AC_MSG_RESULT([$enable_cpp11_testing])
PLATCXXFLAGS="$PLATCFLAGS" PLATCXXFLAGS="$PLATCFLAGS"
@ -307,7 +307,7 @@ if test x"$enable_cpp11_testing" = xyes; then
# Test for c++17 # Test for c++17
CXXCPP=" " CXXCPP=" "
AX_CXX_COMPILE_STDCXX(17, [noext], [optional]) AX_CXX_COMPILE_STDCXX(17, [noext], [optional])
AC_MSG_CHECKING([whether C++17 and earlier testing is enabled]) AC_MSG_CHECKING([whether C++11 to C++17 testing is enabled])
if test "$HAVE_CXX17" = "1"; then if test "$HAVE_CXX17" = "1"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS" PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS"
@ -320,7 +320,7 @@ if test x"$enable_cpp11_testing" = xyes; then
CXXCPP=" " CXXCPP=" "
CXX=$CXX_SAVED CXX=$CXX_SAVED
AX_CXX_COMPILE_STDCXX(14, [noext], [optional]) AX_CXX_COMPILE_STDCXX(14, [noext], [optional])
AC_MSG_CHECKING([whether C++14 and earlier testing is enabled]) AC_MSG_CHECKING([whether C++11 to C++14 testing is enabled])
if test "$HAVE_CXX14" = "1"; then if test "$HAVE_CXX14" = "1"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS" PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS"
@ -332,16 +332,14 @@ if test x"$enable_cpp11_testing" = xyes; then
CXXCPP=" " CXXCPP=" "
CXX=$CXX_SAVED CXX=$CXX_SAVED
AX_CXX_COMPILE_STDCXX(11, [noext], [optional]) AX_CXX_COMPILE_STDCXX(11, [noext], [optional])
AC_MSG_CHECKING([whether C++11 and earlier testing is enabled]) AC_MSG_CHECKING([whether C++11 testing is enabled])
if test "$HAVE_CXX11" = "1"; then if test "$HAVE_CXX11" = "1"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS" PLATCXXFLAGS="$CXXCPP $PLATCXXFLAGS"
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
fi fi
fi fi
CXX=$CXX_SAVED CXX=$CXX_SAVED
@ -362,6 +360,10 @@ case $host in
*) ;; *) ;;
esac esac
AC_MSG_CHECKING(CXXFLAGS to use for testing (PLATCXXFLAGS))
PLATCXXFLAGS=$(echo $PLATCXXFLAGS | xargs) # Trim whitespace
AC_MSG_RESULT([$PLATCXXFLAGS])
# Check for compiler pre-compiled header support # Check for compiler pre-compiled header support
AC_MSG_CHECKING([if compiler supports pre-compiled headers]) AC_MSG_CHECKING([if compiler supports pre-compiled headers])
PCHSUPPORT=no PCHSUPPORT=no