lots of fixes here:
	- use system graphics libraries
	- make all of them optional
	- drop root users from install (fix user installs)
	- make static lib build optional
	- link with CXX and CXXFLAGS (since this is C++ code)

--- a/Makefile.gnu
+++ b/Makefile.gnu
@@ -11,7 +11,24 @@
 # Converts cr/lf to just lf
 DOS2UNIX = dos2unix
 
-LIBRARIES = -lstdc++
+PKG_CONFIG ?= pkg-config
+
+USE_EXR ?= yes
+USE_JPEG ?= yes
+USE_JPEG2K ?= yes
+USE_MNG ?= yes
+USE_PNG ?= yes
+USE_TIFF ?= yes
+USE_RAW ?= yes
+
+LIBRARIES-yes = $(shell $(PKG_CONFIG) --libs zlib)
+LIBRARIES-$(USE_EXR)    += $(shell $(PKG_CONFIG) --libs OpenEXR)
+LIBRARIES-$(USE_JPEG)   += -ljpeg
+LIBRARIES-$(USE_JPEG2K) += $(shell $(PKG_CONFIG) --libs libopenjpeg)
+LIBRARIES-$(USE_MNG)    += -lmng
+LIBRARIES-$(USE_PNG)    += $(shell $(PKG_CONFIG) --libs libpng)
+LIBRARIES-$(USE_TIFF)   += $(shell $(PKG_CONFIG) --libs libtiff-4 IlmBase)
+LIBRARIES-$(USE_RAW)    += $(shell $(PKG_CONFIG) --libs libraw)
 
 MODULES = $(SRCS:.c=.o)
 MODULES := $(MODULES:.cpp=.o)
@@ -64,13 +81,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-yes)
 
 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
--- a/Source/FreeImage/J2KHelper.cpp
+++ b/Source/FreeImage/J2KHelper.cpp
@@ -21,7 +21,7 @@
 
 #include "FreeImage.h"
 #include "Utilities.h"
-#include "../LibOpenJPEG/openjpeg.h"
+#include <openjpeg.h>
 
 /**
 Divide an integer by a power of 2 and round upwards
--- a/Source/FreeImage/PluginEXR.cpp
+++ b/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 <ImfIO.h>
+#include <Iex.h>
+#include <ImfOutputFile.h>
+#include <ImfInputFile.h>
+#include <ImfRgbaFile.h>
+#include <ImfChannelList.h>
+#include <ImfRgba.h>
+#include <ImfArray.h>
+#include <ImfPreviewImage.h>
+#include <half.h>
 
 
 // ==========================================================
--- a/Source/FreeImage/PluginJ2K.cpp
+++ b/Source/FreeImage/PluginJ2K.cpp
@@ -21,7 +21,7 @@
 
 #include "FreeImage.h"
 #include "Utilities.h"
-#include "../LibOpenJPEG/openjpeg.h"
+#include <openjpeg.h>
 
 // ==========================================================
 // Plugin Interface
--- a/Source/FreeImage/PluginJP2.cpp
+++ b/Source/FreeImage/PluginJP2.cpp
@@ -21,7 +21,7 @@
 
 #include "FreeImage.h"
 #include "Utilities.h"
-#include "../LibOpenJPEG/openjpeg.h"
+#include <openjpeg.h>
 
 // ==========================================================
 // Plugin Interface
--- a/Source/FreeImage/PluginPNG.cpp
+++ b/Source/FreeImage/PluginPNG.cpp
@@ -37,8 +37,8 @@
 
 // ----------------------------------------------------------
 
-#include "../ZLib/zlib.h"
-#include "../LibPNG/png.h"
+#include <zlib.h>
+#include <png.h>
 
 // ----------------------------------------------------------
 
--- a/Source/transupp.c
+++ b/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 <jerror.h>
 #include "jinclude.h"
 #include "jpeglib.h"
 #include "transupp.h"		/* My own external interface */
--- a/Source/FreeImage/ZLibInterface.cpp
+++ b/Source/FreeImage/ZLibInterface.cpp
@@ -19,10 +19,10 @@
 // Use at your own risk!
 // ==========================================================
 
