Commit graph

262 commits

Author SHA1 Message Date
William S Fulton
71709af99a Show CFLAGS and CXXFLAGS for SWIG executable build 2021-03-23 19:46:00 +00:00
Olly Betts
56d7435573 Merge branch 'php8-support'
Fixes #1929, Fixes #1978
2021-03-21 10:57:35 +13:00
William S Fulton
82fb0540ca Modernise C++11 compiler support detection in autotools
Replace AX_CXX_COMPILE_STDCXX_11 with AX_CXX_COMPILE_STDCXX
from autoconf archive.
2021-03-20 00:53:13 +00:00
Olly Betts
3584c7d49c Add initial support for PHP8
Testcase director_overload2 is failing, but the rest of the testsuite
passes.
2021-03-19 19:30:27 +13:00
Olly Betts
6b5b682eed Add php7.4 to list configure checks for 2021-03-17 12:40:14 +13:00
Andy Polyakov
f97020fb0c configure.ac: re-prioritize node.js detection.
Having 'node' taking priority over 'nodejs' make is easier to "sand-box"
different node.js version by merely adjusting PATH.
2021-03-02 15:21:02 +01:00
Andy Polyakov
1abb726d69 configure.ac: pick up javascriptcoregtk-4.0,3.0 if available.
Ubuntu 20 doesn't have libwebkitgtk-dev/libjavascriptcoregtk-1.0-dev,
but it has 4.0. Ubuntu 18 provides 3.0 as option.
2021-03-01 15:51:12 +01:00
William S Fulton
ac8de714af Travis testing tcl for MacOSX10.14 and later
Used suggestion from
https://www.postgresql-archive.org/PG-vs-macOS-Mojave-td6047357.html#a6056680
to add in sysroot.

Note that the examples failed at runtime unless tcl was installed from homebrew:
  brew install --cask tcl
2021-02-20 14:50:01 +00:00
William S Fulton
ec2b47ef2a Remove need for Python 2to3
All Python examples and tests have been written to be both Python 2 and Python 3
compatible, removing the need for 2to3 to run the examples or test-suite.

The 2to3 executable is not always available and even when available does not
always work, e.g. with pyenv. An alternative would be to use the lib2to3 Python
module instead, but this isn't available in some older versions of Python 3.

