--- Makefile.gnu +++ Makefile.gnu @@ -11,7 +11,14 @@ # Converts cr/lf to just lf DOS2UNIX = dos2unix -LIBRARIES = -lstdc++ +PKG_CONFIG ?= $(PKG_CONFIG) +LIBRARIES = -lmng -ljpeg \ + $(shell $(PKG_CONFIG) --libs libpng) \ + $(shell $(PKG_CONFIG) --libs libtiff-4) \ + $(shell $(PKG_CONFIG) --libs zlib) \ + $(shell $(PKG_CONFIG) --libs libopenjpeg) \ + $(shell $(PKG_CONFIG) --libs OpenEXR) \ + $(shell $(PKG_CONFIG) --libs libraw) MODULES = $(SRCS:.c=.o) MODULES := $(MODULES:.cpp=.o) @@ -64,13 +71,15 @@ $(AR) r $@ $(MODULES) $(SHAREDLIB): $(MODULES) - $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) + $(CXX) $(CXXFLAGS) -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) + install -m 644 $(HEADER) $(INCDIR) +ifneq ($(STATICLIB),) + install -m 644 $(STATICLIB) $(INSTALLDIR) +endif + install -m 755 $(SHAREDLIB) $(INSTALLDIR) ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) # ldconfig --- Source/FreeImage/J2KHelper.cpp +++ Source/FreeImage/J2KHelper.cpp @@ -21,7 +21,7 @@ #include "FreeImage.h" #include "Utilities.h" -#include "../LibOpenJPEG/openjpeg.h" +#include /** Divide an integer by a power of 2 and round upwards --- Source/FreeImage/PluginEXR.cpp +++ Source/FreeImage/PluginEXR.cpp @@ -22,16 +22,16 @@ #include "FreeImage.h" #include "Utilities.h" -#include "../OpenEXR/IlmImf/ImfIO.h" -#include "../OpenEXR/Iex/Iex.h" -#include "../OpenEXR/IlmImf/ImfOutputFile.h" -#include "../OpenEXR/IlmImf/ImfInputFile.h" -#include "../OpenEXR/IlmImf/ImfRgbaFile.h" -#include "../OpenEXR/IlmImf/ImfChannelList.h" -#include "../OpenEXR/IlmImf/ImfRgba.h" -#include "../OpenEXR/IlmImf/ImfArray.h" -#include "../OpenEXR/IlmImf/ImfPreviewImage.h" -#include "../OpenEXR/Half/half.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // ========================================================== --- Source/FreeImage/PluginJ2K.cpp +++ Source/FreeImage/PluginJ2K.cpp @@ -21,7 +21,7 @@ #include "FreeImage.h" #include "Utilities.h" -#include "../LibOpenJPEG/openjpeg.h" +#include // ========================================================== // Plugin Interface --- Source/FreeImage/PluginJP2.cpp +++ Source/FreeImage/PluginJP2.cpp @@ -21,7 +21,7 @@ #include "FreeImage.h" #include "Utilities.h" -#include "../LibOpenJPEG/openjpeg.h" +#include // ========================================================== // Plugin Interface --- Source/FreeImage/PluginPNG.cpp +++ Source/FreeImage/PluginPNG.cpp @@ -37,8 +37,8 @@ // ---------------------------------------------------------- -#include "../ZLib/zlib.h" -#include "../LibPNG/png.h" +#include +#include // ---------------------------------------------------------- --- Source/transupp.c +++ Source/transupp.c @@ -15,8 +15,7 @@ /* Although this file really shouldn't have access to the library internals, * it's helpful to let it call jround_up() and jcopy_block_row(). */ -#define JPEG_INTERNALS - +#include #include "jinclude.h" #include "jpeglib.h" #include "transupp.h" /* My own external interface */ --- Source/FreeImage/ZLibInterface.cpp +++ Source/FreeImage/ZLibInterface.cpp @@ -19,10 +19,10 @@ // Use at your own risk! // ========================================================== -#include "../ZLib/zlib.h" +#include #include "FreeImage.h" #include "Utilities.h" -#include "../ZLib/zutil.h" /* must be the last header because of error C3163 in VS2008 (_vsnprintf defined in stdio.h) */ +#define OS_CODE 0x03 /** Compresses a source buffer into a target buffer, using the ZLib library. --- Source/FreeImage/PluginG3.cpp +++ Source/FreeImage/PluginG3.cpp @@ -20,7 +20,7 @@ // Use at your own risk! // ========================================================== -#include "../LibTIFF4/tiffiop.h" +#include "tiffiop.h" #include "FreeImage.h" #include "Utilities.h" --- Source/FreeImage/PluginJPEG.cpp +++ Source/FreeImage/PluginJPEG.cpp @@ -35,11 +35,15 @@ #undef FAR #include -#include "../LibJPEG/jinclude.h" -#include "../LibJPEG/jpeglib.h" -#include "../LibJPEG/jerror.h" +#include +#include +#include +#include +#include } +#define SIZEOF(object) ((size_t) sizeof(object)) + #include "FreeImage.h" #include "Utilities.h" --- Source/FreeImageToolkit/JPEGTransform.cpp +++ Source/FreeImageToolkit/JPEGTransform.cpp @@ -25,10 +25,11 @@ #undef FAR #include -#include "../LibJPEG/jinclude.h" -#include "../LibJPEG/jpeglib.h" -#include "../LibJPEG/jerror.h" -#include "../LibJPEG/transupp.h" +#include +#include +#include +#include +#include "transupp.h" } #include "FreeImage.h" --- Makefile.fip +++ Makefile.fip @@ -11,7 +11,14 @@ # Converts cr/lf to just lf DOS2UNIX = dos2unix -LIBRARIES = -lstdc++ +PKG_CONFIG ?= pkg-config +LIBRARIES = -lmng -ljpeg \ + $(shell $(PKG_CONFIG) --libs libpng) \ + $(shell $(PKG_CONFIG) --libs libtiff-4) \ + $(shell $(PKG_CONFIG) --libs zlib) \ + $(shell $(PKG_CONFIG) --libs libopenjpeg) \ + $(shell $(PKG_CONFIG) --libs OpenEXR) \ + $(shell $(PKG_CONFIG) --libs libraw) MODULES = $(SRCS:.c=.o) MODULES := $(MODULES:.cpp=.o) @@ -65,14 +72,18 @@ $(AR) r $@ $(MODULES) $(SHAREDLIB): $(MODULES) - $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) + $(CXX) $(CXXFLAGS) -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) + install -m 644 $(HEADER) $(INCDIR) + install -m 644 $(HEADERFIP) $(INCDIR) +ifneq ($(STATICLIB),) + install -m 644 $(STATICLIB) $(INSTALLDIR) +endif + install -m 755 $(SHAREDLIB) $(INSTALLDIR) + ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) + ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) clean: rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME) --- Makefile.srcs +++ Makefile.srcs @@ -88,6 +88,7 @@ Source/FreeImageToolkit/MultigridPoissonSolver.cpp \ Source/FreeImageToolkit/Rescale.cpp \ Source/FreeImageToolkit/Resize.cpp \ + Source/transupp.c INCLS = \ Source/FreeImage.h \ Source/CacheFile.h \ @@ -116,3 +117,9 @@ -ISource \ -ISource/Metadata \ -ISource/FreeImageToolkit \ + $(shell $(PKG_CONFIG) --cflags-only-I libpng) \ + $(shell $(PKG_CONFIG) --cflags-only-I libtiff-4) \ + $(shell $(PKG_CONFIG) --cflags-only-I zlib) \ + $(shell $(PKG_CONFIG) --cflags-only-I libopenjpeg) \ + $(shell $(PKG_CONFIG) --cflags-only-I OpenEXR) \ + $(shell $(PKG_CONFIG) --cflags-only-I libraw) --- Source/FreeImage/PluginRAW.cpp +++ Source/FreeImage/PluginRAW.cpp @@ -19,7 +19,7 @@ // Use at your own risk! // ========================================================== -#include "../LibRawLite/libraw/libraw.h" +#include #include "FreeImage.h" #include "Utilities.h" --- Source/Metadata/XTIFF.cpp +++ Source/Metadata/XTIFF.cpp @@ -29,7 +29,7 @@ #pragma warning (disable : 4786) // identifier was truncated to 'number' characters #endif -#include "../LibTIFF4/tiffiop.h" +#include "tiffiop.h" #include "FreeImage.h" #include "Utilities.h" --- Source/FreeImage/PluginTIFF.cpp +++ Source/FreeImage/PluginTIFF.cpp @@ -37,9 +37,9 @@ #include "FreeImage.h" #include "Utilities.h" -#include "../LibTIFF4/tiffiop.h" +#include "tiffiop.h" #include "../Metadata/FreeImageTag.h" -#include "../OpenEXR/Half/half.h" +#include #include "FreeImageIO.h" #include "PSDParser.h" --- Source/tiffiop.h +++ Source/tiffiop.h @@ -30,7 +30,9 @@ * ``Library-private'' definitions. */ -#include "tif_config.h" +#include +#define HAVE_SEARCH_H +#define HAVE_FCNTL_H #ifdef HAVE_FCNTL_H # include --- fipMakefile.srcs +++ fipMakefile.srcs @@ -94,7 +94,8 @@ Wrapper/FreeImagePlus/src/fipMultiPage.cpp \ Wrapper/FreeImagePlus/src/fipTag.cpp \ Wrapper/FreeImagePlus/src/fipWinImage.cpp \ - Wrapper/FreeImagePlus/src/FreeImagePlus.cpp + Wrapper/FreeImagePlus/src/FreeImagePlus.cpp \ + Source/transupp.c INCLUDE = -I. \ -ISource \ -ISource/Metadata \