diff --git a/modules/Makefile b/modules/Makefile index 567408e2dcf9..ee5102ad86df 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -30,12 +30,15 @@ DIRS = \ rdf \ xml \ schedulr \ - zlib \ li \ progress \ plugin \ $(NULL) +ifndef MOZ_NATIVE_ZLIB +DIRS += zlib +endif + ifndef MOZ_SECURITY DIRS += security endif diff --git a/modules/libimg/Makefile b/modules/libimg/Makefile index 1f5a7982a19f..c1e551ec142f 100644 --- a/modules/libimg/Makefile +++ b/modules/libimg/Makefile @@ -19,10 +19,24 @@ DEPTH = ../.. ifdef STANDALONE_IMAGE_LIB DIRS = png public src +EXTRA_LIBS = libzlib.a libpng.a else -DIRS = png classes public src +DIRS = classes public src + +EXTRA_LIBS = + +ifdef MOZ_NATIVE_PNG +EXTRA_LIBS += -lpng +else +DIRS += png +EXTRA_LIBS += libpng.a endif -EXTRA_LIBS = libzlib.a libpng.a +ifdef MOZ_NATIVE_ZLIB +EXTRA_LIBS += -lz +else +EXTRA_LIBS += libzlib.a +endif +endif include $(DEPTH)/config/rules.mk diff --git a/modules/libimg/src/Makefile b/modules/libimg/src/Makefile index 7cfe710f393a..1e4830ae28eb 100644 --- a/modules/libimg/src/Makefile +++ b/modules/libimg/src/Makefile @@ -74,11 +74,30 @@ CPPSRCS = color.cpp \ EXPORTS = PIMGCB.h PPSIMGCB.h -REQUIRES = jtools java zlib nspr dbm jpeg util img png layer js xpcom +REQUIRES = jtools java nspr dbm util img layer js xpcom -LOCAL_INCLUDES = -I../png -I. -I$(DEPTH)/dist/public/zlib +LOCAL_INCLUDES = -I. +EXTRA_LIBS = -EXTRA_LIBS = $(DIST)/lib/libzlib.a $(DIST)/lib/libpng.a +ifndef MOZ_NATIVE_JPEG +REQUIRES += jpeg +endif + +ifdef MOZ_NATIVE_PNG +EXTRA_LIBS += -lpng +else +REQUIRES += png +LOCAL_INCLUDES += -I../png +EXTRA_LIBS += $(DIST)/lib/libpng.a +endif + +ifdef MOZ_NATIVE_ZLIB +EXTRA_LIBS += -lz +else +REQUIRES += zlib +LOCAL_INCLUDES += -I$(DEPTH)/dist/public/zlib +EXTRA_LIBS += $(DIST)/lib/libzlib.a +endif # # Generate MIMGCB.c (and similar sources) here. diff --git a/modules/libimg/src/ipng.cpp b/modules/libimg/src/ipng.cpp index 5f10827a6493..e045b88aee3b 100644 --- a/modules/libimg/src/ipng.cpp +++ b/modules/libimg/src/ipng.cpp @@ -42,14 +42,14 @@ extern void info_callback(png_structp png_ptr, png_infop info); extern void il_create_alpha_mask( il_container *, int, int, int ); - +#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER < 100) extern png_structp png_create_read_struct(png_charp user_png_ver, png_voidp, png_error_ptr, png_error_ptr); extern png_infop png_create_info_struct(png_structp png_ptr); extern void png_destroy_read_struct(png_structpp, png_infopp, png_infopp); extern void png_set_progressive_read_fn(png_structp, png_voidp, png_progressive_info_ptr, png_progressive_row_ptr, png_progressive_end_ptr); extern void png_process_data(png_structp, png_infop, png_bytep, png_size_t); - +#endif /*-----------------------------*/ int