I had this problem on Ubuntu Bionic on Travis:

  checking Examples/python/callback
  pyenv: 2to3-3.8: command not found
  The `2to3-3.8' command exists in these Python versions:
    3.8
    3.8.1

Reference issues:
  https://github.com/pypa/virtualenv/issues/1399
  https://travis-ci.community/t/2to3-command-not-found-in-venv-in-bionic/4495
2020-08-15 18:04:58 +01:00
Mike Frysinger
e9a21197ec configure: use AC_PATH_TOOL for pkg-config
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".
2020-06-12 19:08:29 -04:00
Mike Frysinger
24945669fd configure: change $PKGCONFIG to $PKG_CONFIG
The PKG_CONFIG variable name aligns with the standard upstream
value that the pkg-config project itself uses.
2020-06-11 18:04:15 -04:00
William S Fulton
470d1926f8 Bump version to 4.1.0 2020-06-08 20:47:47 +01:00
Anatol Pomozov
9da2e4f5d4 Replace -isystem compile flag with -I
Using `-isystem` flag causes compilation errors with GCC10.
Replace it with `-I` flag.

Fixes #1805

Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
2020-06-02 23:33:12 -07:00
William S Fulton
ac3f668c83 Minor configure.ac output display correction testing for octave 2020-06-02 18:11:12 +01:00
Karl Wette
d11e29615d Octave: use pre-compiled headers to speed up test suite, if supported 2020-05-31 22:11:51 +10:00
Karl Wette
e0d85fc939 configure.ac: fix calls to mkoctfile for Octave configuration
- As of Octave 5.1.0, mkoctfile no longer works with 'env -'
  (no environment), so need to pass at least PATH and
  LD_LIBRARY_PATH for it to work.
- Still need to clear environment so that it doesn't override
  mkoctfile defined variables, e.g. CXXFLAGS.
2020-05-31 06:43:15 +10:00
Vadim Zeitlin
8b572399d7 Revert "Use '\\' instead of "\\""
This reverts commit ab8ecbc208 as it broke
AppVeyor CI builds.
2020-05-25 16:06:14 +02:00
Vadim Zeitlin
034a6d54ee Merge branch 'master' of https://github.com/vapier/swig
Use $PKGCONFIG instead of hard-coded pkg-config for JS test.

See https://github.com/swig/swig/pull/1796
2020-05-24 22:08:23 +02:00
Vadim Zeitlin
ab8ecbc208 Use '\\' instead of "\\"
No real changes, just use simpler quoting construct which is sufficient
(as we don't need to expand any variables) and also happens not to break
Vim 8 syntax highlighting in the entire file, unlike double quotes.
2020-05-22 15:58:21 +02:00
Mike Frysinger
48842cb07b configure: fix pkg-config invocation
The code was already probing $PKGCONFIG but then still falls back
to using the hardcoded `pkg-config` tool.
2020-05-21 19:39:39 -04:00
Vadim Zeitlin
e7d0533a6f Quote JAVAC expansion in configure to deal with spaces
This avoids errors about unknown Java version format when JAVAC is in a
path with spaces in it (as is often the case under Windows).
2019-12-19 16:17:24 +01:00
Vadim Zeitlin
b52af40398 Disable Doxygen tests when using Java 8 or older
Check Java version in configure and define SKIP_DOXYGEN_TEST_CASES if
it's less than 9, which is required by the new implementation of
CommentParser used in the Doxygen tests.
2019-12-18 16:24:28 +01:00
Vadim Zeitlin
66a7826192 Rewrite Doxygen unit tests for Java using Java 9 API
In particular, do not use com.sun.javadoc deprecated since Java 9 and
finally removed in Java 13, to allow the tests to run under modern JRE.

They don't run under Java 8 and earlier any more, but this shouldn't be
a huge problem nowadays and as SWIG output is independent from the Java
version used, it's enough to test it with modern Java versions.

Note that the tests themselves were changed only in the most minimal
way, to adapt them to the new way of running javadoc (which is now also
integrated into CommentParser itself instead of being duplicated in
every test).
2019-12-18 02:45:06 +01:00
William S Fulton
c48d11ac17 Bump version to 4.0.2 2019-08-22 06:55:39 +01:00
Ian Lance Taylor
62136ff782 Fix Go version check and Go in-tree example tests
Fixes #1607
2019-08-09 14:06:45 -07:00
Ian Lance Taylor
6b108c19e1 Restore setting of GOVERSIONOPTION
Accidentally removed in last commit.
2019-08-08 22:59:57 -07:00
Ian Lance Taylor
7aafe3d8b2 Fix all Go tests to build with "go build"
Tested against Go 1.6 through Go 1.13beta1, and gccgo.

Fixes #1607
2019-08-08 14:30:50 -07:00
William S Fulton
6489730892 Fix Octave detection for non-GNU sed on MacOS 2019-05-24 19:30:47 +01:00
Orion Poplawski
ae7c04e204 Adapt OCTAVE_LDFLAGS for Octave 5.1 2019-05-24 19:30:47 +01:00
William S Fulton
78a1515f46 OCaml testing requires camlp4 2019-05-02 07:41:35 +01:00
William S Fulton
6a91723fcf Bump version to 4.0.1 2019-04-28 21:01:21 +01:00
William S Fulton
892f0fdc6b Update ax_boost_base.m4 to latest from autoconf archive
Updated to serial #45.
This is in preparation to a possible fix for issue #1435.
The use of AS_CASE requires autoconf-2.60 or later.
2019-04-11 19:48:06 +01:00
Olly Betts
c199b173f8 configure: Look for php7.2 and php7.3 2019-02-08 14:37:14 +13:00
William S Fulton
264b39fd00 Disable CFFI Common Lisp target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:23 +00:00
William S Fulton
6d7e3df54e Disable Allegrcol target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:16 +00:00
William S Fulton
09e0577d95 Disable Chicken target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:12 +00:00
William S Fulton
cb4bd26422 Disable Common Lisp / CLISP target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:07 +00:00
William S Fulton
f63d0db21b Disable Common Lisp / UFFI target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:54 +00:00
William S Fulton
8aa4086136 Disable Pike target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:46 +00:00
William S Fulton
ee3aeb8177 Disable Modula3 target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:34 +00:00
Olly Betts
ec72026285 Stop defaulting to Tcl
SWIG now requires a target language to be specified instead of
defaulting to wrapping for Tcl.  Specifying swig --help without
a target language now just shows the generic help.  The -nolang
option has been removed.
2019-02-01 12:57:00 +13:00
William S Fulton
5c21de71c7 Fix configure.ac to work again with version 2.58 testing the D compiler
Remove use of _AC_DO_STDERR which became available in autoconf 2.60.

Closes #1405
2019-01-20 17:06:43 +00:00
William S Fulton
5be27fd69c Make OCaml configure output more consistent with other languages 2019-01-03 07:46:29 +00:00
William S Fulton
1540ff451f 2to3 detection for Windows Python distributions
The 2to3 standalone tool does not exist on Windows. Use the 2to3.py
script instead.
2018-11-20 19:47:42 +00:00
William S Fulton
b3cc8fe8f9 configure fix for msys2 + mingw Python
For some unknown reason msys2 and mingw adds trailing whitespace when
running: python3-config --exec-prefix
2018-11-20 19:47:42 +00:00
William S Fulton
f3ad4e030c Don't attempt to detect Python 3.0 and 3.1 2018-11-20 19:47:42 +00:00
William S Fulton
e7638089f7 Don't attempt to detect versions of Python < 2.7 2018-11-20 19:47:42 +00:00
William S Fulton
82517489ee Fix to find tclConfig.sh on more recent versions of macOS 2018-08-06 19:02:21 +01:00
William S Fulton
cf3ff89433 Fix doxygen testing for jdk < 9 2018-06-11 23:40:58 +01:00
William S Fulton
33921666a1 Merge branch 'vadz-doxygen'
This is the Doxygen work begun in Google Summer of Code projects 2008
and 2012 and subsequently improved by numerous contributors.

* vadz-doxygen: (314 commits)
  Add changes entry for Doxygen support
  Add some missing doctype tyemaps
  Doxygen warnings cleanup
  Move doxygen warning numbers
  Add Python doxygen example
  Doxygen example
  Add Doxygen to include paths
  Doxygen source rename
  More merge fixes from doxygen branches
  Correct python example headers
  Correct source code headers
  Another merge fix from doxygen branches
  Java enums output format fixes
  Add omitted doxygen_parsing_enums testcase
  PEP8 conformance for comment verifier module
  Clean up merge problem
  Doxygen html tweaks
  Update html chapter numbering for added Doxygen chapter
  Fixes to makechap.py to detect ill-formed headers
  html fixes for Doxygen
  Add missing CPlusPlus17.html file
  Format files to unix format
  Doxygen testcase tweak to match that in the html docs
  Doxygen html documentation updates and corrections
  Remove doxygen Examples subdirectory
  Beautify doxygen source code
  Code formatting fixes in doxygen code
  Remove unused doxygen code
  new_node refactor
  Various merge fixes in doxygen branches
  Unused variable warning fix
  Fix wrongly resetting indent after formulae in Doxygen comments
  Add support for doxygen:alias feature
  Get rid of meaningless return type of DoxygenParser methods
  Return enum, not untyped int, when classifying Doxygen commands
  Get rid of unnecessary "typedef enum" in C++ code
  Use slash, not backslash, in "C/C++" in the documentation
  Replace literal "<" with "&lt;" in HTML documentation
  Fix broken link to java.sun.com in Doxygen documentation
  Fix using com.sun.tools.javadoc package under macOS
  Fix error reporting for special characters in Doxygen parsing code
  Switch Python Doxygen unit tests to use inspect.getdoc()
  Use correct separator in Java class path under Windows.
  Remove executable permission from appveyor.yml.
  Use JAVA_HOME value in configure to detect Java.
  Display JAVA_HOME value in "make java_version".
  Fix harmless MSVC warning in DoxygenTranslator code.
  Reset "_last" for all but first enum elements.
  Don't duplicate Javadoc from global enum Doxygen comments twice.
  Move Doxygen comments concatenation from the parser to the lexer.
  Fix shift/reduce conflicts in Doxygen pre/post comment parsing.
  Rewrote part of the grammar dealing with Doxygen comments for enums.
  No changes, just remove spurious white space only differences.
  Move Doxygen comment mangling from the parser to the lexer.
  Merge "-builtin" autodoc bugs workarounds from master into test.
  Quote JAVA_HOME variable value in Java test suite makefile.
  Remove unused C_COMMENT_STRING terminal from the grammar.
  Fix missing returns in the Doxygen test suite code.
  Fix trimming whitespace from Doxygen comments.
  Remove code not doing anything from PyDocConverter.
  Remove unused <sstream> header.
  Remove unreferenced struct declaration.
  Remove unused Swig_warn() function.
  Remove any whitespace before ignored Doxygen commands.
  Remove trailing space from one of Doxygen tests.
  Fix autodoc strings generated in Python builtin case and the test.
  Fix Doxygen unit test in Python "-builtin" case.
  Use class docstrings in "-builtin" Python case.
  Don't indent Doxygen doc strings in generated Python code.
  Add a possibility to flexibly ignore custom Doxygen tags.
  Stop completely ignoring many Doxygen comments.
  Fix structural Doxygen comment recognition in the parser.
  No changes, just make checking for Doxygen structural tags more sane.
  Use "//", not "#", for comments in SWIG input.
  Allow upper case letters and digits in Doxygen words.
  Pass the node the Doxygen comment is attached to to DoxygenParser.
  Get rid of findCommand() which duplicaed commandBelongs().
  Recognize unknown Doxygen tags correctly.
  No real changes, just pass original command to commandBelongs().
  Describe Doxygen-specific %features in a single place.
  Give warnings for unknown Doxygen commands in Doxygen parser.
  Document the return type when translating Doxygen @return to Python.
  Fix translated Doxygen comments for overloaded functions in Python.
  Also merge Doxygen comments for overloaded constructors in Python.
  Allow using enum elements as default values for Python functions.
  Don't always use "*args" for all Python wrapper functions.
  No real changes, just make PYTHON::check_kwargs() const.
  Refactor: move makeParameterName() to common Language base class.
  Remove long line wrapping from Python parameter list generation code.
  Simplify and make more efficient building Python docstrings.
  Translate Doxygen code blocks to Sphinx code blocks.
  Add a simple test of multiple parameters to Doxygen test suite.
  Make Python parameters types hyperlinks in the doc strings.
  Make Language::classLookup() and enumLookup() static.
  Fix arguments of @param, @return etc translations to Python.
  Remove unused method from PyDocConverter.
  No real changes, just remove an unnecessary variable.
  Preserve relative indentation when parsing Doxygen comments.
  Use Sphinx-friendly formatting for overloaded functions documentation.
  Add poor man trailing white space detection to Doxygen Python tests.
  ...
2018-06-07 08:13:10 +01:00