Merge pull request #3443 from techee/tm_crash_fix
[geany-mirror.git] / README
blob96fa7e03bec21040f8aa6a51f82f3f82ab6cad0a
1 Geany - A fast and lightweight IDE
2 ----------------------------------
5 About
6 -----
7 Geany is a small and lightweight integrated development environment.
8 It was developed to provide a small and fast IDE, which has only a
9 few dependencies from other packages. Another goal was to be as independent
10 as possible from a special Desktop Environment like KDE or GNOME. So it
11 is using only the GTK+ toolkit and therefore you need only the
12 GTK+ runtime libraries to run Geany.
15 Features
16 --------
17 The basic features of Geany are:
19 - syntax highlighting
20 - code completion
21 - auto completion of often used constructs like if, for and while
22 - auto completion of XML and HTML tags
23 - call tips
24 - folding
25 - many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
26 - symbol lists
27 - embedded terminal emulation
28 - extensibility through plugins
31 Installation from distribution packages
32 ---------------------------------------
33 Using distribution packages on Linux, BSD and similar distributions
34 is the easiest and recommended way. This way you will also benefit
35 from automatic Geany updates by the package manager of the distribution.
37 Packages are available for most distributions including Debian, Fedora, Ubuntu
38 and many more.
41 Installation on Mac OS and Windows
42 ----------------------------------
43 Prebuilt binary packages for Mac OS and Windows can be found on
44 https://www.geany.org.
47 Installation from sources
48 -------------------------
50 Requirements
51 ++++++++++++
52 For compiling Geany yourself, you will need the GTK3 libraries and 
53 header files. You will also need its dependency libraries and header 
54 files, such as Pango, Glib and ATK. All these files are available at 
55 https://www.gtk.org.
57 Furthermore you need, of course, a C compiler and the Make tool; a C++
58 compiler is also needed for the required Scintilla library included. The
59 GNU versions of these tools are recommended.
62 To build the user manual you need *rst2html* from Docutils. A pre-built
63 version of the manual is available in distribution tarballs and will be used as
64 fallback if *rst2html* is missing. When building from Git however, that
65 pre-built version is not included and *rst2html* is required by default.
66 You can explicitly disable building the user manual using the
67 ``--disable-html-docs`` *configure* flag, but this will result in not
68 installing a local version of the user manual, and Geany will then try
69 and open the online version instead when requested.
72 .. note::
73     Building Geany from source on Mac OS and Windows is more complicated
74     and is out of scope of this document. For more information on
75     building instructions for these platforms, please check the wiki
76     at https://wiki.geany.org/howtos/.
78 Installing from a Git clone
79 +++++++++++++++++++++++++++
81 Using the Meson build system
82 ++++++++++++++++++++++++++++
84 N.B. Meson support is still incomplete and a work-in-progress.
86 Meson requires to chose a separate build directory. Either create
87 one, or let meson do it:
89 `meson build` or `mkdir build; cd build; meson ..`
91 Either command will configure the build system. The system is probed
92 in many ways and system-dependant build files are created. This includes
93 location of dependencies and compiler and linker flags required for them.
95 To build Geany, follow with a `meson compile -C build`
97 To install Geany, follow the build with a `sudo meson install -C build`.
99 By default, meson will install Geany to `/usr/local`. A different
100 prefix can be selected at the initial command or via reconfiguration:
102 `meson --prefix /opt build` or `meson configure --prefix /opt build`
104 Geany has some selectable features that may reduce the required
105 build and runtime dependencies. See meson_optionts.txt for a full list.
107 To turn a feature off, use `-D<feature>=false` when configuring the build,
108 for example: `meson configure -Dvte=false build`
110 Using Autotools
111 +++++++++++++++
113 Install Autotools (*autopoint*, *automake*, *autoconf* and *libtool*),
114 *gettext*, and the GLib development files **before** running any of the
115 following commands, as well as *rst2html* from Docutils (see above for
116 details). Then, run ``./autogen.sh`` and then follow the instructions for
117 `installing from a release tarball`_.
119 Installing from a release tarball
120 +++++++++++++++++++++++++++++++++
122 Run the the following three commands::
124     $ ./configure
125     $ make
126     (as root, or using sudo)
127     % make install
129 For more configuration details run ``./configure --help``.
131 If there are any errors during compilation, check your build environment
132 and try to find the error, otherwise contact the mailing list or one of
133 the authors.
135 See the manual for details (geany.txt/geany.html).
138 Usage
139 -----
140 To run Geany just type::
142     $ geany
144 on a console or use the applications menu from your desktop environment.
145 For command line options, see the manual page of Geany or run::
147     $ geany --help
149 for details. Or look into the documentation in the *doc/* directory.
150 The most important option probably is ``-c`` or ``--config``, where you can
151 specify an alternate configuration directory.
154 License
155 -------
156 Geany is distributed under the terms of the GNU General Public License
157 as published by the Free Software Foundation; either version 2 of the
158 License, or (at your option) any later version.  A copy of this license
159 can be found in the file COPYING included with the source code of this
160 program.
161 The included Scintilla library (found in the subdirectory scintilla/)
162 has its own license, which can be found in the file scintilla/License.txt
163 included with the source code of this program.
166 Ideas, questions, patches and bug reports
167 -----------------------------------------
168 See https://www.geany.org/.
169 If you add something, or fix a bug, please create a pull request at
170 https://github.com/geany/geany/. Also see the HACKING file.