1. 05 Feb, 2019 2 commits
    • Jehan's avatar
      configure.ac: remove old outdated code. · 60d407ac
      Jehan authored
      There was still code for a warning, now irrelevant as it was about
      non-recommended GTK+2 version for Windows. Anyway this is now removed.
      60d407ac
    • Jehan's avatar
      app, libgimpbase: --enable-relocatable-bundle replaces --enable-binreloc · 4d84c1d7
      Jehan authored
      Older --enable-binreloc configure option had basically the same purpose
      as the newer --enable-relocatable-bundle, though the old binreloc was
      only used for gimpenv.c code.
      As a consequence, commit 10ce7021 was still not working fine since
      gimp_installation_directory_file() also need binreloc enabled (to be
      actually relocatable).
      
      Let's get rid of this whole mess, by implying we want binreloc code to
      be used when --enable-relocatable-bundle is ON. We don't need the
      m4macros anymore, since AM_BINRELOC was basically just checking that
      `/proc/self/maps` was present. But anyway being present at compile time
      does not mean it will be at runtime (nor the opposite). So this test is
      not that useful. The binreloc code will anyway fallback gracefully to
      the non-binreloc code (i.e. trying to use build-time install paths) if
      the procfs is lacking at runtime.
      4d84c1d7
  2. 30 Jan, 2019 1 commit
  3. 23 Jan, 2019 1 commit
    • Jehan's avatar
      desktop: check that no remaining TODOs are in appdata file. · c0fed5af
      Jehan authored
      Before each release, we prepare now a <release> tag. Unfortunately some
      details are not always well known for sure in advance, in particular the
      date of release (plans are made to be broken!), and also the release
      news URL (since the date is in the URL). So I usually leave them as TODO
      and until now, I never forgot to update them just before release. But
      there is always the risk of forgetting.
      Now the test for the appdata files will also look for remaining "TODO"
      in the file if and only if the micro version is even (which means it's a
      release). So we won't ever forget to update the file as long as we run
      `make check` on the last commit (which we always do obviously).
      c0fed5af
  4. 07 Jan, 2019 1 commit
  5. 02 Jan, 2019 1 commit
  6. 01 Jan, 2019 1 commit
  7. 15 Nov, 2018 1 commit
  8. 14 Nov, 2018 1 commit
  9. 11 Nov, 2018 1 commit
    • Ell's avatar
      configure.ac: escape backslash chars in compiler version string · c0b10753
      Ell authored
      When constructing CC_VERSION, escape backslash characters in the
      compiler version string, so that they don't get interpreted as
      escape sequences by the compiler.  This is especially important on
      Windows, where the version string of MinGW may contain backslash
      characters as part of paths.
      c0b10753
  10. 08 Nov, 2018 2 commits
  11. 23 Oct, 2018 1 commit
  12. 18 Oct, 2018 1 commit
  13. 16 Oct, 2018 1 commit
  14. 05 Oct, 2018 1 commit
  15. 23 Sep, 2018 2 commits
  16. 17 Sep, 2018 1 commit
    • Jehan's avatar
      configure: check presence of "gegl:matting-levin" with `gegl --exists`. · 9560a653
      Jehan authored
      This is a runtime dependency. If absent, we simply won't have access to
      the alternative Matting Levin engine in the foreground selection tool.
      
      If we don't add a test in configure, this may be easily forgotten. I
      created the `gegl --exists` feature specifically for this kind of
      checks, so let's check operation existence.
      9560a653
  17. 04 Sep, 2018 1 commit
  18. 03 Sep, 2018 1 commit
    • Ell's avatar
      app: add Windows backend to GimpBacktrace · 667efc22
      Ell authored
      The Windows backend produces full, multithreaded backtraces.  When
      DrMingw is available, it also provides full symbol and (where
      available) source-location information.  Otherwise, it provides
      symbol information for most of our libraries, but not for the GIMP
      binary itself.
      667efc22
  19. 02 Sep, 2018 1 commit
    • Ell's avatar
      app: add GimpBacktrace · 80bf686c
      Ell authored
      GimpBacktrace provides an interface for creating and traversing
      multi-threaded backtraces, as well as querying symbol information.
      While we already have some backtrace functionality, it relies on
      external tools for the most part, and as such is rather expensive,
      and is only meant for producing opaque backtraces.  GimpBacktrace,
      on the other hand, is meant to be relatively cheap (we're going to
      use it for profiling,) and allow inspection of the backtrace data.
      In the future, it might make sense to replace some, or all, of the
      other backtrace functions with GimpBacktrace.
      
      GimpBacktrace currently only supports Linux.  By default, it uses
      dladdr() to query symbol information, which is somewhat limited (in
      particular, it doesn't work for static functions.)  When libunwind
      is installed, GimpBacktrace uses it to get more complete symbol
      information.  libunwind is currently an optional dependency, but it
      might make sense to promote it to a mandatory, or opt-out,
      dependency, as it's lightweight and widely available.
      
      On other platforms, the GimpBacktrace interface can still be used,
      but it always returns NULL backtraces.
      80bf686c
  20. 30 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      configure: Simplify libjpeg detection · 3bf1c6a5
      Debarshi Ray authored
      The jpeg_save_markers API has existed since 27th March 1998! So it's
      safe to assume that everybody has it, and there's no need to check for
      it.
      
      libjpeg-turbo has had a libjpeg.pc since 2016, and the IJG's software
      has it too. Dropping support for old libraries is a small price to pay
      for the benefits of a simpler build.
      
      !28
      3bf1c6a5
  21. 20 Aug, 2018 1 commit
  22. 19 Aug, 2018 3 commits
  23. 18 Aug, 2018 2 commits
    • Øyvind "pippin" Kolås's avatar
      6ad5d745
    • Jehan's avatar
      icons: generate PNG symbolic icons with `gtk-encode-symbolic-svg`. · babf74a3
      Jehan authored
      We don't need to commit PNG symbolic icons as `gtk-encode-symbolic-svg`
      is perfectly able to generate them from the SVG.
      Moreover its man says that it makes "specially prepared png files",
      whatever that means. So I don't think we should just rename our
      self-exported PNG files as '*-symbolic.symbolic.png'. It is better to
      generate them with this tool.
      
      Note that I am now splitting icon-list.mk into 2 files. This is only a
      temporary stepback, as I am actually going to merge the 2 icon themes
      into one very soon, and hopefully we should be able to generate the list
      to ensure we don't miss an icon.
      Anyway the icon lists had already diverged earlier, even though it was
      only all still in a single file.
      babf74a3
  24. 15 Aug, 2018 1 commit
    • Jehan's avatar
      Issue #1809: update DLL directory for 32-bit plug-in run from 64-bit... · 624edf90
      Jehan authored
      ... Windows installation of GIMP.
      
      Our default installer installs 32-bit version of the various DLLs in
      32/bin/ (under the installation prefix). Currently this additional
      folder is simply added in the PATH, so it works most of the time.
      Unfortunately the PATH is searched last for DLLs, and in particular, it
      is searched after system directories. So it means that if any misbehaved
      application is installing DLLs in system dirs (and in particular
      incompatible/older versions of the same DLLs a GIMP plug-in uses), it
      breaks the 32-bit plug-in.
      
      SetDllDirectoryW() bypasses this order and the set folder is searched in
      between the binary directory and the system dirs. We were already
      setting this for our main bin/ directory, which was good for 64-bit
      plug-ins, but this was not protecting 32-bit plug-ins. Now our code to
      run plug-ins check the bitness of the executable before running it, and
      updates the DLL folder accordingly.
      The alternative 32-bit folder can be overridden by the configure option
      --with-win32-32bit-dll-folder (default: 32/bin/). This option can only
      be set when building for 64-bit Windows obviously.
      
      Alternatively we could have put copies of 32-bit DLLs in a subfolder
      with each 32-bit plug-in, but this is at best a terrible workaround, as
      we would duplicate DLLs for every such case. And this would not have
      protected third-party plug-ins which wish to use some of our DLLs.
      Last alternative is to use AddDllDirectory(), but it works since Windows
      7 with a given update only. And our current official support is any
      Windows since Windows 7. So we don't want to use this right now (also
      I'm not sure it would actually be much better than current
      implementation, and it seems to have a bit more limitations than
      SetDllDirectoryW(), though I have not tested).
      
      (cherry picked from commit 91c139f4)
      624edf90
  25. 14 Aug, 2018 1 commit
  26. 13 Aug, 2018 1 commit
  27. 12 Aug, 2018 2 commits
    • Jehan's avatar
      app, configure: add a --enable-win32-debug-console build option. · ddeff314
      Jehan authored
      Debugging stable versions under Windows is a pain because we don't have
      access to the standard outputs. The debug console is indeed only built
      on unstable builds. Let's make the debug console a separate build option
      to allow building stable versions for debug (obviously the default
      behavior when not configuring, is same as before, i.e. stable without
      console and unstable with console).
      
      (cherry picked from commit 1a288789)
      ddeff314
    • Jehan's avatar
      configure: GLIB_COMPILE_RESOURCES is wrong when cross-compiling. · 8e453330
      Jehan authored
      AM_PATH_GLIB_2_0 m4 macro actually computes this value using
      $PKG_CONFIG. Yet $PKG_CONFIG variable is the pkg-config tool looking for
      target libraries (not host), hence it would return the executable
      `glib-compile-resources` built for the target.
      
      Also using the same variable name invalidates our test: our own
      AC_PATH_PROG was never run as the variable was already set. And no
      environment variable could override this test anymore either. This is
      why I rename the test variable to HOST_GLIB_COMPILE_RESOURCES.
      
      (cherry picked from commit d1d9eb17)
      8e453330
  28. 09 Aug, 2018 1 commit
  29. 01 Aug, 2018 1 commit
    • Jehan's avatar
      configure: making xgettext recommended version a requirement. · 8e6afe10
      Jehan authored
      Back when I implemented this as a recommendation, gettext 0.19 was not
      even out yet. Nowadays it is in Debian Testing (Debian Stable even!), so
      it makes no sense to continue just "recommend" it, especially as it was
      breaking script-fu localization.
      
      See old commit feb1bf27.
      8e6afe10
  30. 23 Jul, 2018 2 commits
  31. 05 Jul, 2018 1 commit
  32. 04 Jul, 2018 1 commit