100 Commits

Author SHA1 Message Date
Colomban Wendling
11436f58de Post release version bump
Say hello to Geany 1.36 "Poliff"!
2019-04-28 17:36:02 +02:00
Enrico Tröger
4bad8ef5d4 Remove unused spec (RPM) file
The original intention was to easily build RPM packages by
users and developers. Nowadays, there are professional
Fedora, Suse and whatever RPM spec files available
for the according distributions.
So we can remove this unmaintained file to reduce confusions.

Fixes #2044.
2019-01-20 22:47:24 +01:00
Colomban Wendling
4452b365bf Merge pull request #1263 from techee/ctags_sync_main
First part of syncing with Universal-CTags.
2018-12-17 21:37:43 +01:00
Colomban Wendling
560e559a2a Post release version bump
Say hello to Geany 1.35 "Siralt"!
2018-12-16 13:47:25 +01:00
Colomban Wendling
3458045af4 Merge pull request #1182 from b4n/gtk3-auto-detect_v2
Autotools: Detect GTK version to use automatically.  GTK2 is still the
default if both GTK2 and GTK3 are present.
2018-12-09 11:49:41 +01:00
Colomban Wendling
13559896fe autotools: Detect GTK version to use automatically 2018-12-09 11:48:52 +01:00
Colomban Wendling
1c3634ebb9 Update functions and declarations checks for current ctags 2018-12-09 09:45:49 +01:00
Jiří Techet
99e0f208b2 Merge branch 'master' into ctags_sync_main
# Conflicts:
#	ctags/main/lcpp.c
#	ctags/main/parse.c
2018-10-13 14:25:12 +02:00
Enrico Tröger
6c531e7143 Post release version bump
Say hello to Geany 1.34 "Keong"!
2018-02-25 15:47:14 +01:00
Enrico Tröger
ca16aff4c5 Post release version bump
Say hello to Geany 1.33 "Gorgon"!
2017-11-19 13:57:22 +01:00
Colomban Wendling
18360460ab Update Scintilla to version 3.7.5 (#1503)
* Update Scintilla to version 3.7.5

This now requires a C++11-capable compiler.

Closes #1308.

* Test using newer dist on Travis

Since Scintilla needs C++11

* Add debugging code for when configure fails

* Workaround a pkg-config-corsswrapper bug on Ubuntu 14.04

See https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242
2017-07-25 09:24:05 +10:00
Enrico Tröger
2d9f97debd Post release version bump
Say hello to Geany 1.32 "Bemos"!
2017-07-16 15:29:55 +02:00
Frank Lanitz
6e1a1633b5 Update bugtracker URL to github 2017-03-19 18:57:38 +01:00
Colomban Wendling
3303bde758 Post release version bump
Say hello to Geany 1.31 "Trevin"!
2017-03-05 16:17:03 +01:00
Jiří Techet
617684666a Remove unnecessary use of AH_TEMPLATE 2017-02-15 11:36:56 +01:00
Colomban Wendling
a0449320b7 Post release version bump
Say hello to Geany 1.30 "Calron"!
2016-11-13 18:03:47 +01:00
Jiří Techet
32dfa2878a Some initial work on ctags as a library
Protect library-specific stuff by CTAGS_LIB macro which also makes it
better visible what changes had to be made to convert ctags into library.
Changes which need further Geany sync and aren't library-related aren't
protected by the macro.

Move things from geany.c/h to the locations where they belong and rename
geany.c/h to api.c/h into which API-like functions will be moved in the
next commits (mostly things from tm_ctags_wrappers.c/h).

Add complete main.c from uctags and just remove main() using the CTAGS_LIB
macro.
2016-10-15 00:14:37 +02:00
Jiří Techet
88cbe3871c Grab ctags version of general.h and make related changes
Added e_msoft.h, changed configure.ac to make more checks for header files
so we have corresponding macros defined, drop HAVE_REGEX macro check which
isn't defined any more, drop debugging function from lua parser (complains
about missing definition of errout).