-#include "../ZLib/zlib.h"
+#include <zlib.h>
 #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. 
--- a/Source/FreeImage/PluginG3.cpp
+++ b/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"
--- a/Source/FreeImage/PluginJPEG.cpp
+++ b/Source/FreeImage/PluginJPEG.cpp
@@ -35,11 +35,15 @@
 #undef FAR
 #include <setjmp.h>
 
-#include "../LibJPEG/jinclude.h"
-#include "../LibJPEG/jpeglib.h"
-#include "../LibJPEG/jerror.h"
+#include <string.h>
+#include <stdio.h>
+#include <jconfig.h>
+#include <jpeglib.h>
+#include <jerror.h>
 }
 
+#define SIZEOF(object)        ((size_t) sizeof(object))
+
 #include "FreeImage.h"
 #include "Utilities.h"
 
--- a/Source/FreeImageToolkit/JPEGTransform.cpp
+++ b/Source/FreeImageToolkit/JPEGTransform.cpp
@@ -25,10 +25,11 @@
 #undef FAR
 #include <setjmp.h>
 
-#include "../LibJPEG/jinclude.h"
-#include "../LibJPEG/jpeglib.h"
-#include "../LibJPEG/jerror.h"
-#include "../LibJPEG/transupp.h"
+#include <string.h>
+#include <stdio.h>
+#include <jpeglib.h>
+#include <jerror.h>
+#include "transupp.h"
 }
 
 #include "FreeImage.h"
--- a/Makefile.fip
+++ b/Makefile.fip
@@ -11,7 +11,24 @@
 # Converts cr/lf to just lf
 DOS2UNIX = dos2unix
 
-LIBRARIES = -lstdc++
+PKG_CONFIG ?= pkg-config
+
+USE_EXR ?= yes
+USE_JPEG ?= yes
+USE_JPEG2K ?= yes
+USE_MNG ?= yes
+USE_PNG ?= yes
+USE_TIFF ?= yes
+USE_RAW ?= yes
+
+LIBRARIES-yes = $(shell $(PKG_CONFIG) --libs zlib)
+LIBRARIES-$(USE_EXR)    += $(shell $(PKG_CONFIG) --libs OpenEXR)
+LIBRARIES-$(USE_JPEG)   += -ljpeg
+LIBRARIES-$(USE_JPEG2K) += $(shell $(PKG_CONFIG) --libs libopenjpeg)
+LIBRARIES-$(USE_MNG)    += -lmng
+LIBRARIES-$(USE_PNG)    += $(shell $(PKG_CONFIG) --libs libpng)
+LIBRARIES-$(USE_TIFF)   += $(shell $(PKG_CONFIG) --libs libtiff-4 IlmBase)
+LIBRARIES-$(USE_RAW)    += $(shell $(PKG_CONFIG) --libs libraw)
 
 MODULES = $(SRCS:.c=.o)
 MODULES := $(MODULES:.cpp=.o)
@@ -65,14 +82,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-yes)
 
 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)
--- a/Makefile.srcs
+++ b/Makefile.srcs
@@ -1,6 +1,14 @@
+USE_EXR ?= yes
+USE_JPEG ?= yes
+USE_JPEG2K ?= yes
+USE_MNG ?= yes
+USE_PNG ?= yes
+USE_TIFF ?= yes
+USE_RAW ?= yes
+
 VER_MAJOR = 3
 VER_MINOR = 15.4
-SRCS = \
+SRCS-yes = \
 	Source/FreeImage/BitmapAccess.cpp \
 	Source/FreeImage/ColorLookup.cpp \
 	Source/FreeImage/FreeImage.cpp \
@@ -17,36 +25,74 @@ SRCS = \
 	Source/FreeImage/GetType.cpp \
 	Source/FreeImage/MemoryIO.cpp \
 	Source/FreeImage/PixelAccess.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/J2KHelper.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/MNGHelper.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/Plugin.cpp \
 	Source/FreeImage/PluginBMP.cpp \
 	Source/FreeImage/PluginCUT.cpp \
 	Source/FreeImage/PluginDDS.cpp \
