AC_CHECK_PROGS will find the tool using exactly the name given: it
only searches for "pkg-config". When doing native builds, this is
generally fine. However, when cross-compiling, this is not ideal
as `pkg-config` is often configured for the build system, not the
system we want to cross-compile for.
Switch to using the AC_PATH_TOOL tool instead. This will look for
"pkg-config" with a $host- prefix first before falling back to the
plain "pkg-config". When doing native builds, things should still
behave the same, but now things work better out of the box when we
cross-compile.
For example, `./configure --host=aarch64-linux-gnu` will first look
for "aarch64-linux-gnu-pkg-config" before falling back to the plain
"pkg-config".
Using `-isystem` flag causes compilation errors with GCC10.
Replace it with `-I` flag.
Fixes#1805
Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
* ruby-bigendian:
Travis ruby s390x (big endian) architecture testing
Install libpcre3-dev for Linux builds
Don't fail the build if CPU model or memory can't be detected
Switch one of Travis CI Ruby builds to use s390x arch
* octave-fixes:
octrun.swg: ensure type_id() is set correctly
.travis.yml: build Octave on OSX with CPP=11
.travis.yml: require Octave build on OSX to pass
.travis.yml: add Octave test on Ubuntu Bionic
Octave: use pre-compiled headers to speed up test suite, if supported
Tools/travis-osx-install.sh: disable 'brew cleanup' to save Travis job run time
Tools/travis-osx-install.sh: use Tools/brew-install to install Octave
octave.cxx: fix exception raising for newer Octave versions
octave.cxx: add missing return statement before "fail:" label
octave.cxx: this belongs in the code (as opposed to definition) section
octave.cxx: remote whitespaces
octave.cxx: replace Printf() with Append() for consistency
octruntime.swg: do not use atexit() to quit Octave
octrun.swg: remove octave_value type-id from octave_swig_bound_func
configure.ac: fix calls to mkoctfile for Octave configuration
- Since (at least) Octave 5.1.0, the Octave error() function now raises a C++
exception, which if uncaught immediately exits a SWIG wrapper function,
bypassing any cleanup code that may appear after a "fail:" label.
- This patch adds a "try { ... } catch(...) { }" block around the contents of
SWIG wrapper functions to first execute the cleanup code before rethrowing any
exception raised.
- It is backward compatible with earlier versions of Octave where error() does
not raise an exception, which will still branch to the "fail:" block to
execute cleanup code if an error is encountered.