Tested only on Linux (TODO: Windows, OS X)
2016-10-08 14:13:41 +02:00
Jiří Techet
2b8c7ae5ad Sync the rest of routines.c/h
Requires checking for errno.h limits.h in autoconf as there are ifdefs
around those in routines.c.
2016-10-08 14:12:45 +02:00
Colomban Wendling
e3f7d256c3 Test whether the C++ compiler works by compiling a test program
This is more reliable than using `which`, which doesn't work if the CXX
environment variable is set to something else than an executable (e.g
contains options), and is apparently less portable on some systems.

See:
 * http://lists.geany.org/pipermail/devel/2009-September/001367.html,
   which lead to 5bb28825aadb43ea8ba536c34970d53860b50759.
 * https://sourceforge.net/p/geany/bugs/455/, which lead to a revert
   of the above, 5b9605a9d6d799629b8ed3163596069c8c948b06.

Fixes #829.
2016-07-31 00:54:56 +02:00
Jiří Techet
eb2865a819 Separate ctags into parsers and main sources 2016-07-21 13:08:42 +02:00
Jiří Techet
18b7527fcc Use the single-file implementation of MIO from universal-ctags
The version of MIO corresponds to commit 509a47dbc in universal-ctags
which contains just minimal changes mostly related to changing MIO from
a library into a single ctags source file:

- replaced the glib types with ordinary C types
- removed the "virtual" calls and replaced them with simple if/else
- made the implementation in a single file
- reformatted the library to more or less match universal-ctags style
- removed the MIO_FORCE_ANSI ifdef as it included some glib file and
  we don't really need it
- added mio_flush() - of course makes sense just for the file backend
  (calls fflush())
- made mio_free() return error code from fclose()
- changed mio_new_fp() to return NULL when the passed FILE is NULL
  (simplifies logic at one place in ctags and makes sense IMO)
2016-07-21 13:08:42 +02:00
Jiří Techet
3d2e7d4fca Move TM into src
Move the tag manager implementation to src as it really is part of Geany
sources and start making the ctags directory structure similar to
the universal-ctags one.

In principle, the patch does

mv tagmanager/src src/tagmanager
mv tagmanager/ctags tagmanager/main
mv tagmanager ctags

plus corresponding Makefile.am and configure.ac updates.
2016-07-21 13:08:42 +02:00
Colomban Wendling
5b6b89fd5b Post release version bump
Say hello to Geany 1.29 "Jowar"!
2016-07-10 16:07:56 +02:00
Thomas Martitz
314a5c180e geanyobject: properly register signals
If possible, register signals with the proper argument types (boxed or gobject).
This is required for successful introspection of the signals and important
for GI-based plugins.

As for the marshallers, if available use a predefined one from glib. Otherwise
use the generic marshaller available since 2.30 (in theory all signals could
use that one but it has a bit of overhead).

This builds on the gboxed conversions of earlier commits.

This also bumps the minimum glib requirement.
 - g_cclosure_marshal_generic requires 2.30 (if NULL is passed as marshaller
   to g_signal_new())
 - G_TYPE_KEYFILE requires 2.32
2016-06-23 22:33:43 +02:00
Colomban Wendling
ea94d2a9a1 Post release version bump
Say hello to Geany 1.28 "Malvek"!
2016-03-13 14:32:20 +01:00
Colomban Wendling
47816339b6 Merge pull request #911 from b4n/deprecations
Deprecations cleanup and improvement
2016-03-01 19:25:53 +01:00
Colomban Wendling
409fe1a323 Try and avoid meaningless deprecation warnings from GLib and GTK
Avoid deprecation warnings from GLib and GTK versions newer than what
we currently require by default.