+
+SRCS-$(USE_EXR) += \
 	Source/FreeImage/PluginEXR.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/FreeImage/PluginG3.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginGIF.cpp \
 	Source/FreeImage/PluginHDR.cpp \
 	Source/FreeImage/PluginICO.cpp \
 	Source/FreeImage/PluginIFF.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/PluginJ2K.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/PluginJNG.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/PluginJP2.cpp \
+
+SRCS-$(USE_JPEG) += \
 	Source/FreeImage/PluginJPEG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginKOALA.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/PluginMNG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginPCD.cpp \
 	Source/FreeImage/PluginPCX.cpp \
 	Source/FreeImage/PluginPFM.cpp \
 	Source/FreeImage/PluginPICT.cpp \
+
+SRCS-$(USE_PNG) += \
 	Source/FreeImage/PluginPNG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginPNM.cpp \
 	Source/FreeImage/PluginPSD.cpp \
 	Source/FreeImage/PluginRAS.cpp \
+
+SRCS-$(USE_RAW) += \
 	Source/FreeImage/PluginRAW.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginSGI.cpp \
 	Source/FreeImage/PluginTARGA.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/FreeImage/PluginTIFF.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginWBMP.cpp \
 	Source/FreeImage/PluginXBM.cpp \
 	Source/FreeImage/PluginXPM.cpp \
@@ -83,7 +129,11 @@ SRCS = \
 	Source/Metadata/IPTC.cpp \
 	Source/Metadata/TagConversion.cpp \
 	Source/Metadata/TagLib.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/Metadata/XTIFF.cpp \
+
+SRCS-yes += \
 	Source/FreeImageToolkit/Background.cpp \
 	Source/FreeImageToolkit/BSplineRotate.cpp \
 	Source/FreeImageToolkit/Channels.cpp \
@@ -92,10 +142,18 @@ SRCS = \
 	Source/FreeImageToolkit/CopyPaste.cpp \
 	Source/FreeImageToolkit/Display.cpp \
 	Source/FreeImageToolkit/Flip.cpp \
+
+SRCS-$(USE_JPEG) += \
 	Source/FreeImageToolkit/JPEGTransform.cpp \
+
+SRCS-yes += \
 	Source/FreeImageToolkit/MultigridPoissonSolver.cpp \
 	Source/FreeImageToolkit/Rescale.cpp \
 	Source/FreeImageToolkit/Resize.cpp \
+
+SRCS-$(USE_JPEG) += \
+	Source/transupp.c
+SRCS = $(SRCS-yes)
 INCLS = \
 	Examples/OpenGL/TextureManager/TextureManager.h \
 	Examples/Plugin/PluginCradle.h \
@@ -116,7 +174,17 @@
 	Wrapper/FreeImagePlus/test/fipTest.h \
 	TestAPI/TestSuite.h
 
-INCLUDE = -I. \
+INCLUDE-yes = -I. \
 	-ISource \
 	-ISource/Metadata \
 	-ISource/FreeImageToolkit \
+
+INCLUDE-yes += $(shell $(PKG_CONFIG) --cflags-only-I zlib)
+INCLUDE-$(USE_EXR)    += -DUSE_EXR    $(shell $(PKG_CONFIG) --cflags-only-I OpenEXR)
+INCLUDE-$(USE_JPEG)   += -DUSE_JPEG
+INCLUDE-$(USE_JPEG2K) += -DUSE_JPEG2K $(shell $(PKG_CONFIG) --cflags-only-I libopenjpeg)
+INCLUDE-$(USE_MNG)    += -DUSE_MNG
+INCLUDE-$(USE_PNG)    += -DUSE_PNG    $(shell $(PKG_CONFIG) --cflags-only-I libpng)
+INCLUDE-$(USE_TIFF)   += -DUSE_TIFF   $(shell $(PKG_CONFIG) --cflags-only-I libtiff-4 IlmBase)
+INCLUDE-$(USE_RAW)    += -DUSE_RAW    $(shell $(PKG_CONFIG) --cflags-only-I libraw)
+INCLUDE = $(INCLUDE-yes)
--- a/fipMakefile.srcs
+++ b/fipMakefile.srcs
@@ -1,6 +1,14 @@
+USE_EXR ?= yes
+USE_JPEG ?= yes
+USE_JPEG2K ?= yes
+USE_MNG ?= yes
+USE_PNG ?= yes
+USE_TIFF ?= yes
+USE_RAW ?= yes
+
 VER_MAJOR = 3
 VER_MINOR = 15.4
