41 Commits

Author SHA1 Message Date
Colomban Wendling
78c6a2ad6d Fix check for GtkDoc header generation dependencies
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.
2016-03-03 14:49:37 +01:00
Colomban Wendling
e9e2ddf581 Add an option to control GtkDoc header generation
This allows explicit activation or deactivation of the GtkDoc header
generation.

This might allow to e.g. force enable it on distcheck.
2016-02-18 22:51:30 +01:00
Matthew Brush
c0bde0dbf4 Add check for lxml package if Python is enabled
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.
2016-02-16 06:52:09 +01:00
Thomas Martitz
658821d2dd api: add script to generate {geany,geany-scintilla}-gtkdoc.h
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.
2016-02-07 17:50:23 +01:00
Colomban Wendling
8099fddd92 Remove leftover references to SVN
Closes #856.
2016-01-09 19:59:09 +01:00
Jiří Techet
db4bf54b2f Compile prefix.c and osx.c only when needed to avoid warnings
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.
2015-04-14 22:21:34 +02:00
Colomban Wendling
9644fb0ae2 Define GEANY_{EXPORT,API}_SYMBOL from the build system
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.
2015-04-10 16:08:08 +02:00
Colomban Wendling
bc013ae9fe Rename LIBGEANY_LIBS to LIBGEANY_LDFLAGS and only use it on libgeany.la
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.
2015-03-10 23:16:49 +01:00
Matthew Brush
1d64d5211f Replace dynamic exports with codegen for GtkBuilder callbacks
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.
2015-03-10 23:10:06 +01:00
Matthew Brush
eb36500ac4 Improve Autotools build system for libgeany
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.
2015-03-10 23:10:06 +01:00
Jiří Techet
18d517bd95 Use gtk-mac-integration so app bundle can be created on OS X
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.
2015-03-04 12:40:27 +01:00
Colomban Wendling
91630a85a2 autotools: Check for docutils tools with a .py suffix too
Docutils tools are apparently installed with an extension suffix by
default, so check for this too.

Closes #424.
2015-02-20 22:30:58 +01:00
Colomban Wendling
ea79be32f2 autotools: Remove useless code
AC_PATH_PROG supports overrides of its variable, so there is no need
for manual handling.
2015-02-20 22:28:26 +01:00
Jiří Techet
ca21a8759a Don't use "echo -n" in shell scripts
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.
2015-02-08 11:31:42 +01:00
Colomban Wendling
299f624f65 Autotools: Fix checking for Git revision
Fix check when building out of tree, and properly handle errors.
2014-11-11 19:01:58 +01:00
Colomban Wendling
1dc09597b2 Fix check for fnmatch and remove strict dependency on it for Windows
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.
2014-11-09 17:40:03 +01:00
Colomban Wendling
d2ce3d6fa1 Merge branch 'doc/untrack-geany.html' 2014-08-29 17:07:08 +02:00
Colomban Wendling
0453991a61 Don't try to install the HTML documentation if we don't have it 2014-08-29 17:05:18 +02:00
Colomban Wendling
82cd83183c Merge branch 'doc/auto-enable-api'
Closes PR#324.
2014-08-27 19:07:22 +02:00
Colomban Wendling
ee79b2eb3f Enable API documentation generation automatically when possible 2014-08-23 18:33:50 +02:00
Colomban Wendling
288b4f29d8 Enable HTML manual building by default but for distribution tarballs
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.
2014-08-23 17:56:14 +02:00
Colomban Wendling
a4dfc9c12b Enable documentation generation automatically when possible 2014-08-20 15:52:03 +02:00
Colomban Wendling
768659b89f i18n: don't restrict LINGUAS at configure time
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.
2014-08-16 17:59:10 +02:00
Colomban Wendling
7a5883e294 Use rst2pdf instead of rst2latex and pdflatex to generate PDF manual 2014-04-28 17:04:46 +02:00
Matthew Brush
87f5781258 Improve Docutils (and friends) support in Autotools
* 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
2014-04-27 18:04:39 -07:00
Colomban Wendling
d769e51e97 Fail if Doxygen is enabled but not found 2014-04-27 17:50:48 +02:00
Matthew Brush
595b445984 Improve Doxygen support in Autotools build system
* 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)
2014-04-26 23:29:43 -07:00
Colomban Wendling
29e64583b9 Fix translations build and installation in VPATH builds 2012-06-18 16:12:59 +02:00
Nick Treleaven
6de8f97cb3 Remove GNU regex now we have GRegex 2012-01-02 18:03:21 +00:00
Colomban Wendling
69313263e7 Check for Git revision rather than SVN one 2011-10-09 20:46:02 +02:00
Colomban Wendling
7c7bf88263 Move configure check for The Force to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6010 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:46:09 +00:00
Colomban Wendling
93a349005f Auto-generate final configure summary
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
2011-10-06 00:45:33 +00:00
Colomban Wendling
c955de3ffc Move various tricky configure logic to their own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6007 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:45:08 +00:00
Colomban Wendling
f1bce08535 Move configure logic for MinGW, socket and VTE to their own files
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6006 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:44:48 +00:00
Colomban Wendling
574d5ce336 Move configure logic for i18n to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6005 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:44:25 +00:00
Colomban Wendling
ff3ad0e642 Move configure logic for enabling plugins to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6004 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:44:06 +00:00
Colomban Wendling
c7b57e24e2 Move configure logic for internal GNU regex usage to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6003 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:43:46 +00:00
Colomban Wendling
294a21db88 Move configure logic for binary relocation support to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6002 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:43:28 +00:00
Colomban Wendling
680064b42c Move configure logic that checks for SVN revision to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6001 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-06 00:43:09 +00:00
Nick Treleaven
5061c0cd29 Remove generated file m4/intltool.m4.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5191 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-24 11:17:55 +00:00
Nick Treleaven
71ac86cc88 Use AC_CONFIG_MACRO_DIR (patch by Erik de Castro Lopo, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5189 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-23 12:37:17 +00:00