Commit Graph

13 Commits (f2f4903de4bd3ce06c03dd66f0c9a7dda97a3550)

Author SHA1 Message Date
NRK 8f0322c2e3 Release version 31
Co-authored-by: Berke Kocaoğlu <kberke@metu.edu.tr>
1 year ago
NRK 76c2b81b60 add support for multi-frame images via imlib2 (#373)
this will be a massive change compared to the usual stuff. however the
gains will be worth it:

* we gain lots of additional animated image support.
* and we'll gain _even_ more format support as imlib2 adds them, without needing
  any change in our code-base.
* about ~300 LoC will be purged once we remove our internal gif and webp loader.

as for when to remove the internal loaders, a good time might be when debian
upgrades their imlib2, currently it seems to be at v1.7.5, which doesn't support
animated images.

as of now, nsxiv will continue to build with the internal gif/webp loaders
(assuming they were enabled in config.mk) if imlib2 version is below 1.8.0 and
will print out a deprecation notice.

and if imlib2 version supports multi-frame then it will simply ignore the
internal loaders and use the imlib2 one.

in other words, users shouldn't need to do anything on their side. everything
that previously functioned will continue to function regardless of the user's
imlib2 version (though they might see the annoying deprecation notice if the
imlib2 version doesn't support multi-frame images).

known issue:

* image loading performance can be noticeably worse in
  imlib2 versions below 1.9.0

Closes: https://codeberg.org/nsxiv/nsxiv/issues/301
Closes: https://codeberg.org/nsxiv/nsxiv/issues/300
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/373
Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
1 year ago
NRK 33a5d54cae Release version 30
Co-authored-by: NRK <nrk@disroot.org>
Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2 years ago
NRK c713186ce9 Makefile: use lowercase for internal macros
ref: 971f5d6694
2 years ago
NRK 6c30fb22cc config.mk: use c99 as default CC
See https://github.com/nsxiv/nsxiv/issues/262#issuecomment-1111216349
for related discussion.
2 years ago
NRK 0d202f0fe1 config.mk: add comments for OpenBSD users
Closes: https://github.com/nsxiv/nsxiv/issues/262
2 years ago
NRK 197afce935 introduce config.mk
this moves all the build variables intended to be modified by the user
over to `config.mk` similar to other suckless software.

also move CPPFLAGS down below for cosmetic purposes.
2 years ago
Bert Münnich 5155d52ab1 Much more portable Makefile
The config.mk file is now optional and only needs to be created if one wants to
persistently overwrite default macro values.

Features used in the Makefile that are not yet in the POSIX standard:

  - Advanced macro assignment operators '+=' and '?=' [1]
  - Special target .PHONY [2]
  - Pattern rules [3]; only needed when $srcdir != '.'. For every pattern rule
    there is an inference rule with the same effect. Hopefully, the inference
    rules get picked up by make programs not supporting pattern rules.
  - Silently including multiple possibly not exisiting files [4] [5]

[1] http://austingroupbugs.net/view.php?id=330
[2] http://austingroupbugs.net/view.php?id=523
[3] http://austingroupbugs.net/view.php?id=513
[4] http://austingroupbugs.net/view.php?id=333
[5] http://austingroupbugs.net/view.php?id=518
7 years ago
Bert Münnich e3b68efadd Move DEPFLAGS from Makefile to config.mk 7 years ago
Bert Münnich 171633de32 Get rid of SRCDIR macro, VPATH on make cmd line suffices 7 years ago
Bert Münnich a46006f527 Support out-of-source builds
Fixes issue #167. Long after closing this issue (kind of wontfix) we have switched to
GNU make and can thus use its features like VPATH.
7 years ago
Bert Münnich e46b1fa609 Simplify config.mk 7 years ago
Bert Münnich ad9955a9cf Move configuration parts from Makefile into config.mk 7 years ago