diff mbox series

[fbtest] pnmtohex: Optionally use pkg-config for netpbm

Message ID 20230326104232.3099222-1-geert@linux-m68k.org
State New
Headers show
Series [fbtest] pnmtohex: Optionally use pkg-config for netpbm | expand

Commit Message

Geert Uytterhoeven March 26, 2023, 10:42 a.m. UTC
As of libnetpbm11 in Debian/Ubuntu, the netpbm header files are no
longer located in the root include directory, but in a netbpm
subdirectory.  Fortunately the same version added support for
pkg-config.

Support both old and new systems by using pkg-config, when available.

Reported-by: Helge Deller <deller@gmx.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
Helge: Does this fix the issue for you. I don't have a system with
       libnetpbm11 handy yet.

 Rules.make        | 2 +-
 pnmtohex/Makefile | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Helge Deller March 28, 2023, 12:20 p.m. UTC | #1
* Geert Uytterhoeven <geert@linux-m68k.org>:
> As of libnetpbm11 in Debian/Ubuntu, the netpbm header files are no
> longer located in the root include directory, but in a netbpm
> subdirectory.  Fortunately the same version added support for
> pkg-config.
>
> Support both old and new systems by using pkg-config, when available.
>
> Reported-by: Helge Deller <deller@gmx.de>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Helge: Does this fix the issue for you. I don't have a system with
>        libnetpbm11 handy yet.

Yes, thanks a lot!

That fixes the build on parisc on Debian 12.0 for me.
You may add:
Tested-by: Helge Deller <deller@gmx.de>

I tried on my Fedora 36/x86_64 as well, and there netpbm-devel
sadly comes without pkg-config. Nevertheless, based on top of
your patch by hacking in the include path fixed the issue there
as well.
Maybe you can consider applying below patch on top of yours as too?

Helge
---------

[PATCH] Add netpbm to include search patch

Netpbm on Fedora 36 comes without pkg-config, so
manually add the include path.

Signed-off-by: Helge Deller <deller@gmx.de>
---

diff --git a/pnmtohex/Makefile b/pnmtohex/Makefile
index 642a26f..d8925a9 100644
--- a/pnmtohex/Makefile
+++ b/pnmtohex/Makefile
@@ -4,6 +4,7 @@ TOPDIR = ..
 HOST_TARGET = pnmtohex

 CFLAGS += $(shell pkg-config --exists netpbm && pkg-config --cflags netpbm)
+CFLAGS += -I/usr/include/netpbm

 # Modern distro's (e.g. Debian, Fedora Core) seem to have -lnetpbm only
 #LIBS += -lnetpnm -lnetpbm -lnetpgm -lnetppm
Geert Uytterhoeven April 3, 2023, 9:11 a.m. UTC | #2
On Tue, Mar 28, 2023 at 2:20 PM Helge Deller <deller@gmx.de> wrote:
> * Geert Uytterhoeven <geert@linux-m68k.org>:
> > As of libnetpbm11 in Debian/Ubuntu, the netpbm header files are no
> > longer located in the root include directory, but in a netbpm
> > subdirectory.  Fortunately the same version added support for
> > pkg-config.
> >
> > Support both old and new systems by using pkg-config, when available.
> >
> > Reported-by: Helge Deller <deller@gmx.de>
> > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> > ---
> > Helge: Does this fix the issue for you. I don't have a system with
> >        libnetpbm11 handy yet.
>
> Yes, thanks a lot!
>
> That fixes the build on parisc on Debian 12.0 for me.
> You may add:
> Tested-by: Helge Deller <deller@gmx.de>
>
> I tried on my Fedora 36/x86_64 as well, and there netpbm-devel
> sadly comes without pkg-config. Nevertheless, based on top of
> your patch by hacking in the include path fixed the issue there
> as well.
> Maybe you can consider applying below patch on top of yours as too?
>
> Helge
> ---------
>
> [PATCH] Add netpbm to include search patch
>
> Netpbm on Fedora 36 comes without pkg-config, so
> manually add the include path.
>
> Signed-off-by: Helge Deller <deller@gmx.de>

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
and applying.

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/Rules.make b/Rules.make
index 51c4e9431699d2f3..b9a098d5e0f409cb 100644
--- a/Rules.make
+++ b/Rules.make
@@ -5,7 +5,7 @@  HOSTCC = gcc
 IFLAGS = -I$(TOPDIR)/include
 #DFLAGS = -g
 OFLAGS = -O3 -fomit-frame-pointer
-CFLAGS = -Wall -Werror $(IFLAGS) $(DFLAGS) $(OFLAGS)
+CFLAGS += -Wall -Werror $(IFLAGS) $(DFLAGS) $(OFLAGS)
 
 SRCS += $(wildcard *.c)
 OBJS += $(subst .c,.o,$(SRCS))
diff --git a/pnmtohex/Makefile b/pnmtohex/Makefile
index d89c8e448db0c527..642a26f0c10c3bc2 100644
--- a/pnmtohex/Makefile
+++ b/pnmtohex/Makefile
@@ -3,9 +3,12 @@  TOPDIR = ..
 
 HOST_TARGET = pnmtohex
 
+CFLAGS += $(shell pkg-config --exists netpbm && pkg-config --cflags netpbm)
+
 # Modern distro's (e.g. Debian, Fedora Core) seem to have -lnetpbm only
 #LIBS += -lnetpnm -lnetpbm -lnetpgm -lnetppm
 LIBS += -lnetpbm
+LIBS += $(shell pkg-config --exists netpbm && pkg-config --libs netpbm)
 
 include $(TOPDIR)/Rules.make