To undo this and get all deprecation warnings back, undefine
`GLIB_VERSION_MIN_REQUIRED` and `GDK_DISABLE_DEPRECATION_WARNINGS` on
the command line (e.g. using `-U...` in `CFLAGS`).
2016-02-24 22:06:14 +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
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
Colomban Wendling
ad354b7477 Post release version bump
Say hello to Geany 1.27 "Rezer"!
2015-11-15 14:53:01 +01:00
Colomban Wendling
a50306cab3 Post release version bump
Say hello to Geany 1.26 "Rosset"!
2015-07-12 19:48:50 +02:00
Colomban Wendling
3bd7c80776 Replace references to GTK2 with GTK+
This allows to be GTK version agnostic, not to single out GTK3 builds.
2015-07-10 22:58:48 +02:00
Thomas Martitz
9224c3c391 win32: run geany.nsi.in through automake to replace @GTK_VERSION@ variable
This automatically keeps the installer's idea of Gtk version with the one
used to compile geany in sync.

Traditionally we use the bundles from gtk.org to compile geany, and this
is also used for the installer. With msys2, we can use precompiled
msys2 binaries. These exist for GTK3 as well so we can actually provide a
GTK3 based installer. The installer naturually should reflect this.
Msys2's GTK2 is also newer.

Use the new script gtk-bundle-from-msys2.sh to extract the precompiled
GTK binaries from msys2 / pacman for packing the installer (can also be
used to make a zip for sharing).

mkdir gtk; cd gtk; ../scripts/gtk-bundle-from-msys.sh [-c] [-z] [-2 | -3]

waf is also adapted to process geany.nsi.in. This implies geany.nsi is now
under _build_, not in the root anymore.
2015-07-05 18:28:09 +02:00
Matthew Brush
3a8ef62794 Fix GLib version number missed in last bump (oops) 2015-06-19 17:12:53 -07:00
Colomban Wendling
723f4302e0 autotools: Avoid building non-shared versions of the object files
libtool apparently builds every object twice by default when shared and
static objects need to be build differently.  As we never use the
statically linked objects, avoid building them at all.
2015-04-17 15:11:00 +02:00
Matthew Brush
bdc082cb77 Bump min. version of GTK2 to 2.24 and GLib to 2.28
Note: This is mostly search and replace. I've only tested with my
GTK+ 2.24.20 and not at all the Waf build system.
2015-04-12 18:05:28 -07:00
Colomban Wendling
a264b7ab77 Properly initialize Libtool 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
Matthew Brush
d33758da92 Move Geany's core into a library (libgeany)
This will allow plugins to link against the core when accessing API
functions, now that the macro/struct/funcptr stuff is gone.

Also convert the helper libraries into Libtool helper libraries as
linking a shared library against static libraries is (apparently) not
portable.
2015-03-10 23:09:46 +01:00
Matthew Brush
056e7cb4c8 Change to GEANY_EXPORT_SYMBOL for callback functions
This allows them to be dynamically exported when -fvisibility=hidden
is applied.

TODO: remove the CFLAGS hack in configure.ac
2015-03-10 22:06:47 +01:00
Matthew Brush
a40ab0a4d9 Explicitly list symbols to dynamically export
Uses a Python script to generate a listing used by the linker to
determine which symbols to dynamically export. This provides finer
grained control of which symbols are dynamically exported, limiting
only to the ones needed for GtkBuilder signal connections.

The build system integration could probably be done a little cleaner.
2015-03-10 22:06:18 +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
Thomas Martitz
cc6602c2b6 autotools: Install to $prefix/data on win32
setup_paths() sets app->datadir to $prefix/win32. With mingw-via-autotools,
it installed data to $prefix/share/geany (like on Linux). With this change
data is installed to $prefix/data ($datarootdir is not changed).

This fixes geany startup after make install with autotools.

Linux:
pkgdatadir = ${datarootdir}/geany
GEANY_DATA_DIR = /path/to/prefix/share/geany

Win32:
pkgdatadir = ${prefix}/data
GEANY_DATA_DIR = /path/to/prefix/data
2015-02-25 09:23:12 +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
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
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
451d58a2dd Cleanup data files installation
Don't use wildcards to select files to install, nor manually perform
the installation when Automake could do it for us.

Using wildcards makes it hard to know what will really be installed,
and may results in installing files not part of the distribution.
2014-04-15 14:43:25 +02:00
Colomban Wendling
24f2363fb7 Post release version bump
Say hello to Geany 1.25 "Veed"!
2014-04-13 19:33:23 +02:00