* vadz-better-no-all:
Don't check for all the languages in Travis language-specific builds.
Skip check for pep8 if Python is disabled in configure.
Make configure --without-alllang option actually useful.
Cosmetic: fix wrong configure options indentation in --help.
* vadz-java-home:
Don't duplicate Java headers path under OS X in configure.
Use JAVA_HOME value in configure to detect Java.
Remove executable permission from appveyor.yml.
Use it to disable all languages by default, but still allow enabling
individual languages by explicitly using --with-lang options for them.
E.g. to enable tests for Java only "--without-alllang --with-java" can now be
used to skip the configure checks for all the other languages.
Ensure that help for all options starts in the same column (unless the options
are too long, as --with-guile-config=path, but at least avoid indenting it by
a tab stop then).
Use /System/Library/Frameworks/JavaVM.framework/Headers in a single place only
to make it easier to change it later and, hopefully, make the rather
convoluted process of Java detection under OS X slightly more clear.
This is simpler than having to use --with-java, --with-javac and
--with-javaincl options and, even more importantly, will usually just work by
default.
SWIG-3.0.5 and earlier sometimes truncated text provided in the docstring
feature.
SWIG-3.0.6 gave a 'Line indented less than expected' error instead of
truncating the docstring text.
Now the indentation for the 'docstring' feature is smarter and is
adjusted so that no truncation occurs.
Closes#475
This is simpler than having to use --with-java, --with-javac and
--with-javaincl options and, even more importantly, will usually just work by
default.
Explicitly compare pointer with NULL instead of implicitly converting it to
bool as this resulted in MSVS "warning C4800: forcing value to bool 'true' or
'false' (performance warning)".
There is an implicit assumption (see TypePass::enumvalueDeclaration()) that
only the first enum element has a non-null "_last" attribute, but this was
broken by the latest enum-related grammar changes as the second enum element
also had "_last" set, coming from the new "enumlist_tail" production. This
resulted in wrong values being used for the second (only) element.
Fix this by explicitly resetting "_last" of enumlist_tail to NULL when
building the semantic value associated with it.
The commit d52de0f36f did fix the bug with
missing Javadoc comments for the nested enums, but it also resulted in the
Javadoc being generated twice for global enums, remove the code outputting the
same Javadoc for the second time to fix this.
This allows to write the grammar in a simpler way without running into
shift/reduce conflicts all the time because a Doxygen post comment can often
be either reduced with the preceding token or shifted if there is another
Doxygen post comment after it.
Just take care of concatenating the comments in the lexer, which makes it
handling of comment tokens slightly more complex as it now needs to look ahead
at the next tokens, but it's worse the simplifications in the parser.
No changes in behaviour.
Don't accept both pre- and post-comments for the same declaration (a function
parameter or a class member), this didn't work before neither as the
pre-comment overrode the post-one due to the default shift/reduce resolution
preferring to shift, but it happened silently whereas now it will result in a
parse error.
In the future we could complicate the grammar to detect this and give a
warning about one of the comments being ignored instead, but for now keep
things simple.