-SRCS = \
+SRCS-yes = \
 	Source/FreeImage/BitmapAccess.cpp \
 	Source/FreeImage/ColorLookup.cpp \
 	Source/FreeImage/FreeImage.cpp \
@@ -9,36 +17,74 @@
 	Source/FreeImage/GetType.cpp \
 	Source/FreeImage/MemoryIO.cpp \
 	Source/FreeImage/PixelAccess.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/J2KHelper.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/MNGHelper.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/Plugin.cpp \
 	Source/FreeImage/PluginBMP.cpp \
 	Source/FreeImage/PluginCUT.cpp \
 	Source/FreeImage/PluginDDS.cpp \
+
+SRCS-$(USE_EXR) += \
 	Source/FreeImage/PluginEXR.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/FreeImage/PluginG3.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginGIF.cpp \
 	Source/FreeImage/PluginHDR.cpp \
 	Source/FreeImage/PluginICO.cpp \
 	Source/FreeImage/PluginIFF.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/PluginJ2K.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/PluginJNG.cpp \
+
+SRCS-$(USE_JPEG2K) += \
 	Source/FreeImage/PluginJP2.cpp \
+
+SRCS-$(USE_JPEG) += \
 	Source/FreeImage/PluginJPEG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginKOALA.cpp \
+
+SRCS-$(USE_MNG) += \
 	Source/FreeImage/PluginMNG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginPCD.cpp \
 	Source/FreeImage/PluginPCX.cpp \
 	Source/FreeImage/PluginPFM.cpp \
 	Source/FreeImage/PluginPICT.cpp \
+
+SRCS-$(USE_PNG) += \
 	Source/FreeImage/PluginPNG.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginPNM.cpp \
 	Source/FreeImage/PluginPSD.cpp \
 	Source/FreeImage/PluginRAS.cpp \
+
+SRCS-$(USE_RAW) += \
 	Source/FreeImage/PluginRAW.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginSGI.cpp \
 	Source/FreeImage/PluginTARGA.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/FreeImage/PluginTIFF.cpp \
+
+SRCS-yes += \
 	Source/FreeImage/PluginWBMP.cpp \
 	Source/FreeImage/PluginXBM.cpp \
 	Source/FreeImage/PluginXPM.cpp \
@@ -75,7 +121,11 @@
 	Source/Metadata/IPTC.cpp \
 	Source/Metadata/TagConversion.cpp \
 	Source/Metadata/TagLib.cpp \
+
+SRCS-$(USE_TIFF) += \
 	Source/Metadata/XTIFF.cpp \
+
+SRCS-yes += \
 	Source/FreeImageToolkit/Background.cpp \
 	Source/FreeImageToolkit/BSplineRotate.cpp \
 	Source/FreeImageToolkit/Channels.cpp \
@@ -84,7 +134,11 @@
 	Source/FreeImageToolkit/CopyPaste.cpp \
 	Source/FreeImageToolkit/Display.cpp \
 	Source/FreeImageToolkit/Flip.cpp \
+
+SRCS-$(USE_JPEG) += \
 	Source/FreeImageToolkit/JPEGTransform.cpp \
+
+SRCS-yes += \
 	Source/FreeImageToolkit/MultigridPoissonSolver.cpp \
 	Source/FreeImageToolkit/Rescale.cpp \
 	Source/FreeImageToolkit/Resize.cpp \
@@ -95,6 +149,11 @@
 	Wrapper/FreeImagePlus/src/fipTag.cpp \
 	Wrapper/FreeImagePlus/src/fipWinImage.cpp \
 	Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
