head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.8 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.6 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.4 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.2 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.2.0.40 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.38 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.36 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.34 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.32 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.30 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.28 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.26 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.24 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.22 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.20 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.18 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.16 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.14 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.12 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.10 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.8 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.6 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.4 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.2 pkgsrc-2020Q2-base:1.2; locks; strict; comment @# @; 1.3 date 2025.05.14.13.05.52; author adam; state Exp; branches; next 1.2; commitid HEBKM4TONp3blSUF; 1.2 date 2020.05.25.12.24.37; author nia; state Exp; branches; next 1.1; commitid ueBRhErEYLs3sC9C; 1.1 date 2020.05.14.16.42.14; author nia; state Exp; branches; next ; commitid 3Tph3M06xg54ee8C; desc @@ 1.3 log @freeimage[plus]: allow building on Darwin @ text @$NetBSD: patch-Makefile.gnu,v 1.2 2020/05/25 12:24:37 nia Exp $ - Unbundle image libraries. - Link with CXX for libstdc++. - Link correctly on Darwin. - Fix installation. --- Makefile.gnu.orig 2015-03-10 08:04:00.000000000 +0000 +++ Makefile.gnu @@@@ -13,6 +13,9 @@@@ DOS2UNIX = dos2unix LIBRARIES = -lstdc++ +INCLUDE += $(shell pkg-config --cflags libjpeg OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) +LDFLAGS += $(shell pkg-config --libs libjpeg OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) + MODULES = $(SRCS:.c=.o) MODULES := $(MODULES:.cpp=.o) CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden @@@@ -28,23 +31,28 @@@@ CXXFLAGS ?= -O3 -fPIC -fexceptions -fvis CXXFLAGS += -D__ANSI__ CXXFLAGS += $(INCLUDE) -ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) - CFLAGS += -fPIC - CXXFLAGS += -fPIC -endif +CFLAGS += -fPIC +CXXFLAGS += -fPIC TARGET = freeimage STATICLIB = lib$(TARGET).a +ifeq ($(shell uname),Darwin) +SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dylib +LIBNAME = lib$(TARGET).dylib +VERLIBNAME = lib$(TARGET).$(VER_MAJOR).dylib +LDFLAGS += -Wl,-install_name,${PREFIX}/lib/$(SHAREDLIB) +else +SHLIB_EXT = so SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so LIBNAME = lib$(TARGET).so VERLIBNAME = $(LIBNAME).$(VER_MAJOR) +LDFLAGS += -Wl,-soname,$(VERLIBNAME) +endif HEADER = Source/FreeImage.h - - default: all -all: dist +all: FreeImage dist: FreeImage mkdir -p Dist @@@@ -67,13 +75,12 @@@@ $(STATICLIB): $(MODULES) $(AR) r $@@ $(MODULES) $(SHAREDLIB): $(MODULES) - $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@@ $(MODULES) $(LIBRARIES) + $(CXX) -s -shared $(LDFLAGS) -o $@@ $(MODULES) install: - install -d $(INCDIR) $(INSTALLDIR) - install -m 644 -o root -g root $(HEADER) $(INCDIR) - install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) - install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR) + $(BSD_INSTALL_DATA) $(HEADER) $(INCDIR) + $(BSD_INSTALL_DATA) $(STATICLIB) $(INSTALLDIR) + $(BSD_INSTALL_LIB) $(SHAREDLIB) $(INSTALLDIR) ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) # ldconfig @ 1.2 log @freeimage*: Generalize packages. Unbreak freeimageplus. @ text @d1 1 a1 1 $NetBSD: patch-Makefile.gnu,v 1.1 2020/05/14 16:42:14 nia Exp $ d5 1 d8 1 a8 1 --- Makefile.gnu.orig 2015-03-10 09:04:00.000000000 +0000 d20 1 a20 1 @@@@ -28,10 +31,8 @@@@ CXXFLAGS ?= -O3 -fPIC -fexceptions -fvis d33 9 a41 1 @@@@ -40,8 +41,6 @@@@ LIBNAME = lib$(TARGET).so d43 2 d51 6 a56 2 all: dist @@@@ -67,13 +66,12 @@@@ $(STATICLIB): $(MODULES) d61 1 a61 1 + $(CXX) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@@ $(MODULES) @ 1.1 log @freeimage: Force use of unbundled libraries. Most Linux distributions have been forcing this for a while, because the reference image libraries are often full of bugs and slow to do releases, so everyone (including us) is carrying lots of local patches for security fixes. Bump PKGREVISION @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 - Use pkgsrc directories. d5 1 a5 1 - Unbundle image libraries. d9 1 a9 11 @@@@ -5,14 +5,17 @@@@ include Makefile.srcs # General configuration variables: DESTDIR ?= / -INCDIR ?= $(DESTDIR)/usr/include -INSTALLDIR ?= $(DESTDIR)/usr/lib +INCDIR ?= $(DESTDIR)/$(PREFIX)/include +INSTALLDIR ?= $(DESTDIR)/$(PREFIX)/lib # Converts cr/lf to just lf DOS2UNIX = dos2unix @