The checks itself were correct, but the logic for the final decision
didn't properly handle `--enable-gtkdoc-header=auto`, which also
happens to be the default.
Also fix hiding error messages from Python when trying to import the
`lxml` module to see whether it's available or not.
Closes#929.
This prevents a make-time error later if it can't be imported. lxml is
considered optional so there's no build failure if Python doesn't exist or if
the lxml package can't be imported.
The script reads the doxygen xml output and generates two headers (optionally
a single header) that contains all of the plugin API in gtk-doc format.
Two headers because it's preferrable to group Scintilla related stuff
into its own namespace. This is a lot easier if g-ir-scanner can
work with a separate header file. If we change minds later on the script is
prepared to generate only one header.
When mac integration or binary relocation are disabled, the compiled
object file contains no symbols because the guards in the source files
hide all code. On OS X there's a warning during compilation saying:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
file: .libs/libgeany.a(libgeany_la-prefix.o) has no symbols
If these features are disabled, don't compile the corresponding
sources to avoid the warnings.
Interestingly, waf compilation works without warnings - it appears
linking is done through g++ which doesn't produce these warnings.
This makes it easier to define it consistently to what the compiler
and platform supports, and avoids having to include a special header
everywhere, which is some kind of a problem for separate libraries
like TagManager and especially Scintilla.
As we only use these macros from the source and not the headers, it
is fine for it to be defined to a configure-time check from the build
system.
Warning: Although Waf and Windows makefiles are updated they are not
tested an will probably required tuning.
The flags in this variables are used to tune the linker behavior on the
final libgeany (currently set the version information), so should only
used on really linked libraries, not Libtool helper libraries.
This prevents having to export those callbacks and put them in the
global namespace. Also, use inline shell script in Makefile.am instead
of a Python script which should be more portable (by default) and gets
rid of the helper script.
Checks if the compiler supports -fvisibility and the linker supports
-dynamic-list arguments and use them instead of hardcoding. The new
geany-lib.m4 also accomodates future use of Libtool versioning.
This patch adds the gtk-mac-integration library and uses it to
adjust various paths in Geany to point it inside the app bundle
if Geany runs from inside the bundle.
It adds the utils_resource_dir() utility function to return
correct directories for various kinds of resources for all supported
operating systems. Using this function the patch adjusts all Geany
resource, plugin, icon, doc, and locale paths.
The standard says:
If the first operand is -n, or if any of the operands contain a
backslash ( '\' ) character, the results are implementation-defined.
On OS X it simply prints the "-n" string and everything which follows,
including the newline.
Use printf instead.
Strict dependency on fnmatch was removed in 52076d19e8fe7ab41ebc92928e.
We still have an optional dependency on it from CTags, but I don't
think we use this code, and anyways the checks we had for the optional
path to be taken were incorrect, so it was never actually used.
So, drop the dependency on libibrety for Windows builds, and fix the
remaining checks for an optional fnmatch so if it is found it can
actually be used.
Enable building of the HTML manual by default unless not building from
Git and with an existing local copy (which is included in distribution
tarballs).
This makes sure we can install the HTML manual without having it
checked in VCS, yet not require rst2html for tarball builds.
Don't use the $LINGUAS at configure time to set ALL_LINGUAS, and let
the translations Makefile properly honor the $LINGUAS itself, which it
already does better than we do, cleanly ignoring translations it
doesn't know.
If we do set ALL_LINGUAS=$LINGUAS, it will result in a build failure if
we do not have a translation for some of the language(s) specified in
$LINGUAS, and would make it impossible to build other languages without
re-configuring. So, just drop that part and let the build-time support
kick in.
Closes#507.
* Add `--enable-html-docs` and `--enable-pdf-docs` arguments
(off by default)
* Add `RST2HTML`, `RST2LATEX` and `PDFLATEX` to override path to these
tools.
* Add HTML and PDF doc status messages to configure summary
* Add `m4/geany-doxygen.m4` file
* Support `DOXYGEN` environment variable setting which Doxygen to use
* Support `--enable-api-docs` to activate building Doxygen docs
(off by default)
Add and use macros to generate final configure summary rather than
hard-code it. This allows for the status to be registered from where
they comes rather than all in the end.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6008 ea778897-0a13-0410-b9d1-a72fbfd435f5