406 lines
11 KiB
Diff
406 lines
11 KiB
Diff
--- FreeImage/Makefile.fip.orig 2014-04-16 18:58:24.825800000 +0400
|
||
+++ FreeImage/Makefile.fip 2014-04-16 19:12:58.956000000 +0400
|
||
@@ -1,81 +1,97 @@
|
||
-# Linux makefile for FreeImagePlus
|
||
+# Mingw makefile for FreeImagePlus
|
||
|
||
# This file can be generated by ./genfipsrclist.sh
|
||
include fipMakefile.srcs
|
||
|
||
-# General configuration variables:
|
||
-DESTDIR ?= /
|
||
-INCDIR ?= $(DESTDIR)/usr/include
|
||
-INSTALLDIR ?= $(DESTDIR)/usr/lib
|
||
-
|
||
-# Converts cr/lf to just lf
|
||
-DOS2UNIX = dos2unix
|
||
-
|
||
-LIBRARIES = -lstdc++
|
||
-
|
||
-MODULES = $(SRCS:.c=.o)
|
||
-MODULES := $(MODULES:.cpp=.o)
|
||
-CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
|
||
-# OpenJPEG
|
||
-CFLAGS += -DOPJ_STATIC
|
||
-# LibRaw
|
||
-CFLAGS += -DNO_LCMS
|
||
-# LibJXR
|
||
-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
|
||
-CFLAGS += $(INCLUDE)
|
||
-CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
|
||
-# LibJXR
|
||
-CXXFLAGS += -D__ANSI__
|
||
-CXXFLAGS += $(INCLUDE)
|
||
-
|
||
-ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
|
||
- CFLAGS += -fPIC
|
||
- CXXFLAGS += -fPIC
|
||
-endif
|
||
+CC = $(MINGW_TARGET)-gcc
|
||
+CXX = $(MINGW_TARGET)-g++
|
||
+LD = $(MINGW_TARGET)-g++
|
||
+AR = ar
|
||
+DLLTOOL = dlltool
|
||
+RC = windres
|
||
+PKGCONFIG = pkg-config
|
||
+
|
||
+CP = cp
|
||
+MD = mkdir
|
||
+RM = rm
|
||
+
|
||
+# General configuration variables.
|
||
+DESTDIR ?= $(SystemRoot)
|
||
+INSTALLDIR ?= $(DESTDIR)/system32
|
||
+DISTDIR ?= Dist
|
||
+SRCDIR ?= Wrapper/FreeImagePlus/
|
||
+HEADER = FreeImagePlus.h
|
||
+RCFILE = Wrapper/FreeImagePlus/FreeImagePlus.rc
|
||
+
|
||
+# Uncomment this variable to make a static library. This may
|
||
+# also be specified as an environment variable and can hold
|
||
+# any of STATIC and SHARED and must be in uppercase letters.
|
||
+# The FreeImage library type defaults to SHARED.
|
||
+FREEIMAGE_LIBRARY_TYPE ?= SHARED
|
||
+
|
||
+WIN32_STATIC_FLAGS = -DFREEIMAGE_LIB
|
||
+WIN32_SHARED_FLAGS = -DFIP_EXPORTS
|
||
+
|
||
+# Converts cr/lf to just lf
|
||
+DOS2UNIX = dos2unix
|
||
+
|
||
+LIBRARIES = -lstdc++ -lfreeimage-$(VER_MAJOR).$(VER_MINOR) -L.
|
||
+MODULES = $(SRCS:.c=.o)
|
||
+MODULES := $(MODULES:.cpp=.o)
|
||
+RESOURCE = $(RCFILE:.rc=.coff)
|
||
+CFLAGS += -ISource $(INCLUDE) -DDISABLE_PERF_MEASUREMENT $(WIN32_$(FREEIMAGE_LIBRARY_TYPE)_FLAGS)
|
||
+CXXFLAGS += -ISource $(INCLUDE) $(WIN32_$(FREEIMAGE_LIBRARY_TYPE)_FLAGS)
|
||
+LDFLAGS += -shared -Wl,-soname,$(SOLIBNAME)
|
||
+LDFLAGS += -LDist -lfreeimage -lgdi32
|
||
|
||
-TARGET = freeimageplus
|
||
+TARGET = freeimageplus
|
||
STATICLIB = lib$(TARGET).a
|
||
-SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
|
||
-LIBNAME = lib$(TARGET).so
|
||
-VERLIBNAME = $(LIBNAME).$(VER_MAJOR)
|
||
-HEADER = Source/FreeImage.h
|
||
-HEADERFIP = Wrapper/FreeImagePlus/FreeImagePlus.h
|
||
+SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).dll
|
||
+IMPORTLIB = lib$(TARGET).dll.a
|
||
+EXPORTLIB = $(TARGET).exp
|
||
+SOLIBNAME = $(SHAREDLIB)
|
||
|
||
+DISTSHARED = $(addprefix $(DISTDIR)/, $(SHAREDLIB) $(IMPORTLIB) $(HEADER))
|
||
+DISTSTATIC = $(addprefix $(DISTDIR)/, $(STATICLIB) $(HEADER))
|
||
|
||
-default: all
|
||
-
|
||
-all: dist
|
||
+TARGETLIB = $($(FREEIMAGE_LIBRARY_TYPE)LIB)
|
||
+TARGETDIST = $(DIST$(FREEIMAGE_LIBRARY_TYPE))
|
||
|
||
-dist: FreeImage
|
||
- cp *.a Dist
|
||
- cp *.so Dist
|
||
- cp Source/FreeImage.h Dist
|
||
- cp Wrapper/FreeImagePlus/FreeImagePlus.h Dist
|
||
+default: all
|
||
|
||
-dos2unix:
|
||
- @$(DOS2UNIX) $(SRCS)
|
||
+all: $(TARGETLIB) $(TARGETDIST)
|
||
|
||
-FreeImage: $(STATICLIB) $(SHAREDLIB)
|
||
+rebuild: clean all
|
||
|
||
-.c.o:
|
||
+%.o: %.c
|
||
$(CC) $(CFLAGS) -c $< -o $@
|
||
|
||
-.cpp.o:
|
||
+%.o: %.cpp
|
||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||
|
||
+%.coff: %.rc
|
||
+ $(RC) $(RCFLAGS) -o $@ $<
|
||
+
|
||
+$(DISTDIR)/%: %
|
||
+ $(CP) $< $@
|
||
+
|
||
+$(DISTDIR)/%: $(SRCDIR)/%
|
||
+ $(CP) $< $@
|
||
+
|
||
$(STATICLIB): $(MODULES)
|
||
- $(AR) r $@ $(MODULES)
|
||
+ $(AR) rs $@ $(MODULES)
|
||
+
|
||
+$(IMPORTLIB) $(EXPORTLIB): $(MODULES)
|
||
+ $(DLLTOOL) -e $(EXPORTLIB) -l $(IMPORTLIB) -D $(SHAREDLIB) $(DLLTOOLFLAGS) $(MODULES)
|
||
+
|
||
+$(SHAREDLIB): $(EXPORTLIB) $(RESOURCE)
|
||
+ $(LD) -o $@ $(EXPORTLIB) $(MODULES) $(RESOURCE) $(LDFLAGS)
|
||
|
||
-$(SHAREDLIB): $(MODULES)
|
||
- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
|
||
+$(DISTDIR):
|
||
+ $(MD) $(DISTDIR)
|
||
|
||
-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)
|
||
+$(TARGETDIST): $(DISTDIR)
|
||
|
||
clean:
|
||
- rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
|
||
+ $(RM) -f core $(DISTDIR)/*.* $(MODULES) $(RESOURCE) $(STATICLIB) $(SHAREDLIB) $(IMPORTLIB) $(EXPORTLIB)
|
||
|
||
diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu
|
||
--- FreeImage/Makefile.gnu 2014-01-16 00:27:04.000000000 +0100
|
||
+++ FreeImage-new/Makefile.gnu 2014-01-16 00:49:42.335523267 +0100
|
||
@@ -11,7 +11,8 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib
|
||
# Converts cr/lf to just lf
|
||
DOS2UNIX = dos2unix
|
||
|
||
-LIBRARIES = -lstdc++
|
||
+INCLUDE += $(shell pkg-config --cflags libopenjp2 libpng libraw OpenEXR zlib libtiff-4 libwebp)
|
||
+LIBRARIES = -lstdc++ $(shell pkg-config --libs libopenjp2 libpng libraw OpenEXR zlib libtiff-4 libwebp libwebpdecoder libwebpdemux libwebpmux) -ljpeg -lwebp
|
||
|
||
MODULES = $(SRCS:.c=.o)
|
||
MODULES := $(MODULES:.cpp=.o)
|
||
--- FreeImage/Makefile.mingw.orig 2014-03-15 22:52:28.000000000 +0400
|
||
+++ FreeImage/Makefile.mingw 2014-04-16 19:12:32.030400000 +0400
|
||
@@ -1,136 +1,94 @@
|
||
-# MinGW makefile for FreeImage
|
||
-
|
||
-# This file can be generated by ./gensrclist.sh
|
||
-include Makefile.srcs
|
||
-
|
||
-# General configuration variables.
|
||
-DESTDIR ?= $(SystemRoot)
|
||
-INSTALLDIR ?= $(DESTDIR)/system32
|
||
-DISTDIR ?= Dist
|
||
-SRCDIR ?= Source
|
||
-HEADER = FreeImage.h
|
||
-RCFILE = FreeImage.rc
|
||
-
|
||
-# Uncomment this variable to make a static library. This may
|
||
-# also be specified as an environment variable and can hold
|
||
-# any of STATIC and SHARED and must be in uppercase letters.
|
||
-# Default: SHARED
|
||
-#FREEIMAGE_LIBRARY_TYPE = STATIC
|
||
-
|
||
-# Redefine the compiler (CC defaults to ´cc´ for MinGW's make,
|
||
-# however there's only ´gcc´ available with MinGW).
|
||
-CC = gcc
|
||
-
|
||
-# Redefine the linker (we use ´g++´ for linking, since MinGW's
|
||
-# command ´ld´ comes with wrong (Linux) standard library search
|
||
-# paths).
|
||
-LD = g++
|
||
-
|
||
-#Define the ´dlltool´ command.
|
||
-DLLTOOL = dlltool
|
||
-
|
||
-#Define the resource compiler.
|
||
-RC = windres
|
||
-
|
||
-# Define the ´copy´ command.
|
||
-CP = cp
|
||
-
|
||
-# Define the ´mkdir´ command.
|
||
-MD = mkdir
|
||
-
|
||
-# Define the ´remove´ command.
|
||
-RM = rm
|
||
-
|
||
-# Define additional libraries needed.
|
||
-# libstdc++ is included by default with MinGW, however for
|
||
-# WIN32 based builds, LibRawLite needs the winsock libraries.
|
||
-LIBRARIES = -lws2_32
|
||
-
|
||
-# Define some additional symboles needed for WIN32 based builds.
|
||
-WIN32_CFLAGS = -DWINVER=0x0500 $(LIB_TYPE_FLAGS) -DOPJ_STATIC
|
||
-WIN32_CXXFLAGS = $(WIN32_CFLAGS) -DLIBRAW_NODLL
|
||
-
|
||
-# Workaround for LibRawLite, which does not include C++ header
|
||
-# file stdexcept, which is casually included with MSVC but not
|
||
-# with MinGW. This can be removed after LibRawLite got control
|
||
-# over its includes again.
|
||
-WIN32_CXXFLAGS += -include stdexcept
|
||
-
|
||
-# Define DLL image header information flags for the linker.
|
||
-WIN32_LDFLAGS = -Wl,--subsystem,windows:5.0,--major-os-version,5
|
||
-
|
||
-WIN32_STATIC_FLAGS = -DFREEIMAGE_LIB
|
||
-WIN32_SHARED_FLAGS = -DFREEIMAGE_EXPORTS
|
||
-
|
||
-MODULES = $(SRCS:.c=.o)
|
||
-MODULES := $(MODULES:.cpp=.o)
|
||
-RESOURCE = $(RCFILE:.rc=.coff)
|
||
-CFLAGS ?= -O3 -fexceptions -DNDEBUG -DDISABLE_PERF_MEASUREMENT $(WIN32_CFLAGS)
|
||
-CFLAGS += $(INCLUDE)
|
||
-CXXFLAGS ?= -O3 -fexceptions -Wno-ctor-dtor-privacy -DNDEBUG $(WIN32_CXXFLAGS)
|
||
-CXXFLAGS += $(INCLUDE)
|
||
-RCFLAGS ?= -DNDEBUG
|
||
-LDFLAGS ?= -s -shared -static -Wl,-soname,$(SOLIBNAME) $(WIN32_LDFLAGS)
|
||
-DLLTOOLFLAGS ?= --add-stdcall-underscore
|
||
-
|
||
-TARGET = FreeImage
|
||
-STATICLIB = lib$(TARGET).a
|
||
-SHAREDLIB = $(TARGET).dll
|
||
-IMPORTLIB = $(TARGET).lib
|
||
-EXPORTLIB = $(TARGET).exp
|
||
-SOLIBNAME = $(SHAREDLIB).$(VER_MAJOR)
|
||
-
|
||
-DISTSHARED = $(addprefix $(DISTDIR)/, $(SHAREDLIB) $(IMPORTLIB) $(HEADER))
|
||
-DISTSTATIC = $(addprefix $(DISTDIR)/, $(STATICLIB) $(HEADER))
|
||
-
|
||
-# The FreeImage library type defaults to SHARED.
|
||
-FREEIMAGE_LIBRARY_TYPE ?= SHARED
|
||
-
|
||
-TARGETLIB = $($(FREEIMAGE_LIBRARY_TYPE)LIB)
|
||
-TARGETDIST = $(DIST$(FREEIMAGE_LIBRARY_TYPE))
|
||
-LIB_TYPE_FLAGS = $(WIN32_$(FREEIMAGE_LIBRARY_TYPE)_FLAGS)
|
||
-
|
||
-default: all
|
||
-
|
||
-all: mkdist
|
||
-
|
||
-rebuild: clean all
|
||
-
|
||
-mkdist: FreeImage $(TARGETDIST)
|
||
-
|
||
-FreeImage: $(TARGETLIB)
|
||
-
|
||
-%.o: %.c
|
||
- $(CC) $(CFLAGS) -c $< -o $@
|
||
-
|
||
-%.o: %.cpp
|
||
- $(CXX) $(CXXFLAGS) -c $< -o $@
|
||
-
|
||
-%.coff: %.rc
|
||
- $(RC) $(RCFLAGS) -o $@ $<
|
||
-
|
||
-$(DISTDIR)/%: %
|
||
- $(CP) $< $@
|
||
-
|
||
-$(DISTDIR)/%: $(SRCDIR)/%
|
||
- $(CP) $< $@
|
||
-
|
||
-$(STATICLIB): $(MODULES)
|
||
- $(AR) rs $@ $(MODULES)
|
||
-
|
||
-$(IMPORTLIB) $(EXPORTLIB): $(MODULES)
|
||
- $(DLLTOOL) -e $(EXPORTLIB) -l $(IMPORTLIB) -D $(SHAREDLIB) $(DLLTOOLFLAGS) $(MODULES)
|
||
-
|
||
-$(SHAREDLIB): $(EXPORTLIB) $(RESOURCE)
|
||
- $(LD) $(LDFLAGS) -o $@ $(EXPORTLIB) $(MODULES) $(RESOURCE) $(LIBRARIES)
|
||
-
|
||
-$(DISTDIR):
|
||
- $(MD) $(DISTDIR)
|
||
-
|
||
-$(TARGETDIST): $(DISTDIR)
|
||
-
|
||
-install:
|
||
- $(CP) $(SHAREDLIB) $(INSTALLDIR)
|
||
-
|
||
-clean:
|
||
- $(RM) -f core $(DISTDIR)/*.* $(MODULES) $(RESOURCE) $(STATICLIB) $(SHAREDLIB) $(IMPORTLIB) $(EXPORTLIB)
|
||
+# MinGW makefile for FreeImage
|
||
+
|
||
+# This file can be generated by ./gensrclist.sh
|
||
+include Makefile.srcs
|
||
+
|
||
+CC = gcc
|
||
+CXX = g++
|
||
+LD = g++
|
||
+AR = ar
|
||
+DLLTOOL = dlltool
|
||
+RC = windres
|
||
+PKGCONFIG = pkg-config
|
||
+
|
||
+CP = cp
|
||
+MD = mkdir
|
||
+RM = rm
|
||
+
|
||
+# General configuration variables.
|
||
+DESTDIR ?= $(SystemRoot)
|
||
+INSTALLDIR ?= $(DESTDIR)/system32
|
||
+DISTDIR ?= Dist
|
||
+SRCDIR ?= Source
|
||
+HEADER = FreeImage.h
|
||
+RCFILE = FreeImage.rc
|
||
+
|
||
+# Uncomment this variable to make a static library. This may
|
||
+# also be specified as an environment variable and can hold
|
||
+# any of STATIC and SHARED and must be in uppercase letters.
|
||
+# The FreeImage library type defaults to SHARED.
|
||
+FREEIMAGE_LIBRARY_TYPE ?= SHARED
|
||
+
|
||
+WIN32_STATIC_FLAGS = -DFREEIMAGE_LIB
|
||
+WIN32_SHARED_FLAGS = -DFREEIMAGE_EXPORTS
|
||
+
|
||
+MODULES = $(SRCS:.c=.o)
|
||
+MODULES := $(MODULES:.cpp=.o)
|
||
+RESOURCE = $(RCFILE:.rc=.coff)
|
||
+CFLAGS += $(INCLUDE) -DDISABLE_PERF_MEASUREMENT $(WIN32_$(FREEIMAGE_LIBRARY_TYPE)_FLAGS)
|
||
+CFLAGS += $(shell $(PKGCONFIG) --cflags libopenjp2 OpenEXR libpng libraw zlib libtiff-4 libwebp)
|
||
+CXXFLAGS += $(INCLUDE) $(WIN32_$(FREEIMAGE_LIBRARY_TYPE)_FLAGS)
|
||
+CXXFLAGS += $(shell $(PKGCONFIG) --cflags libopenjp2 OpenEXR libpng libraw zlib libtiff-4 libwebp)
|
||
+LDFLAGS += -shared -Wl,-soname,$(SOLIBNAME)
|
||
+LDFLAGS += $(shell $(PKGCONFIG) --libs libopenjp2 OpenEXR libpng libraw zlib libtiff-4 libwebp libwebpdecoder libwebpdemux libwebpmux) -ljpeg
|
||
+
|
||
+TARGET = freeimage
|
||
+STATICLIB = lib$(TARGET).a
|
||
+SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).dll
|
||
+IMPORTLIB = lib$(TARGET).dll.a
|
||
+EXPORTLIB = $(TARGET).exp
|
||
+SOLIBNAME = $(SHAREDLIB)
|
||
+
|
||
+DISTSHARED = $(addprefix $(DISTDIR)/, $(SHAREDLIB) $(IMPORTLIB) $(HEADER))
|
||
+DISTSTATIC = $(addprefix $(DISTDIR)/, $(STATICLIB) $(HEADER))
|
||
+
|
||
+TARGETLIB = $($(FREEIMAGE_LIBRARY_TYPE)LIB)
|
||
+TARGETDIST = $(DIST$(FREEIMAGE_LIBRARY_TYPE))
|
||
+
|
||
+default: all
|
||
+
|
||
+all: $(TARGETLIB) $(TARGETDIST)
|
||
+
|
||
+rebuild: clean all
|
||
+
|
||
+%.o: %.c
|
||
+ $(CC) $(CFLAGS) -c $< -o $@
|
||
+
|
||
+%.o: %.cpp
|
||
+ $(CXX) $(CXXFLAGS) -c $< -o $@
|
||
+
|
||
+%.coff: %.rc
|
||
+ $(RC) $(RCFLAGS) -o $@ $<
|
||
+
|
||
+$(DISTDIR)/%: %
|
||
+ $(CP) $< $@
|
||
+
|
||
+$(DISTDIR)/%: $(SRCDIR)/%
|
||
+ $(CP) $< $@
|
||
+
|
||
+$(STATICLIB): $(MODULES)
|
||
+ $(AR) rs $@ $(MODULES)
|
||
+
|
||
+$(IMPORTLIB) $(EXPORTLIB): $(MODULES)
|
||
+ $(DLLTOOL) -e $(EXPORTLIB) -l $(IMPORTLIB) -D $(SHAREDLIB) $(DLLTOOLFLAGS) $(MODULES)
|
||
+
|
||
+$(SHAREDLIB): $(EXPORTLIB) $(RESOURCE)
|
||
+ $(LD) -o $@ $(EXPORTLIB) $(MODULES) $(RESOURCE) $(LDFLAGS)
|
||
+
|
||
+$(DISTDIR):
|
||
+ $(MD) $(DISTDIR)
|
||
+
|
||
+$(TARGETDIST): $(DISTDIR)
|
||
+
|
||
+clean:
|
||
+ $(RM) -f core $(DISTDIR)/*.* $(MODULES) $(RESOURCE) $(STATICLIB) $(SHAREDLIB) $(IMPORTLIB) $(EXPORTLIB)
|