Files
MINGW-packages/mingw-w64-freeimage/FreeImage-3.18.0_mingw-makefiles.patch
Miloš Komarčević 14051727c7 libtiff: update to 4.4.0
2022-06-01 10:18:03 +05:30

160 lines
4.8 KiB
Diff

diff -urN FreeImage-orig/Makefile.fip FreeImage/Makefile.fip
--- FreeImage-orig/Makefile.fip 2015-03-10 15:03:56 +0800
+++ FreeImage/Makefile.fip 2021-11-01 18:34:10 +0800
@@ -3,6 +3,10 @@
# This file can be generated by ./genfipsrclist.sh
include fipMakefile.srcs
+AR = ar
+RC = windres
+PKGCONFIG = pkg-config
+
# General configuration variables:
DESTDIR ?= /
INCDIR ?= $(DESTDIR)/usr/include
@@ -24,22 +28,20 @@
CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
CFLAGS += $(INCLUDE)
CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
+CXXFLAGS += -DFIP_EXPORTS -DOPJ_EXPORTS
# LibJXR
CXXFLAGS += -D__ANSI__
CXXFLAGS += $(INCLUDE)
-
-ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
- CFLAGS += -fPIC
- CXXFLAGS += -fPIC
-endif
+LDFLAGS ?=
+LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR) -lgdi32
TARGET = freeimageplus
STATICLIB = lib$(TARGET).a
-SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
-LIBNAME = lib$(TARGET).so
-VERLIBNAME = $(LIBNAME).$(VER_MAJOR)
+SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).dll
+IMPORTLIB = lib$(TARGET).dll.a
HEADER = Source/FreeImage.h
HEADERFIP = Wrapper/FreeImagePlus/FreeImagePlus.h
+RCFILE = Wrapper/FreeImagePlus/FreeImagePlus.rc
default: all
@@ -49,7 +51,7 @@
dist: FreeImage
mkdir -p Dist
cp *.a Dist/
- cp *.so Dist/
+ cp *.dll Dist/
cp Source/FreeImage.h Dist/
cp Wrapper/FreeImagePlus/FreeImagePlus.h Dist/
@@ -64,21 +66,13 @@
.cpp.o:
$(CXX) $(CXXFLAGS) -c $< -o $@
+%.coff: %.rc
+ $(RC) $(RCFLAGS) -o $@ $<
+
$(STATICLIB): $(MODULES)
- $(AR) r $@ $(MODULES)
+ $(AR) rs $@ $(MODULES)
$(SHAREDLIB): $(MODULES)
- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
-
-install:
- install -d $(INCDIR) $(INSTALLDIR)
- install -m 644 -o root -g root $(HEADER) $(INCDIR)
- install -m 644 -o root -g root $(HEADERFIP) $(INCDIR)
- install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
- install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
- ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
- ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
+ $(CC) -shared -Wl,--out-implib,$(IMPORTLIB) -o $@ $(MODULES) $(LDFLAGS) $(LIBRARIES)
-clean:
- rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
diff -urN FreeImage-orig/Makefile.gnu FreeImage/Makefile.gnu
--- FreeImage-orig/Makefile.gnu 2015-03-10 15:04:00 +0800
+++ FreeImage/Makefile.gnu 2021-11-01 18:33:44 +0800
@@ -3,6 +3,10 @@
# This file can be generated by ./gensrclist.sh
include Makefile.srcs
+AR = ar
+RC = windres
+PKGCONFIG = pkg-config
+
# General configuration variables:
DESTDIR ?= /
INCDIR ?= $(DESTDIR)/usr/include
@@ -16,6 +20,7 @@
MODULES = $(SRCS:.c=.o)
MODULES := $(MODULES:.cpp=.o)
CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
+CFLAGS += -D__ANSI__ -DFREEIMAGE_EXPORTS $(INCLUDE) -I$(shell ${PKGCONFIG} --variable pc_system_includedirs pkg-config)/jxrlib $(shell ${PKGCONFIG} --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
# OpenJPEG
CFLAGS += -DOPJ_STATIC
# LibRaw
@@ -25,19 +30,16 @@
CFLAGS += $(INCLUDE)
CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
# LibJXR
-CXXFLAGS += -D__ANSI__
-CXXFLAGS += $(INCLUDE)
+CXXFLAGS += -D__ANSI__ -DFREEIMAGE_EXPORTS -DOPJ_EXPORTS
+CXXFLAGS += $(INCLUDE) -I$(shell ${PKGCONFIG} --variable pc_system_includedirs pkg-config)/jxrlib $(shell ${PKGCONFIG} --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
-ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
- CFLAGS += -fPIC
- CXXFLAGS += -fPIC
-endif
+LDFLAGS ?=
+LDFLAGS += $(shell ${PKGCONFIG} --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) -ljpeg -ljpegxr -ljxrglue
TARGET = freeimage
STATICLIB = lib$(TARGET).a
-SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
-LIBNAME = lib$(TARGET).so
-VERLIBNAME = $(LIBNAME).$(VER_MAJOR)
+SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).dll
+IMPORTLIB = lib$(TARGET).dll.a
HEADER = Source/FreeImage.h
@@ -49,7 +51,7 @@
dist: FreeImage
mkdir -p Dist
cp *.a Dist/
- cp *.so Dist/
+ cp *.dll Dist/
cp Source/FreeImage.h Dist/
dos2unix:
@@ -64,20 +66,9 @@
$(CXX) $(CXXFLAGS) -c $< -o $@
$(STATICLIB): $(MODULES)
- $(AR) r $@ $(MODULES)
+ $(AR) rs $@ $(MODULES)
$(SHAREDLIB): $(MODULES)
- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
-
-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)
- ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
- ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
-# ldconfig
+ $(CC) -shared -Wl,--out-implib,$(IMPORTLIB) -o $@ $(MODULES) $(LDFLAGS) $(LIBRARIES)
-clean:
- rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)