Use `git describe` for verbose version, it provides more info than
just the commit ID, and it feels sane to use an existing command for
this. Note that the commit ID is prefixed with 'g'.
This step moves the %.rc.o pattern rule to a small include file in the
build/windows/ directory. Michael Natterer suggested this approach in
order to minimize the changes done to each executable's Makefile.am.
Eventually all executables will have the manifest and version resources
linked. In this initial step, the current resources are moved from the
app/ directory to a global build/windows directory.
Previously, git-version.h always recorded the latest commit on the
master branch. This change should record the current commit (which is
what gets built) regardless of the branch.
I've checked that it does "the right thing" regarding multi-parent
merges by checking out such a merge commit, generating git-version.h and
comparing it to the commit sha1 in the log.
In order to make a clear separation between the core modules and the
UI modules, move the necessary enums from display-enums.h and
widgets-enums.h to config-enums.h and the files
gimpdisplayoptions.[ch] from the display to the config module. This
removes the config -> display dependency.
This change has three main benefits
* It lets us remove includes of display files from the config module
* We don't have to link gimp-console and test-config with a subset of
object files from the display module
* It is reflected in devel-docs/gimp-module-dependencies.svg that the
application is made up of core modules and UI modules and that no
core module depends on any UI module
Add a VERSIONINFO resource to gimp.rc.in, use windres to create object files
for gimp and gimp-console with file-specific information.
Finally, add gimp.rc to .gitignore.
This resource file can potentially be used for all other exectuables and
shared objects, but some adjustments can become necessary.
Enable us to have regression testing by introducing a core testing
framework that uses the GLib JUnit-like test library.
Do this by adding a new subdir app/tests that will contain all our
tests (it contains one trivial test already). Also add app/tests.[ch]
with a new function gimp_init_for_testing() so that test cases can
easily setup the core object system.
Clean up subsystem linking dependencies by
* Rearranging LDADD entries to better match architectural layers
* Being clear about why we need to pass -u in LDFLAGS some times
* Adding FIXMEs when we have broken dependencies
* Introducing a helper variable so we can share LDADD between
gimp-console and gimp
2008-10-26 Michael Natterer <mitch@gimp.org>
Merge on-canvas GSoC project:
* configure.in: check for pangocairo.
* app/Makefile.am
* app/text/Makefile.am: add its CFLAGS and LIBS.
* app/text/gimptext-bitmap.[ch]
* app/text/gimptext-private.h
* app/text/gimptext-vectors.[ch]
* app/text/gimptextlayer.c
* app/text/gimptextlayout-render.c
* app/text/gimptextlayout.c: port to pangocairo.
* menus/Makefile.am
* menus/text-tool-menu.xml
* app/menus/menus.c
* app/actions/Makefile.am
* app/actions/actions.c
* app/actions/text-tool-actions.[ch]
* app/actions/text-tool-commands.[ch]: add a context menu for the
text tool similar to GtkEntry's context menu.
* app/tools/gimprectangletool.[ch]: add "narrow-mode" property.
* app/tools/gimptextoptions.[ch]
* app/widgets/gimptexteditor.[ch]: take a text buffer for the
standalone text editor window instead of creating one internally.
* app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
text editing logic. Wheee!
svn path=/trunk/; revision=27419
2008-10-18 Sven Neumann <sven@gimp.org>
Applied patch from Alexia Death as attached to bug #471344:
* app/core/Makefile.am
* app/core/gimpcoords-interpolate.[ch]: new files with
interpolation code taken from ...
* app/vectors/gimpbezierstroke.c: ... here.
* app/Makefile.am (AM_LDFLAGS): make it link.
svn path=/trunk/; revision=27314
2008-10-13 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/signals.[ch]: new files with code split out of main.c.
* app/main.c: changed accordingly.
svn path=/trunk/; revision=27270
2008-08-07 Tor Lillqvist <tml@novell.com>
* configure.in: Define WIN32_LARGE_ADDRESS_AWARE as
-Wl,--large-address-aware on 32-bit Windows, empty
otherwise. AC_SUBST() it.
* app/Makefile.am (win32_ldflags): Use WIN32_LARGE_ADDRESS_AWARE
instead of hardcoding the switch, as it isn't valid, and would be
pointless, when building a 64-bit GIMP.
svn path=/trunk/; revision=26411
2008-07-17 Tor Lillqvist <tml@novell.com>
* app/Makefile.am (win32_ldflags): Use -Wl,--large-address-aware
on Windows so that we can use more that 2 GB user data space (if
available; i.e. if running on a 64-bit OS, or a 32-bit OS booted
with /3GB). See discussion in bug #522073.
svn path=/trunk/; revision=26220
2008-07-11 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/unique.[ch]: new files containing functionality to check
for
an already running instance of GIMP of notifying it about files
to
open. Code split out of main.c.
* app/main.c: changed accordingly.
svn path=/trunk/; revision=26117
2008-05-20 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimagemapconfig.[ch]: new GimpViewable subclass
which has a "time" property. Sets the object's name to a date
string if a time != 0 gets set. Has a compare function which first
sorts the objects with a timestamp in MRU order and then the
objects without timestamp by name.
* app/gegl/gimpbrightnesscontrastconfig.[ch]
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: derive from GimpImageMapConfig.
* app/tools/gimpimagemaptool.c: sort the settings container with
above compare function.
* app/tools/gimpimagemaptool-settings.c: add utility functions
for loading and saving the settings container. In the settings
combo, add a separator between MRU items and favorites.
* app/Makefile.am: make the thing link.
svn path=/trunk/; revision=25724
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: removed Libart usage,
replaced with Cairo. Dashed strokes do not yet work again, will
happen tomorrow. Also the blending modes need a second look at.
Also removed deprecated API which made it unnecessarily complicated.
* app/tools/gimpiscissorstool.c: use the current API.
* app/core/Makefile.am
* app/Makefile.am
* configure.in: removed libart dependency, added cairo dependency
where necessary.
svn path=/trunk/; revision=25591
2008-02-26 Sven Neumann <sven@gimp.org>
* app/Makefile.am (gimp_2_5_LDFLAGS): don't assume that global
AM_LDFLAGS and per-target LD_FLAGS would sum up and explicitly
add
AM_LDFLAGS to gimp_2_5_LDFLAGS.
svn path=/trunk/; revision=24987
2008-02-26 Tor Lillqvist <tml@novell.com>
* app/version.[ch]: New files. Rename gimp_show_version() to
gimp_version_show() and move here. When given both --version and
--verbose, print build-time and run-time versions of the most
important dependencies.
* app/Makefile.am: Add them.
* app/main.c: Call gimp_version_show().
* app/Makefile.am: Use -mwindows only for the GUI gimp, not for
gimp-console.
svn path=/trunk/; revision=24968