+
+SRCS-$(USE_JPEG) += \
+	Source/transupp.c
+
+SRCS = $(SRCS-yes)
 INCLUDE = -I. \
 	-ISource \
 	-ISource/Metadata \
--- a/Source/FreeImage/PluginRAW.cpp
+++ b/Source/FreeImage/PluginRAW.cpp
@@ -19,7 +19,7 @@
 // Use at your own risk!
 // ==========================================================
 
-#include "../LibRawLite/libraw/libraw.h"
+#include <libraw.h>
 
 #include "FreeImage.h"
 #include "Utilities.h"
--- a/Source/Metadata/XTIFF.cpp
+++ b/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"
--- a/Source/FreeImage/PluginTIFF.cpp
+++ b/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 <half.h>
 
 #include "FreeImageIO.h"
 #include "PSDParser.h"
--- a/Source/tiffiop.h
+++ b/Source/tiffiop.h
@@ -30,7 +30,9 @@
  * ``Library-private'' definitions.
  */
 
-#include "tif_config.h"
+#include <tiffconf.h>
+#define HAVE_SEARCH_H
+#define HAVE_FCNTL_H
 
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
--- a/Source/FreeImage/Plugin.cpp
+++ b/Source/FreeImage/Plugin.cpp
@@ -223,23 +223,33 @@
 			*/
 			s_plugins->AddNode(InitBMP);
 			s_plugins->AddNode(InitICO);
+#ifdef USE_JPEG
 			s_plugins->AddNode(InitJPEG);
+#endif
+#ifdef USE_MNG
 			s_plugins->AddNode(InitJNG);
+#endif
 			s_plugins->AddNode(InitKOALA);
 			s_plugins->AddNode(InitIFF);
+#ifdef USE_MNG
 			s_plugins->AddNode(InitMNG);
+#endif
 			s_plugins->AddNode(InitPNM, NULL, "PBM", "Portable Bitmap (ASCII)", "pbm", "^P1");
 			s_plugins->AddNode(InitPNM, NULL, "PBMRAW", "Portable Bitmap (RAW)", "pbm", "^P4");
 			s_plugins->AddNode(InitPCD);
 			s_plugins->AddNode(InitPCX);
 			s_plugins->AddNode(InitPNM, NULL, "PGM", "Portable Greymap (ASCII)", "pgm", "^P2");
 			s_plugins->AddNode(InitPNM, NULL, "PGMRAW", "Portable Greymap (RAW)", "pgm", "^P5");
+#ifdef USE_PNG
 			s_plugins->AddNode(InitPNG);
+#endif
 			s_plugins->AddNode(InitPNM, NULL, "PPM", "Portable Pixelmap (ASCII)", "ppm", "^P3");
 			s_plugins->AddNode(InitPNM, NULL, "PPMRAW", "Portable Pixelmap (RAW)", "ppm", "^P6");
 			s_plugins->AddNode(InitRAS);
 			s_plugins->AddNode(InitTARGA);
+#ifdef USE_TIFF
 			s_plugins->AddNode(InitTIFF);
+#endif
 			s_plugins->AddNode(InitWBMP);
 			s_plugins->AddNode(InitPSD);
 			s_plugins->AddNode(InitCUT);
@@ -248,14 +258,22 @@
 			s_plugins->AddNode(InitDDS);
 	        s_plugins->AddNode(InitGIF);
 	        s_plugins->AddNode(InitHDR);
+#ifdef USE_TIFF
 			s_plugins->AddNode(InitG3);
+#endif
 			s_plugins->AddNode(InitSGI);
+#ifdef USE_EXR
 			s_plugins->AddNode(InitEXR);
+#endif
+#ifdef USE_JPEG2K
 			s_plugins->AddNode(InitJ2K);
 			s_plugins->AddNode(InitJP2);
+#endif
 			s_plugins->AddNode(InitPFM);
 			s_plugins->AddNode(InitPICT);
+#ifdef USE_RAW
 			s_plugins->AddNode(InitRAW);
+#endif
 			
 			// external plugin initialization
 
