From 2277b7dcc8c0518389d3bc0058cca4a0ef5010e0 Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Fri, 24 Jan 2014 22:55:45 +0100 Subject: [PATCH] Update to SDL version 2.0.1 --- src/SDL2/Android.mk | 159 +- src/SDL2/COPYING.txt | 34 +- src/SDL2/Makefile.in | 1177 +- src/SDL2/README.txt | 54 +- src/SDL2/VisualC/SDL_image_VS2008.sln | 39 - src/SDL2/VisualC/SDL_image_VS2008.vcproj | 983 -- src/SDL2/VisualC/SDL_image_VS2010.sln | 36 - src/SDL2/VisualC/SDL_image_VS2010.vcxproj | 398 - src/SDL2/VisualC/SDL_image_VS2012.sln | 36 - src/SDL2/VisualC/SDL_image_VS2012.vcxproj | 394 - src/SDL2/VisualC/Version.rc | 105 - src/SDL2/VisualC/clean.sh | 5 +- src/SDL2/VisualC/external/include/jconfig.h | 54 - src/SDL2/VisualC/external/include/jerror.h | 304 - src/SDL2/VisualC/external/include/jmorecfg.h | 390 - src/SDL2/VisualC/external/include/jpeglib.h | 1173 -- src/SDL2/VisualC/external/include/png.h | 3304 ---- src/SDL2/VisualC/external/include/pngconf.h | 616 - src/SDL2/VisualC/external/include/pnglibconf.h | 209 - src/SDL2/VisualC/external/include/tiff.h | 678 - src/SDL2/VisualC/external/include/tiffconf.h | 128 - src/SDL2/VisualC/external/include/tiffio.h | 557 - src/SDL2/VisualC/external/include/tiffvers.h | 9 - src/SDL2/VisualC/external/include/webp/decode.h | 488 - src/SDL2/VisualC/external/include/webp/encode.h | 485 - src/SDL2/VisualC/external/include/webp/types.h | 45 - src/SDL2/VisualC/external/include/zconf.h | 511 - src/SDL2/VisualC/external/include/zlib.h | 1768 -- src/SDL2/VisualC/external/lib/x64/LICENSE.jpeg.txt | 65 - src/SDL2/VisualC/external/lib/x64/LICENSE.png.txt | 114 - src/SDL2/VisualC/external/lib/x64/LICENSE.tiff.txt | 25 - src/SDL2/VisualC/external/lib/x64/LICENSE.webp.txt | 34 - src/SDL2/VisualC/external/lib/x64/LICENSE.zlib.txt | 31 - src/SDL2/VisualC/external/lib/x64/libjpeg-9.dll | Bin 243200 -> 0 bytes src/SDL2/VisualC/external/lib/x64/libpng16-16.dll | Bin 216064 -> 0 bytes src/SDL2/VisualC/external/lib/x64/libtiff-5.dll | Bin 451584 -> 0 bytes src/SDL2/VisualC/external/lib/x64/libwebp-4.dll | Bin 326656 -> 0 bytes src/SDL2/VisualC/external/lib/x64/zlib1.dll | Bin 133632 -> 0 bytes src/SDL2/VisualC/external/lib/x86/LICENSE.jpeg.txt | 65 - src/SDL2/VisualC/external/lib/x86/LICENSE.png.txt | 114 - src/SDL2/VisualC/external/lib/x86/LICENSE.tiff.txt | 25 - src/SDL2/VisualC/external/lib/x86/LICENSE.webp.txt | 34 - src/SDL2/VisualC/external/lib/x86/LICENSE.zlib.txt | 31 - src/SDL2/VisualC/external/lib/x86/libjpeg-9.dll | Bin 223232 -> 0 bytes src/SDL2/VisualC/external/lib/x86/libpng16-16.dll | Bin 200704 -> 0 bytes src/SDL2/VisualC/external/lib/x86/libtiff-5.dll | Bin 436224 -> 0 bytes src/SDL2/VisualC/external/lib/x86/libwebp-4.dll | Bin 271872 -> 0 bytes src/SDL2/VisualC/external/lib/x86/zlib1.dll | Bin 123904 -> 0 bytes src/SDL2/VisualC/resource.h | 15 - src/SDL2/VisualC/showimage/showimage_VS2008.vcproj | 414 - .../VisualC/showimage/showimage_VS2010.vcxproj | 285 - .../VisualC/showimage/showimage_VS2012.vcxproj | 281 - .../Xcode-iOS/SDL_image.xcodeproj/project.pbxproj | 316 - .../webp.framework/Headers/webp/decode.h | 488 - .../webp.framework/Headers/webp/encode.h | 485 - .../Frameworks/webp.framework/Headers/webp/types.h | 45 - .../Frameworks/webp.framework/LICENSE.webp.txt | 34 - .../Resources/English.lproj/InfoPlist.strings | Bin 492 -> 0 bytes .../Frameworks/webp.framework/Resources/Info.plist | 24 - .../Versions/A/Headers/webp/decode.h | 488 - .../Versions/A/Headers/webp/encode.h | 485 - .../webp.framework/Versions/A/Headers/webp/types.h | 45 - .../A/Resources/English.lproj/InfoPlist.strings | Bin 492 -> 0 bytes .../webp.framework/Versions/A/Resources/Info.plist | 24 - .../Frameworks/webp.framework/Versions/A/webp | Bin 730072 -> 0 bytes .../Versions/Current/Headers/webp/decode.h | 488 - .../Versions/Current/Headers/webp/encode.h | 485 - .../Versions/Current/Headers/webp/types.h | 45 - .../Resources/English.lproj/InfoPlist.strings | Bin 492 -> 0 bytes .../Versions/Current/Resources/Info.plist | 24 - .../webp.framework/Versions/Current/webp | Bin 730072 -> 0 bytes src/SDL2/Xcode/Frameworks/webp.framework/webp | Bin 730072 -> 0 bytes src/SDL2/Xcode/Info-Framework.plist | 22 - src/SDL2/Xcode/SDL_image.xcodeproj/project.pbxproj | 753 - src/SDL2/Xcode/package | 272 - src/SDL2/Xcode/pkg-support/SDL_image.info | 15 - src/SDL2/Xcode/pkg-support/codesign-frameworks.sh | 43 - src/SDL2/Xcode/pkg-support/mkpackage.sh | 27 - src/SDL2/Xcode/pkg-support/resources/ReadMe.txt | 26 - src/SDL2/Xcode/pkg-support/resources/Welcome.txt | 3 - .../showimage/English.lproj/InfoPlist.strings | Bin 532 -> 0 bytes .../showimage/Info-showimage__Upgraded_.plist | 24 - src/SDL2/Xcode/showimage/SDLMain.h | 16 - src/SDL2/Xcode/showimage/SDLMain.m | 383 - .../showimage/showimage.xcodeproj/project.pbxproj | 340 - src/SDL2/acinclude/libtool.m4 | 2250 ++- src/SDL2/acinclude/ltoptions.m4 | 34 +- src/SDL2/acinclude/ltsugar.m4 | 2 - src/SDL2/acinclude/ltversion.m4 | 14 +- src/SDL2/acinclude/lt~obsolete.m4 | 13 +- src/SDL2/acinclude/pkg.m4 | 157 - src/SDL2/acinclude/sdl2.m4 | 202 - src/SDL2/autogen.sh | 19 +- src/SDL2/configure | 16703 +++++++++++++++---- src/SDL2/configure.in | 3151 +++- src/SDL2/debian/changelog | 351 +- src/SDL2/debian/control | 84 +- src/SDL2/debian/copyright | 341 +- src/SDL2/debian/docs | 3 + src/SDL2/debian/examples/Makefile | 14 - src/SDL2/debian/libsdl2-image-dev.examples | 2 - src/SDL2/debian/libsdl2-image-dev.install | 4 - src/SDL2/debian/libsdl2-image.install | 1 - src/SDL2/debian/libsdl2-image.lintian-overrides | 1 - src/SDL2/debian/rules | 43 +- src/SDL2/debian/source/lintian-overrides | 1 - src/SDL2/debian/watch | 2 +- 107 files changed, 18351 insertions(+), 26113 deletions(-) mode change 100644 => 100755 src/SDL2/Android.mk delete mode 100755 src/SDL2/VisualC/SDL_image_VS2008.sln delete mode 100755 src/SDL2/VisualC/SDL_image_VS2008.vcproj delete mode 100644 src/SDL2/VisualC/SDL_image_VS2010.sln delete mode 100644 src/SDL2/VisualC/SDL_image_VS2010.vcxproj delete mode 100644 src/SDL2/VisualC/SDL_image_VS2012.sln delete mode 100644 src/SDL2/VisualC/SDL_image_VS2012.vcxproj delete mode 100755 src/SDL2/VisualC/Version.rc delete mode 100755 src/SDL2/VisualC/external/include/jconfig.h delete mode 100755 src/SDL2/VisualC/external/include/jerror.h delete mode 100755 src/SDL2/VisualC/external/include/jmorecfg.h delete mode 100755 src/SDL2/VisualC/external/include/jpeglib.h delete mode 100755 src/SDL2/VisualC/external/include/png.h delete mode 100755 src/SDL2/VisualC/external/include/pngconf.h delete mode 100644 src/SDL2/VisualC/external/include/pnglibconf.h delete mode 100755 src/SDL2/VisualC/external/include/tiff.h delete mode 100755 src/SDL2/VisualC/external/include/tiffconf.h delete mode 100755 src/SDL2/VisualC/external/include/tiffio.h delete mode 100755 src/SDL2/VisualC/external/include/tiffvers.h delete mode 100644 src/SDL2/VisualC/external/include/webp/decode.h delete mode 100644 src/SDL2/VisualC/external/include/webp/encode.h delete mode 100644 src/SDL2/VisualC/external/include/webp/types.h delete mode 100755 src/SDL2/VisualC/external/include/zconf.h delete mode 100755 src/SDL2/VisualC/external/include/zlib.h delete mode 100644 src/SDL2/VisualC/external/lib/x64/LICENSE.jpeg.txt delete mode 100644 src/SDL2/VisualC/external/lib/x64/LICENSE.png.txt delete mode 100644 src/SDL2/VisualC/external/lib/x64/LICENSE.tiff.txt delete mode 100644 src/SDL2/VisualC/external/lib/x64/LICENSE.webp.txt delete mode 100644 src/SDL2/VisualC/external/lib/x64/LICENSE.zlib.txt delete mode 100755 src/SDL2/VisualC/external/lib/x64/libjpeg-9.dll delete mode 100755 src/SDL2/VisualC/external/lib/x64/libpng16-16.dll delete mode 100755 src/SDL2/VisualC/external/lib/x64/libtiff-5.dll delete mode 100755 src/SDL2/VisualC/external/lib/x64/libwebp-4.dll delete mode 100755 src/SDL2/VisualC/external/lib/x64/zlib1.dll delete mode 100644 src/SDL2/VisualC/external/lib/x86/LICENSE.jpeg.txt delete mode 100644 src/SDL2/VisualC/external/lib/x86/LICENSE.png.txt delete mode 100644 src/SDL2/VisualC/external/lib/x86/LICENSE.tiff.txt delete mode 100644 src/SDL2/VisualC/external/lib/x86/LICENSE.webp.txt delete mode 100644 src/SDL2/VisualC/external/lib/x86/LICENSE.zlib.txt delete mode 100755 src/SDL2/VisualC/external/lib/x86/libjpeg-9.dll delete mode 100755 src/SDL2/VisualC/external/lib/x86/libpng16-16.dll delete mode 100755 src/SDL2/VisualC/external/lib/x86/libtiff-5.dll delete mode 100755 src/SDL2/VisualC/external/lib/x86/libwebp-4.dll delete mode 100755 src/SDL2/VisualC/external/lib/x86/zlib1.dll delete mode 100755 src/SDL2/VisualC/resource.h delete mode 100755 src/SDL2/VisualC/showimage/showimage_VS2008.vcproj delete mode 100644 src/SDL2/VisualC/showimage/showimage_VS2010.vcxproj delete mode 100644 src/SDL2/VisualC/showimage/showimage_VS2012.vcxproj delete mode 100755 src/SDL2/Xcode-iOS/SDL_image.xcodeproj/project.pbxproj delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/decode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/encode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/types.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/LICENSE.webp.txt delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Resources/English.lproj/InfoPlist.strings delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Resources/Info.plist delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/decode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/encode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/types.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/English.lproj/InfoPlist.strings delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/Info.plist delete mode 100755 src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/webp delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/decode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/encode.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/types.h delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings delete mode 100644 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/Info.plist delete mode 100755 src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/webp delete mode 100755 src/SDL2/Xcode/Frameworks/webp.framework/webp delete mode 100644 src/SDL2/Xcode/Info-Framework.plist delete mode 100755 src/SDL2/Xcode/SDL_image.xcodeproj/project.pbxproj delete mode 100755 src/SDL2/Xcode/package delete mode 100644 src/SDL2/Xcode/pkg-support/SDL_image.info delete mode 100755 src/SDL2/Xcode/pkg-support/codesign-frameworks.sh delete mode 100755 src/SDL2/Xcode/pkg-support/mkpackage.sh delete mode 100644 src/SDL2/Xcode/pkg-support/resources/ReadMe.txt delete mode 100644 src/SDL2/Xcode/pkg-support/resources/Welcome.txt delete mode 100644 src/SDL2/Xcode/showimage/English.lproj/InfoPlist.strings delete mode 100644 src/SDL2/Xcode/showimage/Info-showimage__Upgraded_.plist delete mode 100644 src/SDL2/Xcode/showimage/SDLMain.h delete mode 100644 src/SDL2/Xcode/showimage/SDLMain.m delete mode 100644 src/SDL2/Xcode/showimage/showimage.xcodeproj/project.pbxproj delete mode 100644 src/SDL2/acinclude/pkg.m4 delete mode 100644 src/SDL2/acinclude/sdl2.m4 delete mode 100644 src/SDL2/debian/examples/Makefile delete mode 100644 src/SDL2/debian/libsdl2-image-dev.examples delete mode 100644 src/SDL2/debian/libsdl2-image-dev.install delete mode 100644 src/SDL2/debian/libsdl2-image.install delete mode 100644 src/SDL2/debian/libsdl2-image.lintian-overrides delete mode 100644 src/SDL2/debian/source/lintian-overrides diff --git a/src/SDL2/Android.mk b/src/SDL2/Android.mk old mode 100644 new mode 100755 index c2080dd7a..c8e67da7b --- a/src/SDL2/Android.mk +++ b/src/SDL2/Android.mk @@ -1,121 +1,68 @@ LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) +########################### +# +# SDL shared library +# +########################### -LOCAL_MODULE := SDL2_image +include $(CLEAR_VARS) -# Enable this if you want to support loading JPEG images -# The library path should be a relative path to this directory. -SUPPORT_JPG := true -JPG_LIBRARY_PATH := external/jpeg-9 +LOCAL_MODULE := SDL2 -# Enable this if you want to support loading PNG images -# The library path should be a relative path to this directory. -SUPPORT_PNG := true -PNG_LIBRARY_PATH := external/libpng-1.6.2 +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include -# Enable this if you want to support loading WebP images -# The library path should be a relative path to this directory. -SUPPORT_WEBP := true -WEBP_LIBRARY_PATH := external/libwebp-0.3.0 +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) +LOCAL_SRC_FILES := \ + $(subst $(LOCAL_PATH)/,, \ + $(wildcard $(LOCAL_PATH)/src/*.c) \ + $(wildcard $(LOCAL_PATH)/src/audio/*.c) \ + $(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \ + $(LOCAL_PATH)/src/atomic/SDL_atomic.c \ + $(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \ + $(wildcard $(LOCAL_PATH)/src/core/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \ + $(wildcard $(LOCAL_PATH)/src/events/*.c) \ + $(wildcard $(LOCAL_PATH)/src/file/*.c) \ + $(wildcard $(LOCAL_PATH)/src/haptic/*.c) \ + $(wildcard $(LOCAL_PATH)/src/haptic/dummy/*.c) \ + $(wildcard $(LOCAL_PATH)/src/joystick/*.c) \ + $(wildcard $(LOCAL_PATH)/src/joystick/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \ + $(wildcard $(LOCAL_PATH)/src/power/*.c) \ + $(wildcard $(LOCAL_PATH)/src/power/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/filesystem/dummy/*.c) \ + $(wildcard $(LOCAL_PATH)/src/render/*.c) \ + $(wildcard $(LOCAL_PATH)/src/render/*/*.c) \ + $(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \ + $(wildcard $(LOCAL_PATH)/src/thread/*.c) \ + $(wildcard $(LOCAL_PATH)/src/thread/pthread/*.c) \ + $(wildcard $(LOCAL_PATH)/src/timer/*.c) \ + $(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \ + $(wildcard $(LOCAL_PATH)/src/video/*.c) \ + $(wildcard $(LOCAL_PATH)/src/video/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/test/*.c)) -LOCAL_C_INCLUDES := $(LOCAL_PATH) -LOCAL_CFLAGS := -DLOAD_BMP -DLOAD_GIF -DLOAD_LBM -DLOAD_PCX -DLOAD_PNM \ - -DLOAD_TGA -DLOAD_XCF -DLOAD_XPM -DLOAD_XV -LOCAL_CFLAGS += -O3 -fstrict-aliasing -fprefetch-loop-arrays +LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES +LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid -LOCAL_SRC_FILES := $(notdir $(filter-out %/showimage.c, $(wildcard $(LOCAL_PATH)/*.c))) +include $(BUILD_SHARED_LIBRARY) -LOCAL_LDLIBS := -LOCAL_STATIC_LIBRARIES := -LOCAL_SHARED_LIBRARIES := SDL2 +########################### +# +# SDL static library +# +########################### -ifeq ($(SUPPORT_JPG),true) - LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JPG_LIBRARY_PATH) - LOCAL_CFLAGS += -DLOAD_JPG - # We can include the sources directly so the user doesn't have to... - #LOCAL_STATIC_LIBRARIES += jpeg - LOCAL_CFLAGS += -DAVOID_TABLES - LOCAL_SRC_FILES += \ - $(JPG_LIBRARY_PATH)/jaricom.c \ - $(JPG_LIBRARY_PATH)/jcapimin.c \ - $(JPG_LIBRARY_PATH)/jcapistd.c \ - $(JPG_LIBRARY_PATH)/jcarith.c \ - $(JPG_LIBRARY_PATH)/jccoefct.c \ - $(JPG_LIBRARY_PATH)/jccolor.c \ - $(JPG_LIBRARY_PATH)/jcdctmgr.c \ - $(JPG_LIBRARY_PATH)/jchuff.c \ - $(JPG_LIBRARY_PATH)/jcinit.c \ - $(JPG_LIBRARY_PATH)/jcmainct.c \ - $(JPG_LIBRARY_PATH)/jcmarker.c \ - $(JPG_LIBRARY_PATH)/jcmaster.c \ - $(JPG_LIBRARY_PATH)/jcomapi.c \ - $(JPG_LIBRARY_PATH)/jcparam.c \ - $(JPG_LIBRARY_PATH)/jcprepct.c \ - $(JPG_LIBRARY_PATH)/jcsample.c \ - $(JPG_LIBRARY_PATH)/jctrans.c \ - $(JPG_LIBRARY_PATH)/jdapimin.c \ - $(JPG_LIBRARY_PATH)/jdapistd.c \ - $(JPG_LIBRARY_PATH)/jdarith.c \ - $(JPG_LIBRARY_PATH)/jdatadst.c \ - $(JPG_LIBRARY_PATH)/jdatasrc.c \ - $(JPG_LIBRARY_PATH)/jdcoefct.c \ - $(JPG_LIBRARY_PATH)/jdcolor.c \ - $(JPG_LIBRARY_PATH)/jddctmgr.c \ - $(JPG_LIBRARY_PATH)/jdhuff.c \ - $(JPG_LIBRARY_PATH)/jdinput.c \ - $(JPG_LIBRARY_PATH)/jdmainct.c \ - $(JPG_LIBRARY_PATH)/jdmarker.c \ - $(JPG_LIBRARY_PATH)/jdmaster.c \ - $(JPG_LIBRARY_PATH)/jdmerge.c \ - $(JPG_LIBRARY_PATH)/jdpostct.c \ - $(JPG_LIBRARY_PATH)/jdsample.c \ - $(JPG_LIBRARY_PATH)/jdtrans.c \ - $(JPG_LIBRARY_PATH)/jerror.c \ - $(JPG_LIBRARY_PATH)/jfdctflt.c \ - $(JPG_LIBRARY_PATH)/jfdctfst.c \ - $(JPG_LIBRARY_PATH)/jfdctint.c \ - $(JPG_LIBRARY_PATH)/jidctflt.c \ - $(JPG_LIBRARY_PATH)/jidctfst.S \ - $(JPG_LIBRARY_PATH)/jidctint.c \ - $(JPG_LIBRARY_PATH)/jquant1.c \ - $(JPG_LIBRARY_PATH)/jquant2.c \ - $(JPG_LIBRARY_PATH)/jutils.c \ - $(JPG_LIBRARY_PATH)/jmemmgr.c \ - $(JPG_LIBRARY_PATH)/jmem-android.c -endif +LOCAL_MODULE := SDL2_static -ifeq ($(SUPPORT_PNG),true) - LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(PNG_LIBRARY_PATH) - LOCAL_CFLAGS += -DLOAD_PNG - # We can include the sources directly so the user doesn't have to... - #LOCAL_STATIC_LIBRARIES += png - LOCAL_SRC_FILES += \ - $(PNG_LIBRARY_PATH)/png.c \ - $(PNG_LIBRARY_PATH)/pngerror.c \ - $(PNG_LIBRARY_PATH)/pngget.c \ - $(PNG_LIBRARY_PATH)/pngmem.c \ - $(PNG_LIBRARY_PATH)/pngpread.c \ - $(PNG_LIBRARY_PATH)/pngread.c \ - $(PNG_LIBRARY_PATH)/pngrio.c \ - $(PNG_LIBRARY_PATH)/pngrtran.c \ - $(PNG_LIBRARY_PATH)/pngrutil.c \ - $(PNG_LIBRARY_PATH)/pngset.c \ - $(PNG_LIBRARY_PATH)/pngtrans.c \ - $(PNG_LIBRARY_PATH)/pngwio.c \ - $(PNG_LIBRARY_PATH)/pngwrite.c \ - $(PNG_LIBRARY_PATH)/pngwtran.c \ - $(PNG_LIBRARY_PATH)/pngwutil.c - LOCAL_LDLIBS += -lz -endif +LOCAL_MODULE_FILENAME := libSDL2 -ifeq ($(SUPPORT_WEBP),true) - LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(WEBP_LIBRARY_PATH)/src - LOCAL_CFLAGS += -DLOAD_WEBP - LOCAL_STATIC_LIBRARIES += webp -endif +LOCAL_SRC_FILES += $(LOCAL_PATH)/src/main/android/SDL_android_main.c -LOCAL_EXPORT_C_INCLUDES += $(LOCAL_C_INCLUDES) +LOCAL_LDLIBS := +LOCAL_EXPORT_LDLIBS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit -ldl -lGLESv1_CM -lGLESv2 -llog -landroid -include $(BUILD_SHARED_LIBRARY) +include $(BUILD_STATIC_LIBRARY) diff --git a/src/SDL2/COPYING.txt b/src/SDL2/COPYING.txt index eed295df1..391424f79 100644 --- a/src/SDL2/COPYING.txt +++ b/src/SDL2/COPYING.txt @@ -1,20 +1,20 @@ -/* - SDL_image: An example image loading library for use with SDL - Copyright (C) 1997-2013 Sam Lantinga - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. +Simple DirectMedia Layer +Copyright (C) 1997-2013 Sam Lantinga + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ diff --git a/src/SDL2/Makefile.in b/src/SDL2/Makefile.in index 78246d996..da42661c5 100644 --- a/src/SDL2/Makefile.in +++ b/src/SDL2/Makefile.in @@ -1,998 +1,219 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. -# @configure_input@ +# Makefile to build and install the SDL library -# Copyright (C) 1994-2012 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. +top_builddir = . +srcdir = @srcdir@ +objects = build +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +includedir = @includedir@ +datarootdir = @datarootdir@ +datadir = @datadir@ +auxdir = @ac_aux_dir@ +distpath = $(srcdir)/.. +distdir = SDL2-@SDL_VERSION@ +distfile = $(distdir).tar.gz @SET_MAKE@ - -# Makefile.am for the SDL sample image loading library and viewer - - - - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_VERSION_RC_FALSE@libSDL2_image_la_DEPENDENCIES = \ -@USE_VERSION_RC_FALSE@ $(am__DEPENDENCIES_1) -noinst_PROGRAMS = showimage$(EXEEXT) -subdir = . -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/SDL2_image.spec.in $(srcdir)/SDL2_image.pc.in \ - depcomp $(libSDL2_imageinclude_HEADERS) config.guess \ - config.sub install-sh missing ltmain.sh -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude/libtool.m4 \ - $(top_srcdir)/acinclude/ltoptions.m4 \ - $(top_srcdir)/acinclude/ltsugar.m4 \ - $(top_srcdir)/acinclude/ltversion.m4 \ - $(top_srcdir)/acinclude/lt~obsolete.m4 \ - $(top_srcdir)/acinclude/pkg.m4 $(top_srcdir)/acinclude/sdl2.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = SDL2_image.spec SDL2_image.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(libSDL2_imageincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -am__DEPENDENCIES_1 = -am__libSDL2_image_la_SOURCES_DIST = IMG.c IMG_bmp.c IMG_gif.c \ - IMG_jpg.c IMG_lbm.c IMG_pcx.c IMG_png.c IMG_pnm.c IMG_tga.c \ - IMG_tif.c IMG_xcf.c IMG_xpm.c IMG_xv.c IMG_webp.c \ - IMG_ImageIO.m miniz.h -@USE_IMAGEIO_TRUE@am__objects_1 = IMG_ImageIO.lo -am_libSDL2_image_la_OBJECTS = IMG.lo IMG_bmp.lo IMG_gif.lo IMG_jpg.lo \ - IMG_lbm.lo IMG_pcx.lo IMG_png.lo IMG_pnm.lo IMG_tga.lo \ - IMG_tif.lo IMG_xcf.lo IMG_xpm.lo IMG_xv.lo IMG_webp.lo \ - $(am__objects_1) -libSDL2_image_la_OBJECTS = $(am_libSDL2_image_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libSDL2_image_la_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \ - $(OBJCFLAGS) $(libSDL2_image_la_LDFLAGS) $(LDFLAGS) -o $@ -PROGRAMS = $(noinst_PROGRAMS) -showimage_SOURCES = showimage.c -showimage_OBJECTS = showimage.$(OBJEXT) -showimage_DEPENDENCIES = libSDL2_image.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) -LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_OBJCFLAGS) $(OBJCFLAGS) -AM_V_OBJC = $(am__v_OBJC_@AM_V@) -am__v_OBJC_ = $(am__v_OBJC_@AM_DEFAULT_V@) -am__v_OBJC_0 = @echo " OBJC " $@; -am__v_OBJC_1 = -OBJCLD = $(OBJC) -OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_OBJCLD = $(am__v_OBJCLD_@AM_V@) -am__v_OBJCLD_ = $(am__v_OBJCLD_@AM_DEFAULT_V@) -am__v_OBJCLD_0 = @echo " OBJCLD " $@; -am__v_OBJCLD_1 = -SOURCES = $(libSDL2_image_la_SOURCES) showimage.c -DIST_SOURCES = $(am__libSDL2_image_la_SOURCES_DIST) showimage.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -HEADERS = $(libSDL2_imageinclude_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -AM_RECURSIVE_TARGETS = cscope -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BINARY_AGE = @BINARY_AGE@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -IMG_LIBS = @IMG_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTERFACE_AGE = @INTERFACE_AGE@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ -LIBPNG_LIBS = @LIBPNG_LIBS@ -LIBS = @LIBS@ +SHELL = @SHELL@ +CC = @CC@ +INCLUDE = @INCLUDE@ +CFLAGS = @BUILD_CFLAGS@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +LDFLAGS = @BUILD_LDFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ LIBTOOL = @LIBTOOL@ -LIBWEBP_CFLAGS = @LIBWEBP_CFLAGS@ -LIBWEBP_LIBS = @LIBWEBP_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_RELEASE = @LT_RELEASE@ +INSTALL = @INSTALL@ +AR = @AR@ +RANLIB = @RANLIB@ +WINDRES = @WINDRES@ + +TARGET = libSDL2.la +OBJECTS = @OBJECTS@ +VERSION_OBJECTS = @VERSION_OBJECTS@ + +SDLMAIN_TARGET = libSDL2main.a +SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@ + +SDLTEST_TARGET = libSDL2_test.a +SDLTEST_OBJECTS = @SDLTEST_OBJECTS@ + +SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake configure configure.in debian include Makefile.* sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in src test VisualC.html VisualC Xcode Xcode-iOS +GEN_DIST = SDL2.spec + +HDRS = \ + SDL.h \ + SDL_assert.h \ + SDL_atomic.h \ + SDL_audio.h \ + SDL_bits.h \ + SDL_blendmode.h \ + SDL_clipboard.h \ + SDL_cpuinfo.h \ + SDL_endian.h \ + SDL_error.h \ + SDL_events.h \ + SDL_filesystem.h \ + SDL_gamecontroller.h \ + SDL_gesture.h \ + SDL_haptic.h \ + SDL_hints.h \ + SDL_joystick.h \ + SDL_keyboard.h \ + SDL_keycode.h \ + SDL_loadso.h \ + SDL_log.h \ + SDL_main.h \ + SDL_messagebox.h \ + SDL_mouse.h \ + SDL_mutex.h \ + SDL_name.h \ + SDL_opengl.h \ + SDL_opengles.h \ + SDL_opengles2.h \ + SDL_pixels.h \ + SDL_platform.h \ + SDL_power.h \ + SDL_quit.h \ + SDL_rect.h \ + SDL_render.h \ + SDL_rwops.h \ + SDL_scancode.h \ + SDL_shape.h \ + SDL_stdinc.h \ + SDL_surface.h \ + SDL_system.h \ + SDL_syswm.h \ + SDL_thread.h \ + SDL_timer.h \ + SDL_touch.h \ + SDL_types.h \ + SDL_version.h \ + SDL_video.h \ + begin_code.h \ + close_code.h + +SDLTEST_HDRS = $(shell ls $(srcdir)/include | fgrep SDL_test) + +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ -MAJOR_VERSION = @MAJOR_VERSION@ -MAKEINFO = @MAKEINFO@ -MICRO_VERSION = @MICRO_VERSION@ -MINOR_VERSION = @MINOR_VERSION@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -RANLIB = @RANLIB@ -SDL2_CONFIG = @SDL2_CONFIG@ -SDL_CFLAGS = @SDL_CFLAGS@ -SDL_LIBS = @SDL_LIBS@ -SDL_VERSION = @SDL_VERSION@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_OBJC = @ac_ct_OBJC@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -lib_LTLIBRARIES = libSDL2_image.la -libSDL2_imageincludedir = $(includedir)/SDL2 -libSDL2_imageinclude_HEADERS = \ - SDL_image.h - -@USE_IMAGEIO_TRUE@IMAGEIO_SOURCE = IMG_ImageIO.m -libSDL2_image_la_SOURCES = \ - IMG.c \ - IMG_bmp.c \ - IMG_gif.c \ - IMG_jpg.c \ - IMG_lbm.c \ - IMG_pcx.c \ - IMG_png.c \ - IMG_pnm.c \ - IMG_tga.c \ - IMG_tif.c \ - IMG_xcf.c \ - IMG_xpm.c \ - IMG_xv.c \ - IMG_webp.c \ - $(IMAGEIO_SOURCE) \ - miniz.h - -EXTRA_DIST = \ - Android.mk \ - debian \ - external \ - version.rc \ - VisualC \ - VisualCE \ - Xcode \ - Xcode-iOS \ - IMG_xxx.c \ - $(srcdir)/*.m \ - SDL2_image.spec \ - gcc-fat.sh \ - autogen.sh \ - $(srcdir)/*.txt - -@USE_VERSION_RC_FALSE@libSDL2_image_la_LDFLAGS = \ -@USE_VERSION_RC_FALSE@ -no-undefined \ -@USE_VERSION_RC_FALSE@ -release $(LT_RELEASE) \ -@USE_VERSION_RC_FALSE@ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) - -@USE_VERSION_RC_TRUE@libSDL2_image_la_LDFLAGS = \ -@USE_VERSION_RC_TRUE@ -no-undefined \ -@USE_VERSION_RC_TRUE@ -release $(LT_RELEASE) \ -@USE_VERSION_RC_TRUE@ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -Wl,version.o - -@USE_VERSION_RC_FALSE@libSDL2_image_la_LIBADD = $(IMG_LIBS) -@USE_VERSION_RC_TRUE@libSDL2_image_la_LIBADD = $(IMG_LIBS) -@USE_VERSION_RC_TRUE@libSDL2_image_la_DEPENDENCIES = version.o -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = SDL2_image.pc -showimage_LDADD = libSDL2_image.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .m .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck +LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): -SDL2_image.spec: $(top_builddir)/config.status $(srcdir)/SDL2_image.spec.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -SDL2_image.pc: $(top_builddir)/config.status $(srcdir)/SDL2_image.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ +all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET) -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } +$(srcdir)/configure: $(srcdir)/configure.in + @echo "Warning, configure.in is out of date" + #(cd $(srcdir) && sh autogen.sh && sh configure) + @sleep 3 -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libSDL2_image.la: $(libSDL2_image_la_OBJECTS) $(libSDL2_image_la_DEPENDENCIES) $(EXTRA_libSDL2_image_la_DEPENDENCIES) - $(AM_V_OBJCLD)$(libSDL2_image_la_LINK) -rpath $(libdir) $(libSDL2_image_la_OBJECTS) $(libSDL2_image_la_LIBADD) $(LIBS) - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -showimage$(EXEEXT): $(showimage_OBJECTS) $(showimage_DEPENDENCIES) $(EXTRA_showimage_DEPENDENCIES) - @rm -f showimage$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(showimage_OBJECTS) $(showimage_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_ImageIO.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_bmp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_gif.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_jpg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_lbm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_pcx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_png.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_pnm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_tga.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_tif.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_webp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_xcf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_xpm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMG_xv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/showimage.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -.m.o: -@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ $(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepOBJC_FALSE@ $(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ $< - -.m.obj: -@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ $(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepOBJC_FALSE@ $(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.m.lo: -@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ $(AM_V_OBJC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepOBJC_FALSE@ $(AM_V_OBJC@am__nodep@)$(LTOBJCCOMPILE) -c -o $@ $< +Makefile: $(srcdir)/Makefile.in + $(SHELL) config.status $@ -mostlyclean-libtool: - -rm -f *.lo +Makefile.in:; -clean-libtool: - -rm -rf .libs _libs +$(objects): + $(SHELL) $(auxdir)/mkinstalldirs $@ -distclean-libtool: - -rm -f libtool config.lt -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-libSDL2_imageincludeHEADERS: $(libSDL2_imageinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libSDL2_imageinclude_HEADERS)'; test -n "$(libSDL2_imageincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libSDL2_imageincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libSDL2_imageincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libSDL2_imageincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libSDL2_imageincludedir)" || exit $$?; \ - done - -uninstall-libSDL2_imageincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libSDL2_imageinclude_HEADERS)'; test -n "$(libSDL2_imageincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libSDL2_imageincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am +update-revision: + $(SHELL) $(auxdir)/updaterev.sh -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique +.PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d) -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-am +$(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS) + $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files +$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) + $(AR) cru $@ $(SDLMAIN_OBJECTS) + $(RANLIB) $@ -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files +$(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS) + $(AR) cru $@ $(SDLTEST_OBJECTS) + $(RANLIB) $@ -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ +install: all install-bin install-hdrs install-lib install-data +install-bin: + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir) + $(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config +install-hdrs: update-revision + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2 + for file in $(HDRS) $(SDLTEST_HDRS); do \ + $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL2/$$file; \ done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libSDL2_imageincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ + $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL2/SDL_config.h + if test -f include/SDL_revision.h; then \ + $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \ else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \ fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-libSDL2_imageincludeHEADERS \ - install-pkgconfigDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES \ - uninstall-libSDL2_imageincludeHEADERS uninstall-pkgconfigDATA - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ - clean-cscope clean-generic clean-libLTLIBRARIES clean-libtool \ - clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES \ - install-libSDL2_imageincludeHEADERS install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-libLTLIBRARIES uninstall-libSDL2_imageincludeHEADERS \ - uninstall-pkgconfigDATA - - -%.o : %.rc - $(WINDRES) $< $@ - -# Rule to build tar-gzipped distribution package -$(PACKAGE)-$(VERSION).tar.gz: distcheck - -# Rule to build RPM distribution package -rpm: $(PACKAGE)-$(VERSION).tar.gz - rpmbuild -ta $(PACKAGE)-$(VERSION).tar.gz - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: +install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET) + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) + $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) + $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) + $(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) + $(INSTALL) -m 644 $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) + $(RANLIB) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) +install-data: + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal + $(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4 + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig + $(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig + +uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data +uninstall-bin: + rm -f $(DESTDIR)$(bindir)/sdl2-config +uninstall-hdrs: + for file in $(HDRS) $(SDLTEST_HDRS); do \ + rm -f $(DESTDIR)$(includedir)/SDL2/$$file; \ + done + rm -f $(DESTDIR)$(includedir)/SDL2/SDL_config.h + rm -f $(DESTDIR)$(includedir)/SDL2/SDL_revision.h + -rmdir $(DESTDIR)$(includedir)/SDL2 +uninstall-lib: + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET) + rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) + rm -f $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) +uninstall-data: + rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4 + rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc + +clean: + rm -rf $(objects) + if test -f test/Makefile; then (cd test; $(MAKE) $@); fi + +distclean: clean + rm -f Makefile Makefile.rules sdl2-config + rm -f config.status config.cache config.log libtool + rm -rf $(srcdir)/autom4te* + find $(srcdir) \( \ + -name '*~' -o \ + -name '*.bak' -o \ + -name '*.old' -o \ + -name '*.rej' -o \ + -name '*.orig' -o \ + -name '.#*' \) \ + -exec rm -f {} \; + if test -f test/Makefile; then (cd test; $(MAKE) $@); fi + +dist $(distfile): + $(SHELL) $(auxdir)/mkinstalldirs $(distdir) + (cd $(srcdir); tar cf - $(SRC_DIST)) | (cd $(distdir); tar xf -) + tar cf - $(GEN_DIST) | (cd $(distdir); tar xf -) + find $(distdir) \( \ + -name '*~' -o \ + -name '*.bak' -o \ + -name '*.old' -o \ + -name '*.rej' -o \ + -name '*.orig' -o \ + -name '.#*' \) \ + -exec rm -f {} \; + if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi + (cd $(distdir); build-scripts/updaterev.sh) + tar cvf - $(distdir) | gzip --best >$(distfile) + rm -rf $(distdir) + +rpm: $(distfile) + rpmbuild -ta $? diff --git a/src/SDL2/README.txt b/src/SDL2/README.txt index 5e9b5d0b8..681f4a33c 100644 --- a/src/SDL2/README.txt +++ b/src/SDL2/README.txt @@ -1,40 +1,38 @@ -SDL_image 2.0 + Simple DirectMedia Layer -The latest version of this library is available from: -http://www.libsdl.org/projects/SDL_image/ + (SDL) -This is a simple library to load images of various formats as SDL surfaces. -This library supports BMP, PNM (PPM/PGM/PBM), XPM, LBM, PCX, GIF, JPEG, PNG, -TGA, and TIFF formats. + Version 2.0 -API: -#include "SDL_image.h" +--- +http://www.libsdl.org/ - SDL_Surface *IMG_Load(const char *file); -or - SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc); -or - SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type); +Simple DirectMedia Layer is a cross-platform development library designed +to provide low level access to audio, keyboard, mouse, joystick, and graphics +hardware via OpenGL and Direct3D. It is used by video playback software, +emulators, and popular games including Valve's award winning catalog +and many Humble Bundle games. -where type is a string specifying the format (i.e. "PNG" or "pcx"). -Note that IMG_Load_RW cannot load TGA images. +SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. +Support for other platforms may be found in the source code. -To create a surface from an XPM image included in C source, use: +SDL is written in C, works natively with C++, and there are bindings +available for several other languages, including C# and Python. - SDL_Surface *IMG_ReadXPMFromArray(char **xpm); +This library is distributed under the zlib license, which can be found +in the file "COPYING.txt". -An example program 'showimage' is included, with source in showimage.c +The best way to learn how to use SDL is to check out the header files in +the "include" subdirectory and the programs in the "test" subdirectory. +The header files and test programs are well commented and always up to date. +More documentation and FAQs are available online at: + http://wiki.libsdl.org/ -JPEG support requires the JPEG library: http://www.ijg.org/ -PNG support requires the PNG library: http://www.libpng.org/pub/png/libpng.html - and the Zlib library: http://www.gzip.org/zlib/ -TIFF support requires the TIFF library: ftp://ftp.sgi.com/graphics/tiff/ +If you need help with the library, or just want to discuss SDL related +issues, you can join the developers mailing list: + http://www.libsdl.org/mailing-list.php -If you have these libraries installed in non-standard places, you can -try adding those paths to the configure script, e.g. -sh ./configure CPPFLAGS="-I/somewhere/include" LDFLAGS="-L/somewhere/lib" -If this works, you may need to add /somewhere/lib to your LD_LIBRARY_PATH -so shared library loading works correctly. +Enjoy! + Sam Lantinga (slouken@libsdl.org) -This library is under the zlib License, see the file "COPYING.txt" for details. diff --git a/src/SDL2/VisualC/SDL_image_VS2008.sln b/src/SDL2/VisualC/SDL_image_VS2008.sln deleted file mode 100755 index b24ad8066..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2008.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL_image", "SDL_image_VS2008.vcproj", "{2BD5534E-00E2-4BEA-AC96-D9A92EA24696}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "showimage", "showimage\showimage_VS2008.vcproj", "{FEE80C5D-762E-4E57-9BCB-928749E8203F}" - ProjectSection(ProjectDependencies) = postProject - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696} = {2BD5534E-00E2-4BEA-AC96-D9A92EA24696} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.ActiveCfg = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.Build.0 = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.ActiveCfg = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.Build.0 = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.ActiveCfg = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.Build.0 = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.ActiveCfg = Release|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.Build.0 = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.ActiveCfg = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.Build.0 = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.ActiveCfg = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.Build.0 = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.ActiveCfg = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.Build.0 = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.ActiveCfg = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/SDL2/VisualC/SDL_image_VS2008.vcproj b/src/SDL2/VisualC/SDL_image_VS2008.vcproj deleted file mode 100755 index ae0b455b2..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2008.vcproj +++ /dev/null @@ -1,983 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SDL2/VisualC/SDL_image_VS2010.sln b/src/SDL2/VisualC/SDL_image_VS2010.sln deleted file mode 100644 index 081b79320..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2010.sln +++ /dev/null @@ -1,36 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2_image", "SDL_image_VS2010.vcxproj", "{2BD5534E-00E2-4BEA-AC96-D9A92EA24696}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "showimage", "showimage\showimage_VS2010.vcxproj", "{FEE80C5D-762E-4E57-9BCB-928749E8203F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.ActiveCfg = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.Build.0 = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.ActiveCfg = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.Build.0 = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.ActiveCfg = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.Build.0 = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.ActiveCfg = Release|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.Build.0 = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.ActiveCfg = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.Build.0 = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.ActiveCfg = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.Build.0 = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.ActiveCfg = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.Build.0 = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.ActiveCfg = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/SDL2/VisualC/SDL_image_VS2010.vcxproj b/src/SDL2/VisualC/SDL_image_VS2010.vcxproj deleted file mode 100644 index 5adf296ba..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2010.vcxproj +++ /dev/null @@ -1,398 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - SDL2_image - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696} - SDL2_image - - - - DynamicLibrary - false - - - DynamicLibrary - false - - - DynamicLibrary - false - - - DynamicLibrary - false - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - .\Debug\ - .\Debug\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - .\Release\ - .\Release\ - false - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/SDL2_image.tlb - - - - - Disabled - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - .\Debug/SDL2_image.pch - Level3 - true - EditAndContinue - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - .\Debug/SDL2_image.pdb - Windows - MachineX86 - - - true - .\Debug/SDL2_image.bsc - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/SDL2_image.tlb - - - - - Disabled - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - .\Debug/SDL2_image.pch - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - .\Debug/SDL2_image.pdb - Windows - MachineX64 - - - true - .\Debug/SDL2_image.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/SDL2_image.tlb - - - - - MaxSpeed - OnlyExplicitInline - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - .\Release/SDL2_image.pch - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - .\Release/SDL2_image.pdb - Windows - MachineX86 - - - true - .\Release/SDL2_image.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/SDL2_image.tlb - - - - - MaxSpeed - OnlyExplicitInline - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - .\Release/SDL2_image.pch - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - .\Release/SDL2_image.pdb - Windows - MachineX64 - - - true - .\Release/SDL2_image.bsc - - - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - - - - - - - - - - - - - diff --git a/src/SDL2/VisualC/SDL_image_VS2012.sln b/src/SDL2/VisualC/SDL_image_VS2012.sln deleted file mode 100644 index e3c52fcb2..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2012.sln +++ /dev/null @@ -1,36 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2_image", "SDL_image_VS2012.vcxproj", "{2BD5534E-00E2-4BEA-AC96-D9A92EA24696}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "showimage", "showimage\showimage_VS2012.vcxproj", "{FEE80C5D-762E-4E57-9BCB-928749E8203F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.ActiveCfg = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|Win32.Build.0 = Debug|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.ActiveCfg = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Debug|x64.Build.0 = Debug|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.ActiveCfg = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|Win32.Build.0 = Release|Win32 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.ActiveCfg = Release|x64 - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696}.Release|x64.Build.0 = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.ActiveCfg = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|Win32.Build.0 = Debug|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.ActiveCfg = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Debug|x64.Build.0 = Debug|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.ActiveCfg = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|Win32.Build.0 = Release|Win32 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.ActiveCfg = Release|x64 - {FEE80C5D-762E-4E57-9BCB-928749E8203F}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/SDL2/VisualC/SDL_image_VS2012.vcxproj b/src/SDL2/VisualC/SDL_image_VS2012.vcxproj deleted file mode 100644 index f0bd876ea..000000000 --- a/src/SDL2/VisualC/SDL_image_VS2012.vcxproj +++ /dev/null @@ -1,394 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - SDL2_image - {2BD5534E-00E2-4BEA-AC96-D9A92EA24696} - SDL2_image - - - - DynamicLibrary - false - v110 - - - DynamicLibrary - false - v110 - - - DynamicLibrary - false - v110 - - - DynamicLibrary - false - v110 - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - false - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/SDL2_image.tlb - - - - - Disabled - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - Level3 - true - EditAndContinue - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - Windows - MachineX86 - - - true - .\Debug/SDL2_image.bsc - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/SDL2_image.tlb - - - - - Disabled - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - Windows - MachineX64 - - - true - .\Debug/SDL2_image.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/SDL2_image.tlb - - - - - MaxSpeed - OnlyExplicitInline - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - Windows - MachineX86 - - - true - .\Release/SDL2_image.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/SDL2_image.tlb - - - - - MaxSpeed - OnlyExplicitInline - ..\..\SDL\include;external\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_WINDOWS;LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_JPG_DYNAMIC="libjpeg-9.dll";LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNG_DYNAMIC="libpng16-16.dll";LOAD_PNM;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-4.dll";LOAD_XPM;LOAD_XV;PNG_USE_DLL;ZLIB_DLL;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - Windows - MachineX64 - - - true - .\Release/SDL2_image.bsc - - - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - - - - - - - - - - - - - diff --git a/src/SDL2/VisualC/Version.rc b/src/SDL2/VisualC/Version.rc deleted file mode 100755 index f96620822..000000000 --- a/src/SDL2/VisualC/Version.rc +++ /dev/null @@ -1,105 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winresrc.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,0,0 - PRODUCTVERSION 2,0,0,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "\0" - VALUE "FileDescription", "SDL_image\0" - VALUE "FileVersion", "2, 0, 0, 0\0" - VALUE "InternalName", "SDL_image\0" - VALUE "LegalCopyright", "Copyright © 2013 Sam Lantinga\0" - VALUE "OriginalFilename", "SDL_image.dll\0" - VALUE "ProductName", "Simple DirectMedia Layer\0" - VALUE "ProductVersion", "2, 0, 0, 0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/src/SDL2/VisualC/clean.sh b/src/SDL2/VisualC/clean.sh index 376506193..f90a11e97 100755 --- a/src/SDL2/VisualC/clean.sh +++ b/src/SDL2/VisualC/clean.sh @@ -1,6 +1,5 @@ -find . -depth -type d -name 'Debug' -exec rm -rv {} \; -find . -depth -type d -name 'Release' -exec rm -rv {} \; -find . -depth -type d -name 'x64' -empty -exec rmdir {} \; +find . -type d -name 'Debug' -exec rm -rv {} \; +find . -type d -name 'Release' -exec rm -rv {} \; find . -type f -name '*.user' -exec rm -v {} \; find . -type f -name '*.ncb' -exec rm -v {} \; find . -type f -name '*.suo' -exec rm -v {} \; diff --git a/src/SDL2/VisualC/external/include/jconfig.h b/src/SDL2/VisualC/external/include/jconfig.h deleted file mode 100755 index 966b1d514..000000000 --- a/src/SDL2/VisualC/external/include/jconfig.h +++ /dev/null @@ -1,54 +0,0 @@ -/* jconfig.h. Generated from jconfig.cfg by configure. */ -/* jconfig.cfg --- source file edited by configure script */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES 1 -#define HAVE_UNSIGNED_CHAR 1 -#define HAVE_UNSIGNED_SHORT 1 -/* #undef void */ -/* #undef const */ -/* #undef CHAR_IS_UNSIGNED */ -#define HAVE_STDDEF_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_LOCALE_H 1 -/* #undef NEED_BSD_STRINGS */ -/* #undef NEED_SYS_TYPES_H */ -/* #undef NEED_FAR_POINTERS */ -/* #undef NEED_SHORT_EXTERNAL_NAMES */ -/* Define this if you get warnings about undefined structures. */ -/* #undef INCOMPLETE_TYPES_BROKEN */ - -/* Define "boolean" as unsigned char, not int, on Windows systems. */ -#ifdef _WIN32 -#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ -typedef unsigned char boolean; -#endif -#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ -#endif - -#ifdef JPEG_INTERNALS - -/* #undef RIGHT_SHIFT_IS_UNSIGNED */ -#define INLINE __inline__ -/* These are for configuring the JPEG memory manager. */ -/* #undef DEFAULT_MAX_MEM */ -/* #undef NO_MKTEMP */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -/* #undef RLE_SUPPORTED */ -#define TARGA_SUPPORTED /* Targa image file format */ - -/* #undef TWO_FILE_COMMANDLINE */ -/* #undef NEED_SIGNAL_CATCHER */ -/* #undef DONT_USE_B_MODE */ - -/* Define this if you want percent-done progress reports from cjpeg/djpeg. */ -/* #undef PROGRESS_REPORT */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/src/SDL2/VisualC/external/include/jerror.h b/src/SDL2/VisualC/external/include/jerror.h deleted file mode 100755 index a4b661f71..000000000 --- a/src/SDL2/VisualC/external/include/jerror.h +++ /dev/null @@ -1,304 +0,0 @@ -/* - * jerror.h - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * Modified 1997-2012 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the error and message codes for the JPEG library. - * Edit this file to add new codes, or to translate the message strings to - * some other language. - * A set of error-reporting macros are defined too. Some applications using - * the JPEG library may wish to include this file to get the error codes - * and/or the macros. - */ - -/* - * To define the enum list of message codes, include this file without - * defining macro JMESSAGE. To create a message string table, include it - * again with a suitable JMESSAGE definition (see jerror.c for an example). - */ -#ifndef JMESSAGE -#ifndef JERROR_H -/* First time through, define the enum list */ -#define JMAKE_ENUM_LIST -#else -/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ -#define JMESSAGE(code,string) -#endif /* JERROR_H */ -#endif /* JMESSAGE */ - -#ifdef JMAKE_ENUM_LIST - -typedef enum { - -#define JMESSAGE(code,string) code , - -#endif /* JMAKE_ENUM_LIST */ - -JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */ - -/* For maintenance convenience, list is alphabetical by message code name */ -JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix") -JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") -JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") -JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") -JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") -JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range") -JMESSAGE(JERR_BAD_DCTSIZE, "DCT scaled block size %dx%d not supported") -JMESSAGE(JERR_BAD_DROP_SAMPLING, - "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") -JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") -JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace") -JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace") -JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length") -JMESSAGE(JERR_BAD_LIB_VERSION, - "Wrong JPEG library version: library is %d, caller expects %d") -JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan") -JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d") -JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d") -JMESSAGE(JERR_BAD_PROGRESSION, - "Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d") -JMESSAGE(JERR_BAD_PROG_SCRIPT, - "Invalid progressive parameters at scan script entry %d") -JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors") -JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d") -JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d") -JMESSAGE(JERR_BAD_STRUCT_SIZE, - "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u") -JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access") -JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small") -JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here") -JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet") -JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d") -JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request") -JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d") -JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x") -JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d") -JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d") -JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)") -JMESSAGE(JERR_EMS_READ, "Read from EMS failed") -JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed") -JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan") -JMESSAGE(JERR_FILE_READ, "Input file read error") -JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?") -JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet") -JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow") -JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry") -JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels") -JMESSAGE(JERR_INPUT_EMPTY, "Empty input file") -JMESSAGE(JERR_INPUT_EOF, "Premature end of input file") -JMESSAGE(JERR_MISMATCHED_QUANT_TABLE, - "Cannot transcode due to multiple use of quantization table %d") -JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data") -JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change") -JMESSAGE(JERR_NOTIMPL, "Not implemented yet") -JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time") -JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined") -JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported") -JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined") -JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image") -JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined") -JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x") -JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)") -JMESSAGE(JERR_QUANT_COMPONENTS, - "Cannot quantize more than %d color components") -JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") -JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") -JMESSAGE(JERR_SOF_BEFORE, "Invalid JPEG file structure: %s before SOF") -JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") -JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") -JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") -JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") -JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") -JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") -JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") -JMESSAGE(JERR_TFILE_WRITE, - "Write failed on temporary file --- out of disk space?") -JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines") -JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x") -JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up") -JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation") -JMESSAGE(JERR_XMS_READ, "Read from XMS failed") -JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed") -JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT) -JMESSAGE(JMSG_VERSION, JVERSION) -JMESSAGE(JTRC_16BIT_TABLES, - "Caution: quantization tables are too coarse for baseline JPEG") -JMESSAGE(JTRC_ADOBE, - "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d") -JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u") -JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u") -JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x") -JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x") -JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d") -JMESSAGE(JTRC_DRI, "Define Restart Interval %u") -JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u") -JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u") -JMESSAGE(JTRC_EOI, "End Of Image") -JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d") -JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d") -JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE, - "Warning: thumbnail image size does not match data length %u") -JMESSAGE(JTRC_JFIF_EXTENSION, - "JFIF extension marker: type 0x%02x, length %u") -JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image") -JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u") -JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x") -JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u") -JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors") -JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors") -JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization") -JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d") -JMESSAGE(JTRC_RST, "RST%d") -JMESSAGE(JTRC_SMOOTH_NOTIMPL, - "Smoothing not supported with nonstandard sampling ratios") -JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d") -JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d") -JMESSAGE(JTRC_SOI, "Start of Image") -JMESSAGE(JTRC_SOS, "Start Of Scan: %d components") -JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d") -JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d") -JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s") -JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s") -JMESSAGE(JTRC_THUMB_JPEG, - "JFIF extension marker: JPEG-compressed thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_PALETTE, - "JFIF extension marker: palette thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_RGB, - "JFIF extension marker: RGB thumbnail image, length %u") -JMESSAGE(JTRC_UNKNOWN_IDS, - "Unrecognized component IDs %d %d %d, assuming YCbCr") -JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u") -JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u") -JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d") -JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code") -JMESSAGE(JWRN_BOGUS_PROGRESSION, - "Inconsistent progression sequence for component %d coefficient %d") -JMESSAGE(JWRN_EXTRANEOUS_DATA, - "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x") -JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment") -JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code") -JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d") -JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file") -JMESSAGE(JWRN_MUST_RESYNC, - "Corrupt JPEG data: found marker 0x%02x instead of RST%d") -JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG") -JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines") - -#ifdef JMAKE_ENUM_LIST - - JMSG_LASTMSGCODE -} J_MESSAGE_CODE; - -#undef JMAKE_ENUM_LIST -#endif /* JMAKE_ENUM_LIST */ - -/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ -#undef JMESSAGE - - -#ifndef JERROR_H -#define JERROR_H - -/* Macros to simplify using the error and trace message stuff */ -/* The first parameter is either type of cinfo pointer */ - -/* Fatal errors (print message and exit) */ -#define ERREXIT(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT3(cinfo,code,p1,p2,p3) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT6(cinfo,code,p1,p2,p3,p4,p5,p6) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (cinfo)->err->msg_parm.i[4] = (p5), \ - (cinfo)->err->msg_parm.i[5] = (p6), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXITS(cinfo,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) - -#define MAKESTMT(stuff) do { stuff } while (0) - -/* Nonfatal errors (we can keep going, but the data is probably corrupt) */ -#define WARNMS(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) - -/* Informational/debugging messages */ -#define TRACEMS(cinfo,lvl,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS1(cinfo,lvl,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS2(cinfo,lvl,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMSS(cinfo,lvl,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) - -#endif /* JERROR_H */ diff --git a/src/SDL2/VisualC/external/include/jmorecfg.h b/src/SDL2/VisualC/external/include/jmorecfg.h deleted file mode 100755 index 2407edbef..000000000 --- a/src/SDL2/VisualC/external/include/jmorecfg.h +++ /dev/null @@ -1,390 +0,0 @@ -/* - * jmorecfg.h - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 1997-2012 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains additional configuration options that customize the - * JPEG software for special applications or support machine-dependent - * optimizations. Most users will not need to touch this file. - */ - - -/* - * Define BITS_IN_JSAMPLE as either - * 8 for 8-bit sample values (the usual setting) - * 12 for 12-bit sample values - * Only 8 and 12 are legal data precisions for lossy JPEG according to the - * JPEG standard, and the IJG code does not support anything else! - * We do not support run-time selection of data precision, sorry. - */ - -#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ - - -/* - * Maximum number of components (color channels) allowed in JPEG image. - * To meet the letter of the JPEG spec, set this to 255. However, darn - * few applications need more than 4 channels (maybe 5 for CMYK + alpha - * mask). We recommend 10 as a reasonable compromise; use 4 if you are - * really short on memory. (Each allowed component costs a hundred or so - * bytes of storage, whether actually used in an image or not.) - */ - -#define MAX_COMPONENTS 10 /* maximum number of image components */ - - -/* - * Basic data types. - * You may need to change these if you have a machine with unusual data - * type sizes; for example, "char" not 8 bits, "short" not 16 bits, - * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, - * but it had better be at least 16. - */ - -/* Representation of a single sample (pixel element value). - * We frequently allocate large arrays of these, so it's important to keep - * them small. But if you have memory to burn and access to char or short - * arrays is very slow on your hardware, you might want to change these. - */ - -#if BITS_IN_JSAMPLE == 8 -/* JSAMPLE should be the smallest type that will hold the values 0..255. - * You can use a signed char by having GETJSAMPLE mask it with 0xFF. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JSAMPLE; -#ifdef CHAR_IS_UNSIGNED -#define GETJSAMPLE(value) ((int) (value)) -#else -#define GETJSAMPLE(value) ((int) (value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - -#define MAXJSAMPLE 255 -#define CENTERJSAMPLE 128 - -#endif /* BITS_IN_JSAMPLE == 8 */ - - -#if BITS_IN_JSAMPLE == 12 -/* JSAMPLE should be the smallest type that will hold the values 0..4095. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 4095 -#define CENTERJSAMPLE 2048 - -#endif /* BITS_IN_JSAMPLE == 12 */ - - -/* Representation of a DCT frequency coefficient. - * This should be a signed value of at least 16 bits; "short" is usually OK. - * Again, we allocate large arrays of these, but you can change to int - * if you have memory to burn and "short" is really slow. - */ - -typedef short JCOEF; - - -/* Compressed datastreams are represented as arrays of JOCTET. - * These must be EXACTLY 8 bits wide, at least once they are written to - * external storage. Note that when using the stdio data source/destination - * managers, this is also the data type passed to fread/fwrite. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JOCTET; -#define GETJOCTET(value) (value) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JOCTET; -#ifdef CHAR_IS_UNSIGNED -#define GETJOCTET(value) (value) -#else -#define GETJOCTET(value) ((value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - - -/* These typedefs are used for various table entries and so forth. - * They must be at least as wide as specified; but making them too big - * won't cost a huge amount of memory, so we don't provide special - * extraction code like we did for JSAMPLE. (In other words, these - * typedefs live at a different point on the speed/space tradeoff curve.) - */ - -/* UINT8 must hold at least the values 0..255. */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char UINT8; -#else /* not HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char UINT8; -#else /* not CHAR_IS_UNSIGNED */ -typedef short UINT8; -#endif /* CHAR_IS_UNSIGNED */ -#endif /* HAVE_UNSIGNED_CHAR */ - -/* UINT16 must hold at least the values 0..65535. */ - -#ifdef HAVE_UNSIGNED_SHORT -typedef unsigned short UINT16; -#else /* not HAVE_UNSIGNED_SHORT */ -typedef unsigned int UINT16; -#endif /* HAVE_UNSIGNED_SHORT */ - -/* INT16 must hold at least the values -32768..32767. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ -typedef short INT16; -#endif - -/* INT32 must hold at least signed 32-bit values. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ -#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ -#ifndef _BASETSD_H /* MinGW is slightly different */ -#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ -typedef long INT32; -#endif -#endif -#endif -#endif - -/* Datatype used for image dimensions. The JPEG standard only supports - * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore - * "unsigned int" is sufficient on all machines. However, if you need to - * handle larger images and you don't mind deviating from the spec, you - * can change this datatype. - */ - -typedef unsigned int JDIMENSION; - -#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ - - -/* These macros are used in all function definitions and extern declarations. - * You could modify them if you need to change function linkage conventions; - * in particular, you'll need to do that to make the library a Windows DLL. - * Another application is to make all functions global for use with debuggers - * or code profilers that require it. - */ - -/* a function called through method pointers: */ -#define METHODDEF(type) static type -/* a function used only in its module: */ -#define LOCAL(type) static type -/* a function referenced thru EXTERNs: */ -#define GLOBAL(type) type -/* a reference to a GLOBAL function: */ -#define EXTERN(type) extern type - - -/* This macro is used to declare a "method", that is, a function pointer. - * We want to supply prototype parameters if the compiler can cope. - * Note that the arglist parameter must be parenthesized! - * Again, you can customize this if you need special linkage keywords. - */ - -#ifdef HAVE_PROTOTYPES -#define JMETHOD(type,methodname,arglist) type (*methodname) arglist -#else -#define JMETHOD(type,methodname,arglist) type (*methodname) () -#endif - - -/* The noreturn type identifier is used to declare functions - * which cannot return. - * Compilers can thus create more optimized code and perform - * better checks for warnings and errors. - * Static analyzer tools can make improved inferences about - * execution paths and are prevented from giving false alerts. - * - * Unfortunately, the proposed specifications of corresponding - * extensions in the Dec 2011 ISO C standard revision (C11), - * GCC, MSVC, etc. are not viable. - * Thus we introduce a user defined type to declare noreturn - * functions at least for clarity. A proper compiler would - * have a suitable noreturn type to match in place of void. - */ - -#ifndef HAVE_NORETURN_T -typedef void noreturn_t; -#endif - - -/* Here is the pseudo-keyword for declaring pointers that must be "far" - * on 80x86 machines. Most of the specialized coding for 80x86 is handled - * by just saying "FAR *" where such a pointer is needed. In a few places - * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. - */ - -#ifndef FAR -#ifdef NEED_FAR_POINTERS -#define FAR far -#else -#define FAR -#endif -#endif - - -/* - * On a few systems, type boolean and/or its values FALSE, TRUE may appear - * in standard header files. Or you may have conflicts with application- - * specific header files that you want to include together with these files. - * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. - */ - -#ifdef HAVE_BOOLEAN -#ifndef FALSE /* in case these macros already exist */ -#define FALSE 0 /* values of boolean */ -#endif -#ifndef TRUE -#define TRUE 1 -#endif -#else -typedef enum { FALSE = 0, TRUE = 1 } boolean; -#endif - - -/* - * The remaining options affect code selection within the JPEG library, - * but they don't need to be visible to most applications using the library. - * To minimize application namespace pollution, the symbols won't be - * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. - */ - -#ifdef JPEG_INTERNALS -#define JPEG_INTERNAL_OPTIONS -#endif - -#ifdef JPEG_INTERNAL_OPTIONS - - -/* - * These defines indicate whether to include various optional functions. - * Undefining some of these symbols will produce a smaller but less capable - * library. Note that you can leave certain source files out of the - * compilation/linking process if you've #undef'd the corresponding symbols. - * (You may HAVE to do that if your compiler doesn't like null source files.) - */ - -/* Capability options common to encoder and decoder: */ - -#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ -#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ -#define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ - -/* Encoder capability options: */ - -#define C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ -#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ -/* Note: if you selected 12-bit data precision, it is dangerous to turn off - * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit - * precision, so jchuff.c normally uses entropy optimization to compute - * usable tables for higher precision. If you don't want to do optimization, - * you'll have to supply different default Huffman tables. - * The exact same statements apply for progressive JPEG: the default tables - * don't work for progressive mode. (This may get fixed, however.) - */ -#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ - -/* Decoder capability options: */ - -#define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ -#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ -#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ -#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ -#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ -#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ -#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ - -/* more capability options later, no doubt */ - - -/* - * Ordering of RGB data in scanlines passed to or from the application. - * If your application wants to deal with data in the order B,G,R, just - * change these macros. You can also deal with formats such as R,G,B,X - * (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing - * the offsets will also change the order in which colormap data is organized. - * RESTRICTIONS: - * 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats. - * 2. The color quantizer modules will not behave desirably if RGB_PIXELSIZE - * is not 3 (they don't understand about dummy color components!). So you - * can't use color quantization if you change that value. - */ - -#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ -#define RGB_GREEN 1 /* Offset of Green */ -#define RGB_BLUE 2 /* Offset of Blue */ -#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ - - -/* Definitions for speed-related optimizations. */ - - -/* If your compiler supports inline functions, define INLINE - * as the inline keyword; otherwise define it as empty. - */ - -#ifndef INLINE -#ifdef __GNUC__ /* for instance, GNU C knows about inline */ -#define INLINE __inline__ -#endif -#ifndef INLINE -#define INLINE /* default is to define it as empty */ -#endif -#endif - - -/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying - * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER - * as short on such a machine. MULTIPLIER must be at least 16 bits wide. - */ - -#ifndef MULTIPLIER -#define MULTIPLIER int /* type for fastest integer multiply */ -#endif - - -/* FAST_FLOAT should be either float or double, whichever is done faster - * by your compiler. (Note that this type is only used in the floating point - * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) - * Typically, float is faster in ANSI C compilers, while double is faster in - * pre-ANSI compilers (because they insist on converting to double anyway). - * The code below therefore chooses float if we have ANSI-style prototypes. - */ - -#ifndef FAST_FLOAT -#ifdef HAVE_PROTOTYPES -#define FAST_FLOAT float -#else -#define FAST_FLOAT double -#endif -#endif - -#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/src/SDL2/VisualC/external/include/jpeglib.h b/src/SDL2/VisualC/external/include/jpeglib.h deleted file mode 100755 index 0a6dac44c..000000000 --- a/src/SDL2/VisualC/external/include/jpeglib.h +++ /dev/null @@ -1,1173 +0,0 @@ -/* - * jpeglib.h - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modified 2002-2012 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the application interface for the JPEG library. - * Most applications using the library need only include this file, - * and perhaps jerror.h if they want to know the exact error codes. - */ - -#ifndef JPEGLIB_H -#define JPEGLIB_H - -/* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be - * generated automatically for many systems. jmorecfg.h contains - * manual configuration options that most people need not worry about. - */ - -#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ -#include "jconfig.h" /* widely used configuration options */ -#endif -#include "jmorecfg.h" /* seldom changed options */ - - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -extern "C" { -#endif -#endif - -/* Version IDs for the JPEG library. - * Might be useful for tests like "#if JPEG_LIB_VERSION >= 90". - */ - -#define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */ -#define JPEG_LIB_VERSION_MAJOR 9 -#define JPEG_LIB_VERSION_MINOR 0 - - -/* Various constants determining the sizes of things. - * All of these are specified by the JPEG standard, so don't change them - * if you want to be compatible. - */ - -#define DCTSIZE 8 /* The basic DCT block is 8x8 coefficients */ -#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ -#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ -#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ -#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ -#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ -#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ -/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; - * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. - * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU - * to handle it. We even let you do this from the jconfig.h file. However, - * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe - * sometimes emits noncompliant files doesn't mean you should too. - */ -#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on blocks per MCU */ -#ifndef D_MAX_BLOCKS_IN_MCU -#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on blocks per MCU */ -#endif - - -/* Data structures for images (arrays of samples and of DCT coefficients). - * On 80x86 machines, the image arrays are too big for near pointers, - * but the pointer arrays can fit in near memory. - */ - -typedef JSAMPLE FAR *JSAMPROW; /* ptr to one image row of pixel samples. */ -typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ -typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ - -typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ -typedef JBLOCK FAR *JBLOCKROW; /* pointer to one row of coefficient blocks */ -typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ -typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ - -typedef JCOEF FAR *JCOEFPTR; /* useful in a couple of places */ - - -/* Types for JPEG compression parameters and working tables. */ - - -/* DCT coefficient quantization tables. */ - -typedef struct { - /* This array gives the coefficient quantizers in natural array order - * (not the zigzag order in which they are stored in a JPEG DQT marker). - * CAUTION: IJG versions prior to v6a kept this array in zigzag order. - */ - UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JQUANT_TBL; - - -/* Huffman coding tables. */ - -typedef struct { - /* These two fields directly represent the contents of a JPEG DHT marker */ - UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ - /* length k bits; bits[0] is unused */ - UINT8 huffval[256]; /* The symbols, in order of incr code length */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JHUFF_TBL; - - -/* Basic info about one component (color channel). */ - -typedef struct { - /* These values are fixed over the whole image. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOF marker. */ - int component_id; /* identifier for this component (0..255) */ - int component_index; /* its index in SOF or cinfo->comp_info[] */ - int h_samp_factor; /* horizontal sampling factor (1..4) */ - int v_samp_factor; /* vertical sampling factor (1..4) */ - int quant_tbl_no; /* quantization table selector (0..3) */ - /* These values may vary between scans. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOS marker. */ - /* The decompressor output side may not use these variables. */ - int dc_tbl_no; /* DC entropy table selector (0..3) */ - int ac_tbl_no; /* AC entropy table selector (0..3) */ - - /* Remaining fields should be treated as private by applications. */ - - /* These values are computed during compression or decompression startup: */ - /* Component's size in DCT blocks. - * Any dummy blocks added to complete an MCU are not counted; therefore - * these values do not depend on whether a scan is interleaved or not. - */ - JDIMENSION width_in_blocks; - JDIMENSION height_in_blocks; - /* Size of a DCT block in samples, - * reflecting any scaling we choose to apply during the DCT step. - * Values from 1 to 16 are supported. - * Note that different components may receive different DCT scalings. - */ - int DCT_h_scaled_size; - int DCT_v_scaled_size; - /* The downsampled dimensions are the component's actual, unpadded number - * of samples at the main buffer (preprocessing/compression interface); - * DCT scaling is included, so - * downsampled_width = ceil(image_width * Hi/Hmax * DCT_h_scaled_size/DCTSIZE) - * and similarly for height. - */ - JDIMENSION downsampled_width; /* actual width in samples */ - JDIMENSION downsampled_height; /* actual height in samples */ - /* This flag is used only for decompression. In cases where some of the - * components will be ignored (eg grayscale output from YCbCr image), - * we can skip most computations for the unused components. - */ - boolean component_needed; /* do we need the value of this component? */ - - /* These values are computed before starting a scan of the component. */ - /* The decompressor output side may not use these variables. */ - int MCU_width; /* number of blocks per MCU, horizontally */ - int MCU_height; /* number of blocks per MCU, vertically */ - int MCU_blocks; /* MCU_width * MCU_height */ - int MCU_sample_width; /* MCU width in samples: MCU_width * DCT_h_scaled_size */ - int last_col_width; /* # of non-dummy blocks across in last MCU */ - int last_row_height; /* # of non-dummy blocks down in last MCU */ - - /* Saved quantization table for component; NULL if none yet saved. - * See jdinput.c comments about the need for this information. - * This field is currently used only for decompression. - */ - JQUANT_TBL * quant_table; - - /* Private per-component storage for DCT or IDCT subsystem. */ - void * dct_table; -} jpeg_component_info; - - -/* The script for encoding a multiple-scan file is an array of these: */ - -typedef struct { - int comps_in_scan; /* number of components encoded in this scan */ - int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ - int Ss, Se; /* progressive JPEG spectral selection parms */ - int Ah, Al; /* progressive JPEG successive approx. parms */ -} jpeg_scan_info; - -/* The decompressor can save APPn and COM markers in a list of these: */ - -typedef struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr; - -struct jpeg_marker_struct { - jpeg_saved_marker_ptr next; /* next in list, or NULL */ - UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ - unsigned int original_length; /* # bytes of data in the file */ - unsigned int data_length; /* # bytes of data saved at data[] */ - JOCTET FAR * data; /* the data contained in the marker */ - /* the marker length word is not counted in data_length or original_length */ -}; - -/* Known color spaces. */ - -typedef enum { - JCS_UNKNOWN, /* error/unspecified */ - JCS_GRAYSCALE, /* monochrome */ - JCS_RGB, /* red/green/blue */ - JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ - JCS_CMYK, /* C/M/Y/K */ - JCS_YCCK /* Y/Cb/Cr/K */ -} J_COLOR_SPACE; - -/* Supported color transforms. */ - -typedef enum { - JCT_NONE = 0, - JCT_SUBTRACT_GREEN = 1 -} J_COLOR_TRANSFORM; - -/* DCT/IDCT algorithm options. */ - -typedef enum { - JDCT_ISLOW, /* slow but accurate integer algorithm */ - JDCT_IFAST, /* faster, less accurate integer method */ - JDCT_FLOAT /* floating-point: accurate, fast on fast HW */ -} J_DCT_METHOD; - -#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ -#define JDCT_DEFAULT JDCT_ISLOW -#endif -#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ -#define JDCT_FASTEST JDCT_IFAST -#endif - -/* Dithering options for decompression. */ - -typedef enum { - JDITHER_NONE, /* no dithering */ - JDITHER_ORDERED, /* simple ordered dither */ - JDITHER_FS /* Floyd-Steinberg error diffusion dither */ -} J_DITHER_MODE; - - -/* Common fields between JPEG compression and decompression master structs. */ - -#define jpeg_common_fields \ - struct jpeg_error_mgr * err; /* Error handler module */\ - struct jpeg_memory_mgr * mem; /* Memory manager module */\ - struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\ - void * client_data; /* Available for use by application */\ - boolean is_decompressor; /* So common code can tell which is which */\ - int global_state /* For checking call sequence validity */ - -/* Routines that are to be used by both halves of the library are declared - * to receive a pointer to this structure. There are no actual instances of - * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. - */ -struct jpeg_common_struct { - jpeg_common_fields; /* Fields common to both master struct types */ - /* Additional fields follow in an actual jpeg_compress_struct or - * jpeg_decompress_struct. All three structs must agree on these - * initial fields! (This would be a lot cleaner in C++.) - */ -}; - -typedef struct jpeg_common_struct * j_common_ptr; -typedef struct jpeg_compress_struct * j_compress_ptr; -typedef struct jpeg_decompress_struct * j_decompress_ptr; - - -/* Master record for a compression instance */ - -struct jpeg_compress_struct { - jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ - - /* Destination for compressed data */ - struct jpeg_destination_mgr * dest; - - /* Description of source image --- these fields must be filled in by - * outer application before starting compression. in_color_space must - * be correct before you can even call jpeg_set_defaults(). - */ - - JDIMENSION image_width; /* input image width */ - JDIMENSION image_height; /* input image height */ - int input_components; /* # of color components in input image */ - J_COLOR_SPACE in_color_space; /* colorspace of input image */ - - double input_gamma; /* image gamma of input image */ - - /* Compression parameters --- these fields must be set before calling - * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to - * initialize everything to reasonable defaults, then changing anything - * the application specifically wants to change. That way you won't get - * burnt when new parameters are added. Also note that there are several - * helper routines to simplify changing parameters. - */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - JDIMENSION jpeg_width; /* scaled JPEG image width */ - JDIMENSION jpeg_height; /* scaled JPEG image height */ - /* Dimensions of actual JPEG image that will be written to file, - * derived from input dimensions by scaling factors above. - * These fields are computed by jpeg_start_compress(). - * You can also use jpeg_calc_jpeg_dimensions() to determine these values - * in advance of calling jpeg_start_compress(). - */ - - int data_precision; /* bits of precision in image data */ - - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - int q_scale_factor[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined, - * and corresponding scale factors (percentage, initialized 100). - */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - int num_scans; /* # of entries in scan_info array */ - const jpeg_scan_info * scan_info; /* script for multi-scan file, or NULL */ - /* The default value of scan_info is NULL, which causes a single-scan - * sequential JPEG file to be emitted. To create a multi-scan file, - * set num_scans and scan_info to point to an array of scan definitions. - */ - - boolean raw_data_in; /* TRUE=caller supplies downsampled data */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - boolean do_fancy_downsampling; /* TRUE=apply fancy downsampling */ - int smoothing_factor; /* 1..100, or 0 for no input smoothing */ - J_DCT_METHOD dct_method; /* DCT algorithm selector */ - - /* The restart interval can be specified in absolute MCUs by setting - * restart_interval, or in MCU rows by setting restart_in_rows - * (in which case the correct restart_interval will be figured - * for each scan). - */ - unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ - int restart_in_rows; /* if > 0, MCU rows per restart interval */ - - /* Parameters controlling emission of special markers. */ - - boolean write_JFIF_header; /* should a JFIF marker be written? */ - UINT8 JFIF_major_version; /* What to write for the JFIF version number */ - UINT8 JFIF_minor_version; - /* These three values are not used by the JPEG code, merely copied */ - /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ - /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ - /* ratio is defined by X_density/Y_density even when density_unit=0. */ - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean write_Adobe_marker; /* should an Adobe marker be written? */ - - J_COLOR_TRANSFORM color_transform; - /* Color transform identifier, writes LSE marker if nonzero */ - - /* State variable: index of next scanline to be written to - * jpeg_write_scanlines(). Application may use this to control its - * processing loop, e.g., "while (next_scanline < image_height)". - */ - - JDIMENSION next_scanline; /* 0 .. image_height-1 */ - - /* Remaining fields are known throughout compressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during compression startup - */ - boolean progressive_mode; /* TRUE if scan script uses progressive mode */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */ - /* The coefficient controller receives data in units of MCU rows as defined - * for fully interleaved scans (whether the JPEG file is interleaved or not). - * There are v_samp_factor * DCTSIZE sample rows of each component in an - * "iMCU" (interleaved MCU) row. - */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[C_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - int block_size; /* the basic DCT block size: 1..16 */ - const int * natural_order; /* natural-order position array */ - int lim_Se; /* min( Se, DCTSIZE2-1 ) */ - - /* - * Links to compression subobjects (methods and private variables of modules) - */ - struct jpeg_comp_master * master; - struct jpeg_c_main_controller * main; - struct jpeg_c_prep_controller * prep; - struct jpeg_c_coef_controller * coef; - struct jpeg_marker_writer * marker; - struct jpeg_color_converter * cconvert; - struct jpeg_downsampler * downsample; - struct jpeg_forward_dct * fdct; - struct jpeg_entropy_encoder * entropy; - jpeg_scan_info * script_space; /* workspace for jpeg_simple_progression */ - int script_space_size; -}; - - -/* Master record for a decompression instance */ - -struct jpeg_decompress_struct { - jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ - - /* Source of compressed data */ - struct jpeg_source_mgr * src; - - /* Basic description of image --- filled in by jpeg_read_header(). */ - /* Application may inspect these values to decide how to process image. */ - - JDIMENSION image_width; /* nominal image width (from SOF marker) */ - JDIMENSION image_height; /* nominal image height */ - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - /* Decompression processing parameters --- these fields must be set before - * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes - * them to default values. - */ - - J_COLOR_SPACE out_color_space; /* colorspace for output */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - double output_gamma; /* image gamma wanted in output */ - - boolean buffered_image; /* TRUE=multiple output passes */ - boolean raw_data_out; /* TRUE=downsampled data wanted */ - - J_DCT_METHOD dct_method; /* IDCT algorithm selector */ - boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ - boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ - - boolean quantize_colors; /* TRUE=colormapped output wanted */ - /* the following are ignored if not quantize_colors: */ - J_DITHER_MODE dither_mode; /* type of color dithering to use */ - boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ - int desired_number_of_colors; /* max # colors to use in created colormap */ - /* these are significant only in buffered-image mode: */ - boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ - boolean enable_external_quant;/* enable future use of external colormap */ - boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ - - /* Description of actual output image that will be returned to application. - * These fields are computed by jpeg_start_decompress(). - * You can also use jpeg_calc_output_dimensions() to determine these values - * in advance of calling jpeg_start_decompress(). - */ - - JDIMENSION output_width; /* scaled image width */ - JDIMENSION output_height; /* scaled image height */ - int out_color_components; /* # of color components in out_color_space */ - int output_components; /* # of color components returned */ - /* output_components is 1 (a colormap index) when quantizing colors; - * otherwise it equals out_color_components. - */ - int rec_outbuf_height; /* min recommended height of scanline buffer */ - /* If the buffer passed to jpeg_read_scanlines() is less than this many rows - * high, space and time will be wasted due to unnecessary data copying. - * Usually rec_outbuf_height will be 1 or 2, at most 4. - */ - - /* When quantizing colors, the output colormap is described by these fields. - * The application can supply a colormap by setting colormap non-NULL before - * calling jpeg_start_decompress; otherwise a colormap is created during - * jpeg_start_decompress or jpeg_start_output. - * The map has out_color_components rows and actual_number_of_colors columns. - */ - int actual_number_of_colors; /* number of entries in use */ - JSAMPARRAY colormap; /* The color map as a 2-D pixel array */ - - /* State variables: these variables indicate the progress of decompression. - * The application may examine these but must not modify them. - */ - - /* Row index of next scanline to be read from jpeg_read_scanlines(). - * Application may use this to control its processing loop, e.g., - * "while (output_scanline < output_height)". - */ - JDIMENSION output_scanline; /* 0 .. output_height-1 */ - - /* Current input scan number and number of iMCU rows completed in scan. - * These indicate the progress of the decompressor input side. - */ - int input_scan_number; /* Number of SOS markers seen so far */ - JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ - - /* The "output scan number" is the notional scan being displayed by the - * output side. The decompressor will not allow output scan/row number - * to get ahead of input scan/row, but it can fall arbitrarily far behind. - */ - int output_scan_number; /* Nominal scan number being displayed */ - JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ - - /* Current progression status. coef_bits[c][i] indicates the precision - * with which component c's DCT coefficient i (in zigzag order) is known. - * It is -1 when no data has yet been received, otherwise it is the point - * transform (shift) value for the most recent scan of the coefficient - * (thus, 0 at completion of the progression). - * This pointer is NULL when reading a non-progressive file. - */ - int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ - - /* Internal JPEG parameters --- the application usually need not look at - * these fields. Note that the decompressor output side may not use - * any parameters that can change between scans. - */ - - /* Quantization and Huffman tables are carried forward across input - * datastreams when processing abbreviated JPEG datastreams. - */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - /* These parameters are never carried across datastreams, since they - * are given in SOF/SOS markers or defined to be reset by SOI. - */ - - int data_precision; /* bits of precision in image data */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - boolean is_baseline; /* TRUE if Baseline SOF0 encountered */ - boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ - - /* These fields record data obtained from optional markers recognized by - * the JPEG library. - */ - boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ - /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ - UINT8 JFIF_major_version; /* JFIF version number */ - UINT8 JFIF_minor_version; - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ - UINT8 Adobe_transform; /* Color transform code from Adobe marker */ - - J_COLOR_TRANSFORM color_transform; - /* Color transform identifier derived from LSE marker, otherwise zero */ - - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - - /* Aside from the specific data retained from APPn markers known to the - * library, the uninterpreted contents of any or all APPn and COM markers - * can be saved in a list for examination by the application. - */ - jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ - - /* Remaining fields are known throughout decompressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during decompression startup - */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ - /* The coefficient controller's input and output progress is measured in - * units of "iMCU" (interleaved MCU) rows. These are the same as MCU rows - * in fully interleaved JPEG scans, but are used whether the scan is - * interleaved or not. We define an iMCU row as v_samp_factor DCT block - * rows of each component. Therefore, the IDCT output contains - * v_samp_factor*DCT_v_scaled_size sample rows of a component per iMCU row. - */ - - JSAMPLE * sample_range_limit; /* table for fast range-limiting */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - * Note that the decompressor output side must not use these fields. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[D_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* These fields are derived from Se of first SOS marker. - */ - int block_size; /* the basic DCT block size: 1..16 */ - const int * natural_order; /* natural-order position array for entropy decode */ - int lim_Se; /* min( Se, DCTSIZE2-1 ) for entropy decode */ - - /* This field is shared between entropy decoder and marker parser. - * It is either zero or the code of a JPEG marker that has been - * read from the data source, but has not yet been processed. - */ - int unread_marker; - - /* - * Links to decompression subobjects (methods, private variables of modules) - */ - struct jpeg_decomp_master * master; - struct jpeg_d_main_controller * main; - struct jpeg_d_coef_controller * coef; - struct jpeg_d_post_controller * post; - struct jpeg_input_controller * inputctl; - struct jpeg_marker_reader * marker; - struct jpeg_entropy_decoder * entropy; - struct jpeg_inverse_dct * idct; - struct jpeg_upsampler * upsample; - struct jpeg_color_deconverter * cconvert; - struct jpeg_color_quantizer * cquantize; -}; - - -/* "Object" declarations for JPEG modules that may be supplied or called - * directly by the surrounding application. - * As with all objects in the JPEG library, these structs only define the - * publicly visible methods and state variables of a module. Additional - * private fields may exist after the public ones. - */ - - -/* Error handler object */ - -struct jpeg_error_mgr { - /* Error exit handler: does not return to caller */ - JMETHOD(noreturn_t, error_exit, (j_common_ptr cinfo)); - /* Conditionally emit a trace or warning message */ - JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); - /* Routine that actually outputs a trace or error message */ - JMETHOD(void, output_message, (j_common_ptr cinfo)); - /* Format a message string for the most recent JPEG error or message */ - JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer)); -#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ - /* Reset error state variables at start of a new image */ - JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo)); - - /* The message ID code and any parameters are saved here. - * A message can have one string parameter or up to 8 int parameters. - */ - int msg_code; -#define JMSG_STR_PARM_MAX 80 - union { - int i[8]; - char s[JMSG_STR_PARM_MAX]; - } msg_parm; - - /* Standard state variables for error facility */ - - int trace_level; /* max msg_level that will be displayed */ - - /* For recoverable corrupt-data errors, we emit a warning message, - * but keep going unless emit_message chooses to abort. emit_message - * should count warnings in num_warnings. The surrounding application - * can check for bad data by seeing if num_warnings is nonzero at the - * end of processing. - */ - long num_warnings; /* number of corrupt-data warnings */ - - /* These fields point to the table(s) of error message strings. - * An application can change the table pointer to switch to a different - * message list (typically, to change the language in which errors are - * reported). Some applications may wish to add additional error codes - * that will be handled by the JPEG library error mechanism; the second - * table pointer is used for this purpose. - * - * First table includes all errors generated by JPEG library itself. - * Error code 0 is reserved for a "no such error string" message. - */ - const char * const * jpeg_message_table; /* Library errors */ - int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ - /* Second table can be added by application (see cjpeg/djpeg for example). - * It contains strings numbered first_addon_message..last_addon_message. - */ - const char * const * addon_message_table; /* Non-library errors */ - int first_addon_message; /* code for first string in addon table */ - int last_addon_message; /* code for last string in addon table */ -}; - - -/* Progress monitor object */ - -struct jpeg_progress_mgr { - JMETHOD(void, progress_monitor, (j_common_ptr cinfo)); - - long pass_counter; /* work units completed in this pass */ - long pass_limit; /* total number of work units in this pass */ - int completed_passes; /* passes completed so far */ - int total_passes; /* total number of passes expected */ -}; - - -/* Data destination object for compression */ - -struct jpeg_destination_mgr { - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - - JMETHOD(void, init_destination, (j_compress_ptr cinfo)); - JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo)); - JMETHOD(void, term_destination, (j_compress_ptr cinfo)); -}; - - -/* Data source object for decompression */ - -struct jpeg_source_mgr { - const JOCTET * next_input_byte; /* => next byte to read from buffer */ - size_t bytes_in_buffer; /* # of bytes remaining in buffer */ - - JMETHOD(void, init_source, (j_decompress_ptr cinfo)); - JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo)); - JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes)); - JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired)); - JMETHOD(void, term_source, (j_decompress_ptr cinfo)); -}; - - -/* Memory manager object. - * Allocates "small" objects (a few K total), "large" objects (tens of K), - * and "really big" objects (virtual arrays with backing store if needed). - * The memory manager does not allow individual objects to be freed; rather, - * each created object is assigned to a pool, and whole pools can be freed - * at once. This is faster and more convenient than remembering exactly what - * to free, especially where malloc()/free() are not too speedy. - * NB: alloc routines never return NULL. They exit to error_exit if not - * successful. - */ - -#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ -#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ -#define JPOOL_NUMPOOLS 2 - -typedef struct jvirt_sarray_control * jvirt_sarray_ptr; -typedef struct jvirt_barray_control * jvirt_barray_ptr; - - -struct jpeg_memory_mgr { - /* Method pointers */ - JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id, - JDIMENSION samplesperrow, - JDIMENSION numrows)); - JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id, - JDIMENSION blocksperrow, - JDIMENSION numrows)); - JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION samplesperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION blocksperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo)); - JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo, - jvirt_sarray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo, - jvirt_barray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id)); - JMETHOD(void, self_destruct, (j_common_ptr cinfo)); - - /* Limit on memory allocation for this JPEG object. (Note that this is - * merely advisory, not a guaranteed maximum; it only affects the space - * used for virtual-array buffers.) May be changed by outer application - * after creating the JPEG object. - */ - long max_memory_to_use; - - /* Maximum allocation request accepted by alloc_large. */ - long max_alloc_chunk; -}; - - -/* Routine signature for application-supplied marker processing methods. - * Need not pass marker code since it is stored in cinfo->unread_marker. - */ -typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); - - -/* Declarations for routines called by application. - * The JPP macro hides prototype parameters from compilers that can't cope. - * Note JPP requires double parentheses. - */ - -#ifdef HAVE_PROTOTYPES -#define JPP(arglist) arglist -#else -#define JPP(arglist) () -#endif - - -/* Short forms of external names for systems with brain-damaged linkers. - * We shorten external names to be unique in the first six letters, which - * is good enough for all known systems. - * (If your compiler itself needs names to be unique in less than 15 - * characters, you are out of luck. Get a better compiler.) - */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_error jStdError -#define jpeg_CreateCompress jCreaCompress -#define jpeg_CreateDecompress jCreaDecompress -#define jpeg_destroy_compress jDestCompress -#define jpeg_destroy_decompress jDestDecompress -#define jpeg_stdio_dest jStdDest -#define jpeg_stdio_src jStdSrc -#define jpeg_mem_dest jMemDest -#define jpeg_mem_src jMemSrc -#define jpeg_set_defaults jSetDefaults -#define jpeg_set_colorspace jSetColorspace -#define jpeg_default_colorspace jDefColorspace -#define jpeg_set_quality jSetQuality -#define jpeg_set_linear_quality jSetLQuality -#define jpeg_default_qtables jDefQTables -#define jpeg_add_quant_table jAddQuantTable -#define jpeg_quality_scaling jQualityScaling -#define jpeg_simple_progression jSimProgress -#define jpeg_suppress_tables jSuppressTables -#define jpeg_alloc_quant_table jAlcQTable -#define jpeg_alloc_huff_table jAlcHTable -#define jpeg_start_compress jStrtCompress -#define jpeg_write_scanlines jWrtScanlines -#define jpeg_finish_compress jFinCompress -#define jpeg_calc_jpeg_dimensions jCjpegDimensions -#define jpeg_write_raw_data jWrtRawData -#define jpeg_write_marker jWrtMarker -#define jpeg_write_m_header jWrtMHeader -#define jpeg_write_m_byte jWrtMByte -#define jpeg_write_tables jWrtTables -#define jpeg_read_header jReadHeader -#define jpeg_start_decompress jStrtDecompress -#define jpeg_read_scanlines jReadScanlines -#define jpeg_finish_decompress jFinDecompress -#define jpeg_read_raw_data jReadRawData -#define jpeg_has_multiple_scans jHasMultScn -#define jpeg_start_output jStrtOutput -#define jpeg_finish_output jFinOutput -#define jpeg_input_complete jInComplete -#define jpeg_new_colormap jNewCMap -#define jpeg_consume_input jConsumeInput -#define jpeg_core_output_dimensions jCoreDimensions -#define jpeg_calc_output_dimensions jCalcDimensions -#define jpeg_save_markers jSaveMarkers -#define jpeg_set_marker_processor jSetMarker -#define jpeg_read_coefficients jReadCoefs -#define jpeg_write_coefficients jWrtCoefs -#define jpeg_copy_critical_parameters jCopyCrit -#define jpeg_abort_compress jAbrtCompress -#define jpeg_abort_decompress jAbrtDecompress -#define jpeg_abort jAbort -#define jpeg_destroy jDestroy -#define jpeg_resync_to_restart jResyncRestart -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* Default error-management setup */ -EXTERN(struct jpeg_error_mgr *) jpeg_std_error - JPP((struct jpeg_error_mgr * err)); - -/* Initialization of JPEG compression objects. - * jpeg_create_compress() and jpeg_create_decompress() are the exported - * names that applications should call. These expand to calls on - * jpeg_CreateCompress and jpeg_CreateDecompress with additional information - * passed for version mismatch checking. - * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. - */ -#define jpeg_create_compress(cinfo) \ - jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_compress_struct)) -#define jpeg_create_decompress(cinfo) \ - jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_decompress_struct)) -EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo, - int version, size_t structsize)); -EXTERN(void) jpeg_CreateDecompress JPP((j_decompress_ptr cinfo, - int version, size_t structsize)); -/* Destruction of JPEG compression objects */ -EXTERN(void) jpeg_destroy_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_destroy_decompress JPP((j_decompress_ptr cinfo)); - -/* Standard data source and destination managers: stdio streams. */ -/* Caller is responsible for opening the file before and closing after. */ -EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); -EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); - -/* Data source and destination managers: memory buffers. */ -EXTERN(void) jpeg_mem_dest JPP((j_compress_ptr cinfo, - unsigned char ** outbuffer, - unsigned long * outsize)); -EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo, - unsigned char * inbuffer, - unsigned long insize)); - -/* Default parameter setup for compression */ -EXTERN(void) jpeg_set_defaults JPP((j_compress_ptr cinfo)); -/* Compression parameter setup aids */ -EXTERN(void) jpeg_set_colorspace JPP((j_compress_ptr cinfo, - J_COLOR_SPACE colorspace)); -EXTERN(void) jpeg_default_colorspace JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_set_quality JPP((j_compress_ptr cinfo, int quality, - boolean force_baseline)); -EXTERN(void) jpeg_set_linear_quality JPP((j_compress_ptr cinfo, - int scale_factor, - boolean force_baseline)); -EXTERN(void) jpeg_default_qtables JPP((j_compress_ptr cinfo, - boolean force_baseline)); -EXTERN(void) jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, - boolean force_baseline)); -EXTERN(int) jpeg_quality_scaling JPP((int quality)); -EXTERN(void) jpeg_simple_progression JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_suppress_tables JPP((j_compress_ptr cinfo, - boolean suppress)); -EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo)); -EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo)); - -/* Main entry points for compression */ -EXTERN(void) jpeg_start_compress JPP((j_compress_ptr cinfo, - boolean write_all_tables)); -EXTERN(JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION num_lines)); -EXTERN(void) jpeg_finish_compress JPP((j_compress_ptr cinfo)); - -/* Precalculate JPEG dimensions for current compression parameters. */ -EXTERN(void) jpeg_calc_jpeg_dimensions JPP((j_compress_ptr cinfo)); - -/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_write_raw_data JPP((j_compress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION num_lines)); - -/* Write a special marker. See libjpeg.txt concerning safe usage. */ -EXTERN(void) jpeg_write_marker - JPP((j_compress_ptr cinfo, int marker, - const JOCTET * dataptr, unsigned int datalen)); -/* Same, but piecemeal. */ -EXTERN(void) jpeg_write_m_header - JPP((j_compress_ptr cinfo, int marker, unsigned int datalen)); -EXTERN(void) jpeg_write_m_byte - JPP((j_compress_ptr cinfo, int val)); - -/* Alternate compression function: just write an abbreviated table file */ -EXTERN(void) jpeg_write_tables JPP((j_compress_ptr cinfo)); - -/* Decompression startup: read start of JPEG datastream to see what's there */ -EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, - boolean require_image)); -/* Return value is one of: */ -#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ -#define JPEG_HEADER_OK 1 /* Found valid image datastream */ -#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ -/* If you pass require_image = TRUE (normal case), you need not check for - * a TABLES_ONLY return code; an abbreviated file will cause an error exit. - * JPEG_SUSPENDED is only possible if you use a data source module that can - * give a suspension return (the stdio source module doesn't). - */ - -/* Main entry points for decompression */ -EXTERN(boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo)); -EXTERN(JDIMENSION) jpeg_read_scanlines JPP((j_decompress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION max_lines)); -EXTERN(boolean) jpeg_finish_decompress JPP((j_decompress_ptr cinfo)); - -/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_read_raw_data JPP((j_decompress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION max_lines)); - -/* Additional entry points for buffered-image mode. */ -EXTERN(boolean) jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_start_output JPP((j_decompress_ptr cinfo, - int scan_number)); -EXTERN(boolean) jpeg_finish_output JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_input_complete JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_new_colormap JPP((j_decompress_ptr cinfo)); -EXTERN(int) jpeg_consume_input JPP((j_decompress_ptr cinfo)); -/* Return value is one of: */ -/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ -#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ -#define JPEG_REACHED_EOI 2 /* Reached end of image */ -#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ -#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ - -/* Precalculate output dimensions for current decompression parameters. */ -EXTERN(void) jpeg_core_output_dimensions JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo)); - -/* Control saving of COM and APPn markers into marker_list. */ -EXTERN(void) jpeg_save_markers - JPP((j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit)); - -/* Install a special processing method for COM or APPn markers. */ -EXTERN(void) jpeg_set_marker_processor - JPP((j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine)); - -/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ -EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_write_coefficients JPP((j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays)); -EXTERN(void) jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo, - j_compress_ptr dstinfo)); - -/* If you choose to abort compression or decompression before completing - * jpeg_finish_(de)compress, then you need to clean up to release memory, - * temporary files, etc. You can just call jpeg_destroy_(de)compress - * if you're done with the JPEG object, but if you want to clean it up and - * reuse it, call this: - */ -EXTERN(void) jpeg_abort_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_abort_decompress JPP((j_decompress_ptr cinfo)); - -/* Generic versions of jpeg_abort and jpeg_destroy that work on either - * flavor of JPEG object. These may be more convenient in some places. - */ -EXTERN(void) jpeg_abort JPP((j_common_ptr cinfo)); -EXTERN(void) jpeg_destroy JPP((j_common_ptr cinfo)); - -/* Default restart-marker-resync procedure for use by data source modules */ -EXTERN(boolean) jpeg_resync_to_restart JPP((j_decompress_ptr cinfo, - int desired)); - - -/* These marker codes are exported since applications and data source modules - * are likely to want to use them. - */ - -#define JPEG_RST0 0xD0 /* RST0 marker code */ -#define JPEG_EOI 0xD9 /* EOI marker code */ -#define JPEG_APP0 0xE0 /* APP0 marker code */ -#define JPEG_COM 0xFE /* COM marker code */ - - -/* If we have a brain-damaged compiler that emits warnings (or worse, errors) - * for structure definitions that are never filled in, keep it quiet by - * supplying dummy definitions for the various substructures. - */ - -#ifdef INCOMPLETE_TYPES_BROKEN -#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ -struct jvirt_sarray_control { long dummy; }; -struct jvirt_barray_control { long dummy; }; -struct jpeg_comp_master { long dummy; }; -struct jpeg_c_main_controller { long dummy; }; -struct jpeg_c_prep_controller { long dummy; }; -struct jpeg_c_coef_controller { long dummy; }; -struct jpeg_marker_writer { long dummy; }; -struct jpeg_color_converter { long dummy; }; -struct jpeg_downsampler { long dummy; }; -struct jpeg_forward_dct { long dummy; }; -struct jpeg_entropy_encoder { long dummy; }; -struct jpeg_decomp_master { long dummy; }; -struct jpeg_d_main_controller { long dummy; }; -struct jpeg_d_coef_controller { long dummy; }; -struct jpeg_d_post_controller { long dummy; }; -struct jpeg_input_controller { long dummy; }; -struct jpeg_marker_reader { long dummy; }; -struct jpeg_entropy_decoder { long dummy; }; -struct jpeg_inverse_dct { long dummy; }; -struct jpeg_upsampler { long dummy; }; -struct jpeg_color_deconverter { long dummy; }; -struct jpeg_color_quantizer { long dummy; }; -#endif /* JPEG_INTERNALS */ -#endif /* INCOMPLETE_TYPES_BROKEN */ - - -/* - * The JPEG library modules define JPEG_INTERNALS before including this file. - * The internal structure declarations are read only when that is true. - * Applications using the library should not include jpegint.h, but may wish - * to include jerror.h. - */ - -#ifdef JPEG_INTERNALS -#include "jpegint.h" /* fetch private declarations */ -#include "jerror.h" /* fetch error codes too */ -#endif - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -} -#endif -#endif - -#endif /* JPEGLIB_H */ diff --git a/src/SDL2/VisualC/external/include/png.h b/src/SDL2/VisualC/external/include/png.h deleted file mode 100755 index 0b5053fcf..000000000 --- a/src/SDL2/VisualC/external/include/png.h +++ /dev/null @@ -1,3304 +0,0 @@ - -/* png.h - header file for PNG reference library - * - * libpng version 1.6.2 - April 25, 2013 - * Copyright (c) 1998-2013 Glenn Randers-Pehrson - * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) - * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) - * - * This code is released under the libpng license (See LICENSE, below) - * - * Authors and maintainers: - * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat - * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.6.2 - April 25, 2013: Glenn - * See also "Contributing Authors", below. - * - * Note about libpng version numbers: - * - * Due to various miscommunications, unforeseen code incompatibilities - * and occasional factors outside the authors' control, version numbering - * on the library has not always been consistent and straightforward. - * The following table summarizes matters since version 0.89c, which was - * the first widely used release: - * - * source png.h png.h shared-lib - * version string int version - * ------- ------ ----- ---------- - * 0.89c "1.0 beta 3" 0.89 89 1.0.89 - * 0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90] - * 0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95] - * 0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96] - * 0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97] - * 0.97c 0.97 97 2.0.97 - * 0.98 0.98 98 2.0.98 - * 0.99 0.99 98 2.0.99 - * 0.99a-m 0.99 99 2.0.99 - * 1.00 1.00 100 2.1.0 [100 should be 10000] - * 1.0.0 (from here on, the 100 2.1.0 [100 should be 10000] - * 1.0.1 png.h string is 10001 2.1.0 - * 1.0.1a-e identical to the 10002 from here on, the shared library - * 1.0.2 source version) 10002 is 2.V where V is the source code - * 1.0.2a-b 10003 version, except as noted. - * 1.0.3 10003 - * 1.0.3a-d 10004 - * 1.0.4 10004 - * 1.0.4a-f 10005 - * 1.0.5 (+ 2 patches) 10005 - * 1.0.5a-d 10006 - * 1.0.5e-r 10100 (not source compatible) - * 1.0.5s-v 10006 (not binary compatible) - * 1.0.6 (+ 3 patches) 10006 (still binary incompatible) - * 1.0.6d-f 10007 (still binary incompatible) - * 1.0.6g 10007 - * 1.0.6h 10007 10.6h (testing xy.z so-numbering) - * 1.0.6i 10007 10.6i - * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) - * 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible) - * 1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible) - * 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible) - * 1.0.7 1 10007 (still compatible) - * 1.0.8beta1-4 1 10008 2.1.0.8beta1-4 - * 1.0.8rc1 1 10008 2.1.0.8rc1 - * 1.0.8 1 10008 2.1.0.8 - * 1.0.9beta1-6 1 10009 2.1.0.9beta1-6 - * 1.0.9rc1 1 10009 2.1.0.9rc1 - * 1.0.9beta7-10 1 10009 2.1.0.9beta7-10 - * 1.0.9rc2 1 10009 2.1.0.9rc2 - * 1.0.9 1 10009 2.1.0.9 - * 1.0.10beta1 1 10010 2.1.0.10beta1 - * 1.0.10rc1 1 10010 2.1.0.10rc1 - * 1.0.10 1 10010 2.1.0.10 - * 1.0.11beta1-3 1 10011 2.1.0.11beta1-3 - * 1.0.11rc1 1 10011 2.1.0.11rc1 - * 1.0.11 1 10011 2.1.0.11 - * 1.0.12beta1-2 2 10012 2.1.0.12beta1-2 - * 1.0.12rc1 2 10012 2.1.0.12rc1 - * 1.0.12 2 10012 2.1.0.12 - * 1.1.0a-f - 10100 2.1.1.0a-f (branch abandoned) - * 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 - * 1.2.0beta3-5 3 10200 3.1.2.0beta3-5 - * 1.2.0rc1 3 10200 3.1.2.0rc1 - * 1.2.0 3 10200 3.1.2.0 - * 1.2.1beta1-4 3 10201 3.1.2.1beta1-4 - * 1.2.1rc1-2 3 10201 3.1.2.1rc1-2 - * 1.2.1 3 10201 3.1.2.1 - * 1.2.2beta1-6 12 10202 12.so.0.1.2.2beta1-6 - * 1.0.13beta1 10 10013 10.so.0.1.0.13beta1 - * 1.0.13rc1 10 10013 10.so.0.1.0.13rc1 - * 1.2.2rc1 12 10202 12.so.0.1.2.2rc1 - * 1.0.13 10 10013 10.so.0.1.0.13 - * 1.2.2 12 10202 12.so.0.1.2.2 - * 1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6 - * 1.2.3 12 10203 12.so.0.1.2.3 - * 1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3 - * 1.0.14rc1 13 10014 10.so.0.1.0.14rc1 - * 1.2.4rc1 13 10204 12.so.0.1.2.4rc1 - * 1.0.14 10 10014 10.so.0.1.0.14 - * 1.2.4 13 10204 12.so.0.1.2.4 - * 1.2.5beta1-2 13 10205 12.so.0.1.2.5beta1-2 - * 1.0.15rc1-3 10 10015 10.so.0.1.0.15rc1-3 - * 1.2.5rc1-3 13 10205 12.so.0.1.2.5rc1-3 - * 1.0.15 10 10015 10.so.0.1.0.15 - * 1.2.5 13 10205 12.so.0.1.2.5 - * 1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4 - * 1.0.16 10 10016 10.so.0.1.0.16 - * 1.2.6 13 10206 12.so.0.1.2.6 - * 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2 - * 1.0.17rc1 10 10017 12.so.0.1.0.17rc1 - * 1.2.7rc1 13 10207 12.so.0.1.2.7rc1 - * 1.0.17 10 10017 12.so.0.1.0.17 - * 1.2.7 13 10207 12.so.0.1.2.7 - * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 - * 1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5 - * 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5 - * 1.0.18 10 10018 12.so.0.1.0.18 - * 1.2.8 13 10208 12.so.0.1.2.8 - * 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3 - * 1.2.9beta4-11 13 10209 12.so.0.9[.0] - * 1.2.9rc1 13 10209 12.so.0.9[.0] - * 1.2.9 13 10209 12.so.0.9[.0] - * 1.2.10beta1-7 13 10210 12.so.0.10[.0] - * 1.2.10rc1-2 13 10210 12.so.0.10[.0] - * 1.2.10 13 10210 12.so.0.10[.0] - * 1.4.0beta1-5 14 10400 14.so.0.0[.0] - * 1.2.11beta1-4 13 10211 12.so.0.11[.0] - * 1.4.0beta7-8 14 10400 14.so.0.0[.0] - * 1.2.11 13 10211 12.so.0.11[.0] - * 1.2.12 13 10212 12.so.0.12[.0] - * 1.4.0beta9-14 14 10400 14.so.0.0[.0] - * 1.2.13 13 10213 12.so.0.13[.0] - * 1.4.0beta15-36 14 10400 14.so.0.0[.0] - * 1.4.0beta37-87 14 10400 14.so.14.0[.0] - * 1.4.0rc01 14 10400 14.so.14.0[.0] - * 1.4.0beta88-109 14 10400 14.so.14.0[.0] - * 1.4.0rc02-08 14 10400 14.so.14.0[.0] - * 1.4.0 14 10400 14.so.14.0[.0] - * 1.4.1beta01-03 14 10401 14.so.14.1[.0] - * 1.4.1rc01 14 10401 14.so.14.1[.0] - * 1.4.1beta04-12 14 10401 14.so.14.1[.0] - * 1.4.1 14 10401 14.so.14.1[.0] - * 1.4.2 14 10402 14.so.14.2[.0] - * 1.4.3 14 10403 14.so.14.3[.0] - * 1.4.4 14 10404 14.so.14.4[.0] - * 1.5.0beta01-58 15 10500 15.so.15.0[.0] - * 1.5.0rc01-07 15 10500 15.so.15.0[.0] - * 1.5.0 15 10500 15.so.15.0[.0] - * 1.5.1beta01-11 15 10501 15.so.15.1[.0] - * 1.5.1rc01-02 15 10501 15.so.15.1[.0] - * 1.5.1 15 10501 15.so.15.1[.0] - * 1.5.2beta01-03 15 10502 15.so.15.2[.0] - * 1.5.2rc01-03 15 10502 15.so.15.2[.0] - * 1.5.2 15 10502 15.so.15.2[.0] - * 1.5.3beta01-10 15 10503 15.so.15.3[.0] - * 1.5.3rc01-02 15 10503 15.so.15.3[.0] - * 1.5.3beta11 15 10503 15.so.15.3[.0] - * 1.5.3 [omitted] - * 1.5.4beta01-08 15 10504 15.so.15.4[.0] - * 1.5.4rc01 15 10504 15.so.15.4[.0] - * 1.5.4 15 10504 15.so.15.4[.0] - * 1.5.5beta01-08 15 10505 15.so.15.5[.0] - * 1.5.5rc01 15 10505 15.so.15.5[.0] - * 1.5.5 15 10505 15.so.15.5[.0] - * 1.5.6beta01-07 15 10506 15.so.15.6[.0] - * 1.5.6rc01-03 15 10506 15.so.15.6[.0] - * 1.5.6 15 10506 15.so.15.6[.0] - * 1.5.7beta01-05 15 10507 15.so.15.7[.0] - * 1.5.7rc01-03 15 10507 15.so.15.7[.0] - * 1.5.7 15 10507 15.so.15.7[.0] - * 1.6.0beta01-40 16 10600 16.so.16.0[.0] - * 1.6.0rc01-08 16 10600 16.so.16.0[.0] - * 1.6.0 16 10600 16.so.16.0[.0] - * 1.6.1beta01-09 16 10601 16.so.16.1[.0] - * 1.6.1rc01 16 10601 16.so.16.1[.0] - * 1.6.1 16 10601 16.so.16.1[.0] - * 1.6.2beta01 16 10602 16.so.16.2[.0] - * 1.6.2rc01-06 16 10602 16.so.16.2[.0] - * 1.6.2 16 10602 16.so.16.2[.0] - * - * Henceforth the source version will match the shared-library major - * and minor numbers; the shared-library major version number will be - * used for changes in backward compatibility, as it is intended. The - * PNG_LIBPNG_VER macro, which is not used within libpng but is available - * for applications, is an unsigned integer of the form xyyzz corresponding - * to the source version x.y.z (leading zeros in y and z). Beta versions - * were given the previous public release number plus a letter, until - * version 1.0.6j; from then on they were given the upcoming public - * release number plus "betaNN" or "rcNN". - * - * Binary incompatibility exists only when applications make direct access - * to the info_ptr or png_ptr members through png.h, and the compiled - * application is loaded with a different version of the library. - * - * DLLNUM will change each time there are forward or backward changes - * in binary compatibility (e.g., when a new feature is added). - * - * See libpng-manual.txt or libpng.3 for more information. The PNG - * specification is available as a W3C Recommendation and as an ISO - * Specification, defines should NOT be changed. - */ -#define PNG_INFO_gAMA 0x0001 -#define PNG_INFO_sBIT 0x0002 -#define PNG_INFO_cHRM 0x0004 -#define PNG_INFO_PLTE 0x0008 -#define PNG_INFO_tRNS 0x0010 -#define PNG_INFO_bKGD 0x0020 -#define PNG_INFO_hIST 0x0040 -#define PNG_INFO_pHYs 0x0080 -#define PNG_INFO_oFFs 0x0100 -#define PNG_INFO_tIME 0x0200 -#define PNG_INFO_pCAL 0x0400 -#define PNG_INFO_sRGB 0x0800 /* GR-P, 0.96a */ -#define PNG_INFO_iCCP 0x1000 /* ESR, 1.0.6 */ -#define PNG_INFO_sPLT 0x2000 /* ESR, 1.0.6 */ -#define PNG_INFO_sCAL 0x4000 /* ESR, 1.0.6 */ -#define PNG_INFO_IDAT 0x8000 /* ESR, 1.0.6 */ - -/* This is used for the transformation routines, as some of them - * change these values for the row. It also should enable using - * the routines for other purposes. - */ -typedef struct png_row_info_struct -{ - png_uint_32 width; /* width of row */ - png_size_t rowbytes; /* number of bytes in row */ - png_byte color_type; /* color type of row */ - png_byte bit_depth; /* bit depth of row */ - png_byte channels; /* number of channels (1, 2, 3, or 4) */ - png_byte pixel_depth; /* bits per pixel (depth * channels) */ -} png_row_info; - -typedef png_row_info * png_row_infop; -typedef png_row_info * * png_row_infopp; - -/* These are the function types for the I/O functions and for the functions - * that allow the user to override the default I/O functions with his or her - * own. The png_error_ptr type should match that of user-supplied warning - * and error functions, while the png_rw_ptr type should match that of the - * user read/write data functions. Note that the 'write' function must not - * modify the buffer it is passed. The 'read' function, on the other hand, is - * expected to return the read data in the buffer. - */ -typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp)); -typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, png_size_t)); -typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp)); -typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32, - int)); -typedef PNG_CALLBACK(void, *png_write_status_ptr, (png_structp, png_uint_32, - int)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); -typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); - -/* The following callback receives png_uint_32 row_number, int pass for the - * png_bytep data of the row. When transforming an interlaced image the - * row number is the row number within the sub-image of the interlace pass, so - * the value will increase to the height of the sub-image (not the full image) - * then reset to 0 for the next pass. - * - * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to - * find the output pixel (x,y) given an interlaced sub-image pixel - * (row,col,pass). (See below for these macros.) - */ -typedef PNG_CALLBACK(void, *png_progressive_row_ptr, (png_structp, png_bytep, - png_uint_32, int)); -#endif - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) -typedef PNG_CALLBACK(void, *png_user_transform_ptr, (png_structp, png_row_infop, - png_bytep)); -#endif - -#ifdef PNG_USER_CHUNKS_SUPPORTED -typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp, - png_unknown_chunkp)); -#endif -#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED -/* not used anywhere */ -/* typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp)); */ -#endif - -#ifdef PNG_SETJMP_SUPPORTED -/* This must match the function definition in , and the application - * must include this before png.h to obtain the definition of jmp_buf. The - * function is required to be PNG_NORETURN, but this is not checked. If the - * function does return the application will crash via an abort() or similar - * system level call. - * - * If you get a warning here while building the library you may need to make - * changes to ensure that pnglibconf.h records the calling convention used by - * your compiler. This may be very difficult - try using a different compiler - * to build the library! - */ -PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef); -#endif - -/* Transform masks for the high-level interface */ -#define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ -#define PNG_TRANSFORM_STRIP_16 0x0001 /* read only */ -#define PNG_TRANSFORM_STRIP_ALPHA 0x0002 /* read only */ -#define PNG_TRANSFORM_PACKING 0x0004 /* read and write */ -#define PNG_TRANSFORM_PACKSWAP 0x0008 /* read and write */ -#define PNG_TRANSFORM_EXPAND 0x0010 /* read only */ -#define PNG_TRANSFORM_INVERT_MONO 0x0020 /* read and write */ -#define PNG_TRANSFORM_SHIFT 0x0040 /* read and write */ -#define PNG_TRANSFORM_BGR 0x0080 /* read and write */ -#define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ -#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ -#define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ -#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* write only */ -/* Added to libpng-1.2.34 */ -#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER -#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* write only */ -/* Added to libpng-1.4.0 */ -#define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */ -/* Added to libpng-1.5.4 */ -#define PNG_TRANSFORM_EXPAND_16 0x4000 /* read only */ -#define PNG_TRANSFORM_SCALE_16 0x8000 /* read only */ - -/* Flags for MNG supported features */ -#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 -#define PNG_FLAG_MNG_FILTER_64 0x04 -#define PNG_ALL_MNG_FEATURES 0x05 - -/* NOTE: prior to 1.5 these functions had no 'API' style declaration, - * this allowed the zlib default functions to be used on Windows - * platforms. In 1.5 the zlib default malloc (which just calls malloc and - * ignores the first argument) should be completely compatible with the - * following. - */ -typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp, - png_alloc_size_t)); -typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp)); - -/* Section 3: exported functions - * Here are the function definitions most commonly used. This is not - * the place to find out how to use libpng. See libpng-manual.txt for the - * full explanation, see example.c for the summary. This just provides - * a simple one line description of the use of each function. - * - * The PNG_EXPORT() and PNG_EXPORTA() macros used below are defined in - * pngconf.h and in the *.dfn files in the scripts directory. - * - * PNG_EXPORT(ordinal, type, name, (args)); - * - * ordinal: ordinal that is used while building - * *.def files. The ordinal value is only - * relevant when preprocessing png.h with - * the *.dfn files for building symbol table - * entries, and are removed by pngconf.h. - * type: return type of the function - * name: function name - * args: function arguments, with types - * - * When we wish to append attributes to a function prototype we use - * the PNG_EXPORTA() macro instead. - * - * PNG_EXPORTA(ordinal, type, name, (args), attributes); - * - * ordinal, type, name, and args: same as in PNG_EXPORT(). - * attributes: function attributes - */ - -/* Returns the version number of the library */ -PNG_EXPORT(1, png_uint_32, png_access_version_number, (void)); - -/* Tell lib we have already handled the first magic bytes. - * Handling more than 8 bytes from the beginning of the file is an error. - */ -PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes)); - -/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a - * PNG file. Returns zero if the supplied bytes match the 8-byte PNG - * signature, and non-zero otherwise. Having num_to_check == 0 or - * start > 7 will always fail (ie return non-zero). - */ -PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, png_size_t start, - png_size_t num_to_check)); - -/* Simple signature checking function. This is the same as calling - * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). - */ -#define png_check_sig(sig, n) !png_sig_cmp((sig), 0, (n)) - -/* Allocate and initialize png_ptr struct for reading, and any other memory. */ -PNG_EXPORTA(4, png_structp, png_create_read_struct, - (png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn), - PNG_ALLOCATED); - -/* Allocate and initialize png_ptr struct for writing, and any other memory */ -PNG_EXPORTA(5, png_structp, png_create_write_struct, - (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, - png_error_ptr warn_fn), - PNG_ALLOCATED); - -PNG_EXPORT(6, png_size_t, png_get_compression_buffer_size, - (png_const_structrp png_ptr)); - -PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr, - png_size_t size)); - -/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp - * match up. - */ -#ifdef PNG_SETJMP_SUPPORTED -/* This function returns the jmp_buf built in to *png_ptr. It must be - * supplied with an appropriate 'longjmp' function to use on that jmp_buf - * unless the default error function is overridden in which case NULL is - * acceptable. The size of the jmp_buf is checked against the actual size - * allocated by the library - the call will return NULL on a mismatch - * indicating an ABI mismatch. - */ -PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structrp png_ptr, - png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)); -# define png_jmpbuf(png_ptr) \ - (*png_set_longjmp_fn((png_ptr), longjmp, (sizeof (jmp_buf)))) -#else -# define png_jmpbuf(png_ptr) \ - (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) -#endif -/* This function should be used by libpng applications in place of - * longjmp(png_ptr->jmpbuf, val). If longjmp_fn() has been set, it - * will use it; otherwise it will call PNG_ABORT(). This function was - * added in libpng-1.5.0. - */ -PNG_EXPORTA(9, void, png_longjmp, (png_const_structrp png_ptr, int val), - PNG_NORETURN); - -#ifdef PNG_READ_SUPPORTED -/* Reset the compression stream */ -PNG_EXPORTA(10, int, png_reset_zstream, (png_structrp png_ptr), PNG_DEPRECATED); -#endif - -/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ -#ifdef PNG_USER_MEM_SUPPORTED -PNG_EXPORTA(11, png_structp, png_create_read_struct_2, - (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, - png_error_ptr warn_fn, - png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), - PNG_ALLOCATED); -PNG_EXPORTA(12, png_structp, png_create_write_struct_2, - (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, - png_error_ptr warn_fn, - png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), - PNG_ALLOCATED); -#endif - -/* Write the PNG file signature. */ -PNG_EXPORT(13, void, png_write_sig, (png_structrp png_ptr)); - -/* Write a PNG chunk - size, type, (optional) data, CRC. */ -PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep - chunk_name, png_const_bytep data, png_size_t length)); - -/* Write the start of a PNG chunk - length and chunk name. */ -PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr, - png_const_bytep chunk_name, png_uint_32 length)); - -/* Write the data of a PNG chunk started with png_write_chunk_start(). */ -PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr, - png_const_bytep data, png_size_t length)); - -/* Finish a chunk started with png_write_chunk_start() (includes CRC). */ -PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr)); - -/* Allocate and initialize the info structure */ -PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr), - PNG_ALLOCATED); - -/* DEPRECATED: this function allowed init structures to be created using the - * default allocation method (typically malloc). Use is deprecated in 1.6.0 and - * the API will be removed in the future. - */ -PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr, - png_size_t png_info_struct_size), PNG_DEPRECATED); - -/* Writes all the PNG information before the image. */ -PNG_EXPORT(20, void, png_write_info_before_PLTE, - (png_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(21, void, png_write_info, - (png_structrp png_ptr, png_const_inforp info_ptr)); - -#ifdef PNG_SEQUENTIAL_READ_SUPPORTED -/* Read the information before the actual image data. */ -PNG_EXPORT(22, void, png_read_info, - (png_structrp png_ptr, png_inforp info_ptr)); -#endif - -#ifdef PNG_TIME_RFC1123_SUPPORTED - /* Convert to a US string format: there is no localization support in this - * routine. The original implementation used a 29 character buffer in - * png_struct, this will be removed in future versions. - */ -#if PNG_LIBPNG_VER < 10700 -/* To do: remove this from libpng17 (and from libpng17/png.c and pngstruct.h) */ -PNG_EXPORTA(23, png_const_charp, png_convert_to_rfc1123, (png_structrp png_ptr, - png_const_timep ptime),PNG_DEPRECATED); -#endif -PNG_EXPORT(241, int, png_convert_to_rfc1123_buffer, (char out[29], - png_const_timep ptime)); -#endif - -#ifdef PNG_CONVERT_tIME_SUPPORTED -/* Convert from a struct tm to png_time */ -PNG_EXPORT(24, void, png_convert_from_struct_tm, (png_timep ptime, - const struct tm * ttime)); - -/* Convert from time_t to png_time. Uses gmtime() */ -PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime)); -#endif /* PNG_CONVERT_tIME_SUPPORTED */ - -#ifdef PNG_READ_EXPAND_SUPPORTED -/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ -PNG_EXPORT(26, void, png_set_expand, (png_structrp png_ptr)); -PNG_EXPORT(27, void, png_set_expand_gray_1_2_4_to_8, (png_structrp png_ptr)); -PNG_EXPORT(28, void, png_set_palette_to_rgb, (png_structrp png_ptr)); -PNG_EXPORT(29, void, png_set_tRNS_to_alpha, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_EXPAND_16_SUPPORTED -/* Expand to 16-bit channels, forces conversion of palette to RGB and expansion - * of a tRNS chunk if present. - */ -PNG_EXPORT(221, void, png_set_expand_16, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) -/* Use blue, green, red order for pixels. */ -PNG_EXPORT(30, void, png_set_bgr, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED -/* Expand the grayscale to 24-bit RGB if necessary. */ -PNG_EXPORT(31, void, png_set_gray_to_rgb, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED -/* Reduce RGB to grayscale. */ -#define PNG_ERROR_ACTION_NONE 1 -#define PNG_ERROR_ACTION_WARN 2 -#define PNG_ERROR_ACTION_ERROR 3 -#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/ - -PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structrp png_ptr, - int error_action, double red, double green)) -PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structrp png_ptr, - int error_action, png_fixed_point red, png_fixed_point green)) - -PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structrp - png_ptr)); -#endif - -#ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED -PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, - png_colorp palette)); -#endif - -#ifdef PNG_READ_ALPHA_MODE_SUPPORTED -/* How the alpha channel is interpreted - this affects how the color channels of - * a PNG file are returned when an alpha channel, or tRNS chunk in a palette - * file, is present. - * - * This has no effect on the way pixels are written into a PNG output - * datastream. The color samples in a PNG datastream are never premultiplied - * with the alpha samples. - * - * The default is to return data according to the PNG specification: the alpha - * channel is a linear measure of the contribution of the pixel to the - * corresponding composited pixel. The gamma encoded color channels must be - * scaled according to the contribution and to do this it is necessary to undo - * the encoding, scale the color values, perform the composition and reencode - * the values. This is the 'PNG' mode. - * - * The alternative is to 'associate' the alpha with the color information by - * storing color channel values that have been scaled by the alpha. The - * advantage is that the color channels can be resampled (the image can be - * scaled) in this form. The disadvantage is that normal practice is to store - * linear, not (gamma) encoded, values and this requires 16-bit channels for - * still images rather than the 8-bit channels that are just about sufficient if - * gamma encoding is used. In addition all non-transparent pixel values, - * including completely opaque ones, must be gamma encoded to produce the final - * image. This is the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' mode (the - * latter being the two common names for associated alpha color channels.) - * - * Since it is not necessary to perform arithmetic on opaque color values so - * long as they are not to be resampled and are in the final color space it is - * possible to optimize the handling of alpha by storing the opaque pixels in - * the PNG format (adjusted for the output color space) while storing partially - * opaque pixels in the standard, linear, format. The accuracy required for - * standard alpha composition is relatively low, because the pixels are - * isolated, therefore typically the accuracy loss in storing 8-bit linear - * values is acceptable. (This is not true if the alpha channel is used to - * simulate transparency over large areas - use 16 bits or the PNG mode in - * this case!) This is the 'OPTIMIZED' mode. For this mode a pixel is - * treated as opaque only if the alpha value is equal to the maximum value. - * - * The final choice is to gamma encode the alpha channel as well. This is - * broken because, in practice, no implementation that uses this choice - * correctly undoes the encoding before handling alpha composition. Use this - * choice only if other serious errors in the software or hardware you use - * mandate it; the typical serious error is for dark halos to appear around - * opaque areas of the composited PNG image because of arithmetic overflow. - * - * The API function png_set_alpha_mode specifies which of these choices to use - * with an enumerated 'mode' value and the gamma of the required output: - */ -#define PNG_ALPHA_PNG 0 /* according to the PNG standard */ -#define PNG_ALPHA_STANDARD 1 /* according to Porter/Duff */ -#define PNG_ALPHA_ASSOCIATED 1 /* as above; this is the normal practice */ -#define PNG_ALPHA_PREMULTIPLIED 1 /* as above */ -#define PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */ -#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */ - -PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structrp png_ptr, int mode, - double output_gamma)) -PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr, - int mode, png_fixed_point output_gamma)) -#endif - -#if defined(PNG_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED) -/* The output_gamma value is a screen gamma in libpng terminology: it expresses - * how to decode the output values, not how they are encoded. The values used - * correspond to the normal numbers used to describe the overall gamma of a - * computer display system; for example 2.2 for an sRGB conformant system. The - * values are scaled by 100000 in the _fixed version of the API (so 220000 for - * sRGB.) - * - * The inverse of the value is always used to provide a default for the PNG file - * encoding if it has no gAMA chunk and if png_set_gamma() has not been called - * to override the PNG gamma information. - * - * When the ALPHA_OPTIMIZED mode is selected the output gamma is used to encode - * opaque pixels however pixels with lower alpha values are not encoded, - * regardless of the output gamma setting. - * - * When the standard Porter Duff handling is requested with mode 1 the output - * encoding is set to be linear and the output_gamma value is only relevant - * as a default for input data that has no gamma information. The linear output - * encoding will be overridden if png_set_gamma() is called - the results may be - * highly unexpected! - * - * The following numbers are derived from the sRGB standard and the research - * behind it. sRGB is defined to be approximated by a PNG gAMA chunk value of - * 0.45455 (1/2.2) for PNG. The value implicitly includes any viewing - * correction required to take account of any differences in the color - * environment of the original scene and the intended display environment; the - * value expresses how to *decode* the image for display, not how the original - * data was *encoded*. - * - * sRGB provides a peg for the PNG standard by defining a viewing environment. - * sRGB itself, and earlier TV standards, actually use a more complex transform - * (a linear portion then a gamma 2.4 power law) than PNG can express. (PNG is - * limited to simple power laws.) By saying that an image for direct display on - * an sRGB conformant system should be stored with a gAMA chunk value of 45455 - * (11.3.3.2 and 11.3.3.5 of the ISO PNG specification) the PNG specification - * makes it possible to derive values for other display systems and - * environments. - * - * The Mac value is deduced from the sRGB based on an assumption that the actual - * extra viewing correction used in early Mac display systems was implemented as - * a power 1.45 lookup table. - * - * Any system where a programmable lookup table is used or where the behavior of - * the final display device characteristics can be changed requires system - * specific code to obtain the current characteristic. However this can be - * difficult and most PNG gamma correction only requires an approximate value. - * - * By default, if png_set_alpha_mode() is not called, libpng assumes that all - * values are unencoded, linear, values and that the output device also has a - * linear characteristic. This is only very rarely correct - it is invariably - * better to call png_set_alpha_mode() with PNG_DEFAULT_sRGB than rely on the - * default if you don't know what the right answer is! - * - * The special value PNG_GAMMA_MAC_18 indicates an older Mac system (pre Mac OS - * 10.6) which used a correction table to implement a somewhat lower gamma on an - * otherwise sRGB system. - * - * Both these values are reserved (not simple gamma values) in order to allow - * more precise correction internally in the future. - * - * NOTE: the following values can be passed to either the fixed or floating - * point APIs, but the floating point API will also accept floating point - * values. - */ -#define PNG_DEFAULT_sRGB -1 /* sRGB gamma and color space */ -#define PNG_GAMMA_MAC_18 -2 /* Old Mac '1.8' gamma and color space */ -#define PNG_GAMMA_sRGB 220000 /* Television standards--matches sRGB gamma */ -#define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */ -#endif - -/* The following are examples of calls to png_set_alpha_mode to achieve the - * required overall gamma correction and, where necessary, alpha - * premultiplication. - * - * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); - * This is the default libpng handling of the alpha channel - it is not - * pre-multiplied into the color components. In addition the call states - * that the output is for a sRGB system and causes all PNG files without gAMA - * chunks to be assumed to be encoded using sRGB. - * - * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); - * In this case the output is assumed to be something like an sRGB conformant - * display preceeded by a power-law lookup table of power 1.45. This is how - * early Mac systems behaved. - * - * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR); - * This is the classic Jim Blinn approach and will work in academic - * environments where everything is done by the book. It has the shortcoming - * of assuming that input PNG data with no gamma information is linear - this - * is unlikely to be correct unless the PNG files where generated locally. - * Most of the time the output precision will be so low as to show - * significant banding in dark areas of the image. - * - * png_set_expand_16(pp); - * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_DEFAULT_sRGB); - * This is a somewhat more realistic Jim Blinn inspired approach. PNG files - * are assumed to have the sRGB encoding if not marked with a gamma value and - * the output is always 16 bits per component. This permits accurate scaling - * and processing of the data. If you know that your input PNG files were - * generated locally you might need to replace PNG_DEFAULT_sRGB with the - * correct value for your system. - * - * png_set_alpha_mode(pp, PNG_ALPHA_OPTIMIZED, PNG_DEFAULT_sRGB); - * If you just need to composite the PNG image onto an existing background - * and if you control the code that does this you can use the optimization - * setting. In this case you just copy completely opaque pixels to the - * output. For pixels that are not completely transparent (you just skip - * those) you do the composition math using png_composite or png_composite_16 - * below then encode the resultant 8-bit or 16-bit values to match the output - * encoding. - * - * Other cases - * If neither the PNG nor the standard linear encoding work for you because - * of the software or hardware you use then you have a big problem. The PNG - * case will probably result in halos around the image. The linear encoding - * will probably result in a washed out, too bright, image (it's actually too - * contrasty.) Try the ALPHA_OPTIMIZED mode above - this will probably - * substantially reduce the halos. Alternatively try: - * - * png_set_alpha_mode(pp, PNG_ALPHA_BROKEN, PNG_DEFAULT_sRGB); - * This option will also reduce the halos, but there will be slight dark - * halos round the opaque parts of the image where the background is light. - * In the OPTIMIZED mode the halos will be light halos where the background - * is dark. Take your pick - the halos are unavoidable unless you can get - * your hardware/software fixed! (The OPTIMIZED approach is slightly - * faster.) - * - * When the default gamma of PNG files doesn't match the output gamma. - * If you have PNG files with no gamma information png_set_alpha_mode allows - * you to provide a default gamma, but it also sets the ouput gamma to the - * matching value. If you know your PNG files have a gamma that doesn't - * match the output you can take advantage of the fact that - * png_set_alpha_mode always sets the output gamma but only sets the PNG - * default if it is not already set: - * - * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); - * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); - * The first call sets both the default and the output gamma values, the - * second call overrides the output gamma without changing the default. This - * is easier than achieving the same effect with png_set_gamma. You must use - * PNG_ALPHA_PNG for the first call - internal checking in png_set_alpha will - * fire if more than one call to png_set_alpha_mode and png_set_background is - * made in the same read operation, however multiple calls with PNG_ALPHA_PNG - * are ignored. - */ - -#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED -PNG_EXPORT(36, void, png_set_strip_alpha, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ - defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) -PNG_EXPORT(37, void, png_set_swap_alpha, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ - defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) -PNG_EXPORT(38, void, png_set_invert_alpha, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) -/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */ -PNG_EXPORT(39, void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler, - int flags)); -/* The values of the PNG_FILLER_ defines should NOT be changed */ -# define PNG_FILLER_BEFORE 0 -# define PNG_FILLER_AFTER 1 -/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */ -PNG_EXPORT(40, void, png_set_add_alpha, (png_structrp png_ptr, - png_uint_32 filler, int flags)); -#endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */ - -#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) -/* Swap bytes in 16-bit depth files. */ -PNG_EXPORT(41, void, png_set_swap, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) -/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ -PNG_EXPORT(42, void, png_set_packing, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ - defined(PNG_WRITE_PACKSWAP_SUPPORTED) -/* Swap packing order of pixels in bytes. */ -PNG_EXPORT(43, void, png_set_packswap, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) -/* Converts files to legal bit depths. */ -PNG_EXPORT(44, void, png_set_shift, (png_structrp png_ptr, png_const_color_8p - true_bits)); -#endif - -#if defined(PNG_READ_INTERLACING_SUPPORTED) || \ - defined(PNG_WRITE_INTERLACING_SUPPORTED) -/* Have the code handle the interlacing. Returns the number of passes. - * MUST be called before png_read_update_info or png_start_read_image, - * otherwise it will not have the desired effect. Note that it is still - * necessary to call png_read_row or png_read_rows png_get_image_height - * times for each pass. -*/ -PNG_EXPORT(45, int, png_set_interlace_handling, (png_structrp png_ptr)); -#endif - -#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) -/* Invert monochrome files */ -PNG_EXPORT(46, void, png_set_invert_mono, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_BACKGROUND_SUPPORTED -/* Handle alpha and tRNS by replacing with a background color. Prior to - * libpng-1.5.4 this API must not be called before the PNG file header has been - * read. Doing so will result in unexpected behavior and possible warnings or - * errors if the PNG file contains a bKGD chunk. - */ -PNG_FP_EXPORT(47, void, png_set_background, (png_structrp png_ptr, - png_const_color_16p background_color, int background_gamma_code, - int need_expand, double background_gamma)) -PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structrp png_ptr, - png_const_color_16p background_color, int background_gamma_code, - int need_expand, png_fixed_point background_gamma)) -#endif -#ifdef PNG_READ_BACKGROUND_SUPPORTED -# define PNG_BACKGROUND_GAMMA_UNKNOWN 0 -# define PNG_BACKGROUND_GAMMA_SCREEN 1 -# define PNG_BACKGROUND_GAMMA_FILE 2 -# define PNG_BACKGROUND_GAMMA_UNIQUE 3 -#endif - -#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED -/* Scale a 16-bit depth file down to 8-bit, accurately. */ -PNG_EXPORT(229, void, png_set_scale_16, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED -#define PNG_READ_16_TO_8 SUPPORTED /* Name prior to 1.5.4 */ -/* Strip the second byte of information from a 16-bit depth file. */ -PNG_EXPORT(48, void, png_set_strip_16, (png_structrp png_ptr)); -#endif - -#ifdef PNG_READ_QUANTIZE_SUPPORTED -/* Turn on quantizing, and reduce the palette to the number of colors - * available. - */ -PNG_EXPORT(49, void, png_set_quantize, (png_structrp png_ptr, - png_colorp palette, int num_palette, int maximum_colors, - png_const_uint_16p histogram, int full_quantize)); -#endif - -#ifdef PNG_READ_GAMMA_SUPPORTED -/* The threshold on gamma processing is configurable but hard-wired into the - * library. The following is the floating point variant. - */ -#define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) - -/* Handle gamma correction. Screen_gamma=(display_exponent). - * NOTE: this API simply sets the screen and file gamma values. It will - * therefore override the value for gamma in a PNG file if it is called after - * the file header has been read - use with care - call before reading the PNG - * file for best results! - * - * These routines accept the same gamma values as png_set_alpha_mode (described - * above). The PNG_GAMMA_ defines and PNG_DEFAULT_sRGB can be passed to either - * API (floating point or fixed.) Notice, however, that the 'file_gamma' value - * is the inverse of a 'screen gamma' value. - */ -PNG_FP_EXPORT(50, void, png_set_gamma, (png_structrp png_ptr, - double screen_gamma, double override_file_gamma)) -PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structrp png_ptr, - png_fixed_point screen_gamma, png_fixed_point override_file_gamma)) -#endif - -#ifdef PNG_WRITE_FLUSH_SUPPORTED -/* Set how many lines between output flushes - 0 for no flushing */ -PNG_EXPORT(51, void, png_set_flush, (png_structrp png_ptr, int nrows)); -/* Flush the current PNG output buffer */ -PNG_EXPORT(52, void, png_write_flush, (png_structrp png_ptr)); -#endif - -/* Optional update palette with requested transformations */ -PNG_EXPORT(53, void, png_start_read_image, (png_structrp png_ptr)); - -/* Optional call to update the users info structure */ -PNG_EXPORT(54, void, png_read_update_info, (png_structrp png_ptr, - png_inforp info_ptr)); - -#ifdef PNG_SEQUENTIAL_READ_SUPPORTED -/* Read one or more rows of image data. */ -PNG_EXPORT(55, void, png_read_rows, (png_structrp png_ptr, png_bytepp row, - png_bytepp display_row, png_uint_32 num_rows)); -#endif - -#ifdef PNG_SEQUENTIAL_READ_SUPPORTED -/* Read a row of data. */ -PNG_EXPORT(56, void, png_read_row, (png_structrp png_ptr, png_bytep row, - png_bytep display_row)); -#endif - -#ifdef PNG_SEQUENTIAL_READ_SUPPORTED -/* Read the whole image into memory at once. */ -PNG_EXPORT(57, void, png_read_image, (png_structrp png_ptr, png_bytepp image)); -#endif - -/* Write a row of image data */ -PNG_EXPORT(58, void, png_write_row, (png_structrp png_ptr, - png_const_bytep row)); - -/* Write a few rows of image data: (*row) is not written; however, the type - * is declared as writeable to maintain compatibility with previous versions - * of libpng and to allow the 'display_row' array from read_rows to be passed - * unchanged to write_rows. - */ -PNG_EXPORT(59, void, png_write_rows, (png_structrp png_ptr, png_bytepp row, - png_uint_32 num_rows)); - -/* Write the image data */ -PNG_EXPORT(60, void, png_write_image, (png_structrp png_ptr, png_bytepp image)); - -/* Write the end of the PNG file. */ -PNG_EXPORT(61, void, png_write_end, (png_structrp png_ptr, - png_inforp info_ptr)); - -#ifdef PNG_SEQUENTIAL_READ_SUPPORTED -/* Read the end of the PNG file. */ -PNG_EXPORT(62, void, png_read_end, (png_structrp png_ptr, png_inforp info_ptr)); -#endif - -/* Free any memory associated with the png_info_struct */ -PNG_EXPORT(63, void, png_destroy_info_struct, (png_const_structrp png_ptr, - png_infopp info_ptr_ptr)); - -/* Free any memory associated with the png_struct and the png_info_structs */ -PNG_EXPORT(64, void, png_destroy_read_struct, (png_structpp png_ptr_ptr, - png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); - -/* Free any memory associated with the png_struct and the png_info_structs */ -PNG_EXPORT(65, void, png_destroy_write_struct, (png_structpp png_ptr_ptr, - png_infopp info_ptr_ptr)); - -/* Set the libpng method of handling chunk CRC errors */ -PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action, - int ancil_action)); - -/* Values for png_set_crc_action() say how to handle CRC errors in - * ancillary and critical chunks, and whether to use the data contained - * therein. Note that it is impossible to "discard" data in a critical - * chunk. For versions prior to 0.90, the action was always error/quit, - * whereas in version 0.90 and later, the action for CRC errors in ancillary - * chunks is warn/discard. These values should NOT be changed. - * - * value action:critical action:ancillary - */ -#define PNG_CRC_DEFAULT 0 /* error/quit warn/discard data */ -#define PNG_CRC_ERROR_QUIT 1 /* error/quit error/quit */ -#define PNG_CRC_WARN_DISCARD 2 /* (INVALID) warn/discard data */ -#define PNG_CRC_WARN_USE 3 /* warn/use data warn/use data */ -#define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */ -#define PNG_CRC_NO_CHANGE 5 /* use current value use current value */ - -/* These functions give the user control over the scan-line filtering in - * libpng and the compression methods used by zlib. These functions are - * mainly useful for testing, as the defaults should work with most users. - * Those users who are tight on memory or want faster performance at the - * expense of compression can modify them. See the compression library - * header file (zlib.h) for an explination of the compression functions. - */ - -/* Set the filtering method(s) used by libpng. Currently, the only valid - * value for "method" is 0. - */ -PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method, - int filters)); - -/* Flags for png_set_filter() to say which filters to use. The flags - * are chosen so that they don't conflict with real filter types - * below, in case they are supplied instead of the #defined constants. - * These values should NOT be changed. - */ -#define PNG_NO_FILTERS 0x00 -#define PNG_FILTER_NONE 0x08 -#define PNG_FILTER_SUB 0x10 -#define PNG_FILTER_UP 0x20 -#define PNG_FILTER_AVG 0x40 -#define PNG_FILTER_PAETH 0x80 -#define PNG_ALL_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | \ - PNG_FILTER_AVG | PNG_FILTER_PAETH) - -/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now. - * These defines should NOT be changed. - */ -#define PNG_FILTER_VALUE_NONE 0 -#define PNG_FILTER_VALUE_SUB 1 -#define PNG_FILTER_VALUE_UP 2 -#define PNG_FILTER_VALUE_AVG 3 -#define PNG_FILTER_VALUE_PAETH 4 -#define PNG_FILTER_VALUE_LAST 5 - -#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* EXPERIMENTAL */ -/* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_ - * defines, either the default (minimum-sum-of-absolute-differences), or - * the experimental method (weighted-minimum-sum-of-absolute-differences). - * - * Weights are factors >= 1.0, indicating how important it is to keep the - * filter type consistent between rows. Larger numbers mean the current - * filter is that many times as likely to be the same as the "num_weights" - * previous filters. This is cumulative for each previous row with a weight. - * There needs to be "num_weights" values in "filter_weights", or it can be - * NULL if the weights aren't being specified. Weights have no influence on - * the selection of the first row filter. Well chosen weights can (in theory) - * improve the compression for a given image. - * - * Costs are factors >= 1.0 indicating the relative decoding costs of a - * filter type. Higher costs indicate more decoding expense, and are - * therefore less likely to be selected over a filter with lower computational - * costs. There needs to be a value in "filter_costs" for each valid filter - * type (given by PNG_FILTER_VALUE_LAST), or it can be NULL if you aren't - * setting the costs. Costs try to improve the speed of decompression without - * unduly increasing the compressed image size. - * - * A negative weight or cost indicates the default value is to be used, and - * values in the range [0.0, 1.0) indicate the value is to remain unchanged. - * The default values for both weights and costs are currently 1.0, but may - * change if good general weighting/cost heuristics can be found. If both - * the weights and costs are set to 1.0, this degenerates the WEIGHTED method - * to the UNWEIGHTED method, but with added encoding time/computation. - */ -PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structrp png_ptr, - int heuristic_method, int num_weights, png_const_doublep filter_weights, - png_const_doublep filter_costs)) -PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed, - (png_structrp png_ptr, int heuristic_method, int num_weights, - png_const_fixed_point_p filter_weights, - png_const_fixed_point_p filter_costs)) -#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */ - -/* Heuristic used for row filter selection. These defines should NOT be - * changed. - */ -#define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */ -#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */ -#define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */ -#define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */ - -#ifdef PNG_WRITE_SUPPORTED -/* Set the library compression level. Currently, valid values range from - * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 - * (0 - no compression, 9 - "maximal" compression). Note that tests have - * shown that zlib compression levels 3-6 usually perform as well as level 9 - * for PNG images, and do considerably fewer caclulations. In the future, - * these values may not correspond directly to the zlib compression levels. - */ -PNG_EXPORT(69, void, png_set_compression_level, (png_structrp png_ptr, - int level)); - -PNG_EXPORT(70, void, png_set_compression_mem_level, (png_structrp png_ptr, - int mem_level)); - -PNG_EXPORT(71, void, png_set_compression_strategy, (png_structrp png_ptr, - int strategy)); - -/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a - * smaller value of window_bits if it can do so safely. - */ -PNG_EXPORT(72, void, png_set_compression_window_bits, (png_structrp png_ptr, - int window_bits)); - -PNG_EXPORT(73, void, png_set_compression_method, (png_structrp png_ptr, - int method)); -#endif - -#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED -/* Also set zlib parameters for compressing non-IDAT chunks */ -PNG_EXPORT(222, void, png_set_text_compression_level, (png_structrp png_ptr, - int level)); - -PNG_EXPORT(223, void, png_set_text_compression_mem_level, (png_structrp png_ptr, - int mem_level)); - -PNG_EXPORT(224, void, png_set_text_compression_strategy, (png_structrp png_ptr, - int strategy)); - -/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a - * smaller value of window_bits if it can do so safely. - */ -PNG_EXPORT(225, void, png_set_text_compression_window_bits, - (png_structrp png_ptr, int window_bits)); - -PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr, - int method)); -#endif /* PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */ - -/* These next functions are called for input/output, memory, and error - * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c, - * and call standard C I/O routines such as fread(), fwrite(), and - * fprintf(). These functions can be made to use other I/O routines - * at run time for those applications that need to handle I/O in a - * different manner by calling png_set_???_fn(). See libpng-manual.txt for - * more information. - */ - -#ifdef PNG_STDIO_SUPPORTED -/* Initialize the input/output for the PNG file to the default functions. */ -PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp)); -#endif - -/* Replace the (error and abort), and warning functions with user - * supplied functions. If no messages are to be printed you must still - * write and use replacement functions. The replacement error_fn should - * still do a longjmp to the last setjmp location if you are using this - * method of error handling. If error_fn or warning_fn is NULL, the - * default function will be used. - */ - -PNG_EXPORT(75, void, png_set_error_fn, (png_structrp png_ptr, - png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); - -/* Return the user pointer associated with the error functions */ -PNG_EXPORT(76, png_voidp, png_get_error_ptr, (png_const_structrp png_ptr)); - -/* Replace the default data output functions with a user supplied one(s). - * If buffered output is not used, then output_flush_fn can be set to NULL. - * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time - * output_flush_fn will be ignored (and thus can be NULL). - * It is probably a mistake to use NULL for output_flush_fn if - * write_data_fn is not also NULL unless you have built libpng with - * PNG_WRITE_FLUSH_SUPPORTED undefined, because in this case libpng's - * default flush function, which uses the standard *FILE structure, will - * be used. - */ -PNG_EXPORT(77, void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr, - png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); - -/* Replace the default data input function with a user supplied one. */ -PNG_EXPORT(78, void, png_set_read_fn, (png_structrp png_ptr, png_voidp io_ptr, - png_rw_ptr read_data_fn)); - -/* Return the user pointer associated with the I/O functions */ -PNG_EXPORT(79, png_voidp, png_get_io_ptr, (png_const_structrp png_ptr)); - -PNG_EXPORT(80, void, png_set_read_status_fn, (png_structrp png_ptr, - png_read_status_ptr read_row_fn)); - -PNG_EXPORT(81, void, png_set_write_status_fn, (png_structrp png_ptr, - png_write_status_ptr write_row_fn)); - -#ifdef PNG_USER_MEM_SUPPORTED -/* Replace the default memory allocation functions with user supplied one(s). */ -PNG_EXPORT(82, void, png_set_mem_fn, (png_structrp png_ptr, png_voidp mem_ptr, - png_malloc_ptr malloc_fn, png_free_ptr free_fn)); -/* Return the user pointer associated with the memory functions */ -PNG_EXPORT(83, png_voidp, png_get_mem_ptr, (png_const_structrp png_ptr)); -#endif - -#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED -PNG_EXPORT(84, void, png_set_read_user_transform_fn, (png_structrp png_ptr, - png_user_transform_ptr read_user_transform_fn)); -#endif - -#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED -PNG_EXPORT(85, void, png_set_write_user_transform_fn, (png_structrp png_ptr, - png_user_transform_ptr write_user_transform_fn)); -#endif - -#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED -PNG_EXPORT(86, void, png_set_user_transform_info, (png_structrp png_ptr, - png_voidp user_transform_ptr, int user_transform_depth, - int user_transform_channels)); -/* Return the user pointer associated with the user transform functions */ -PNG_EXPORT(87, png_voidp, png_get_user_transform_ptr, - (png_const_structrp png_ptr)); -#endif - -#ifdef PNG_USER_TRANSFORM_INFO_SUPPORTED -/* Return information about the row currently being processed. Note that these - * APIs do not fail but will return unexpected results if called outside a user - * transform callback. Also note that when transforming an interlaced image the - * row number is the row number within the sub-image of the interlace pass, so - * the value will increase to the height of the sub-image (not the full image) - * then reset to 0 for the next pass. - * - * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to - * find the output pixel (x,y) given an interlaced sub-image pixel - * (row,col,pass). (See below for these macros.) - */ -PNG_EXPORT(217, png_uint_32, png_get_current_row_number, (png_const_structrp)); -PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp)); -#endif - -#ifdef PNG_READ_USER_CHUNKS_SUPPORTED -/* This callback is called only for *unknown* chunks. If - * PNG_HANDLE_AS_UNKNOWN_SUPPORTED is set then it is possible to set known - * chunks to be treated as unknown, however in this case the callback must do - * any processing required by the chunk (e.g. by calling the appropriate - * png_set_ APIs.) - * - * There is no write support - on write, by default, all the chunks in the - * 'unknown' list are written in the specified position. - * - * The integer return from the callback function is interpreted thus: - * - * negative: An error occured, png_chunk_error will be called. - * zero: The chunk was not handled, the chunk will be saved. A critical - * chunk will cause an error at this point unless it is to be saved. - * positive: The chunk was handled, libpng will ignore/discard it. - * - * See "INTERACTION WTIH USER CHUNK CALLBACKS" below for important notes about - * how this behavior will change in libpng 1.7 - */ -PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr, - png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); -#endif - -#ifdef PNG_USER_CHUNKS_SUPPORTED -PNG_EXPORT(89, png_voidp, png_get_user_chunk_ptr, (png_const_structrp png_ptr)); -#endif - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -/* Sets the function callbacks for the push reader, and a pointer to a - * user-defined structure available to the callback functions. - */ -PNG_EXPORT(90, void, png_set_progressive_read_fn, (png_structrp png_ptr, - png_voidp progressive_ptr, png_progressive_info_ptr info_fn, - png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)); - -/* Returns the user pointer associated with the push read functions */ -PNG_EXPORT(91, png_voidp, png_get_progressive_ptr, - (png_const_structrp png_ptr)); - -/* Function to be called when data becomes available */ -PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr, - png_inforp info_ptr, png_bytep buffer, png_size_t buffer_size)); - -/* A function which may be called *only* within png_process_data to stop the - * processing of any more data. The function returns the number of bytes - * remaining, excluding any that libpng has cached internally. A subsequent - * call to png_process_data must supply these bytes again. If the argument - * 'save' is set to true the routine will first save all the pending data and - * will always return 0. - */ -PNG_EXPORT(219, png_size_t, png_process_data_pause, (png_structrp, int save)); - -/* A function which may be called *only* outside (after) a call to - * png_process_data. It returns the number of bytes of data to skip in the - * input. Normally it will return 0, but if it returns a non-zero value the - * application must skip than number of bytes of input data and pass the - * following data to the next call to png_process_data. - */ -PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp)); - -#ifdef PNG_READ_INTERLACING_SUPPORTED -/* Function that combines rows. 'new_row' is a flag that should come from - * the callback and be non-NULL if anything needs to be done; the library - * stores its own version of the new data internally and ignores the passed - * in value. - */ -PNG_EXPORT(93, void, png_progressive_combine_row, (png_const_structrp png_ptr, - png_bytep old_row, png_const_bytep new_row)); -#endif /* PNG_READ_INTERLACING_SUPPORTED */ -#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ - -PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr, - png_alloc_size_t size), PNG_ALLOCATED); -/* Added at libpng version 1.4.0 */ -PNG_EXPORTA(95, png_voidp, png_calloc, (png_const_structrp png_ptr, - png_alloc_size_t size), PNG_ALLOCATED); - -/* Added at libpng version 1.2.4 */ -PNG_EXPORTA(96, png_voidp, png_malloc_warn, (png_const_structrp png_ptr, - png_alloc_size_t size), PNG_ALLOCATED); - -/* Frees a pointer allocated by png_malloc() */ -PNG_EXPORT(97, void, png_free, (png_const_structrp png_ptr, png_voidp ptr)); - -/* Free data that was allocated internally */ -PNG_EXPORT(98, void, png_free_data, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_32 free_me, int num)); - -/* Reassign responsibility for freeing existing data, whether allocated - * by libpng or by the application; this works on the png_info structure passed - * in, it does not change the state for other png_info structures. - * - * It is unlikely that this function works correctly as of 1.6.0 and using it - * may result either in memory leaks or double free of allocated data. - */ -PNG_EXPORTA(99, void, png_data_freer, (png_const_structrp png_ptr, - png_inforp info_ptr, int freer, png_uint_32 mask), PNG_DEPRECATED); - -/* Assignments for png_data_freer */ -#define PNG_DESTROY_WILL_FREE_DATA 1 -#define PNG_SET_WILL_FREE_DATA 1 -#define PNG_USER_WILL_FREE_DATA 2 -/* Flags for png_ptr->free_me and info_ptr->free_me */ -#define PNG_FREE_HIST 0x0008 -#define PNG_FREE_ICCP 0x0010 -#define PNG_FREE_SPLT 0x0020 -#define PNG_FREE_ROWS 0x0040 -#define PNG_FREE_PCAL 0x0080 -#define PNG_FREE_SCAL 0x0100 -#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_FREE_UNKN 0x0200 -#endif -/* PNG_FREE_LIST 0x0400 removed in 1.6.0 because it is ignored */ -#define PNG_FREE_PLTE 0x1000 -#define PNG_FREE_TRNS 0x2000 -#define PNG_FREE_TEXT 0x4000 -#define PNG_FREE_ALL 0x7fff -#define PNG_FREE_MUL 0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ - -#ifdef PNG_USER_MEM_SUPPORTED -PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr, - png_alloc_size_t size), PNG_ALLOCATED PNG_DEPRECATED); -PNG_EXPORTA(101, void, png_free_default, (png_const_structrp png_ptr, - png_voidp ptr), PNG_DEPRECATED); -#endif - -#ifdef PNG_ERROR_TEXT_SUPPORTED -/* Fatal error in PNG image of libpng - can't continue */ -PNG_EXPORTA(102, void, png_error, (png_const_structrp png_ptr, - png_const_charp error_message), PNG_NORETURN); - -/* The same, but the chunk name is prepended to the error string. */ -PNG_EXPORTA(103, void, png_chunk_error, (png_const_structrp png_ptr, - png_const_charp error_message), PNG_NORETURN); - -#else -/* Fatal error in PNG image of libpng - can't continue */ -PNG_EXPORTA(104, void, png_err, (png_const_structrp png_ptr), PNG_NORETURN); -#endif - -#ifdef PNG_WARNINGS_SUPPORTED -/* Non-fatal error in libpng. Can continue, but may have a problem. */ -PNG_EXPORT(105, void, png_warning, (png_const_structrp png_ptr, - png_const_charp warning_message)); - -/* Non-fatal error in libpng, chunk name is prepended to message. */ -PNG_EXPORT(106, void, png_chunk_warning, (png_const_structrp png_ptr, - png_const_charp warning_message)); -#endif - -#ifdef PNG_BENIGN_ERRORS_SUPPORTED -/* Benign error in libpng. Can continue, but may have a problem. - * User can choose whether to handle as a fatal error or as a warning. */ -PNG_EXPORT(107, void, png_benign_error, (png_const_structrp png_ptr, - png_const_charp warning_message)); - -#ifdef PNG_READ_SUPPORTED -/* Same, chunk name is prepended to message (only during read) */ -PNG_EXPORT(108, void, png_chunk_benign_error, (png_const_structrp png_ptr, - png_const_charp warning_message)); -#endif - -PNG_EXPORT(109, void, png_set_benign_errors, - (png_structrp png_ptr, int allowed)); -#else -# ifdef PNG_ALLOW_BENIGN_ERRORS -# define png_benign_error png_warning -# define png_chunk_benign_error png_chunk_warning -# else -# define png_benign_error png_error -# define png_chunk_benign_error png_chunk_error -# endif -#endif - -/* The png_set_ functions are for storing values in the png_info_struct. - * Similarly, the png_get_ calls are used to read values from the - * png_info_struct, either storing the parameters in the passed variables, or - * setting pointers into the png_info_struct where the data is stored. The - * png_get_ functions return a non-zero value if the data was available - * in info_ptr, or return zero and do not change any of the parameters if the - * data was not available. - * - * These functions should be used instead of directly accessing png_info - * to avoid problems with future changes in the size and internal layout of - * png_info_struct. - */ -/* Returns "flag" if chunk data is valid in info_ptr. */ -PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr, - png_const_inforp info_ptr, png_uint_32 flag)); - -/* Returns number of bytes needed to hold a transformed row. */ -PNG_EXPORT(111, png_size_t, png_get_rowbytes, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -#ifdef PNG_INFO_IMAGE_SUPPORTED -/* Returns row_pointers, which is an array of pointers to scanlines that was - * returned from png_read_png(). - */ -PNG_EXPORT(112, png_bytepp, png_get_rows, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Set row_pointers, which is an array of pointers to scanlines for use - * by png_write_png(). - */ -PNG_EXPORT(113, void, png_set_rows, (png_const_structrp png_ptr, - png_inforp info_ptr, png_bytepp row_pointers)); -#endif - -/* Returns number of color channels in image. */ -PNG_EXPORT(114, png_byte, png_get_channels, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -#ifdef PNG_EASY_ACCESS_SUPPORTED -/* Returns image width in pixels. */ -PNG_EXPORT(115, png_uint_32, png_get_image_width, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image height in pixels. */ -PNG_EXPORT(116, png_uint_32, png_get_image_height, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image bit_depth. */ -PNG_EXPORT(117, png_byte, png_get_bit_depth, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image color_type. */ -PNG_EXPORT(118, png_byte, png_get_color_type, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image filter_type. */ -PNG_EXPORT(119, png_byte, png_get_filter_type, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image interlace_type. */ -PNG_EXPORT(120, png_byte, png_get_interlace_type, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image compression_type. */ -PNG_EXPORT(121, png_byte, png_get_compression_type, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); - -/* Returns image resolution in pixels per meter, from pHYs chunk data. */ -PNG_EXPORT(122, png_uint_32, png_get_pixels_per_meter, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(123, png_uint_32, png_get_x_pixels_per_meter, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); - -/* Returns pixel aspect ratio, computed from pHYs chunk data. */ -PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio, - (png_const_structrp png_ptr, png_const_inforp info_ptr)) -PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr)) - -/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ -PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(127, png_int_32, png_get_y_offset_pixels, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(128, png_int_32, png_get_x_offset_microns, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); -PNG_EXPORT(129, png_int_32, png_get_y_offset_microns, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); - -#endif /* PNG_EASY_ACCESS_SUPPORTED */ - -#ifdef PNG_READ_SUPPORTED -/* Returns pointer to signature string read from PNG header */ -PNG_EXPORT(130, png_const_bytep, png_get_signature, (png_const_structrp png_ptr, - png_const_inforp info_ptr)); -#endif - -#ifdef PNG_bKGD_SUPPORTED -PNG_EXPORT(131, png_uint_32, png_get_bKGD, (png_const_structrp png_ptr, - png_inforp info_ptr, png_color_16p *background)); -#endif - -#ifdef PNG_bKGD_SUPPORTED -PNG_EXPORT(132, void, png_set_bKGD, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_color_16p background)); -#endif - -#ifdef PNG_cHRM_SUPPORTED -PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structrp png_ptr, - png_const_inforp info_ptr, double *white_x, double *white_y, double *red_x, - double *red_y, double *green_x, double *green_y, double *blue_x, - double *blue_y)) -PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_const_structrp png_ptr, - png_const_inforp info_ptr, double *red_X, double *red_Y, double *red_Z, - double *green_X, double *green_Y, double *green_Z, double *blue_X, - double *blue_Y, double *blue_Z)) -PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr, - png_fixed_point *int_white_x, png_fixed_point *int_white_y, - png_fixed_point *int_red_x, png_fixed_point *int_red_y, - png_fixed_point *int_green_x, png_fixed_point *int_green_y, - png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)) -PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr, - png_fixed_point *int_red_X, png_fixed_point *int_red_Y, - png_fixed_point *int_red_Z, png_fixed_point *int_green_X, - png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, - png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, - png_fixed_point *int_blue_Z)) -#endif - -#ifdef PNG_cHRM_SUPPORTED -PNG_FP_EXPORT(135, void, png_set_cHRM, (png_const_structrp png_ptr, - png_inforp info_ptr, - double white_x, double white_y, double red_x, double red_y, double green_x, - double green_y, double blue_x, double blue_y)) -PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_const_structrp png_ptr, - png_inforp info_ptr, double red_X, double red_Y, double red_Z, - double green_X, double green_Y, double green_Z, double blue_X, - double blue_Y, double blue_Z)) -PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_const_structrp png_ptr, - png_inforp info_ptr, png_fixed_point int_white_x, - png_fixed_point int_white_y, png_fixed_point int_red_x, - png_fixed_point int_red_y, png_fixed_point int_green_x, - png_fixed_point int_green_y, png_fixed_point int_blue_x, - png_fixed_point int_blue_y)) -PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr, - png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, - png_fixed_point int_red_Z, png_fixed_point int_green_X, - png_fixed_point int_green_Y, png_fixed_point int_green_Z, - png_fixed_point int_blue_X, png_fixed_point int_blue_Y, - png_fixed_point int_blue_Z)) -#endif - -#ifdef PNG_gAMA_SUPPORTED -PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA, (png_const_structrp png_ptr, - png_const_inforp info_ptr, double *file_gamma)) -PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr, - png_fixed_point *int_file_gamma)) -#endif - -#ifdef PNG_gAMA_SUPPORTED -PNG_FP_EXPORT(139, void, png_set_gAMA, (png_const_structrp png_ptr, - png_inforp info_ptr, double file_gamma)) -PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_const_structrp png_ptr, - png_inforp info_ptr, png_fixed_point int_file_gamma)) -#endif - -#ifdef PNG_hIST_SUPPORTED -PNG_EXPORT(141, png_uint_32, png_get_hIST, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_16p *hist)); -#endif - -#ifdef PNG_hIST_SUPPORTED -PNG_EXPORT(142, void, png_set_hIST, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_uint_16p hist)); -#endif - -PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, - png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height, - int *bit_depth, int *color_type, int *interlace_method, - int *compression_method, int *filter_method)); - -PNG_EXPORT(144, void, png_set_IHDR, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, - int color_type, int interlace_method, int compression_method, - int filter_method)); - -#ifdef PNG_oFFs_SUPPORTED -PNG_EXPORT(145, png_uint_32, png_get_oFFs, (png_const_structrp png_ptr, - png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, - int *unit_type)); -#endif - -#ifdef PNG_oFFs_SUPPORTED -PNG_EXPORT(146, void, png_set_oFFs, (png_const_structrp png_ptr, - png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y, - int unit_type)); -#endif - -#ifdef PNG_pCAL_SUPPORTED -PNG_EXPORT(147, png_uint_32, png_get_pCAL, (png_const_structrp png_ptr, - png_inforp info_ptr, png_charp *purpose, png_int_32 *X0, - png_int_32 *X1, int *type, int *nparams, png_charp *units, - png_charpp *params)); -#endif - -#ifdef PNG_pCAL_SUPPORTED -PNG_EXPORT(148, void, png_set_pCAL, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, - int type, int nparams, png_const_charp units, png_charpp params)); -#endif - -#ifdef PNG_pHYs_SUPPORTED -PNG_EXPORT(149, png_uint_32, png_get_pHYs, (png_const_structrp png_ptr, - png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, - int *unit_type)); -#endif - -#ifdef PNG_pHYs_SUPPORTED -PNG_EXPORT(150, void, png_set_pHYs, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); -#endif - -PNG_EXPORT(151, png_uint_32, png_get_PLTE, (png_const_structrp png_ptr, - png_inforp info_ptr, png_colorp *palette, int *num_palette)); - -PNG_EXPORT(152, void, png_set_PLTE, (png_structrp png_ptr, - png_inforp info_ptr, png_const_colorp palette, int num_palette)); - -#ifdef PNG_sBIT_SUPPORTED -PNG_EXPORT(153, png_uint_32, png_get_sBIT, (png_const_structrp png_ptr, - png_inforp info_ptr, png_color_8p *sig_bit)); -#endif - -#ifdef PNG_sBIT_SUPPORTED -PNG_EXPORT(154, void, png_set_sBIT, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_color_8p sig_bit)); -#endif - -#ifdef PNG_sRGB_SUPPORTED -PNG_EXPORT(155, png_uint_32, png_get_sRGB, (png_const_structrp png_ptr, - png_const_inforp info_ptr, int *file_srgb_intent)); -#endif - -#ifdef PNG_sRGB_SUPPORTED -PNG_EXPORT(156, void, png_set_sRGB, (png_const_structrp png_ptr, - png_inforp info_ptr, int srgb_intent)); -PNG_EXPORT(157, void, png_set_sRGB_gAMA_and_cHRM, (png_const_structrp png_ptr, - png_inforp info_ptr, int srgb_intent)); -#endif - -#ifdef PNG_iCCP_SUPPORTED -PNG_EXPORT(158, png_uint_32, png_get_iCCP, (png_const_structrp png_ptr, - png_inforp info_ptr, png_charpp name, int *compression_type, - png_bytepp profile, png_uint_32 *proflen)); -#endif - -#ifdef PNG_iCCP_SUPPORTED -PNG_EXPORT(159, void, png_set_iCCP, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_charp name, int compression_type, - png_const_bytep profile, png_uint_32 proflen)); -#endif - -#ifdef PNG_sPLT_SUPPORTED -PNG_EXPORT(160, int, png_get_sPLT, (png_const_structrp png_ptr, - png_inforp info_ptr, png_sPLT_tpp entries)); -#endif - -#ifdef PNG_sPLT_SUPPORTED -PNG_EXPORT(161, void, png_set_sPLT, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_sPLT_tp entries, int nentries)); -#endif - -#ifdef PNG_TEXT_SUPPORTED -/* png_get_text also returns the number of text chunks in *num_text */ -PNG_EXPORT(162, int, png_get_text, (png_const_structrp png_ptr, - png_inforp info_ptr, png_textp *text_ptr, int *num_text)); -#endif - -/* Note while png_set_text() will accept a structure whose text, - * language, and translated keywords are NULL pointers, the structure - * returned by png_get_text will always contain regular - * zero-terminated C strings. They might be empty strings but - * they will never be NULL pointers. - */ - -#ifdef PNG_TEXT_SUPPORTED -PNG_EXPORT(163, void, png_set_text, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_textp text_ptr, int num_text)); -#endif - -#ifdef PNG_tIME_SUPPORTED -PNG_EXPORT(164, png_uint_32, png_get_tIME, (png_const_structrp png_ptr, - png_inforp info_ptr, png_timep *mod_time)); -#endif - -#ifdef PNG_tIME_SUPPORTED -PNG_EXPORT(165, void, png_set_tIME, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_timep mod_time)); -#endif - -#ifdef PNG_tRNS_SUPPORTED -PNG_EXPORT(166, png_uint_32, png_get_tRNS, (png_const_structrp png_ptr, - png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, - png_color_16p *trans_color)); -#endif - -#ifdef PNG_tRNS_SUPPORTED -PNG_EXPORT(167, void, png_set_tRNS, (png_structrp png_ptr, - png_inforp info_ptr, png_const_bytep trans_alpha, int num_trans, - png_const_color_16p trans_color)); -#endif - -#ifdef PNG_sCAL_SUPPORTED -PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structrp png_ptr, - png_const_inforp info_ptr, int *unit, double *width, double *height)) -#if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ - defined(PNG_FLOATING_POINT_SUPPORTED) -/* NOTE: this API is currently implemented using floating point arithmetic, - * consequently it can only be used on systems with floating point support. - * In any case the range of values supported by png_fixed_point is small and it - * is highly recommended that png_get_sCAL_s be used instead. - */ -PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, - png_fixed_point *width, png_fixed_point *height)) -#endif -PNG_EXPORT(169, png_uint_32, png_get_sCAL_s, - (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, - png_charpp swidth, png_charpp sheight)); - -PNG_FP_EXPORT(170, void, png_set_sCAL, (png_const_structrp png_ptr, - png_inforp info_ptr, int unit, double width, double height)) -PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_const_structrp png_ptr, - png_inforp info_ptr, int unit, png_fixed_point width, - png_fixed_point height)) -PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr, - png_inforp info_ptr, int unit, - png_const_charp swidth, png_const_charp sheight)); -#endif /* PNG_sCAL_SUPPORTED */ - -#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED -/* Provide the default handling for all unknown chunks or, optionally, for - * specific unknown chunks. - * - * NOTE: prior to 1.6.0 the handling specified for particular chunks on read was - * ignored and the default was used, the per-chunk setting only had an effect on - * write. If you wish to have chunk-specific handling on read in code that must - * work on earlier versions you must use a user chunk callback to specify the - * desired handling (keep or discard.) - * - * The 'keep' parameter is a PNG_HANDLE_CHUNK_ value as listed below. The - * parameter is interpreted as follows: - * - * READ: - * PNG_HANDLE_CHUNK_AS_DEFAULT: - * Known chunks: do normal libpng processing, do not keep the chunk (but - * see the comments below about PNG_HANDLE_AS_UNKNOWN_SUPPORTED) - * Unknown chunks: for a specific chunk use the global default, when used - * as the default discard the chunk data. - * PNG_HANDLE_CHUNK_NEVER: - * Discard the chunk data. - * PNG_HANDLE_CHUNK_IF_SAFE: - * Keep the chunk data if the chunk is not critical else raise a chunk - * error. - * PNG_HANDLE_CHUNK_ALWAYS: - * Keep the chunk data. - * - * If the chunk data is saved it can be retrieved using png_get_unknown_chunks, - * below. Notice that specifying "AS_DEFAULT" as a global default is equivalent - * to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks - * it simply resets the behavior to the libpng default. - * - * INTERACTION WTIH USER CHUNK CALLBACKS: - * The per-chunk handling is always used when there is a png_user_chunk_ptr - * callback and the callback returns 0; the chunk is then always stored *unless* - * it is critical and the per-chunk setting is other than ALWAYS. Notice that - * the global default is *not* used in this case. (In effect the per-chunk - * value is incremented to at least IF_SAFE.) - * - * IMPORTANT NOTE: this behavior will change in libpng 1.7 - the global and - * per-chunk defaults will be honored. If you want to preserve the current - * behavior when your callback returns 0 you must set PNG_HANDLE_CHUNK_IF_SAFE - * as the default - if you don't do this libpng 1.6 will issue a warning. - * - * If you want unhandled unknown chunks to be discarded in libpng 1.6 and - * earlier simply return '1' (handled). - * - * PNG_HANDLE_AS_UNKNOWN_SUPPORTED: - * If this is *not* set known chunks will always be handled by libpng and - * will never be stored in the unknown chunk list. Known chunks listed to - * png_set_keep_unknown_chunks will have no effect. If it is set then known - * chunks listed with a keep other than AS_DEFAULT will *never* be processed - * by libpng, in addition critical chunks must either be processed by the - * callback or saved. - * - * The IHDR and IEND chunks must not be listed. Because this turns off the - * default handling for chunks that would otherwise be recognized the - * behavior of libpng transformations may well become incorrect! - * - * WRITE: - * When writing chunks the options only apply to the chunks specified by - * png_set_unknown_chunks (below), libpng will *always* write known chunks - * required by png_set_ calls and will always write the core critical chunks - * (as required for PLTE). - * - * Each chunk in the png_set_unknown_chunks list is looked up in the - * png_set_keep_unknown_chunks list to find the keep setting, this is then - * interpreted as follows: - * - * PNG_HANDLE_CHUNK_AS_DEFAULT: - * Write safe-to-copy chunks and write other chunks if the global - * default is set to _ALWAYS, otherwise don't write this chunk. - * PNG_HANDLE_CHUNK_NEVER: - * Do not write the chunk. - * PNG_HANDLE_CHUNK_IF_SAFE: - * Write the chunk if it is safe-to-copy, otherwise do not write it. - * PNG_HANDLE_CHUNK_ALWAYS: - * Write the chunk. - * - * Note that the default behavior is effectively the opposite of the read case - - * in read unknown chunks are not stored by default, in write they are written - * by default. Also the behavior of PNG_HANDLE_CHUNK_IF_SAFE is very different - * - on write the safe-to-copy bit is checked, on read the critical bit is - * checked and on read if the chunk is critical an error will be raised. - * - * num_chunks: - * =========== - * If num_chunks is positive, then the "keep" parameter specifies the manner - * for handling only those chunks appearing in the chunk_list array, - * otherwise the chunk list array is ignored. - * - * If num_chunks is 0 the "keep" parameter specifies the default behavior for - * unknown chunks, as described above. - * - * If num_chunks is negative, then the "keep" parameter specifies the manner - * for handling all unknown chunks plus all chunks recognized by libpng - * except for the IHDR, PLTE, tRNS, IDAT, and IEND chunks (which continue to - * be processed by libpng. - */ -PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr, - int keep, png_const_bytep chunk_list, int num_chunks)); - -/* The "keep" PNG_HANDLE_CHUNK_ parameter for the specified chunk is returned; - * the result is therefore true (non-zero) if special handling is required, - * false for the default handling. - */ -PNG_EXPORT(173, int, png_handle_as_unknown, (png_const_structrp png_ptr, - png_const_bytep chunk_name)); -#endif - -#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED -PNG_EXPORT(174, void, png_set_unknown_chunks, (png_const_structrp png_ptr, - png_inforp info_ptr, png_const_unknown_chunkp unknowns, - int num_unknowns)); - /* NOTE: prior to 1.6.0 this routine set the 'location' field of the added - * unknowns to the location currently stored in the png_struct. This is - * invariably the wrong value on write. To fix this call the following API - * for each chunk in the list with the correct location. If you know your - * code won't be compiled on earlier versions you can rely on - * png_set_unknown_chunks(write-ptr, png_get_unknown_chunks(read-ptr)) doing - * the correct thing. - */ - -PNG_EXPORT(175, void, png_set_unknown_chunk_location, - (png_const_structrp png_ptr, png_inforp info_ptr, int chunk, int location)); - -PNG_EXPORT(176, int, png_get_unknown_chunks, (png_const_structrp png_ptr, - png_inforp info_ptr, png_unknown_chunkpp entries)); -#endif - -/* Png_free_data() will turn off the "valid" flag for anything it frees. - * If you need to turn it off for a chunk that your application has freed, - * you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); - */ -PNG_EXPORT(177, void, png_set_invalid, (png_const_structrp png_ptr, - png_inforp info_ptr, int mask)); - -#ifdef PNG_INFO_IMAGE_SUPPORTED -/* The "params" pointer is currently not used and is for future expansion. */ -PNG_EXPORT(178, void, png_read_png, (png_structrp png_ptr, png_inforp info_ptr, - int transforms, png_voidp params)); -PNG_EXPORT(179, void, png_write_png, (png_structrp png_ptr, png_inforp info_ptr, - int transforms, png_voidp params)); -#endif - -PNG_EXPORT(180, png_const_charp, png_get_copyright, - (png_const_structrp png_ptr)); -PNG_EXPORT(181, png_const_charp, png_get_header_ver, - (png_const_structrp png_ptr)); -PNG_EXPORT(182, png_const_charp, png_get_header_version, - (png_const_structrp png_ptr)); -PNG_EXPORT(183, png_const_charp, png_get_libpng_ver, - (png_const_structrp png_ptr)); - -#ifdef PNG_MNG_FEATURES_SUPPORTED -PNG_EXPORT(184, png_uint_32, png_permit_mng_features, (png_structrp png_ptr, - png_uint_32 mng_features_permitted)); -#endif - -/* For use in png_set_keep_unknown, added to version 1.2.6 */ -#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 -#define PNG_HANDLE_CHUNK_NEVER 1 -#define PNG_HANDLE_CHUNK_IF_SAFE 2 -#define PNG_HANDLE_CHUNK_ALWAYS 3 -#define PNG_HANDLE_CHUNK_LAST 4 - -/* Strip the prepended error numbers ("#nnn ") from error and warning - * messages before passing them to the error or warning handler. - */ -#ifdef PNG_ERROR_NUMBERS_SUPPORTED -PNG_EXPORT(185, void, png_set_strip_error_numbers, (png_structrp png_ptr, - png_uint_32 strip_mode)); -#endif - -/* Added in libpng-1.2.6 */ -#ifdef PNG_SET_USER_LIMITS_SUPPORTED -PNG_EXPORT(186, void, png_set_user_limits, (png_structrp png_ptr, - png_uint_32 user_width_max, png_uint_32 user_height_max)); -PNG_EXPORT(187, png_uint_32, png_get_user_width_max, - (png_const_structrp png_ptr)); -PNG_EXPORT(188, png_uint_32, png_get_user_height_max, - (png_const_structrp png_ptr)); -/* Added in libpng-1.4.0 */ -PNG_EXPORT(189, void, png_set_chunk_cache_max, (png_structrp png_ptr, - png_uint_32 user_chunk_cache_max)); -PNG_EXPORT(190, png_uint_32, png_get_chunk_cache_max, - (png_const_structrp png_ptr)); -/* Added in libpng-1.4.1 */ -PNG_EXPORT(191, void, png_set_chunk_malloc_max, (png_structrp png_ptr, - png_alloc_size_t user_chunk_cache_max)); -PNG_EXPORT(192, png_alloc_size_t, png_get_chunk_malloc_max, - (png_const_structrp png_ptr)); -#endif - -#if defined(PNG_INCH_CONVERSIONS_SUPPORTED) -PNG_EXPORT(193, png_uint_32, png_get_pixels_per_inch, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); - -PNG_EXPORT(194, png_uint_32, png_get_x_pixels_per_inch, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); - -PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch, - (png_const_structrp png_ptr, png_const_inforp info_ptr)); - -PNG_FP_EXPORT(196, float, png_get_x_offset_inches, - (png_const_structrp png_ptr, png_const_inforp info_ptr)) -#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ -PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr)) -#endif - -PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structrp png_ptr, - png_const_inforp info_ptr)) -#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ -PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed, - (png_const_structrp png_ptr, png_const_inforp info_ptr)) -#endif - -# ifdef PNG_pHYs_SUPPORTED -PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (png_const_structrp png_ptr, - png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, - int *unit_type)); -# endif /* PNG_pHYs_SUPPORTED */ -#endif /* PNG_INCH_CONVERSIONS_SUPPORTED */ - -/* Added in libpng-1.4.0 */ -#ifdef PNG_IO_STATE_SUPPORTED -PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_const_structrp png_ptr)); - -/* Removed from libpng 1.6; use png_get_io_chunk_type. */ -PNG_REMOVED(200, png_const_bytep, png_get_io_chunk_name, (png_structrp png_ptr), - PNG_DEPRECATED) - -PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type, - (png_const_structrp png_ptr)); - -/* The flags returned by png_get_io_state() are the following: */ -# define PNG_IO_NONE 0x0000 /* no I/O at this moment */ -# define PNG_IO_READING 0x0001 /* currently reading */ -# define PNG_IO_WRITING 0x0002 /* currently writing */ -# define PNG_IO_SIGNATURE 0x0010 /* currently at the file signature */ -# define PNG_IO_CHUNK_HDR 0x0020 /* currently at the chunk header */ -# define PNG_IO_CHUNK_DATA 0x0040 /* currently at the chunk data */ -# define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */ -# define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */ -# define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */ -#endif /* ?PNG_IO_STATE_SUPPORTED */ - -/* Interlace support. The following macros are always defined so that if - * libpng interlace handling is turned off the macros may be used to handle - * interlaced images within the application. - */ -#define PNG_INTERLACE_ADAM7_PASSES 7 - -/* Two macros to return the first row and first column of the original, - * full, image which appears in a given pass. 'pass' is in the range 0 - * to 6 and the result is in the range 0 to 7. - */ -#define PNG_PASS_START_ROW(pass) (((1&~(pass))<<(3-((pass)>>1)))&7) -#define PNG_PASS_START_COL(pass) (((1& (pass))<<(3-(((pass)+1)>>1)))&7) - -/* A macro to return the offset between pixels in the output row for a pair of - * pixels in the input - effectively the inverse of the 'COL_SHIFT' macro that - * follows. Note that ROW_OFFSET is the offset from one row to the next whereas - * COL_OFFSET is from one column to the next, within a row. - */ -#define PNG_PASS_ROW_OFFSET(pass) ((pass)>2?(8>>(((pass)-1)>>1)):8) -#define PNG_PASS_COL_OFFSET(pass) (1<<((7-(pass))>>1)) - -/* Two macros to help evaluate the number of rows or columns in each - * pass. This is expressed as a shift - effectively log2 of the number or - * rows or columns in each 8x8 tile of the original image. - */ -#define PNG_PASS_ROW_SHIFT(pass) ((pass)>2?(8-(pass))>>1:3) -#define PNG_PASS_COL_SHIFT(pass) ((pass)>1?(7-(pass))>>1:3) - -/* Hence two macros to determine the number of rows or columns in a given - * pass of an image given its height or width. In fact these macros may - * return non-zero even though the sub-image is empty, because the other - * dimension may be empty for a small image. - */ -#define PNG_PASS_ROWS(height, pass) (((height)+(((1<>PNG_PASS_ROW_SHIFT(pass)) -#define PNG_PASS_COLS(width, pass) (((width)+(((1<>PNG_PASS_COL_SHIFT(pass)) - -/* For the reader row callbacks (both progressive and sequential) it is - * necessary to find the row in the output image given a row in an interlaced - * image, so two more macros: - */ -#define PNG_ROW_FROM_PASS_ROW(y_in, pass) \ - (((y_in)<>(((7-(off))-(pass))<<2)) & 0xF) | \ - ((0x01145AF0>>(((7-(off))-(pass))<<2)) & 0xF0)) - -#define PNG_ROW_IN_INTERLACE_PASS(y, pass) \ - ((PNG_PASS_MASK(pass,0) >> ((y)&7)) & 1) -#define PNG_COL_IN_INTERLACE_PASS(x, pass) \ - ((PNG_PASS_MASK(pass,1) >> ((x)&7)) & 1) - -#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED -/* With these routines we avoid an integer divide, which will be slower on - * most machines. However, it does take more operations than the corresponding - * divide method, so it may be slower on a few RISC systems. There are two - * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. - * - * Note that the rounding factors are NOT supposed to be the same! 128 and - * 32768 are correct for the NODIV code; 127 and 32767 are correct for the - * standard method. - * - * [Optimized code by Greg Roelofs and Mark Adler...blame us for bugs. :-) ] - */ - - /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ - -# define png_composite(composite, fg, alpha, bg) \ - { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ - * (png_uint_16)(alpha) \ - + (png_uint_16)(bg)*(png_uint_16)(255 \ - - (png_uint_16)(alpha)) + 128); \ - (composite) = (png_byte)((temp + (temp >> 8)) >> 8); } - -# define png_composite_16(composite, fg, alpha, bg) \ - { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ - * (png_uint_32)(alpha) \ - + (png_uint_32)(bg)*(65535 \ - - (png_uint_32)(alpha)) + 32768); \ - (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); } - -#else /* Standard method using integer division */ - -# define png_composite(composite, fg, alpha, bg) \ - (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \ - (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ - 127) / 255) - -# define png_composite_16(composite, fg, alpha, bg) \ - (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \ - (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \ - 32767) / 65535) -#endif /* PNG_READ_COMPOSITE_NODIV_SUPPORTED */ - -#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED -PNG_EXPORT(201, png_uint_32, png_get_uint_32, (png_const_bytep buf)); -PNG_EXPORT(202, png_uint_16, png_get_uint_16, (png_const_bytep buf)); -PNG_EXPORT(203, png_int_32, png_get_int_32, (png_const_bytep buf)); -#endif - -PNG_EXPORT(204, png_uint_32, png_get_uint_31, (png_const_structrp png_ptr, - png_const_bytep buf)); -/* No png_get_int_16 -- may be added if there's a real need for it. */ - -/* Place a 32-bit number into a buffer in PNG byte order (big-endian). */ -#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED -PNG_EXPORT(205, void, png_save_uint_32, (png_bytep buf, png_uint_32 i)); -#endif -#ifdef PNG_SAVE_INT_32_SUPPORTED -PNG_EXPORT(206, void, png_save_int_32, (png_bytep buf, png_int_32 i)); -#endif - -/* Place a 16-bit number into a buffer in PNG byte order. - * The parameter is declared unsigned int, not png_uint_16, - * just to avoid potential problems on pre-ANSI C compilers. - */ -#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED -PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i)); -/* No png_save_int_16 -- may be added if there's a real need for it. */ -#endif - -#ifdef PNG_USE_READ_MACROS -/* Inline macros to do direct reads of bytes from the input buffer. - * The png_get_int_32() routine assumes we are using two's complement - * format for negative values, which is almost certainly true. - */ -# define PNG_get_uint_32(buf) \ - (((png_uint_32)(*(buf)) << 24) + \ - ((png_uint_32)(*((buf) + 1)) << 16) + \ - ((png_uint_32)(*((buf) + 2)) << 8) + \ - ((png_uint_32)(*((buf) + 3)))) - - /* From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the - * function) incorrectly returned a value of type png_uint_32. - */ -# define PNG_get_uint_16(buf) \ - ((png_uint_16) \ - (((unsigned int)(*(buf)) << 8) + \ - ((unsigned int)(*((buf) + 1))))) - -# define PNG_get_int_32(buf) \ - ((png_int_32)((*(buf) & 0x80) \ - ? -((png_int_32)((png_get_uint_32(buf) ^ 0xffffffffL) + 1)) \ - : (png_int_32)png_get_uint_32(buf))) - - /* If PNG_PREFIX is defined the same thing as below happens in pnglibconf.h, - * but defining a macro name prefixed with PNG_PREFIX. - */ -# ifndef PNG_PREFIX -# define png_get_uint_32(buf) PNG_get_uint_32(buf) -# define png_get_uint_16(buf) PNG_get_uint_16(buf) -# define png_get_int_32(buf) PNG_get_int_32(buf) -# endif -#else -# ifdef PNG_PREFIX - /* No macros; revert to the (redefined) function */ -# define PNG_get_uint_32 (png_get_uint_32) -# define PNG_get_uint_16 (png_get_uint_16) -# define PNG_get_int_32 (png_get_int_32) -# endif -#endif - -/******************************************************************************* - * SIMPLIFIED API - ******************************************************************************* - * - * Please read the documentation in libpng-manual.txt (TODO: write said - * documentation) if you don't understand what follows. - * - * The simplified API hides the details of both libpng and the PNG file format - * itself. It allows PNG files to be read into a very limited number of - * in-memory bitmap formats or to be written from the same formats. If these - * formats do not accomodate your needs then you can, and should, use the more - * sophisticated APIs above - these support a wide variety of in-memory formats - * and a wide variety of sophisticated transformations to those formats as well - * as a wide variety of APIs to manipulate ancillary information. - * - * To read a PNG file using the simplified API: - * - * 1) Declare a 'png_image' structure (see below) on the stack and set the - * version field to PNG_IMAGE_VERSION. - * 2) Call the appropriate png_image_begin_read... function. - * 3) Set the png_image 'format' member to the required sample format. - * 4) Allocate a buffer for the image and, if required, the color-map. - * 5) Call png_image_finish_read to read the image and, if required, the - * color-map into your buffers. - * - * There are no restrictions on the format of the PNG input itself; all valid - * color types, bit depths, and interlace methods are acceptable, and the - * input image is transformed as necessary to the requested in-memory format - * during the png_image_finish_read() step. The only caveat is that if you - * request a color-mapped image from a PNG that is full-color or makes - * complex use of an alpha channel the transformation is extremely lossy and the - * result may look terrible. - * - * To write a PNG file using the simplified API: - * - * 1) Declare a 'png_image' structure on the stack and memset() it to all zero. - * 2) Initialize the members of the structure that describe the image, setting - * the 'format' member to the format of the image samples. - * 3) Call the appropriate png_image_write... function with a pointer to the - * image and, if necessary, the color-map to write the PNG data. - * - * png_image is a structure that describes the in-memory format of an image - * when it is being read or defines the in-memory format of an image that you - * need to write: - */ -#define PNG_IMAGE_VERSION 1 - -typedef struct png_control *png_controlp; -typedef struct -{ - png_controlp opaque; /* Initialize to NULL, free with png_image_free */ - png_uint_32 version; /* Set to PNG_IMAGE_VERSION */ - png_uint_32 width; /* Image width in pixels (columns) */ - png_uint_32 height; /* Image height in pixels (rows) */ - png_uint_32 format; /* Image format as defined below */ - png_uint_32 flags; /* A bit mask containing informational flags */ - png_uint_32 colormap_entries; - /* Number of entries in the color-map */ - - /* In the event of an error or warning the following field will be set to a - * non-zero value and the 'message' field will contain a '\0' terminated - * string with the libpng error or warning message. If both warnings and - * an error were encountered, only the error is recorded. If there - * are multiple warnings, only the first one is recorded. - * - * The upper 30 bits of this value are reserved, the low two bits contain - * a value as follows: - */ -# define PNG_IMAGE_WARNING 1 -# define PNG_IMAGE_ERROR 2 - /* - * The result is a two bit code such that a value more than 1 indicates - * a failure in the API just called: - * - * 0 - no warning or error - * 1 - warning - * 2 - error - * 3 - error preceded by warning - */ -# define PNG_IMAGE_FAILED(png_cntrl) ((((png_cntrl).warning_or_error)&0x03)>1) - - png_uint_32 warning_or_error; - - char message[64]; -} png_image, *png_imagep; - -/* The samples of the image have one to four channels whose components have - * original values in the range 0 to 1.0: - * - * 1: A single gray or luminance channel (G). - * 2: A gray/luminance channel and an alpha channel (GA). - * 3: Three red, green, blue color channels (RGB). - * 4: Three color channels and an alpha channel (RGBA). - * - * The components are encoded in one of two ways: - * - * a) As a small integer, value 0..255, contained in a single byte. For the - * alpha channel the original value is simply value/255. For the color or - * luminance channels the value is encoded according to the sRGB specification - * and matches the 8-bit format expected by typical display devices. - * - * The color/gray channels are not scaled (pre-multiplied) by the alpha - * channel and are suitable for passing to color management software. - * - * b) As a value in the range 0..65535, contained in a 2-byte integer. All - * channels can be converted to the original value by dividing by 65535; all - * channels are linear. Color channels use the RGB encoding (RGB end-points) of - * the sRGB specification. This encoding is identified by the - * PNG_FORMAT_FLAG_LINEAR flag below. - * - * When the simplified API needs to convert between sRGB and linear colorspaces, - * the actual sRGB transfer curve defined in the sRGB specification (see the - * article at http://en.wikipedia.org/wiki/SRGB) is used, not the gamma=1/2.2 - * approximation used elsewhere in libpng. - * - * When an alpha channel is present it is expected to denote pixel coverage - * of the color or luminance channels and is returned as an associated alpha - * channel: the color/gray channels are scaled (pre-multiplied) by the alpha - * value. - * - * The samples are either contained directly in the image data, between 1 and 8 - * bytes per pixel according to the encoding, or are held in a color-map indexed - * by bytes in the image data. In the case of a color-map the color-map entries - * are individual samples, encoded as above, and the image data has one byte per - * pixel to select the relevant sample from the color-map. - */ - -/* PNG_FORMAT_* - * - * #defines to be used in png_image::format. Each #define identifies a - * particular layout of sample data and, if present, alpha values. There are - * separate defines for each of the two component encodings. - * - * A format is built up using single bit flag values. All combinations are - * valid. Formats can be built up from the flag values or you can use one of - * the predefined values below. When testing formats always use the FORMAT_FLAG - * macros to test for individual features - future versions of the library may - * add new flags. - * - * When reading or writing color-mapped images the format should be set to the - * format of the entries in the color-map then png_image_{read,write}_colormap - * called to read or write the color-map and set the format correctly for the - * image data. Do not set the PNG_FORMAT_FLAG_COLORMAP bit directly! - * - * NOTE: libpng can be built with particular features disabled, if you see - * compiler errors because the definition of one of the following flags has been - * compiled out it is because libpng does not have the required support. It is - * possible, however, for the libpng configuration to enable the format on just - * read or just write; in that case you may see an error at run time. You can - * guard against this by checking for the definition of the appropriate - * "_SUPPORTED" macro, one of: - * - * PNG_SIMPLIFIED_{READ,WRITE}_{BGR,AFIRST}_SUPPORTED - */ -#define PNG_FORMAT_FLAG_ALPHA 0x01U /* format with an alpha channel */ -#define PNG_FORMAT_FLAG_COLOR 0x02U /* color format: otherwise grayscale */ -#define PNG_FORMAT_FLAG_LINEAR 0x04U /* 2 byte channels else 1 byte */ -#define PNG_FORMAT_FLAG_COLORMAP 0x08U /* image data is color-mapped */ - -#ifdef PNG_FORMAT_BGR_SUPPORTED -# define PNG_FORMAT_FLAG_BGR 0x10U /* BGR colors, else order is RGB */ -#endif - -#ifdef PNG_FORMAT_AFIRST_SUPPORTED -# define PNG_FORMAT_FLAG_AFIRST 0x20U /* alpha channel comes first */ -#endif - -/* Commonly used formats have predefined macros. - * - * First the single byte (sRGB) formats: - */ -#define PNG_FORMAT_GRAY 0 -#define PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA -#define PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST) -#define PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR -#define PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR) -#define PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA) -#define PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST) -#define PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA) -#define PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST) - -/* Then the linear 2-byte formats. When naming these "Y" is used to - * indicate a luminance (gray) channel. - */ -#define PNG_FORMAT_LINEAR_Y PNG_FORMAT_FLAG_LINEAR -#define PNG_FORMAT_LINEAR_Y_ALPHA (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA) -#define PNG_FORMAT_LINEAR_RGB (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR) -#define PNG_FORMAT_LINEAR_RGB_ALPHA \ - (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA) - -/* With color-mapped formats the image data is one byte for each pixel, the byte - * is an index into the color-map which is formatted as above. To obtain a - * color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP - * to one of the above definitions, or you can use one of the definitions below. - */ -#define PNG_FORMAT_RGB_COLORMAP (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_COLORMAP) -#define PNG_FORMAT_BGR_COLORMAP (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_COLORMAP) -#define PNG_FORMAT_RGBA_COLORMAP (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_COLORMAP) -#define PNG_FORMAT_ARGB_COLORMAP (PNG_FORMAT_ARGB|PNG_FORMAT_FLAG_COLORMAP) -#define PNG_FORMAT_BGRA_COLORMAP (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_COLORMAP) -#define PNG_FORMAT_ABGR_COLORMAP (PNG_FORMAT_ABGR|PNG_FORMAT_FLAG_COLORMAP) - -/* PNG_IMAGE macros - * - * These are convenience macros to derive information from a png_image - * structure. The PNG_IMAGE_SAMPLE_ macros return values appropriate to the - * actual image sample values - either the entries in the color-map or the - * pixels in the image. The PNG_IMAGE_PIXEL_ macros return corresponding values - * for the pixels and will always return 1 for color-mapped formats. The - * remaining macros return information about the rows in the image and the - * complete image. - * - * NOTE: All the macros that take a png_image::format parameter are compile time - * constants if the format parameter is, itself, a constant. Therefore these - * macros can be used in array declarations and case labels where required. - * Similarly the macros are also pre-processor constants (sizeof is not used) so - * they can be used in #if tests. - * - * First the information about the samples. - */ -#define PNG_IMAGE_SAMPLE_CHANNELS(fmt)\ - (((fmt)&(PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA))+1) - /* Return the total number of channels in a given format: 1..4 */ - -#define PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)\ - ((((fmt) & PNG_FORMAT_FLAG_LINEAR) >> 2)+1) - /* Return the size in bytes of a single component of a pixel or color-map - * entry (as appropriate) in the image: 1 or 2. - */ - -#define PNG_IMAGE_SAMPLE_SIZE(fmt)\ - (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)) - /* This is the size of the sample data for one sample. If the image is - * color-mapped it is the size of one color-map entry (and image pixels are - * one byte in size), otherwise it is the size of one image pixel. - */ - -#define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\ - (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256) - /* The maximum size of the color-map required by the format expressed in a - * count of components. This can be used to compile-time allocate a - * color-map: - * - * png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)]; - * - * png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)]; - * - * Alternatively use the PNG_IMAGE_COLORMAP_SIZE macro below to use the - * information from one of the png_image_begin_read_ APIs and dynamically - * allocate the required memory. - */ - -/* Corresponding information about the pixels */ -#define PNG_IMAGE_PIXEL_(test,fmt)\ - (((fmt)&PNG_FORMAT_FLAG_COLORMAP)?1:test(fmt)) - -#define PNG_IMAGE_PIXEL_CHANNELS(fmt)\ - PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_CHANNELS,fmt) - /* The number of separate channels (components) in a pixel; 1 for a - * color-mapped image. - */ - -#define PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)\ - PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_COMPONENT_SIZE,fmt) - /* The size, in bytes, of each component in a pixel; 1 for a color-mapped - * image. - */ - -#define PNG_IMAGE_PIXEL_SIZE(fmt) PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_SIZE,fmt) - /* The size, in bytes, of a complete pixel; 1 for a color-mapped image. */ - -/* Information about the whole row, or whole image */ -#define PNG_IMAGE_ROW_STRIDE(image)\ - (PNG_IMAGE_PIXEL_CHANNELS((image).format) * (image).width) - /* Return the total number of components in a single row of the image; this - * is the minimum 'row stride', the minimum count of components between each - * row. For a color-mapped image this is the minimum number of bytes in a - * row. - */ - -#define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\ - (PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride)) - /* Return the size, in bytes, of an image buffer given a png_image and a row - * stride - the number of components to leave space for in each row. - */ - -#define PNG_IMAGE_SIZE(image)\ - PNG_IMAGE_BUFFER_SIZE(image, PNG_IMAGE_ROW_STRIDE(image)) - /* Return the size, in bytes, of the image in memory given just a png_image; - * the row stride is the minimum stride required for the image. - */ - -#define PNG_IMAGE_COLORMAP_SIZE(image)\ - (PNG_IMAGE_SAMPLE_SIZE((image).format) * (image).colormap_entries) - /* Return the size, in bytes, of the color-map of this image. If the image - * format is not a color-map format this will return a size sufficient for - * 256 entries in the given format; check PNG_FORMAT_FLAG_COLORMAP if - * you don't want to allocate a color-map in this case. - */ - -/* PNG_IMAGE_FLAG_* - * - * Flags containing additional information about the image are held in the - * 'flags' field of png_image. - */ -#define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01 - /* This indicates the the RGB values of the in-memory bitmap do not - * correspond to the red, green and blue end-points defined by sRGB. - */ - -#define PNG_IMAGE_FLAG_FAST 0x02 - /* On write emphasise speed over compression; the resultant PNG file will be - * larger but will be produced significantly faster, particular for large - * images. Do not use this option for images which will be distributed, only - * used it when producing intermediate files that will be read back in - * repeatedly. For a typical 24-bit image the option will double the read - * speed at the cost of increasing the image size by 25%, however for many - * more compressible images the PNG file can be 10 times larger with only a - * slight speed gain. - */ - -#define PNG_IMAGE_FLAG_16BIT_sRGB 0x04 - /* On read if the image is a 16-bit per component image and there is no gAMA - * or sRGB chunk assume that the components are sRGB encoded. Notice that - * images output by the simplified API always have gamma information; setting - * this flag only affects the interpretation of 16-bit images from an - * external source. It is recommended that the application expose this flag - * to the user; the user can normally easily recognize the difference between - * linear and sRGB encoding. This flag has no effect on write - the data - * passed to the write APIs must have the correct encoding (as defined - * above.) - * - * If the flag is not set (the default) input 16-bit per component data is - * assumed to be linear. - * - * NOTE: the flag can only be set after the png_image_begin_read_ call, - * because that call initializes the 'flags' field. - */ - -#ifdef PNG_SIMPLIFIED_READ_SUPPORTED -/* READ APIs - * --------- - * - * The png_image passed to the read APIs must have been initialized by setting - * the png_controlp field 'opaque' to NULL (or, safer, memset the whole thing.) - */ -#ifdef PNG_STDIO_SUPPORTED -PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image, - const char *file_name)); - /* The named file is opened for read and the image header is filled in - * from the PNG header in the file. - */ - -PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image, - FILE* file)); - /* The PNG header is read from the stdio FILE object. */ -#endif /* PNG_STDIO_SUPPORTED */ - -PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image, - png_const_voidp memory, png_size_t size)); - /* The PNG header is read from the given memory buffer. */ - -PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image, - png_const_colorp background, void *buffer, png_int_32 row_stride, - void *colormap)); - /* Finish reading the image into the supplied buffer and clean up the - * png_image structure. - * - * row_stride is the step, in byte or 2-byte units as appropriate, - * between adjacent rows. A positive stride indicates that the top-most row - * is first in the buffer - the normal top-down arrangement. A negative - * stride indicates that the bottom-most row is first in the buffer. - * - * background need only be supplied if an alpha channel must be removed from - * a png_byte format and the removal is to be done by compositing on a solid - * color; otherwise it may be NULL and any composition will be done directly - * onto the buffer. The value is an sRGB color to use for the background, - * for grayscale output the green channel is used. - * - * background must be supplied when an alpha channel must be removed from a - * single byte color-mapped output format, in other words if: - * - * 1) The original format from png_image_begin_read_from_* had - * PNG_FORMAT_FLAG_ALPHA set. - * 2) The format set by the application does not. - * 3) The format set by the application has PNG_FORMAT_FLAG_COLORMAP set and - * PNG_FORMAT_FLAG_LINEAR *not* set. - * - * For linear output removing the alpha channel is always done by compositing - * on black and background is ignored. - * - * colormap must be supplied when PNG_FORMAT_FLAG_COLORMAP is set. It must - * be at least the size (in bytes) returned by PNG_IMAGE_COLORMAP_SIZE. - * image->colormap_entries will be updated to the actual number of entries - * written to the colormap; this may be less than the original value. - */ - -PNG_EXPORT(238, void, png_image_free, (png_imagep image)); - /* Free any data allocated by libpng in image->opaque, setting the pointer to - * NULL. May be called at any time after the structure is initialized. - */ -#endif /* PNG_SIMPLIFIED_READ_SUPPORTED */ - -#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED -/* WRITE APIS - * ---------- - * For write you must initialize a png_image structure to describe the image to - * be written. To do this use memset to set the whole structure to 0 then - * initialize fields describing your image. - * - * version: must be set to PNG_IMAGE_VERSION - * opaque: must be initialized to NULL - * width: image width in pixels - * height: image height in rows - * format: the format of the data (image and color-map) you wish to write - * flags: set to 0 unless one of the defined flags applies; set - * PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB for color format images where the RGB - * values do not correspond to the colors in sRGB. - * colormap_entries: set to the number of entries in the color-map (0 to 256) - */ -PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image, - const char *file, int convert_to_8bit, const void *buffer, - png_int_32 row_stride, const void *colormap)); - /* Write the image to the named file. */ - -PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file, - int convert_to_8_bit, const void *buffer, png_int_32 row_stride, - const void *colormap)); - /* Write the image to the given (FILE*). */ - -/* With both write APIs if image is in one of the linear formats with 16-bit - * data then setting convert_to_8_bit will cause the output to be an 8-bit PNG - * gamma encoded according to the sRGB specification, otherwise a 16-bit linear - * encoded PNG file is written. - * - * With color-mapped data formats the colormap parameter point to a color-map - * with at least image->colormap_entries encoded in the specified format. If - * the format is linear the written PNG color-map will be converted to sRGB - * regardless of the convert_to_8_bit flag. - * - * With all APIs row_stride is handled as in the read APIs - it is the spacing - * from one row to the next in component sized units (1 or 2 bytes) and if - * negative indicates a bottom-up row layout in the buffer. - * - * Note that the write API does not support interlacing or sub-8-bit pixels. - */ -#endif /* PNG_SIMPLIFIED_WRITE_SUPPORTED */ -/******************************************************************************* - * END OF SIMPLIFIED API - ******************************************************************************/ - -#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED -PNG_EXPORT(242, void, png_set_check_for_invalid_index, - (png_structrp png_ptr, int allowed)); -# ifdef PNG_GET_PALETTE_MAX_SUPPORTED -PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr, - png_const_infop info_ptr)); -# endif -#endif /* CHECK_FOR_INVALID_INDEX */ - -/******************************************************************************* - * IMPLEMENTATION OPTIONS - ******************************************************************************* - * - * Support for arbitrary implementation-specific optimizations. The API allows - * particular options to be turned on or off. 'Option' is the number of the - * option and 'onoff' is 0 (off) or non-0 (on). The value returned is given - * by the PNG_OPTION_ defines below. - * - * HARDWARE: normally hardware capabilites, such as the Intel SSE instructions, - * are detected at run time, however sometimes it may be impossible - * to do this in user mode, in which case it is necessary to discover - * the capabilities in an OS specific way. Such capabilities are - * listed here when libpng has support for them and must be turned - * ON by the application if present. - * - * SOFTWARE: sometimes software optimizations actually result in performance - * decrease on some architectures or systems, or with some sets of - * PNG images. 'Software' options allow such optimizations to be - * selected at run time. - */ -#ifdef PNG_SET_OPTION_SUPPORTED -#ifdef PNG_ARM_NEON_API_SUPPORTED -# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */ -#endif -#define PNG_OPTION_NEXT 2 /* Next option - numbers must be even */ - -/* Return values: NOTE: there are four values and 'off' is *not* zero */ -#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */ -#define PNG_OPTION_INVALID 1 /* Option number out of range */ -#define PNG_OPTION_OFF 2 -#define PNG_OPTION_ON 3 - -PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option, - int onoff)); -#endif - -/******************************************************************************* - * END OF HARDWARE OPTIONS - ******************************************************************************/ - -/* Maintainer: Put new public prototypes here ^, in libpng.3, and project - * defs, scripts/pnglibconf.h, and scripts/pnglibconf.h.prebuilt - */ - -/* The last ordinal number (this is the *last* one already used; the next - * one to use is one more than this.) Maintainer, remember to add an entry to - * scripts/symbols.def as well. - */ -#ifdef PNG_EXPORT_LAST_ORDINAL - PNG_EXPORT_LAST_ORDINAL(244); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* PNG_VERSION_INFO_ONLY */ -/* Do not put anything past this line */ -#endif /* PNG_H */ diff --git a/src/SDL2/VisualC/external/include/pngconf.h b/src/SDL2/VisualC/external/include/pngconf.h deleted file mode 100755 index 31f996757..000000000 --- a/src/SDL2/VisualC/external/include/pngconf.h +++ /dev/null @@ -1,616 +0,0 @@ - -/* pngconf.h - machine configurable file for libpng - * - * libpng version 1.6.2 - April 25, 2013 - * - * Copyright (c) 1998-2013 Glenn Randers-Pehrson - * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) - * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) - * - * This code is released under the libpng license. - * For conditions of distribution and use, see the disclaimer - * and license in png.h - * - */ - -/* Any machine specific code is near the front of this file, so if you - * are configuring libpng for a machine, you may want to read the section - * starting here down to where it starts to typedef png_color, png_text, - * and png_info. - */ - -#ifndef PNGCONF_H -#define PNGCONF_H - -/* To do: Do all of this in scripts/pnglibconf.dfa */ -#ifdef PNG_SAFE_LIMITS_SUPPORTED -# ifdef PNG_USER_WIDTH_MAX -# undef PNG_USER_WIDTH_MAX -# define PNG_USER_WIDTH_MAX 1000000L -# endif -# ifdef PNG_USER_HEIGHT_MAX -# undef PNG_USER_HEIGHT_MAX -# define PNG_USER_HEIGHT_MAX 1000000L -# endif -# ifdef PNG_USER_CHUNK_MALLOC_MAX -# undef PNG_USER_CHUNK_MALLOC_MAX -# define PNG_USER_CHUNK_MALLOC_MAX 4000000L -# endif -# ifdef PNG_USER_CHUNK_CACHE_MAX -# undef PNG_USER_CHUNK_CACHE_MAX -# define PNG_USER_CHUNK_CACHE_MAX 128 -# endif -#endif - -#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */ - -/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C - * compiler for correct compilation. The following header files are required by - * the standard. If your compiler doesn't provide these header files, or they - * do not match the standard, you will need to provide/improve them. - */ -#include -#include - -/* Library header files. These header files are all defined by ISOC90; libpng - * expects conformant implementations, however, an ISOC90 conformant system need - * not provide these header files if the functionality cannot be implemented. - * In this case it will be necessary to disable the relevant parts of libpng in - * the build of pnglibconf.h. - * - * Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not - * include this unnecessary header file. - */ - -#ifdef PNG_STDIO_SUPPORTED - /* Required for the definition of FILE: */ -# include -#endif - -#ifdef PNG_SETJMP_SUPPORTED - /* Required for the definition of jmp_buf and the declaration of longjmp: */ -# include -#endif - -#ifdef PNG_CONVERT_tIME_SUPPORTED - /* Required for struct tm: */ -# include -#endif - -#endif /* PNG_BUILDING_SYMBOL_TABLE */ - -/* Prior to 1.6.0 it was possible to turn off 'const' in declarations using - * PNG_NO_CONST; this is no longer supported except for data declarations which - * apparently still cause problems in 2011 on some compilers. - */ -#define PNG_CONST const /* backward compatibility only */ - -/* This controls optimization of the reading of 16 and 32 bit values - * from PNG files. It can be set on a per-app-file basis - it - * just changes whether a macro is used when the function is called. - * The library builder sets the default; if read functions are not - * built into the library the macro implementation is forced on. - */ -#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED -# define PNG_USE_READ_MACROS -#endif -#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) -# if PNG_DEFAULT_READ_MACROS -# define PNG_USE_READ_MACROS -# endif -#endif - -/* COMPILER SPECIFIC OPTIONS. - * - * These options are provided so that a variety of difficult compilers - * can be used. Some are fixed at build time (e.g. PNG_API_RULE - * below) but still have compiler specific implementations, others - * may be changed on a per-file basis when compiling against libpng. - */ - -/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect - * against legacy (pre ISOC90) compilers that did not understand function - * prototypes. It is not required for modern C compilers. - */ -#ifndef PNGARG -# define PNGARG(arglist) arglist -#endif - -/* Function calling conventions. - * ============================= - * Normally it is not necessary to specify to the compiler how to call - * a function - it just does it - however on x86 systems derived from - * Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems - * and some others) there are multiple ways to call a function and the - * default can be changed on the compiler command line. For this reason - * libpng specifies the calling convention of every exported function and - * every function called via a user supplied function pointer. This is - * done in this file by defining the following macros: - * - * PNGAPI Calling convention for exported functions. - * PNGCBAPI Calling convention for user provided (callback) functions. - * PNGCAPI Calling convention used by the ANSI-C library (required - * for longjmp callbacks and sometimes used internally to - * specify the calling convention for zlib). - * - * These macros should never be overridden. If it is necessary to - * change calling convention in a private build this can be done - * by setting PNG_API_RULE (which defaults to 0) to one of the values - * below to select the correct 'API' variants. - * - * PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout. - * This is correct in every known environment. - * PNG_API_RULE=1 Use the operating system convention for PNGAPI and - * the 'C' calling convention (from PNGCAPI) for - * callbacks (PNGCBAPI). This is no longer required - * in any known environment - if it has to be used - * please post an explanation of the problem to the - * libpng mailing list. - * - * These cases only differ if the operating system does not use the C - * calling convention, at present this just means the above cases - * (x86 DOS/Windows sytems) and, even then, this does not apply to - * Cygwin running on those systems. - * - * Note that the value must be defined in pnglibconf.h so that what - * the application uses to call the library matches the conventions - * set when building the library. - */ - -/* Symbol export - * ============= - * When building a shared library it is almost always necessary to tell - * the compiler which symbols to export. The png.h macro 'PNG_EXPORT' - * is used to mark the symbols. On some systems these symbols can be - * extracted at link time and need no special processing by the compiler, - * on other systems the symbols are flagged by the compiler and just - * the declaration requires a special tag applied (unfortunately) in a - * compiler dependent way. Some systems can do either. - * - * A small number of older systems also require a symbol from a DLL to - * be flagged to the program that calls it. This is a problem because - * we do not know in the header file included by application code that - * the symbol will come from a shared library, as opposed to a statically - * linked one. For this reason the application must tell us by setting - * the magic flag PNG_USE_DLL to turn on the special processing before - * it includes png.h. - * - * Four additional macros are used to make this happen: - * - * PNG_IMPEXP The magic (if any) to cause a symbol to be exported from - * the build or imported if PNG_USE_DLL is set - compiler - * and system specific. - * - * PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to - * 'type', compiler specific. - * - * PNG_DLL_EXPORT Set to the magic to use during a libpng build to - * make a symbol exported from the DLL. Not used in the - * public header files; see pngpriv.h for how it is used - * in the libpng build. - * - * PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come - * from a DLL - used to define PNG_IMPEXP when - * PNG_USE_DLL is set. - */ - -/* System specific discovery. - * ========================== - * This code is used at build time to find PNG_IMPEXP, the API settings - * and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL - * import processing is possible. On Windows systems it also sets - * compiler-specific macros to the values required to change the calling - * conventions of the various functions. - */ -#if defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\ - defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) - /* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or - * MinGW on any architecture currently supported by Windows. Also includes - * Watcom builds but these need special treatment because they are not - * compatible with GCC or Visual C because of different calling conventions. - */ -# if PNG_API_RULE == 2 - /* If this line results in an error, either because __watcall is not - * understood or because of a redefine just below you cannot use *this* - * build of the library with the compiler you are using. *This* build was - * build using Watcom and applications must also be built using Watcom! - */ -# define PNGCAPI __watcall -# endif - -# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800)) -# define PNGCAPI __cdecl -# if PNG_API_RULE == 1 - /* If this line results in an error __stdcall is not understood and - * PNG_API_RULE should not have been set to '1'. - */ -# define PNGAPI __stdcall -# endif -# else - /* An older compiler, or one not detected (erroneously) above, - * if necessary override on the command line to get the correct - * variants for the compiler. - */ -# ifndef PNGCAPI -# define PNGCAPI _cdecl -# endif -# if PNG_API_RULE == 1 && !defined(PNGAPI) -# define PNGAPI _stdcall -# endif -# endif /* compiler/api */ - /* NOTE: PNGCBAPI always defaults to PNGCAPI. */ - -# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD) -# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed" -# endif - -# if (defined(_MSC_VER) && _MSC_VER < 800) ||\ - (defined(__BORLANDC__) && __BORLANDC__ < 0x500) - /* older Borland and MSC - * compilers used '__export' and required this to be after - * the type. - */ -# ifndef PNG_EXPORT_TYPE -# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP -# endif -# define PNG_DLL_EXPORT __export -# else /* newer compiler */ -# define PNG_DLL_EXPORT __declspec(dllexport) -# ifndef PNG_DLL_IMPORT -# define PNG_DLL_IMPORT __declspec(dllimport) -# endif -# endif /* compiler */ - -#else /* !Windows */ -# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) -# define PNGAPI _System -# else /* !Windows/x86 && !OS/2 */ - /* Use the defaults, or define PNG*API on the command line (but - * this will have to be done for every compile!) - */ -# endif /* other system, !OS/2 */ -#endif /* !Windows/x86 */ - -/* Now do all the defaulting . */ -#ifndef PNGCAPI -# define PNGCAPI -#endif -#ifndef PNGCBAPI -# define PNGCBAPI PNGCAPI -#endif -#ifndef PNGAPI -# define PNGAPI PNGCAPI -#endif - -/* PNG_IMPEXP may be set on the compilation system command line or (if not set) - * then in an internal header file when building the library, otherwise (when - * using the library) it is set here. - */ -#ifndef PNG_IMPEXP -# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT) - /* This forces use of a DLL, disallowing static linking */ -# define PNG_IMPEXP PNG_DLL_IMPORT -# endif - -# ifndef PNG_IMPEXP -# define PNG_IMPEXP -# endif -#endif - -/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat - * 'attributes' as a storage class - the attributes go at the start of the - * function definition, and attributes are always appended regardless of the - * compiler. This considerably simplifies these macros but may cause problems - * if any compilers both need function attributes and fail to handle them as - * a storage class (this is unlikely.) - */ -#ifndef PNG_FUNCTION -# define PNG_FUNCTION(type, name, args, attributes) attributes type name args -#endif - -#ifndef PNG_EXPORT_TYPE -# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type -#endif - - /* The ordinal value is only relevant when preprocessing png.h for symbol - * table entries, so we discard it here. See the .dfn files in the - * scripts directory. - */ -#ifndef PNG_EXPORTA - -# define PNG_EXPORTA(ordinal, type, name, args, attributes)\ - PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args), \ - extern attributes) -#endif - -/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument, - * so make something non-empty to satisfy the requirement: - */ -#define PNG_EMPTY /*empty list*/ - -#define PNG_EXPORT(ordinal, type, name, args)\ - PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY) - -/* Use PNG_REMOVED to comment out a removed interface. */ -#ifndef PNG_REMOVED -# define PNG_REMOVED(ordinal, type, name, args, attributes) -#endif - -#ifndef PNG_CALLBACK -# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args) -#endif - -/* Support for compiler specific function attributes. These are used - * so that where compiler support is available incorrect use of API - * functions in png.h will generate compiler warnings. - * - * Added at libpng-1.2.41. - */ - -#ifndef PNG_NO_PEDANTIC_WARNINGS -# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED -# define PNG_PEDANTIC_WARNINGS_SUPPORTED -# endif -#endif - -#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED - /* Support for compiler specific function attributes. These are used - * so that where compiler support is available, incorrect use of API - * functions in png.h will generate compiler warnings. Added at libpng - * version 1.2.41. Disabling these removes the warnings but may also produce - * less efficient code. - */ -# if defined(__GNUC__) -# ifndef PNG_USE_RESULT -# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) -# endif -# ifndef PNG_NORETURN -# define PNG_NORETURN __attribute__((__noreturn__)) -# endif -# if __GNUC__ >= 3 -# ifndef PNG_ALLOCATED -# define PNG_ALLOCATED __attribute__((__malloc__)) -# endif -# ifndef PNG_DEPRECATED -# define PNG_DEPRECATED __attribute__((__deprecated__)) -# endif -# ifndef PNG_PRIVATE -# if 0 /* Doesn't work so we use deprecated instead*/ -# define PNG_PRIVATE \ - __attribute__((warning("This function is not exported by libpng."))) -# else -# define PNG_PRIVATE \ - __attribute__((__deprecated__)) -# endif -# endif -# if ((__GNUC__ != 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1)) -# ifndef PNG_RESTRICT -# define PNG_RESTRICT __restrict -# endif -# endif /* __GNUC__ == 3.0 */ -# endif /* __GNUC__ >= 3 */ - -# elif defined(_MSC_VER) && (_MSC_VER >= 1300) -# ifndef PNG_USE_RESULT -# define PNG_USE_RESULT /* not supported */ -# endif -# ifndef PNG_NORETURN -# define PNG_NORETURN __declspec(noreturn) -# endif -# ifndef PNG_ALLOCATED -# if (_MSC_VER >= 1400) -# define PNG_ALLOCATED __declspec(restrict) -# endif -# endif -# ifndef PNG_DEPRECATED -# define PNG_DEPRECATED __declspec(deprecated) -# endif -# ifndef PNG_PRIVATE -# define PNG_PRIVATE __declspec(deprecated) -# endif -# ifndef PNG_RESTRICT -# if (_MSC_VER >= 1400) -# define PNG_RESTRICT __restrict -# endif -# endif - -# elif defined(__WATCOMC__) -# ifndef PNG_RESTRICT -# define PNG_RESTRICT __restrict -# endif -# endif /* _MSC_VER */ -#endif /* PNG_PEDANTIC_WARNINGS */ - -#ifndef PNG_DEPRECATED -# define PNG_DEPRECATED /* Use of this function is deprecated */ -#endif -#ifndef PNG_USE_RESULT -# define PNG_USE_RESULT /* The result of this function must be checked */ -#endif -#ifndef PNG_NORETURN -# define PNG_NORETURN /* This function does not return */ -#endif -#ifndef PNG_ALLOCATED -# define PNG_ALLOCATED /* The result of the function is new memory */ -#endif -#ifndef PNG_PRIVATE -# define PNG_PRIVATE /* This is a private libpng function */ -#endif -#ifndef PNG_RESTRICT -# define PNG_RESTRICT /* The C99 "restrict" feature */ -#endif -#ifndef PNG_FP_EXPORT /* A floating point API. */ -# ifdef PNG_FLOATING_POINT_SUPPORTED -# define PNG_FP_EXPORT(ordinal, type, name, args)\ - PNG_EXPORT(ordinal, type, name, args); -# else /* No floating point APIs */ -# define PNG_FP_EXPORT(ordinal, type, name, args) -# endif -#endif -#ifndef PNG_FIXED_EXPORT /* A fixed point API. */ -# ifdef PNG_FIXED_POINT_SUPPORTED -# define PNG_FIXED_EXPORT(ordinal, type, name, args)\ - PNG_EXPORT(ordinal, type, name, args); -# else /* No fixed point APIs */ -# define PNG_FIXED_EXPORT(ordinal, type, name, args) -# endif -#endif - -#ifndef PNG_BUILDING_SYMBOL_TABLE -/* Some typedefs to get us started. These should be safe on most of the common - * platforms. - * - * png_uint_32 and png_int_32 may, currently, be larger than required to hold a - * 32-bit value however this is not normally advisable. - * - * png_uint_16 and png_int_16 should always be two bytes in size - this is - * verified at library build time. - * - * png_byte must always be one byte in size. - * - * The checks below use constants from limits.h, as defined by the ISOC90 - * standard. - */ -#if CHAR_BIT == 8 && UCHAR_MAX == 255 - typedef unsigned char png_byte; -#else -# error "libpng requires 8 bit bytes" -#endif - -#if INT_MIN == -32768 && INT_MAX == 32767 - typedef int png_int_16; -#elif SHRT_MIN == -32768 && SHRT_MAX == 32767 - typedef short png_int_16; -#else -# error "libpng requires a signed 16 bit type" -#endif - -#if UINT_MAX == 65535 - typedef unsigned int png_uint_16; -#elif USHRT_MAX == 65535 - typedef unsigned short png_uint_16; -#else -# error "libpng requires an unsigned 16 bit type" -#endif - -#if INT_MIN < -2147483646 && INT_MAX > 2147483646 - typedef int png_int_32; -#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646 - typedef long int png_int_32; -#else -# error "libpng requires a signed 32 bit (or more) type" -#endif - -#if UINT_MAX > 4294967294 - typedef unsigned int png_uint_32; -#elif ULONG_MAX > 4294967294 - typedef unsigned long int png_uint_32; -#else -# error "libpng requires an unsigned 32 bit (or more) type" -#endif - -/* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however, - * requires an ISOC90 compiler and relies on consistent behavior of sizeof. - */ -typedef size_t png_size_t; -typedef ptrdiff_t png_ptrdiff_t; - -/* libpng needs to know the maximum value of 'size_t' and this controls the - * definition of png_alloc_size_t, below. This maximum value of size_t limits - * but does not control the maximum allocations the library makes - there is - * direct application control of this through png_set_user_limits(). - */ -#ifndef PNG_SMALL_SIZE_T - /* Compiler specific tests for systems where size_t is known to be less than - * 32 bits (some of these systems may no longer work because of the lack of - * 'far' support; see above.) - */ -# if (defined(__TURBOC__) && !defined(__FLAT__)) ||\ - (defined(_MSC_VER) && defined(MAXSEG_64K)) -# define PNG_SMALL_SIZE_T -# endif -#endif - -/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, and no - * smaller than png_uint_32. Casts from png_size_t or png_uint_32 to - * png_alloc_size_t are not necessary; in fact, it is recommended not to use - * them at all so that the compiler can complain when something turns out to be - * problematic. - * - * Casts in the other direction (from png_alloc_size_t to png_size_t or - * png_uint_32) should be explicitly applied; however, we do not expect to - * encounter practical situations that require such conversions. - * - * PNG_SMALL_SIZE_T must be defined if the maximum value of size_t is less than - * 4294967295 - i.e. less than the maximum value of png_uint_32. - */ -#ifdef PNG_SMALL_SIZE_T - typedef png_uint_32 png_alloc_size_t; -#else - typedef png_size_t png_alloc_size_t; -#endif - -/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler - * implementations of Intel CPU specific support of user-mode segmented address - * spaces, where 16-bit pointers address more than 65536 bytes of memory using - * separate 'segment' registers. The implementation requires two different - * types of pointer (only one of which includes the segment value.) - * - * If required this support is available in version 1.2 of libpng and may be - * available in versions through 1.5, although the correctness of the code has - * not been verified recently. - */ - -/* Typedef for floating-point numbers that are converted to fixed-point with a - * multiple of 100,000, e.g., gamma - */ -typedef png_int_32 png_fixed_point; - -/* Add typedefs for pointers */ -typedef void * png_voidp; -typedef const void * png_const_voidp; -typedef png_byte * png_bytep; -typedef const png_byte * png_const_bytep; -typedef png_uint_32 * png_uint_32p; -typedef const png_uint_32 * png_const_uint_32p; -typedef png_int_32 * png_int_32p; -typedef const png_int_32 * png_const_int_32p; -typedef png_uint_16 * png_uint_16p; -typedef const png_uint_16 * png_const_uint_16p; -typedef png_int_16 * png_int_16p; -typedef const png_int_16 * png_const_int_16p; -typedef char * png_charp; -typedef const char * png_const_charp; -typedef png_fixed_point * png_fixed_point_p; -typedef const png_fixed_point * png_const_fixed_point_p; -typedef png_size_t * png_size_tp; -typedef const png_size_t * png_const_size_tp; - -#ifdef PNG_STDIO_SUPPORTED -typedef FILE * png_FILE_p; -#endif - -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double * png_doublep; -typedef const double * png_const_doublep; -#endif - -/* Pointers to pointers; i.e. arrays */ -typedef png_byte * * png_bytepp; -typedef png_uint_32 * * png_uint_32pp; -typedef png_int_32 * * png_int_32pp; -typedef png_uint_16 * * png_uint_16pp; -typedef png_int_16 * * png_int_16pp; -typedef const char * * png_const_charpp; -typedef char * * png_charpp; -typedef png_fixed_point * * png_fixed_point_pp; -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double * * png_doublepp; -#endif - -/* Pointers to pointers to pointers; i.e., pointer to array */ -typedef char * * * png_charppp; - -#endif /* PNG_BUILDING_SYMBOL_TABLE */ - -#endif /* PNGCONF_H */ diff --git a/src/SDL2/VisualC/external/include/pnglibconf.h b/src/SDL2/VisualC/external/include/pnglibconf.h deleted file mode 100644 index b4428fb6c..000000000 --- a/src/SDL2/VisualC/external/include/pnglibconf.h +++ /dev/null @@ -1,209 +0,0 @@ -/* pnglibconf.h - library build configuration */ - -/* libpng version 1.6.2 - April 25, 2013 */ - -/* Copyright (c) 1998-2012 Glenn Randers-Pehrson */ - -/* This code is released under the libpng license. */ -/* For conditions of distribution and use, see the disclaimer */ -/* and license in png.h */ - -/* pnglibconf.h */ -/* Machine generated file: DO NOT EDIT */ -/* Derived from: scripts/pnglibconf.dfa */ -#ifndef PNGLCONF_H -#define PNGLCONF_H -/* options */ -#define PNG_16BIT_SUPPORTED -#define PNG_ALIGNED_MEMORY_SUPPORTED -/*#undef PNG_ARM_NEON_API_SUPPORTED*/ -/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/ -/*#undef PNG_ARM_NEON_SUPPORTED*/ -#define PNG_BENIGN_ERRORS_SUPPORTED -#define PNG_BENIGN_READ_ERRORS_SUPPORTED -/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/ -#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED -#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_COLORSPACE_SUPPORTED -#define PNG_CONSOLE_IO_SUPPORTED -#define PNG_CONVERT_tIME_SUPPORTED -#define PNG_EASY_ACCESS_SUPPORTED -/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ -#define PNG_ERROR_TEXT_SUPPORTED -#define PNG_FIXED_POINT_SUPPORTED -#define PNG_FLOATING_ARITHMETIC_SUPPORTED -#define PNG_FLOATING_POINT_SUPPORTED -#define PNG_FORMAT_AFIRST_SUPPORTED -#define PNG_FORMAT_BGR_SUPPORTED -#define PNG_GAMMA_SUPPORTED -#define PNG_GET_PALETTE_MAX_SUPPORTED -#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -#define PNG_INCH_CONVERSIONS_SUPPORTED -#define PNG_INFO_IMAGE_SUPPORTED -#define PNG_IO_STATE_SUPPORTED -#define PNG_MNG_FEATURES_SUPPORTED -#define PNG_POINTER_INDEXING_SUPPORTED -#define PNG_PROGRESSIVE_READ_SUPPORTED -#define PNG_READ_16BIT_SUPPORTED -#define PNG_READ_ALPHA_MODE_SUPPORTED -#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED -#define PNG_READ_BACKGROUND_SUPPORTED -#define PNG_READ_BGR_SUPPORTED -#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_READ_COMPOSITE_NODIV_SUPPORTED -#define PNG_READ_COMPRESSED_TEXT_SUPPORTED -#define PNG_READ_EXPAND_16_SUPPORTED -#define PNG_READ_EXPAND_SUPPORTED -#define PNG_READ_FILLER_SUPPORTED -#define PNG_READ_GAMMA_SUPPORTED -#define PNG_READ_GET_PALETTE_MAX_SUPPORTED -#define PNG_READ_GRAY_TO_RGB_SUPPORTED -#define PNG_READ_INTERLACING_SUPPORTED -#define PNG_READ_INT_FUNCTIONS_SUPPORTED -#define PNG_READ_INVERT_ALPHA_SUPPORTED -#define PNG_READ_INVERT_SUPPORTED -#define PNG_READ_OPT_PLTE_SUPPORTED -#define PNG_READ_PACKSWAP_SUPPORTED -#define PNG_READ_PACK_SUPPORTED -#define PNG_READ_QUANTIZE_SUPPORTED -#define PNG_READ_RGB_TO_GRAY_SUPPORTED -#define PNG_READ_SCALE_16_TO_8_SUPPORTED -#define PNG_READ_SHIFT_SUPPORTED -#define PNG_READ_STRIP_16_TO_8_SUPPORTED -#define PNG_READ_STRIP_ALPHA_SUPPORTED -#define PNG_READ_SUPPORTED -#define PNG_READ_SWAP_ALPHA_SUPPORTED -#define PNG_READ_SWAP_SUPPORTED -#define PNG_READ_TEXT_SUPPORTED -#define PNG_READ_TRANSFORMS_SUPPORTED -#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_READ_USER_CHUNKS_SUPPORTED -#define PNG_READ_USER_TRANSFORM_SUPPORTED -#define PNG_READ_bKGD_SUPPORTED -#define PNG_READ_cHRM_SUPPORTED -#define PNG_READ_gAMA_SUPPORTED -#define PNG_READ_hIST_SUPPORTED -#define PNG_READ_iCCP_SUPPORTED -#define PNG_READ_iTXt_SUPPORTED -#define PNG_READ_oFFs_SUPPORTED -#define PNG_READ_pCAL_SUPPORTED -#define PNG_READ_pHYs_SUPPORTED -#define PNG_READ_sBIT_SUPPORTED -#define PNG_READ_sCAL_SUPPORTED -#define PNG_READ_sPLT_SUPPORTED -#define PNG_READ_sRGB_SUPPORTED -#define PNG_READ_tEXt_SUPPORTED -#define PNG_READ_tIME_SUPPORTED -#define PNG_READ_tRNS_SUPPORTED -#define PNG_READ_zTXt_SUPPORTED -/*#undef PNG_SAFE_LIMITS_SUPPORTED*/ -#define PNG_SAVE_INT_32_SUPPORTED -#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_SEQUENTIAL_READ_SUPPORTED -#define PNG_SETJMP_SUPPORTED -#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED -#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED -/*#undef PNG_SET_OPTION_SUPPORTED*/ -#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_SET_USER_LIMITS_SUPPORTED -#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED -#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED -#define PNG_SIMPLIFIED_READ_SUPPORTED -#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED -#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED -#define PNG_SIMPLIFIED_WRITE_SUPPORTED -#define PNG_STDIO_SUPPORTED -#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_TEXT_SUPPORTED -#define PNG_TIME_RFC1123_SUPPORTED -#define PNG_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_USER_CHUNKS_SUPPORTED -#define PNG_USER_LIMITS_SUPPORTED -#define PNG_USER_MEM_SUPPORTED -#define PNG_USER_TRANSFORM_INFO_SUPPORTED -#define PNG_USER_TRANSFORM_PTR_SUPPORTED -#define PNG_WARNINGS_SUPPORTED -#define PNG_WRITE_16BIT_SUPPORTED -#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED -#define PNG_WRITE_BGR_SUPPORTED -#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED -#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED -#define PNG_WRITE_FILLER_SUPPORTED -#define PNG_WRITE_FILTER_SUPPORTED -#define PNG_WRITE_FLUSH_SUPPORTED -#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED -#define PNG_WRITE_INTERLACING_SUPPORTED -#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED -#define PNG_WRITE_INVERT_ALPHA_SUPPORTED -#define PNG_WRITE_INVERT_SUPPORTED -#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED -#define PNG_WRITE_PACKSWAP_SUPPORTED -#define PNG_WRITE_PACK_SUPPORTED -#define PNG_WRITE_SHIFT_SUPPORTED -#define PNG_WRITE_SUPPORTED -#define PNG_WRITE_SWAP_ALPHA_SUPPORTED -#define PNG_WRITE_SWAP_SUPPORTED -#define PNG_WRITE_TEXT_SUPPORTED -#define PNG_WRITE_TRANSFORMS_SUPPORTED -#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_WRITE_USER_TRANSFORM_SUPPORTED -#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED -#define PNG_WRITE_bKGD_SUPPORTED -#define PNG_WRITE_cHRM_SUPPORTED -#define PNG_WRITE_gAMA_SUPPORTED -#define PNG_WRITE_hIST_SUPPORTED -#define PNG_WRITE_iCCP_SUPPORTED -#define PNG_WRITE_iTXt_SUPPORTED -#define PNG_WRITE_oFFs_SUPPORTED -#define PNG_WRITE_pCAL_SUPPORTED -#define PNG_WRITE_pHYs_SUPPORTED -#define PNG_WRITE_sBIT_SUPPORTED -#define PNG_WRITE_sCAL_SUPPORTED -#define PNG_WRITE_sPLT_SUPPORTED -#define PNG_WRITE_sRGB_SUPPORTED -#define PNG_WRITE_tEXt_SUPPORTED -#define PNG_WRITE_tIME_SUPPORTED -#define PNG_WRITE_tRNS_SUPPORTED -#define PNG_WRITE_zTXt_SUPPORTED -#define PNG_bKGD_SUPPORTED -#define PNG_cHRM_SUPPORTED -#define PNG_gAMA_SUPPORTED -#define PNG_hIST_SUPPORTED -#define PNG_iCCP_SUPPORTED -#define PNG_iTXt_SUPPORTED -#define PNG_oFFs_SUPPORTED -#define PNG_pCAL_SUPPORTED -#define PNG_pHYs_SUPPORTED -#define PNG_sBIT_SUPPORTED -#define PNG_sCAL_SUPPORTED -#define PNG_sPLT_SUPPORTED -#define PNG_sRGB_SUPPORTED -#define PNG_tEXt_SUPPORTED -#define PNG_tIME_SUPPORTED -#define PNG_tRNS_SUPPORTED -#define PNG_zTXt_SUPPORTED -/* end of options */ -/* settings */ -#define PNG_API_RULE 0 -#define PNG_CALLOC_SUPPORTED -#define PNG_COST_SHIFT 3 -#define PNG_DEFAULT_READ_MACROS 1 -#define PNG_GAMMA_THRESHOLD_FIXED 5000 -#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE -#define PNG_INFLATE_BUF_SIZE 1024 -#define PNG_MAX_GAMMA_8 11 -#define PNG_QUANTIZE_BLUE_BITS 5 -#define PNG_QUANTIZE_GREEN_BITS 5 -#define PNG_QUANTIZE_RED_BITS 5 -#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1) -#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 -#define PNG_WEIGHT_SHIFT 8 -#define PNG_ZBUF_SIZE 8192 -#define PNG_Z_DEFAULT_COMPRESSION (-1) -#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 -#define PNG_Z_DEFAULT_STRATEGY 1 -#define PNG_sCAL_PRECISION 5 -#define PNG_sRGB_PROFILE_CHECKS 2 -/* end of settings */ -#endif /* PNGLCONF_H */ diff --git a/src/SDL2/VisualC/external/include/tiff.h b/src/SDL2/VisualC/external/include/tiff.h deleted file mode 100755 index 19b4e7976..000000000 --- a/src/SDL2/VisualC/external/include/tiff.h +++ /dev/null @@ -1,678 +0,0 @@ -/* $Id: tiff.h,v 1.68 2012-08-19 16:56:35 bfriesen Exp $ */ - -/* - * Copyright (c) 1988-1997 Sam Leffler - * Copyright (c) 1991-1997 Silicon Graphics, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation for any purpose is hereby granted without fee, provided - * that (i) the above copyright notices and this permission notice appear in - * all copies of the software and related documentation, and (ii) the names of - * Sam Leffler and Silicon Graphics may not be used in any advertising or - * publicity relating to the software without the specific, prior written - * permission of Sam Leffler and Silicon Graphics. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR - * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#ifndef _TIFF_ -#define _TIFF_ - -#include "tiffconf.h" - -/* - * Tag Image File Format (TIFF) - * - * Based on Rev 6.0 from: - * Developer's Desk - * Aldus Corporation - * 411 First Ave. South - * Suite 200 - * Seattle, WA 98104 - * 206-622-5500 - * - * (http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf) - * - * For BigTIFF design notes see the following links - * http://www.remotesensing.org/libtiff/bigtiffdesign.html - * http://www.awaresystems.be/imaging/tiff/bigtiff.html - */ - -#define TIFF_VERSION_CLASSIC 42 -#define TIFF_VERSION_BIG 43 - -#define TIFF_BIGENDIAN 0x4d4d -#define TIFF_LITTLEENDIAN 0x4949 -#define MDI_LITTLEENDIAN 0x5045 -#define MDI_BIGENDIAN 0x4550 - -/* - * Intrinsic data types required by the file format: - * - * 8-bit quantities int8/uint8 - * 16-bit quantities int16/uint16 - * 32-bit quantities int32/uint32 - * 64-bit quantities int64/uint64 - * strings unsigned char* - */ - -typedef TIFF_INT8_T int8; -typedef TIFF_UINT8_T uint8; - -typedef TIFF_INT16_T int16; -typedef TIFF_UINT16_T uint16; - -typedef TIFF_INT32_T int32; -typedef TIFF_UINT32_T uint32; - -typedef TIFF_INT64_T int64; -typedef TIFF_UINT64_T uint64; - -/* - * Some types as promoted in a variable argument list - * We use uint16_vap rather then directly using int, because this way - * we document the type we actually want to pass through, conceptually, - * rather then confusing the issue by merely stating the type it gets - * promoted to - */ - -typedef int uint16_vap; - -/* - * TIFF header. - */ -typedef struct { - uint16 tiff_magic; /* magic number (defines byte order) */ - uint16 tiff_version; /* TIFF version number */ -} TIFFHeaderCommon; -typedef struct { - uint16 tiff_magic; /* magic number (defines byte order) */ - uint16 tiff_version; /* TIFF version number */ - uint32 tiff_diroff; /* byte offset to first directory */ -} TIFFHeaderClassic; -typedef struct { - uint16 tiff_magic; /* magic number (defines byte order) */ - uint16 tiff_version; /* TIFF version number */ - uint16 tiff_offsetsize; /* size of offsets, should be 8 */ - uint16 tiff_unused; /* unused word, should be 0 */ - uint64 tiff_diroff; /* byte offset to first directory */ -} TIFFHeaderBig; - - -/* - * NB: In the comments below, - * - items marked with a + are obsoleted by revision 5.0, - * - items marked with a ! are introduced in revision 6.0. - * - items marked with a % are introduced post revision 6.0. - * - items marked with a $ are obsoleted by revision 6.0. - * - items marked with a & are introduced by Adobe DNG specification. - */ - -/* - * Tag data type information. - * - * Note: RATIONALs are the ratio of two 32-bit integer values. - */ -typedef enum { - TIFF_NOTYPE = 0, /* placeholder */ - TIFF_BYTE = 1, /* 8-bit unsigned integer */ - TIFF_ASCII = 2, /* 8-bit bytes w/ last byte null */ - TIFF_SHORT = 3, /* 16-bit unsigned integer */ - TIFF_LONG = 4, /* 32-bit unsigned integer */ - TIFF_RATIONAL = 5, /* 64-bit unsigned fraction */ - TIFF_SBYTE = 6, /* !8-bit signed integer */ - TIFF_UNDEFINED = 7, /* !8-bit untyped data */ - TIFF_SSHORT = 8, /* !16-bit signed integer */ - TIFF_SLONG = 9, /* !32-bit signed integer */ - TIFF_SRATIONAL = 10, /* !64-bit signed fraction */ - TIFF_FLOAT = 11, /* !32-bit IEEE floating point */ - TIFF_DOUBLE = 12, /* !64-bit IEEE floating point */ - TIFF_IFD = 13, /* %32-bit unsigned integer (offset) */ - TIFF_LONG8 = 16, /* BigTIFF 64-bit unsigned integer */ - TIFF_SLONG8 = 17, /* BigTIFF 64-bit signed integer */ - TIFF_IFD8 = 18 /* BigTIFF 64-bit unsigned integer (offset) */ -} TIFFDataType; - -/* - * TIFF Tag Definitions. - */ -#define TIFFTAG_SUBFILETYPE 254 /* subfile data descriptor */ -#define FILETYPE_REDUCEDIMAGE 0x1 /* reduced resolution version */ -#define FILETYPE_PAGE 0x2 /* one page of many */ -#define FILETYPE_MASK 0x4 /* transparency mask */ -#define TIFFTAG_OSUBFILETYPE 255 /* +kind of data in subfile */ -#define OFILETYPE_IMAGE 1 /* full resolution image data */ -#define OFILETYPE_REDUCEDIMAGE 2 /* reduced size image data */ -#define OFILETYPE_PAGE 3 /* one page of many */ -#define TIFFTAG_IMAGEWIDTH 256 /* image width in pixels */ -#define TIFFTAG_IMAGELENGTH 257 /* image height in pixels */ -#define TIFFTAG_BITSPERSAMPLE 258 /* bits per channel (sample) */ -#define TIFFTAG_COMPRESSION 259 /* data compression technique */ -#define COMPRESSION_NONE 1 /* dump mode */ -#define COMPRESSION_CCITTRLE 2 /* CCITT modified Huffman RLE */ -#define COMPRESSION_CCITTFAX3 3 /* CCITT Group 3 fax encoding */ -#define COMPRESSION_CCITT_T4 3 /* CCITT T.4 (TIFF 6 name) */ -#define COMPRESSION_CCITTFAX4 4 /* CCITT Group 4 fax encoding */ -#define COMPRESSION_CCITT_T6 4 /* CCITT T.6 (TIFF 6 name) */ -#define COMPRESSION_LZW 5 /* Lempel-Ziv & Welch */ -#define COMPRESSION_OJPEG 6 /* !6.0 JPEG */ -#define COMPRESSION_JPEG 7 /* %JPEG DCT compression */ -#define COMPRESSION_T85 9 /* !TIFF/FX T.85 JBIG compression */ -#define COMPRESSION_T43 10 /* !TIFF/FX T.43 colour by layered JBIG compression */ -#define COMPRESSION_NEXT 32766 /* NeXT 2-bit RLE */ -#define COMPRESSION_CCITTRLEW 32771 /* #1 w/ word alignment */ -#define COMPRESSION_PACKBITS 32773 /* Macintosh RLE */ -#define COMPRESSION_THUNDERSCAN 32809 /* ThunderScan RLE */ -/* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT */ -#define COMPRESSION_DCS 32947 /* Kodak DCS encoding */ -#define COMPRESSION_JBIG 34661 /* ISO JBIG */ -#define COMPRESSION_SGILOG 34676 /* SGI Log Luminance RLE */ -#define COMPRESSION_SGILOG24 34677 /* SGI Log 24-bit packed */ -#define COMPRESSION_JP2000 34712 /* Leadtools JPEG2000 */ -#define COMPRESSION_LZMA 34925 /* LZMA2 */ -#define TIFFTAG_PHOTOMETRIC 262 /* photometric interpretation */ -#define PHOTOMETRIC_MINISWHITE 0 /* min value is white */ -#define PHOTOMETRIC_MINISBLACK 1 /* min value is black */ -#define PHOTOMETRIC_RGB 2 /* RGB color model */ -#define PHOTOMETRIC_PALETTE 3 /* color map indexed */ -#define PHOTOMETRIC_MASK 4 /* $holdout mask */ -#define PHOTOMETRIC_SEPARATED 5 /* !color separations */ -#define PHOTOMETRIC_YCBCR 6 /* !CCIR 601 */ -#define PHOTOMETRIC_CIELAB 8 /* !1976 CIE L*a*b* */ -#define PHOTOMETRIC_ICCLAB 9 /* ICC L*a*b* [Adobe TIFF Technote 4] */ -#define PHOTOMETRIC_ITULAB 10 /* ITU L*a*b* */ -#define PHOTOMETRIC_LOGL 32844 /* CIE Log2(L) */ -#define PHOTOMETRIC_LOGLUV 32845 /* CIE Log2(L) (u',v') */ -#define TIFFTAG_THRESHHOLDING 263 /* +thresholding used on data */ -#define THRESHHOLD_BILEVEL 1 /* b&w art scan */ -#define THRESHHOLD_HALFTONE 2 /* or dithered scan */ -#define THRESHHOLD_ERRORDIFFUSE 3 /* usually floyd-steinberg */ -#define TIFFTAG_CELLWIDTH 264 /* +dithering matrix width */ -#define TIFFTAG_CELLLENGTH 265 /* +dithering matrix height */ -#define TIFFTAG_FILLORDER 266 /* data order within a byte */ -#define FILLORDER_MSB2LSB 1 /* most significant -> least */ -#define FILLORDER_LSB2MSB 2 /* least significant -> most */ -#define TIFFTAG_DOCUMENTNAME 269 /* name of doc. image is from */ -#define TIFFTAG_IMAGEDESCRIPTION 270 /* info about image */ -#define TIFFTAG_MAKE 271 /* scanner manufacturer name */ -#define TIFFTAG_MODEL 272 /* scanner model name/number */ -#define TIFFTAG_STRIPOFFSETS 273 /* offsets to data strips */ -#define TIFFTAG_ORIENTATION 274 /* +image orientation */ -#define ORIENTATION_TOPLEFT 1 /* row 0 top, col 0 lhs */ -#define ORIENTATION_TOPRIGHT 2 /* row 0 top, col 0 rhs */ -#define ORIENTATION_BOTRIGHT 3 /* row 0 bottom, col 0 rhs */ -#define ORIENTATION_BOTLEFT 4 /* row 0 bottom, col 0 lhs */ -#define ORIENTATION_LEFTTOP 5 /* row 0 lhs, col 0 top */ -#define ORIENTATION_RIGHTTOP 6 /* row 0 rhs, col 0 top */ -#define ORIENTATION_RIGHTBOT 7 /* row 0 rhs, col 0 bottom */ -#define ORIENTATION_LEFTBOT 8 /* row 0 lhs, col 0 bottom */ -#define TIFFTAG_SAMPLESPERPIXEL 277 /* samples per pixel */ -#define TIFFTAG_ROWSPERSTRIP 278 /* rows per strip of data */ -#define TIFFTAG_STRIPBYTECOUNTS 279 /* bytes counts for strips */ -#define TIFFTAG_MINSAMPLEVALUE 280 /* +minimum sample value */ -#define TIFFTAG_MAXSAMPLEVALUE 281 /* +maximum sample value */ -#define TIFFTAG_XRESOLUTION 282 /* pixels/resolution in x */ -#define TIFFTAG_YRESOLUTION 283 /* pixels/resolution in y */ -#define TIFFTAG_PLANARCONFIG 284 /* storage organization */ -#define PLANARCONFIG_CONTIG 1 /* single image plane */ -#define PLANARCONFIG_SEPARATE 2 /* separate planes of data */ -#define TIFFTAG_PAGENAME 285 /* page name image is from */ -#define TIFFTAG_XPOSITION 286 /* x page offset of image lhs */ -#define TIFFTAG_YPOSITION 287 /* y page offset of image lhs */ -#define TIFFTAG_FREEOFFSETS 288 /* +byte offset to free block */ -#define TIFFTAG_FREEBYTECOUNTS 289 /* +sizes of free blocks */ -#define TIFFTAG_GRAYRESPONSEUNIT 290 /* $gray scale curve accuracy */ -#define GRAYRESPONSEUNIT_10S 1 /* tenths of a unit */ -#define GRAYRESPONSEUNIT_100S 2 /* hundredths of a unit */ -#define GRAYRESPONSEUNIT_1000S 3 /* thousandths of a unit */ -#define GRAYRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ -#define GRAYRESPONSEUNIT_100000S 5 /* hundred-thousandths */ -#define TIFFTAG_GRAYRESPONSECURVE 291 /* $gray scale response curve */ -#define TIFFTAG_GROUP3OPTIONS 292 /* 32 flag bits */ -#define TIFFTAG_T4OPTIONS 292 /* TIFF 6.0 proper name alias */ -#define GROUP3OPT_2DENCODING 0x1 /* 2-dimensional coding */ -#define GROUP3OPT_UNCOMPRESSED 0x2 /* data not compressed */ -#define GROUP3OPT_FILLBITS 0x4 /* fill to byte boundary */ -#define TIFFTAG_GROUP4OPTIONS 293 /* 32 flag bits */ -#define TIFFTAG_T6OPTIONS 293 /* TIFF 6.0 proper name */ -#define GROUP4OPT_UNCOMPRESSED 0x2 /* data not compressed */ -#define TIFFTAG_RESOLUTIONUNIT 296 /* units of resolutions */ -#define RESUNIT_NONE 1 /* no meaningful units */ -#define RESUNIT_INCH 2 /* english */ -#define RESUNIT_CENTIMETER 3 /* metric */ -#define TIFFTAG_PAGENUMBER 297 /* page numbers of multi-page */ -#define TIFFTAG_COLORRESPONSEUNIT 300 /* $color curve accuracy */ -#define COLORRESPONSEUNIT_10S 1 /* tenths of a unit */ -#define COLORRESPONSEUNIT_100S 2 /* hundredths of a unit */ -#define COLORRESPONSEUNIT_1000S 3 /* thousandths of a unit */ -#define COLORRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ -#define COLORRESPONSEUNIT_100000S 5 /* hundred-thousandths */ -#define TIFFTAG_TRANSFERFUNCTION 301 /* !colorimetry info */ -#define TIFFTAG_SOFTWARE 305 /* name & release */ -#define TIFFTAG_DATETIME 306 /* creation date and time */ -#define TIFFTAG_ARTIST 315 /* creator of image */ -#define TIFFTAG_HOSTCOMPUTER 316 /* machine where created */ -#define TIFFTAG_PREDICTOR 317 /* prediction scheme w/ LZW */ -#define PREDICTOR_NONE 1 /* no prediction scheme used */ -#define PREDICTOR_HORIZONTAL 2 /* horizontal differencing */ -#define PREDICTOR_FLOATINGPOINT 3 /* floating point predictor */ -#define TIFFTAG_WHITEPOINT 318 /* image white point */ -#define TIFFTAG_PRIMARYCHROMATICITIES 319 /* !primary chromaticities */ -#define TIFFTAG_COLORMAP 320 /* RGB map for pallette image */ -#define TIFFTAG_HALFTONEHINTS 321 /* !highlight+shadow info */ -#define TIFFTAG_TILEWIDTH 322 /* !tile width in pixels */ -#define TIFFTAG_TILELENGTH 323 /* !tile height in pixels */ -#define TIFFTAG_TILEOFFSETS 324 /* !offsets to data tiles */ -#define TIFFTAG_TILEBYTECOUNTS 325 /* !byte counts for tiles */ -#define TIFFTAG_BADFAXLINES 326 /* lines w/ wrong pixel count */ -#define TIFFTAG_CLEANFAXDATA 327 /* regenerated line info */ -#define CLEANFAXDATA_CLEAN 0 /* no errors detected */ -#define CLEANFAXDATA_REGENERATED 1 /* receiver regenerated lines */ -#define CLEANFAXDATA_UNCLEAN 2 /* uncorrected errors exist */ -#define TIFFTAG_CONSECUTIVEBADFAXLINES 328 /* max consecutive bad lines */ -#define TIFFTAG_SUBIFD 330 /* subimage descriptors */ -#define TIFFTAG_INKSET 332 /* !inks in separated image */ -#define INKSET_CMYK 1 /* !cyan-magenta-yellow-black color */ -#define INKSET_MULTIINK 2 /* !multi-ink or hi-fi color */ -#define TIFFTAG_INKNAMES 333 /* !ascii names of inks */ -#define TIFFTAG_NUMBEROFINKS 334 /* !number of inks */ -#define TIFFTAG_DOTRANGE 336 /* !0% and 100% dot codes */ -#define TIFFTAG_TARGETPRINTER 337 /* !separation target */ -#define TIFFTAG_EXTRASAMPLES 338 /* !info about extra samples */ -#define EXTRASAMPLE_UNSPECIFIED 0 /* !unspecified data */ -#define EXTRASAMPLE_ASSOCALPHA 1 /* !associated alpha data */ -#define EXTRASAMPLE_UNASSALPHA 2 /* !unassociated alpha data */ -#define TIFFTAG_SAMPLEFORMAT 339 /* !data sample format */ -#define SAMPLEFORMAT_UINT 1 /* !unsigned integer data */ -#define SAMPLEFORMAT_INT 2 /* !signed integer data */ -#define SAMPLEFORMAT_IEEEFP 3 /* !IEEE floating point data */ -#define SAMPLEFORMAT_VOID 4 /* !untyped data */ -#define SAMPLEFORMAT_COMPLEXINT 5 /* !complex signed int */ -#define SAMPLEFORMAT_COMPLEXIEEEFP 6 /* !complex ieee floating */ -#define TIFFTAG_SMINSAMPLEVALUE 340 /* !variable MinSampleValue */ -#define TIFFTAG_SMAXSAMPLEVALUE 341 /* !variable MaxSampleValue */ -#define TIFFTAG_CLIPPATH 343 /* %ClipPath - [Adobe TIFF technote 2] */ -#define TIFFTAG_XCLIPPATHUNITS 344 /* %XClipPathUnits - [Adobe TIFF technote 2] */ -#define TIFFTAG_YCLIPPATHUNITS 345 /* %YClipPathUnits - [Adobe TIFF technote 2] */ -#define TIFFTAG_INDEXED 346 /* %Indexed - [Adobe TIFF Technote 3] */ -#define TIFFTAG_JPEGTABLES 347 /* %JPEG table stream */ -#define TIFFTAG_OPIPROXY 351 /* %OPI Proxy [Adobe TIFF technote] */ -/* Tags 400-435 are from the TIFF/FX spec */ -#define TIFFTAG_GLOBALPARAMETERSIFD 400 /* ! */ -#define TIFFTAG_PROFILETYPE 401 /* ! */ -#define PROFILETYPE_UNSPECIFIED 0 /* ! */ -#define PROFILETYPE_G3_FAX 1 /* ! */ -#define TIFFTAG_FAXPROFILE 402 /* ! */ -#define FAXPROFILE_S 1 /* !TIFF/FX FAX profile S */ -#define FAXPROFILE_F 2 /* !TIFF/FX FAX profile F */ -#define FAXPROFILE_J 3 /* !TIFF/FX FAX profile J */ -#define FAXPROFILE_C 4 /* !TIFF/FX FAX profile C */ -#define FAXPROFILE_L 5 /* !TIFF/FX FAX profile L */ -#define FAXPROFILE_M 6 /* !TIFF/FX FAX profile LM */ -#define TIFFTAG_CODINGMETHODS 403 /* !TIFF/FX coding methods */ -#define CODINGMETHODS_T4_1D (1 << 1) /* !T.4 1D */ -#define CODINGMETHODS_T4_2D (1 << 2) /* !T.4 2D */ -#define CODINGMETHODS_T6 (1 << 3) /* !T.6 */ -#define CODINGMETHODS_T85 (1 << 4) /* !T.85 JBIG */ -#define CODINGMETHODS_T42 (1 << 5) /* !T.42 JPEG */ -#define CODINGMETHODS_T43 (1 << 6) /* !T.43 colour by layered JBIG */ -#define TIFFTAG_VERSIONYEAR 404 /* !TIFF/FX version year */ -#define TIFFTAG_MODENUMBER 405 /* !TIFF/FX mode number */ -#define TIFFTAG_DECODE 433 /* !TIFF/FX decode */ -#define TIFFTAG_IMAGEBASECOLOR 434 /* !TIFF/FX image base colour */ -#define TIFFTAG_T82OPTIONS 435 /* !TIFF/FX T.82 options */ -/* - * Tags 512-521 are obsoleted by Technical Note #2 which specifies a - * revised JPEG-in-TIFF scheme. - */ -#define TIFFTAG_JPEGPROC 512 /* !JPEG processing algorithm */ -#define JPEGPROC_BASELINE 1 /* !baseline sequential */ -#define JPEGPROC_LOSSLESS 14 /* !Huffman coded lossless */ -#define TIFFTAG_JPEGIFOFFSET 513 /* !pointer to SOI marker */ -#define TIFFTAG_JPEGIFBYTECOUNT 514 /* !JFIF stream length */ -#define TIFFTAG_JPEGRESTARTINTERVAL 515 /* !restart interval length */ -#define TIFFTAG_JPEGLOSSLESSPREDICTORS 517 /* !lossless proc predictor */ -#define TIFFTAG_JPEGPOINTTRANSFORM 518 /* !lossless point transform */ -#define TIFFTAG_JPEGQTABLES 519 /* !Q matrice offsets */ -#define TIFFTAG_JPEGDCTABLES 520 /* !DCT table offsets */ -#define TIFFTAG_JPEGACTABLES 521 /* !AC coefficient offsets */ -#define TIFFTAG_YCBCRCOEFFICIENTS 529 /* !RGB -> YCbCr transform */ -#define TIFFTAG_YCBCRSUBSAMPLING 530 /* !YCbCr subsampling factors */ -#define TIFFTAG_YCBCRPOSITIONING 531 /* !subsample positioning */ -#define YCBCRPOSITION_CENTERED 1 /* !as in PostScript Level 2 */ -#define YCBCRPOSITION_COSITED 2 /* !as in CCIR 601-1 */ -#define TIFFTAG_REFERENCEBLACKWHITE 532 /* !colorimetry info */ -#define TIFFTAG_STRIPROWCOUNTS 559 /* !TIFF/FX strip row counts */ -#define TIFFTAG_XMLPACKET 700 /* %XML packet - [Adobe XMP Specification, - January 2004 */ -#define TIFFTAG_OPIIMAGEID 32781 /* %OPI ImageID - [Adobe TIFF technote] */ -/* tags 32952-32956 are private tags registered to Island Graphics */ -#define TIFFTAG_REFPTS 32953 /* image reference points */ -#define TIFFTAG_REGIONTACKPOINT 32954 /* region-xform tack point */ -#define TIFFTAG_REGIONWARPCORNERS 32955 /* warp quadrilateral */ -#define TIFFTAG_REGIONAFFINE 32956 /* affine transformation mat */ -/* tags 32995-32999 are private tags registered to SGI */ -#define TIFFTAG_MATTEING 32995 /* $use ExtraSamples */ -#define TIFFTAG_DATATYPE 32996 /* $use SampleFormat */ -#define TIFFTAG_IMAGEDEPTH 32997 /* z depth of image */ -#define TIFFTAG_TILEDEPTH 32998 /* z depth/data tile */ -/* tags 33300-33309 are private tags registered to Pixar */ -/* - * TIFFTAG_PIXAR_IMAGEFULLWIDTH and TIFFTAG_PIXAR_IMAGEFULLLENGTH - * are set when an image has been cropped out of a larger image. - * They reflect the size of the original uncropped image. - * The TIFFTAG_XPOSITION and TIFFTAG_YPOSITION can be used - * to determine the position of the smaller image in the larger one. - */ -#define TIFFTAG_PIXAR_IMAGEFULLWIDTH 33300 /* full image size in x */ -#define TIFFTAG_PIXAR_IMAGEFULLLENGTH 33301 /* full image size in y */ - /* Tags 33302-33306 are used to identify special image modes and data - * used by Pixar's texture formats. - */ -#define TIFFTAG_PIXAR_TEXTUREFORMAT 33302 /* texture map format */ -#define TIFFTAG_PIXAR_WRAPMODES 33303 /* s & t wrap modes */ -#define TIFFTAG_PIXAR_FOVCOT 33304 /* cotan(fov) for env. maps */ -#define TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN 33305 -#define TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA 33306 -/* tag 33405 is a private tag registered to Eastman Kodak */ -#define TIFFTAG_WRITERSERIALNUMBER 33405 /* device serial number */ -/* tag 33432 is listed in the 6.0 spec w/ unknown ownership */ -#define TIFFTAG_COPYRIGHT 33432 /* copyright string */ -/* IPTC TAG from RichTIFF specifications */ -#define TIFFTAG_RICHTIFFIPTC 33723 -/* 34016-34029 are reserved for ANSI IT8 TIFF/IT */ -#define TIFFTAG_STONITS 37439 /* Sample value to Nits */ -/* tag 34929 is a private tag registered to FedEx */ -#define TIFFTAG_FEDEX_EDR 34929 /* unknown use */ -#define TIFFTAG_INTEROPERABILITYIFD 40965 /* Pointer to Interoperability private directory */ -/* Adobe Digital Negative (DNG) format tags */ -#define TIFFTAG_DNGVERSION 50706 /* &DNG version number */ -#define TIFFTAG_DNGBACKWARDVERSION 50707 /* &DNG compatibility version */ -#define TIFFTAG_UNIQUECAMERAMODEL 50708 /* &name for the camera model */ -#define TIFFTAG_LOCALIZEDCAMERAMODEL 50709 /* &localized camera model - name */ -#define TIFFTAG_CFAPLANECOLOR 50710 /* &CFAPattern->LinearRaw space - mapping */ -#define TIFFTAG_CFALAYOUT 50711 /* &spatial layout of the CFA */ -#define TIFFTAG_LINEARIZATIONTABLE 50712 /* &lookup table description */ -#define TIFFTAG_BLACKLEVELREPEATDIM 50713 /* &repeat pattern size for - the BlackLevel tag */ -#define TIFFTAG_BLACKLEVEL 50714 /* &zero light encoding level */ -#define TIFFTAG_BLACKLEVELDELTAH 50715 /* &zero light encoding level - differences (columns) */ -#define TIFFTAG_BLACKLEVELDELTAV 50716 /* &zero light encoding level - differences (rows) */ -#define TIFFTAG_WHITELEVEL 50717 /* &fully saturated encoding - level */ -#define TIFFTAG_DEFAULTSCALE 50718 /* &default scale factors */ -#define TIFFTAG_DEFAULTCROPORIGIN 50719 /* &origin of the final image - area */ -#define TIFFTAG_DEFAULTCROPSIZE 50720 /* &size of the final image - area */ -#define TIFFTAG_COLORMATRIX1 50721 /* &XYZ->reference color space - transformation matrix 1 */ -#define TIFFTAG_COLORMATRIX2 50722 /* &XYZ->reference color space - transformation matrix 2 */ -#define TIFFTAG_CAMERACALIBRATION1 50723 /* &calibration matrix 1 */ -#define TIFFTAG_CAMERACALIBRATION2 50724 /* &calibration matrix 2 */ -#define TIFFTAG_REDUCTIONMATRIX1 50725 /* &dimensionality reduction - matrix 1 */ -#define TIFFTAG_REDUCTIONMATRIX2 50726 /* &dimensionality reduction - matrix 2 */ -#define TIFFTAG_ANALOGBALANCE 50727 /* &gain applied the stored raw - values*/ -#define TIFFTAG_ASSHOTNEUTRAL 50728 /* &selected white balance in - linear reference space */ -#define TIFFTAG_ASSHOTWHITEXY 50729 /* &selected white balance in - x-y chromaticity - coordinates */ -#define TIFFTAG_BASELINEEXPOSURE 50730 /* &how much to move the zero - point */ -#define TIFFTAG_BASELINENOISE 50731 /* &relative noise level */ -#define TIFFTAG_BASELINESHARPNESS 50732 /* &relative amount of - sharpening */ -#define TIFFTAG_BAYERGREENSPLIT 50733 /* &how closely the values of - the green pixels in the - blue/green rows track the - values of the green pixels - in the red/green rows */ -#define TIFFTAG_LINEARRESPONSELIMIT 50734 /* &non-linear encoding range */ -#define TIFFTAG_CAMERASERIALNUMBER 50735 /* &camera's serial number */ -#define TIFFTAG_LENSINFO 50736 /* info about the lens */ -#define TIFFTAG_CHROMABLURRADIUS 50737 /* &chroma blur radius */ -#define TIFFTAG_ANTIALIASSTRENGTH 50738 /* &relative strength of the - camera's anti-alias filter */ -#define TIFFTAG_SHADOWSCALE 50739 /* &used by Adobe Camera Raw */ -#define TIFFTAG_DNGPRIVATEDATA 50740 /* &manufacturer's private data */ -#define TIFFTAG_MAKERNOTESAFETY 50741 /* &whether the EXIF MakerNote - tag is safe to preserve - along with the rest of the - EXIF data */ -#define TIFFTAG_CALIBRATIONILLUMINANT1 50778 /* &illuminant 1 */ -#define TIFFTAG_CALIBRATIONILLUMINANT2 50779 /* &illuminant 2 */ -#define TIFFTAG_BESTQUALITYSCALE 50780 /* &best quality multiplier */ -#define TIFFTAG_RAWDATAUNIQUEID 50781 /* &unique identifier for - the raw image data */ -#define TIFFTAG_ORIGINALRAWFILENAME 50827 /* &file name of the original - raw file */ -#define TIFFTAG_ORIGINALRAWFILEDATA 50828 /* &contents of the original - raw file */ -#define TIFFTAG_ACTIVEAREA 50829 /* &active (non-masked) pixels - of the sensor */ -#define TIFFTAG_MASKEDAREAS 50830 /* &list of coordinates - of fully masked pixels */ -#define TIFFTAG_ASSHOTICCPROFILE 50831 /* &these two tags used to */ -#define TIFFTAG_ASSHOTPREPROFILEMATRIX 50832 /* map cameras's color space - into ICC profile space */ -#define TIFFTAG_CURRENTICCPROFILE 50833 /* & */ -#define TIFFTAG_CURRENTPREPROFILEMATRIX 50834 /* & */ -/* tag 65535 is an undefined tag used by Eastman Kodak */ -#define TIFFTAG_DCSHUESHIFTVALUES 65535 /* hue shift correction data */ - -/* - * The following are ``pseudo tags'' that can be used to control - * codec-specific functionality. These tags are not written to file. - * Note that these values start at 0xffff+1 so that they'll never - * collide with Aldus-assigned tags. - * - * If you want your private pseudo tags ``registered'' (i.e. added to - * this file), please post a bug report via the tracking system at - * http://www.remotesensing.org/libtiff/bugs.html with the appropriate - * C definitions to add. - */ -#define TIFFTAG_FAXMODE 65536 /* Group 3/4 format control */ -#define FAXMODE_CLASSIC 0x0000 /* default, include RTC */ -#define FAXMODE_NORTC 0x0001 /* no RTC at end of data */ -#define FAXMODE_NOEOL 0x0002 /* no EOL code at end of row */ -#define FAXMODE_BYTEALIGN 0x0004 /* byte align row */ -#define FAXMODE_WORDALIGN 0x0008 /* word align row */ -#define FAXMODE_CLASSF FAXMODE_NORTC /* TIFF Class F */ -#define TIFFTAG_JPEGQUALITY 65537 /* Compression quality level */ -/* Note: quality level is on the IJG 0-100 scale. Default value is 75 */ -#define TIFFTAG_JPEGCOLORMODE 65538 /* Auto RGB<=>YCbCr convert? */ -#define JPEGCOLORMODE_RAW 0x0000 /* no conversion (default) */ -#define JPEGCOLORMODE_RGB 0x0001 /* do auto conversion */ -#define TIFFTAG_JPEGTABLESMODE 65539 /* What to put in JPEGTables */ -#define JPEGTABLESMODE_QUANT 0x0001 /* include quantization tbls */ -#define JPEGTABLESMODE_HUFF 0x0002 /* include Huffman tbls */ -/* Note: default is JPEGTABLESMODE_QUANT | JPEGTABLESMODE_HUFF */ -#define TIFFTAG_FAXFILLFUNC 65540 /* G3/G4 fill function */ -#define TIFFTAG_PIXARLOGDATAFMT 65549 /* PixarLogCodec I/O data sz */ -#define PIXARLOGDATAFMT_8BIT 0 /* regular u_char samples */ -#define PIXARLOGDATAFMT_8BITABGR 1 /* ABGR-order u_chars */ -#define PIXARLOGDATAFMT_11BITLOG 2 /* 11-bit log-encoded (raw) */ -#define PIXARLOGDATAFMT_12BITPICIO 3 /* as per PICIO (1.0==2048) */ -#define PIXARLOGDATAFMT_16BIT 4 /* signed short samples */ -#define PIXARLOGDATAFMT_FLOAT 5 /* IEEE float samples */ -/* 65550-65556 are allocated to Oceana Matrix */ -#define TIFFTAG_DCSIMAGERTYPE 65550 /* imager model & filter */ -#define DCSIMAGERMODEL_M3 0 /* M3 chip (1280 x 1024) */ -#define DCSIMAGERMODEL_M5 1 /* M5 chip (1536 x 1024) */ -#define DCSIMAGERMODEL_M6 2 /* M6 chip (3072 x 2048) */ -#define DCSIMAGERFILTER_IR 0 /* infrared filter */ -#define DCSIMAGERFILTER_MONO 1 /* monochrome filter */ -#define DCSIMAGERFILTER_CFA 2 /* color filter array */ -#define DCSIMAGERFILTER_OTHER 3 /* other filter */ -#define TIFFTAG_DCSINTERPMODE 65551 /* interpolation mode */ -#define DCSINTERPMODE_NORMAL 0x0 /* whole image, default */ -#define DCSINTERPMODE_PREVIEW 0x1 /* preview of image (384x256) */ -#define TIFFTAG_DCSBALANCEARRAY 65552 /* color balance values */ -#define TIFFTAG_DCSCORRECTMATRIX 65553 /* color correction values */ -#define TIFFTAG_DCSGAMMA 65554 /* gamma value */ -#define TIFFTAG_DCSTOESHOULDERPTS 65555 /* toe & shoulder points */ -#define TIFFTAG_DCSCALIBRATIONFD 65556 /* calibration file desc */ -/* Note: quality level is on the ZLIB 1-9 scale. Default value is -1 */ -#define TIFFTAG_ZIPQUALITY 65557 /* compression quality level */ -#define TIFFTAG_PIXARLOGQUALITY 65558 /* PixarLog uses same scale */ -/* 65559 is allocated to Oceana Matrix */ -#define TIFFTAG_DCSCLIPRECTANGLE 65559 /* area of image to acquire */ -#define TIFFTAG_SGILOGDATAFMT 65560 /* SGILog user data format */ -#define SGILOGDATAFMT_FLOAT 0 /* IEEE float samples */ -#define SGILOGDATAFMT_16BIT 1 /* 16-bit samples */ -#define SGILOGDATAFMT_RAW 2 /* uninterpreted data */ -#define SGILOGDATAFMT_8BIT 3 /* 8-bit RGB monitor values */ -#define TIFFTAG_SGILOGENCODE 65561 /* SGILog data encoding control*/ -#define SGILOGENCODE_NODITHER 0 /* do not dither encoded values*/ -#define SGILOGENCODE_RANDITHER 1 /* randomly dither encd values */ -#define TIFFTAG_LZMAPRESET 65562 /* LZMA2 preset (compression level) */ -#define TIFFTAG_PERSAMPLE 65563 /* interface for per sample tags */ -#define PERSAMPLE_MERGED 0 /* present as a single value */ -#define PERSAMPLE_MULTI 1 /* present as multiple values */ - -/* - * EXIF tags - */ -#define EXIFTAG_EXPOSURETIME 33434 /* Exposure time */ -#define EXIFTAG_FNUMBER 33437 /* F number */ -#define EXIFTAG_EXPOSUREPROGRAM 34850 /* Exposure program */ -#define EXIFTAG_SPECTRALSENSITIVITY 34852 /* Spectral sensitivity */ -#define EXIFTAG_ISOSPEEDRATINGS 34855 /* ISO speed rating */ -#define EXIFTAG_OECF 34856 /* Optoelectric conversion - factor */ -#define EXIFTAG_EXIFVERSION 36864 /* Exif version */ -#define EXIFTAG_DATETIMEORIGINAL 36867 /* Date and time of original - data generation */ -#define EXIFTAG_DATETIMEDIGITIZED 36868 /* Date and time of digital - data generation */ -#define EXIFTAG_COMPONENTSCONFIGURATION 37121 /* Meaning of each component */ -#define EXIFTAG_COMPRESSEDBITSPERPIXEL 37122 /* Image compression mode */ -#define EXIFTAG_SHUTTERSPEEDVALUE 37377 /* Shutter speed */ -#define EXIFTAG_APERTUREVALUE 37378 /* Aperture */ -#define EXIFTAG_BRIGHTNESSVALUE 37379 /* Brightness */ -#define EXIFTAG_EXPOSUREBIASVALUE 37380 /* Exposure bias */ -#define EXIFTAG_MAXAPERTUREVALUE 37381 /* Maximum lens aperture */ -#define EXIFTAG_SUBJECTDISTANCE 37382 /* Subject distance */ -#define EXIFTAG_METERINGMODE 37383 /* Metering mode */ -#define EXIFTAG_LIGHTSOURCE 37384 /* Light source */ -#define EXIFTAG_FLASH 37385 /* Flash */ -#define EXIFTAG_FOCALLENGTH 37386 /* Lens focal length */ -#define EXIFTAG_SUBJECTAREA 37396 /* Subject area */ -#define EXIFTAG_MAKERNOTE 37500 /* Manufacturer notes */ -#define EXIFTAG_USERCOMMENT 37510 /* User comments */ -#define EXIFTAG_SUBSECTIME 37520 /* DateTime subseconds */ -#define EXIFTAG_SUBSECTIMEORIGINAL 37521 /* DateTimeOriginal subseconds */ -#define EXIFTAG_SUBSECTIMEDIGITIZED 37522 /* DateTimeDigitized subseconds */ -#define EXIFTAG_FLASHPIXVERSION 40960 /* Supported Flashpix version */ -#define EXIFTAG_COLORSPACE 40961 /* Color space information */ -#define EXIFTAG_PIXELXDIMENSION 40962 /* Valid image width */ -#define EXIFTAG_PIXELYDIMENSION 40963 /* Valid image height */ -#define EXIFTAG_RELATEDSOUNDFILE 40964 /* Related audio file */ -#define EXIFTAG_FLASHENERGY 41483 /* Flash energy */ -#define EXIFTAG_SPATIALFREQUENCYRESPONSE 41484 /* Spatial frequency response */ -#define EXIFTAG_FOCALPLANEXRESOLUTION 41486 /* Focal plane X resolution */ -#define EXIFTAG_FOCALPLANEYRESOLUTION 41487 /* Focal plane Y resolution */ -#define EXIFTAG_FOCALPLANERESOLUTIONUNIT 41488 /* Focal plane resolution unit */ -#define EXIFTAG_SUBJECTLOCATION 41492 /* Subject location */ -#define EXIFTAG_EXPOSUREINDEX 41493 /* Exposure index */ -#define EXIFTAG_SENSINGMETHOD 41495 /* Sensing method */ -#define EXIFTAG_FILESOURCE 41728 /* File source */ -#define EXIFTAG_SCENETYPE 41729 /* Scene type */ -#define EXIFTAG_CFAPATTERN 41730 /* CFA pattern */ -#define EXIFTAG_CUSTOMRENDERED 41985 /* Custom image processing */ -#define EXIFTAG_EXPOSUREMODE 41986 /* Exposure mode */ -#define EXIFTAG_WHITEBALANCE 41987 /* White balance */ -#define EXIFTAG_DIGITALZOOMRATIO 41988 /* Digital zoom ratio */ -#define EXIFTAG_FOCALLENGTHIN35MMFILM 41989 /* Focal length in 35 mm film */ -#define EXIFTAG_SCENECAPTURETYPE 41990 /* Scene capture type */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_CONTRAST 41992 /* Contrast */ -#define EXIFTAG_SATURATION 41993 /* Saturation */ -#define EXIFTAG_SHARPNESS 41994 /* Sharpness */ -#define EXIFTAG_DEVICESETTINGDESCRIPTION 41995 /* Device settings description */ -#define EXIFTAG_SUBJECTDISTANCERANGE 41996 /* Subject distance range */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_IMAGEUNIQUEID 42016 /* Unique image ID */ - -#endif /* _TIFF_ */ - -/* vim: set ts=8 sts=8 sw=8 noet: */ -/* - * Local Variables: - * mode: c - * c-basic-offset: 8 - * fill-column: 78 - * End: - */ diff --git a/src/SDL2/VisualC/external/include/tiffconf.h b/src/SDL2/VisualC/external/include/tiffconf.h deleted file mode 100755 index e6959d366..000000000 --- a/src/SDL2/VisualC/external/include/tiffconf.h +++ /dev/null @@ -1,128 +0,0 @@ -/* libtiff/tiffconf.h. Generated from tiffconf.h.in by configure. */ -/* - Configuration defines for installed libtiff. - This file maintained for backward compatibility. Do not use definitions - from this file in your programs. -*/ - -#ifndef _TIFFCONF_ -#define _TIFFCONF_ - -/* Signed 16-bit type */ -#define TIFF_INT16_T signed short - -/* Signed 32-bit type */ -#define TIFF_INT32_T signed int - -/* Signed 64-bit type */ -#define TIFF_INT64_T signed long long - -/* Signed 8-bit type */ -#define TIFF_INT8_T signed char - -/* Unsigned 16-bit type */ -#define TIFF_UINT16_T unsigned short - -/* Unsigned 32-bit type */ -#define TIFF_UINT32_T unsigned int - -/* Unsigned 64-bit type */ -#define TIFF_UINT64_T unsigned long long - -/* Unsigned 8-bit type */ -#define TIFF_UINT8_T unsigned char - -/* Signed size type */ -#define TIFF_SSIZE_T signed long - -/* Pointer difference type */ -#define TIFF_PTRDIFF_T ptrdiff_t - -/* Define to 1 if the system has the type `int16'. */ -/* #undef HAVE_INT16 */ - -/* Define to 1 if the system has the type `int32'. */ -/* #undef HAVE_INT32 */ - -/* Define to 1 if the system has the type `int8'. */ -/* #undef HAVE_INT8 */ - -/* Compatibility stuff. */ - -/* Define as 0 or 1 according to the floating point format suported by the - machine */ -#define HAVE_IEEEFP 1 - -/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */ -#define HOST_FILLORDER FILLORDER_LSB2MSB - -/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian - (Intel) */ -#define HOST_BIGENDIAN 0 - -/* Support CCITT Group 3 & 4 algorithms */ -#define CCITT_SUPPORT 1 - -/* Support JPEG compression (requires IJG JPEG library) */ -#define JPEG_SUPPORT 1 - -/* Support JBIG compression (requires JBIG-KIT library) */ -/* #undef JBIG_SUPPORT */ - -/* Support LogLuv high dynamic range encoding */ -#define LOGLUV_SUPPORT 1 - -/* Support LZW algorithm */ -#define LZW_SUPPORT 1 - -/* Support NeXT 2-bit RLE algorithm */ -#define NEXT_SUPPORT 1 - -/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation - fails with unpatched IJG JPEG library) */ -#define OJPEG_SUPPORT 1 - -/* Support Macintosh PackBits algorithm */ -#define PACKBITS_SUPPORT 1 - -/* Support Pixar log-format algorithm (requires Zlib) */ -#define PIXARLOG_SUPPORT 1 - -/* Support ThunderScan 4-bit RLE algorithm */ -#define THUNDER_SUPPORT 1 - -/* Support Deflate compression */ -#define ZIP_SUPPORT 1 - -/* Support strip chopping (whether or not to convert single-strip uncompressed - images to mutiple strips of ~8Kb to reduce memory usage) */ -#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP - -/* Enable SubIFD tag (330) support */ -#define SUBIFD_SUPPORT 1 - -/* Treat extra sample as alpha (default enabled). The RGBA interface will - treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many - packages produce RGBA files but don't mark the alpha properly. */ -#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1 - -/* Pick up YCbCr subsampling info from the JPEG data stream to support files - lacking the tag (default enabled). */ -#define CHECK_JPEG_YCBCR_SUBSAMPLING 1 - -/* Support MS MDI magic number files as TIFF */ -#define MDI_SUPPORT 1 - -/* - * Feature support definitions. - * XXX: These macros are obsoleted. Don't use them in your apps! - * Macros stays here for backward compatibility and should be always defined. - */ -#define COLORIMETRY_SUPPORT -#define YCBCR_SUPPORT -#define CMYK_SUPPORT -#define ICC_SUPPORT -#define PHOTOSHOP_SUPPORT -#define IPTC_SUPPORT - -#endif /* _TIFFCONF_ */ diff --git a/src/SDL2/VisualC/external/include/tiffio.h b/src/SDL2/VisualC/external/include/tiffio.h deleted file mode 100755 index 038b67013..000000000 --- a/src/SDL2/VisualC/external/include/tiffio.h +++ /dev/null @@ -1,557 +0,0 @@ -/* $Id: tiffio.h,v 1.91 2012-07-29 15:45:29 tgl Exp $ */ - -/* - * Copyright (c) 1988-1997 Sam Leffler - * Copyright (c) 1991-1997 Silicon Graphics, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation for any purpose is hereby granted without fee, provided - * that (i) the above copyright notices and this permission notice appear in - * all copies of the software and related documentation, and (ii) the names of - * Sam Leffler and Silicon Graphics may not be used in any advertising or - * publicity relating to the software without the specific, prior written - * permission of Sam Leffler and Silicon Graphics. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR - * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#ifndef _TIFFIO_ -#define _TIFFIO_ - -/* - * TIFF I/O Library Definitions. - */ -#include "tiff.h" -#include "tiffvers.h" - -/* - * TIFF is defined as an incomplete type to hide the - * library's internal data structures from clients. - */ -typedef struct tiff TIFF; - -/* - * The following typedefs define the intrinsic size of - * data types used in the *exported* interfaces. These - * definitions depend on the proper definition of types - * in tiff.h. Note also that the varargs interface used - * to pass tag types and values uses the types defined in - * tiff.h directly. - * - * NB: ttag_t is unsigned int and not unsigned short because - * ANSI C requires that the type before the ellipsis be a - * promoted type (i.e. one of int, unsigned int, pointer, - * or double) and because we defined pseudo-tags that are - * outside the range of legal Aldus-assigned tags. - * NB: tsize_t is int32 and not uint32 because some functions - * return -1. - * NB: toff_t is not off_t for many reasons; TIFFs max out at - * 32-bit file offsets, and BigTIFF maxes out at 64-bit - * offsets being the most important, and to ensure use of - * a consistently unsigned type across architectures. - * Prior to libtiff 4.0, this was an unsigned 32 bit type. - */ -/* - * this is the machine addressing size type, only it's signed, so make it - * int32 on 32bit machines, int64 on 64bit machines - */ -typedef TIFF_SSIZE_T tmsize_t; -typedef uint64 toff_t; /* file offset */ -/* the following are deprecated and should be replaced by their defining - counterparts */ -typedef uint32 ttag_t; /* directory tag */ -typedef uint16 tdir_t; /* directory index */ -typedef uint16 tsample_t; /* sample number */ -typedef uint32 tstrile_t; /* strip or tile number */ -typedef tstrile_t tstrip_t; /* strip number */ -typedef tstrile_t ttile_t; /* tile number */ -typedef tmsize_t tsize_t; /* i/o size in bytes */ -typedef void* tdata_t; /* image data ref */ - -#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32)) -#define __WIN32__ -#endif - -/* - * On windows you should define USE_WIN32_FILEIO if you are using tif_win32.c - * or AVOID_WIN32_FILEIO if you are using something else (like tif_unix.c). - * - * By default tif_unix.c is assumed. - */ - -#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows) -# if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO) -# define AVOID_WIN32_FILEIO -# endif -#endif - -#if defined(USE_WIN32_FILEIO) -# define VC_EXTRALEAN -# include -# ifdef __WIN32__ -DECLARE_HANDLE(thandle_t); /* Win32 file handle */ -# else -typedef HFILE thandle_t; /* client data handle */ -# endif /* __WIN32__ */ -#else -typedef void* thandle_t; /* client data handle */ -#endif /* USE_WIN32_FILEIO */ - -/* - * Flags to pass to TIFFPrintDirectory to control - * printing of data structures that are potentially - * very large. Bit-or these flags to enable printing - * multiple items. - */ -#define TIFFPRINT_NONE 0x0 /* no extra info */ -#define TIFFPRINT_STRIPS 0x1 /* strips/tiles info */ -#define TIFFPRINT_CURVES 0x2 /* color/gray response curves */ -#define TIFFPRINT_COLORMAP 0x4 /* colormap */ -#define TIFFPRINT_JPEGQTABLES 0x100 /* JPEG Q matrices */ -#define TIFFPRINT_JPEGACTABLES 0x200 /* JPEG AC tables */ -#define TIFFPRINT_JPEGDCTABLES 0x200 /* JPEG DC tables */ - -/* - * Colour conversion stuff - */ - -/* reference white */ -#define D65_X0 (95.0470F) -#define D65_Y0 (100.0F) -#define D65_Z0 (108.8827F) - -#define D50_X0 (96.4250F) -#define D50_Y0 (100.0F) -#define D50_Z0 (82.4680F) - -/* Structure for holding information about a display device. */ - -typedef unsigned char TIFFRGBValue; /* 8-bit samples */ - -typedef struct { - float d_mat[3][3]; /* XYZ -> luminance matrix */ - float d_YCR; /* Light o/p for reference white */ - float d_YCG; - float d_YCB; - uint32 d_Vrwr; /* Pixel values for ref. white */ - uint32 d_Vrwg; - uint32 d_Vrwb; - float d_Y0R; /* Residual light for black pixel */ - float d_Y0G; - float d_Y0B; - float d_gammaR; /* Gamma values for the three guns */ - float d_gammaG; - float d_gammaB; -} TIFFDisplay; - -typedef struct { /* YCbCr->RGB support */ - TIFFRGBValue* clamptab; /* range clamping table */ - int* Cr_r_tab; - int* Cb_b_tab; - int32* Cr_g_tab; - int32* Cb_g_tab; - int32* Y_tab; -} TIFFYCbCrToRGB; - -typedef struct { /* CIE Lab 1976->RGB support */ - int range; /* Size of conversion table */ -#define CIELABTORGB_TABLE_RANGE 1500 - float rstep, gstep, bstep; - float X0, Y0, Z0; /* Reference white point */ - TIFFDisplay display; - float Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr to r */ - float Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg to g */ - float Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb to b */ -} TIFFCIELabToRGB; - -/* - * RGBA-style image support. - */ -typedef struct _TIFFRGBAImage TIFFRGBAImage; -/* - * The image reading and conversion routines invoke - * ``put routines'' to copy/image/whatever tiles of - * raw image data. A default set of routines are - * provided to convert/copy raw image data to 8-bit - * packed ABGR format rasters. Applications can supply - * alternate routines that unpack the data into a - * different format or, for example, unpack the data - * and draw the unpacked raster on the display. - */ -typedef void (*tileContigRoutine) - (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32, - unsigned char*); -typedef void (*tileSeparateRoutine) - (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32, - unsigned char*, unsigned char*, unsigned char*, unsigned char*); -/* - * RGBA-reader state. - */ -struct _TIFFRGBAImage { - TIFF* tif; /* image handle */ - int stoponerr; /* stop on read error */ - int isContig; /* data is packed/separate */ - int alpha; /* type of alpha data present */ - uint32 width; /* image width */ - uint32 height; /* image height */ - uint16 bitspersample; /* image bits/sample */ - uint16 samplesperpixel; /* image samples/pixel */ - uint16 orientation; /* image orientation */ - uint16 req_orientation; /* requested orientation */ - uint16 photometric; /* image photometric interp */ - uint16* redcmap; /* colormap pallete */ - uint16* greencmap; - uint16* bluecmap; - /* get image data routine */ - int (*get)(TIFFRGBAImage*, uint32*, uint32, uint32); - /* put decoded strip/tile */ - union { - void (*any)(TIFFRGBAImage*); - tileContigRoutine contig; - tileSeparateRoutine separate; - } put; - TIFFRGBValue* Map; /* sample mapping array */ - uint32** BWmap; /* black&white map */ - uint32** PALmap; /* palette image map */ - TIFFYCbCrToRGB* ycbcr; /* YCbCr conversion state */ - TIFFCIELabToRGB* cielab; /* CIE L*a*b conversion state */ - - uint8* UaToAa; /* Unassociated alpha to associated alpha convertion LUT */ - uint8* Bitdepth16To8; /* LUT for conversion from 16bit to 8bit values */ - - int row_offset; - int col_offset; -}; - -/* - * Macros for extracting components from the - * packed ABGR form returned by TIFFReadRGBAImage. - */ -#define TIFFGetR(abgr) ((abgr) & 0xff) -#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff) -#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff) -#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff) - -/* - * A CODEC is a software package that implements decoding, - * encoding, or decoding+encoding of a compression algorithm. - * The library provides a collection of builtin codecs. - * More codecs may be registered through calls to the library - * and/or the builtin implementations may be overridden. - */ -typedef int (*TIFFInitMethod)(TIFF*, int); -typedef struct { - char* name; - uint16 scheme; - TIFFInitMethod init; -} TIFFCodec; - -#include -#include - -/* share internal LogLuv conversion routines? */ -#ifndef LOGLUV_PUBLIC -#define LOGLUV_PUBLIC 1 -#endif - -#if !defined(__GNUC__) && !defined(__attribute__) -# define __attribute__(x) /*nothing*/ -#endif - -#if defined(c_plusplus) || defined(__cplusplus) -extern "C" { -#endif -typedef void (*TIFFErrorHandler)(const char*, const char*, va_list); -typedef void (*TIFFErrorHandlerExt)(thandle_t, const char*, const char*, va_list); -typedef tmsize_t (*TIFFReadWriteProc)(thandle_t, void*, tmsize_t); -typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int); -typedef int (*TIFFCloseProc)(thandle_t); -typedef toff_t (*TIFFSizeProc)(thandle_t); -typedef int (*TIFFMapFileProc)(thandle_t, void** base, toff_t* size); -typedef void (*TIFFUnmapFileProc)(thandle_t, void* base, toff_t size); -typedef void (*TIFFExtendProc)(TIFF*); - -extern const char* TIFFGetVersion(void); - -extern const TIFFCodec* TIFFFindCODEC(uint16); -extern TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod); -extern void TIFFUnRegisterCODEC(TIFFCodec*); -extern int TIFFIsCODECConfigured(uint16); -extern TIFFCodec* TIFFGetConfiguredCODECs(void); - -/* - * Auxiliary functions. - */ - -extern void* _TIFFmalloc(tmsize_t s); -extern void* _TIFFrealloc(void* p, tmsize_t s); -extern void _TIFFmemset(void* p, int v, tmsize_t c); -extern void _TIFFmemcpy(void* d, const void* s, tmsize_t c); -extern int _TIFFmemcmp(const void* p1, const void* p2, tmsize_t c); -extern void _TIFFfree(void* p); - -/* -** Stuff, related to tag handling and creating custom tags. -*/ -extern int TIFFGetTagListCount( TIFF * ); -extern uint32 TIFFGetTagListEntry( TIFF *, int tag_index ); - -#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */ -#define TIFF_VARIABLE -1 /* marker for variable length tags */ -#define TIFF_SPP -2 /* marker for SamplesPerPixel tags */ -#define TIFF_VARIABLE2 -3 /* marker for uint32 var-length tags */ - -#define FIELD_CUSTOM 65 - -typedef struct _TIFFField TIFFField; -typedef struct _TIFFFieldArray TIFFFieldArray; - -extern const TIFFField* TIFFFindField(TIFF *, uint32, TIFFDataType); -extern const TIFFField* TIFFFieldWithTag(TIFF*, uint32); -extern const TIFFField* TIFFFieldWithName(TIFF*, const char *); - -extern uint32 TIFFFieldTag(const TIFFField*); -extern const char* TIFFFieldName(const TIFFField*); -extern TIFFDataType TIFFFieldDataType(const TIFFField*); -extern int TIFFFieldPassCount(const TIFFField*); -extern int TIFFFieldReadCount(const TIFFField*); -extern int TIFFFieldWriteCount(const TIFFField*); - -typedef int (*TIFFVSetMethod)(TIFF*, uint32, va_list); -typedef int (*TIFFVGetMethod)(TIFF*, uint32, va_list); -typedef void (*TIFFPrintMethod)(TIFF*, FILE*, long); - -typedef struct { - TIFFVSetMethod vsetfield; /* tag set routine */ - TIFFVGetMethod vgetfield; /* tag get routine */ - TIFFPrintMethod printdir; /* directory print routine */ -} TIFFTagMethods; - -extern TIFFTagMethods *TIFFAccessTagMethods(TIFF *); -extern void *TIFFGetClientInfo(TIFF *, const char *); -extern void TIFFSetClientInfo(TIFF *, void *, const char *); - -extern void TIFFCleanup(TIFF* tif); -extern void TIFFClose(TIFF* tif); -extern int TIFFFlush(TIFF* tif); -extern int TIFFFlushData(TIFF* tif); -extern int TIFFGetField(TIFF* tif, uint32 tag, ...); -extern int TIFFVGetField(TIFF* tif, uint32 tag, va_list ap); -extern int TIFFGetFieldDefaulted(TIFF* tif, uint32 tag, ...); -extern int TIFFVGetFieldDefaulted(TIFF* tif, uint32 tag, va_list ap); -extern int TIFFReadDirectory(TIFF* tif); -extern int TIFFReadCustomDirectory(TIFF* tif, toff_t diroff, const TIFFFieldArray* infoarray); -extern int TIFFReadEXIFDirectory(TIFF* tif, toff_t diroff); -extern uint64 TIFFScanlineSize64(TIFF* tif); -extern tmsize_t TIFFScanlineSize(TIFF* tif); -extern uint64 TIFFRasterScanlineSize64(TIFF* tif); -extern tmsize_t TIFFRasterScanlineSize(TIFF* tif); -extern uint64 TIFFStripSize64(TIFF* tif); -extern tmsize_t TIFFStripSize(TIFF* tif); -extern uint64 TIFFRawStripSize64(TIFF* tif, uint32 strip); -extern tmsize_t TIFFRawStripSize(TIFF* tif, uint32 strip); -extern uint64 TIFFVStripSize64(TIFF* tif, uint32 nrows); -extern tmsize_t TIFFVStripSize(TIFF* tif, uint32 nrows); -extern uint64 TIFFTileRowSize64(TIFF* tif); -extern tmsize_t TIFFTileRowSize(TIFF* tif); -extern uint64 TIFFTileSize64(TIFF* tif); -extern tmsize_t TIFFTileSize(TIFF* tif); -extern uint64 TIFFVTileSize64(TIFF* tif, uint32 nrows); -extern tmsize_t TIFFVTileSize(TIFF* tif, uint32 nrows); -extern uint32 TIFFDefaultStripSize(TIFF* tif, uint32 request); -extern void TIFFDefaultTileSize(TIFF*, uint32*, uint32*); -extern int TIFFFileno(TIFF*); -extern int TIFFSetFileno(TIFF*, int); -extern thandle_t TIFFClientdata(TIFF*); -extern thandle_t TIFFSetClientdata(TIFF*, thandle_t); -extern int TIFFGetMode(TIFF*); -extern int TIFFSetMode(TIFF*, int); -extern int TIFFIsTiled(TIFF*); -extern int TIFFIsByteSwapped(TIFF*); -extern int TIFFIsUpSampled(TIFF*); -extern int TIFFIsMSB2LSB(TIFF*); -extern int TIFFIsBigEndian(TIFF*); -extern TIFFReadWriteProc TIFFGetReadProc(TIFF*); -extern TIFFReadWriteProc TIFFGetWriteProc(TIFF*); -extern TIFFSeekProc TIFFGetSeekProc(TIFF*); -extern TIFFCloseProc TIFFGetCloseProc(TIFF*); -extern TIFFSizeProc TIFFGetSizeProc(TIFF*); -extern TIFFMapFileProc TIFFGetMapFileProc(TIFF*); -extern TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*); -extern uint32 TIFFCurrentRow(TIFF*); -extern uint16 TIFFCurrentDirectory(TIFF*); -extern uint16 TIFFNumberOfDirectories(TIFF*); -extern uint64 TIFFCurrentDirOffset(TIFF*); -extern uint32 TIFFCurrentStrip(TIFF*); -extern uint32 TIFFCurrentTile(TIFF* tif); -extern int TIFFReadBufferSetup(TIFF* tif, void* bp, tmsize_t size); -extern int TIFFWriteBufferSetup(TIFF* tif, void* bp, tmsize_t size); -extern int TIFFSetupStrips(TIFF *); -extern int TIFFWriteCheck(TIFF*, int, const char *); -extern void TIFFFreeDirectory(TIFF*); -extern int TIFFCreateDirectory(TIFF*); -extern int TIFFCreateCustomDirectory(TIFF*,const TIFFFieldArray*); -extern int TIFFCreateEXIFDirectory(TIFF*); -extern int TIFFLastDirectory(TIFF*); -extern int TIFFSetDirectory(TIFF*, uint16); -extern int TIFFSetSubDirectory(TIFF*, uint64); -extern int TIFFUnlinkDirectory(TIFF*, uint16); -extern int TIFFSetField(TIFF*, uint32, ...); -extern int TIFFVSetField(TIFF*, uint32, va_list); -extern int TIFFUnsetField(TIFF*, uint32); -extern int TIFFWriteDirectory(TIFF *); -extern int TIFFWriteCustomDirectory(TIFF *, uint64 *); -extern int TIFFCheckpointDirectory(TIFF *); -extern int TIFFRewriteDirectory(TIFF *); - -#if defined(c_plusplus) || defined(__cplusplus) -extern void TIFFPrintDirectory(TIFF*, FILE*, long = 0); -extern int TIFFReadScanline(TIFF* tif, void* buf, uint32 row, uint16 sample = 0); -extern int TIFFWriteScanline(TIFF* tif, void* buf, uint32 row, uint16 sample = 0); -extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0); -extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, - int = ORIENTATION_BOTLEFT, int = 0); -#else -extern void TIFFPrintDirectory(TIFF*, FILE*, long); -extern int TIFFReadScanline(TIFF* tif, void* buf, uint32 row, uint16 sample); -extern int TIFFWriteScanline(TIFF* tif, void* buf, uint32 row, uint16 sample); -extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int); -extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int); -#endif - -extern int TIFFReadRGBAStrip(TIFF*, uint32, uint32 * ); -extern int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * ); -extern int TIFFRGBAImageOK(TIFF*, char [1024]); -extern int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]); -extern int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32); -extern void TIFFRGBAImageEnd(TIFFRGBAImage*); -extern TIFF* TIFFOpen(const char*, const char*); -# ifdef __WIN32__ -extern TIFF* TIFFOpenW(const wchar_t*, const char*); -# endif /* __WIN32__ */ -extern TIFF* TIFFFdOpen(int, const char*, const char*); -extern TIFF* TIFFClientOpen(const char*, const char*, - thandle_t, - TIFFReadWriteProc, TIFFReadWriteProc, - TIFFSeekProc, TIFFCloseProc, - TIFFSizeProc, - TIFFMapFileProc, TIFFUnmapFileProc); -extern const char* TIFFFileName(TIFF*); -extern const char* TIFFSetFileName(TIFF*, const char *); -extern void TIFFError(const char*, const char*, ...) __attribute__((__format__ (__printf__,2,3))); -extern void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((__format__ (__printf__,3,4))); -extern void TIFFWarning(const char*, const char*, ...) __attribute__((__format__ (__printf__,2,3))); -extern void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((__format__ (__printf__,3,4))); -extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler); -extern TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt); -extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler); -extern TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt); -extern TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc); -extern uint32 TIFFComputeTile(TIFF* tif, uint32 x, uint32 y, uint32 z, uint16 s); -extern int TIFFCheckTile(TIFF* tif, uint32 x, uint32 y, uint32 z, uint16 s); -extern uint32 TIFFNumberOfTiles(TIFF*); -extern tmsize_t TIFFReadTile(TIFF* tif, void* buf, uint32 x, uint32 y, uint32 z, uint16 s); -extern tmsize_t TIFFWriteTile(TIFF* tif, void* buf, uint32 x, uint32 y, uint32 z, uint16 s); -extern uint32 TIFFComputeStrip(TIFF*, uint32, uint16); -extern uint32 TIFFNumberOfStrips(TIFF*); -extern tmsize_t TIFFReadEncodedStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size); -extern tmsize_t TIFFReadRawStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size); -extern tmsize_t TIFFReadEncodedTile(TIFF* tif, uint32 tile, void* buf, tmsize_t size); -extern tmsize_t TIFFReadRawTile(TIFF* tif, uint32 tile, void* buf, tmsize_t size); -extern tmsize_t TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc); -extern tmsize_t TIFFWriteRawStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc); -extern tmsize_t TIFFWriteEncodedTile(TIFF* tif, uint32 tile, void* data, tmsize_t cc); -extern tmsize_t TIFFWriteRawTile(TIFF* tif, uint32 tile, void* data, tmsize_t cc); -extern int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */ -extern void TIFFSetWriteOffset(TIFF* tif, toff_t off); -extern void TIFFSwabShort(uint16*); -extern void TIFFSwabLong(uint32*); -extern void TIFFSwabLong8(uint64*); -extern void TIFFSwabFloat(float*); -extern void TIFFSwabDouble(double*); -extern void TIFFSwabArrayOfShort(uint16* wp, tmsize_t n); -extern void TIFFSwabArrayOfTriples(uint8* tp, tmsize_t n); -extern void TIFFSwabArrayOfLong(uint32* lp, tmsize_t n); -extern void TIFFSwabArrayOfLong8(uint64* lp, tmsize_t n); -extern void TIFFSwabArrayOfFloat(float* fp, tmsize_t n); -extern void TIFFSwabArrayOfDouble(double* dp, tmsize_t n); -extern void TIFFReverseBits(uint8* cp, tmsize_t n); -extern const unsigned char* TIFFGetBitRevTable(int); - -#ifdef LOGLUV_PUBLIC -#define U_NEU 0.210526316 -#define V_NEU 0.473684211 -#define UVSCALE 410. -extern double LogL16toY(int); -extern double LogL10toY(int); -extern void XYZtoRGB24(float*, uint8*); -extern int uv_decode(double*, double*, int); -extern void LogLuv24toXYZ(uint32, float*); -extern void LogLuv32toXYZ(uint32, float*); -#if defined(c_plusplus) || defined(__cplusplus) -extern int LogL16fromY(double, int = SGILOGENCODE_NODITHER); -extern int LogL10fromY(double, int = SGILOGENCODE_NODITHER); -extern int uv_encode(double, double, int = SGILOGENCODE_NODITHER); -extern uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER); -extern uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER); -#else -extern int LogL16fromY(double, int); -extern int LogL10fromY(double, int); -extern int uv_encode(double, double, int); -extern uint32 LogLuv24fromXYZ(float*, int); -extern uint32 LogLuv32fromXYZ(float*, int); -#endif -#endif /* LOGLUV_PUBLIC */ - -extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, const TIFFDisplay *, float*); -extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32, - float *, float *, float *); -extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float, - uint32 *, uint32 *, uint32 *); - -extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*); -extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32, - uint32 *, uint32 *, uint32 *); - -/**************************************************************************** - * O B S O L E T E D I N T E R F A C E S - * - * Don't use this stuff in your applications, it may be removed in the future - * libtiff versions. - ****************************************************************************/ -typedef struct { - ttag_t field_tag; /* field's tag */ - short field_readcount; /* read count/TIFF_VARIABLE/TIFF_SPP */ - short field_writecount; /* write count/TIFF_VARIABLE */ - TIFFDataType field_type; /* type of associated data */ - unsigned short field_bit; /* bit in fieldsset bit vector */ - unsigned char field_oktochange; /* if true, can change while writing */ - unsigned char field_passcount; /* if true, pass dir count on set */ - char *field_name; /* ASCII name */ -} TIFFFieldInfo; - -extern int TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], uint32); - -#if defined(c_plusplus) || defined(__cplusplus) -} -#endif - -#endif /* _TIFFIO_ */ - -/* vim: set ts=8 sts=8 sw=8 noet: */ -/* - * Local Variables: - * mode: c - * c-basic-offset: 8 - * fill-column: 78 - * End: - */ diff --git a/src/SDL2/VisualC/external/include/tiffvers.h b/src/SDL2/VisualC/external/include/tiffvers.h deleted file mode 100755 index 40edc813d..000000000 --- a/src/SDL2/VisualC/external/include/tiffvers.h +++ /dev/null @@ -1,9 +0,0 @@ -#define TIFFLIB_VERSION_STR "LIBTIFF, Version 4.0.3\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc." -/* - * This define can be used in code that requires - * compilation-related definitions specific to a - * version or versions of the library. Runtime - * version checking should be done based on the - * string returned by TIFFGetVersion. - */ -#define TIFFLIB_VERSION 20120922 diff --git a/src/SDL2/VisualC/external/include/webp/decode.h b/src/SDL2/VisualC/external/include/webp/decode.h deleted file mode 100644 index fc2a83aba..000000000 --- a/src/SDL2/VisualC/external/include/webp/decode.h +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header and return 0 in -// case of formatting error. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling free(). -// Returns NULL in case of error. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be free()'d, -// unlike the returned Y luma one. The dimension of the U and V planes -// are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN(uint8_t*) WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If true, 'internal_memory' pointer is not used. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is false). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN(void) WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&buffer); -// buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&buffer); -// while (has_more_data) { -// // ... (get additional data) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_SUSPENDED || -// break; -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling to -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// set to 1. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN(WebPIDecoder*) WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN(void) WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN(VP8StatusCode) WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN(VP8StatusCode) WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. -WEBP_EXTERN(uint8_t*) WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN(uint8_t*) WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN(const WebPDecBuffer*) WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - - // Unused for now: - int bitstream_version; // should be 0 for now. TODO(later) - int no_incremental_decoding; // if true, using incremental decoding is not - // recommended. - int rotate; // TODO(later) - int uv_sampling; // should be 0 for now. TODO(later) - uint32_t pad[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - - // Unused for now: - int force_rotation; // forced rotation (to be applied _last_) - int no_enhancement; // if true, discard enhancement layer - uint32_t pad[6]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition). -WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). -WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_DECODE_H_ */ diff --git a/src/SDL2/VisualC/external/include/webp/encode.h b/src/SDL2/VisualC/external/include/webp/encode.h deleted file mode 100644 index d635fcf0e..000000000 --- a/src/SDL2/VisualC/external/include/webp/encode.h +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'free(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN(size_t) WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -WEBP_EXTERN(size_t) WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 (smallest file) and 100 (biggest) - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - // Parameters related to lossy compression only: - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter (0=none, 1=segment-smooth) - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - uint32_t pad[5]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN(int) WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics (mostly for lossy encoding). - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - - uint32_t pad[4]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed using the call 'free(writer.mem)'. -WEBP_EXTERN(int) WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV422 = 1, // 4:2:2 - WEBP_YUV444 = 2, // 4:4:4 - WEBP_YUV400 = 3, // grayscale - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - // alpha channel variants - WEBP_YUV420A = 4, - WEBP_YUV422A = 5, - WEBP_YUV444A = 6, - WEBP_YUV400A = 7, // grayscale + alpha - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t *y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now: original samples (for non-YUV420 modes) - uint8_t *u0, *v0; - int uv0_stride; - - uint32_t pad4[7]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad5[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN(void) WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, -// *dst will fully own the copied pixels (this is not a view). -// Returns false in case of memory allocation error. -WEBP_EXTERN(int) WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. -// Result is in dB, stores in result[] in the Y/U/V/Alpha/All order. -// Returns false in case of error (src and ref don't have same dimension, ...) -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN(int) WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN(int) WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN(int) WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN(int) WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// Now gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN(int) WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN(int) WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN(int) WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN(int) WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN(int) WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN(int) WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUVA format specified by 'colorspace'. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP colorspace); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. -// Note that the use of this method is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. Also, the -// conversion from YUV420 to ARGB incurs a small loss too. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of YUV(A) samples -// (with stride 'stride'), clean-up the YUV samples under fully transparent -// area, to help compressibility (no guarantee, though). -WEBP_EXTERN(void) WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN(int) WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN(void) WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN(int) WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_ENCODE_H_ */ diff --git a/src/SDL2/VisualC/external/include/webp/types.h b/src/SDL2/VisualC/external/include/webp/types.h deleted file mode 100644 index 3e27190be..000000000 --- a/src/SDL2/VisualC/external/include/webp/types.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Common types -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#ifdef __STRICT_ANSI__ -#define WEBP_INLINE -#else /* __STRICT_ANSI__ */ -#define WEBP_INLINE inline -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -#define WEBP_EXTERN(type) extern type -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#endif /* WEBP_WEBP_TYPES_H_ */ diff --git a/src/SDL2/VisualC/external/include/zconf.h b/src/SDL2/VisualC/external/include/zconf.h deleted file mode 100755 index 996fff292..000000000 --- a/src/SDL2/VisualC/external/include/zconf.h +++ /dev/null @@ -1,511 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2013 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set - * this permanently in zconf.h using "./configure --zprefix". - */ -#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ -# define Z_PREFIX_SET - -/* all linked symbols */ -# define _dist_code z__dist_code -# define _length_code z__length_code -# define _tr_align z__tr_align -# define _tr_flush_bits z__tr_flush_bits -# define _tr_flush_block z__tr_flush_block -# define _tr_init z__tr_init -# define _tr_stored_block z__tr_stored_block -# define _tr_tally z__tr_tally -# define adler32 z_adler32 -# define adler32_combine z_adler32_combine -# define adler32_combine64 z_adler32_combine64 -# ifndef Z_SOLO -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# endif -# define crc32 z_crc32 -# define crc32_combine z_crc32_combine -# define crc32_combine64 z_crc32_combine64 -# define deflate z_deflate -# define deflateBound z_deflateBound -# define deflateCopy z_deflateCopy -# define deflateEnd z_deflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateInit_ z_deflateInit_ -# define deflateParams z_deflateParams -# define deflatePending z_deflatePending -# define deflatePrime z_deflatePrime -# define deflateReset z_deflateReset -# define deflateResetKeep z_deflateResetKeep -# define deflateSetDictionary z_deflateSetDictionary -# define deflateSetHeader z_deflateSetHeader -# define deflateTune z_deflateTune -# define deflate_copyright z_deflate_copyright -# define get_crc_table z_get_crc_table -# ifndef Z_SOLO -# define gz_error z_gz_error -# define gz_intmax z_gz_intmax -# define gz_strwinerror z_gz_strwinerror -# define gzbuffer z_gzbuffer -# define gzclearerr z_gzclearerr -# define gzclose z_gzclose -# define gzclose_r z_gzclose_r -# define gzclose_w z_gzclose_w -# define gzdirect z_gzdirect -# define gzdopen z_gzdopen -# define gzeof z_gzeof -# define gzerror z_gzerror -# define gzflush z_gzflush -# define gzgetc z_gzgetc -# define gzgetc_ z_gzgetc_ -# define gzgets z_gzgets -# define gzoffset z_gzoffset -# define gzoffset64 z_gzoffset64 -# define gzopen z_gzopen -# define gzopen64 z_gzopen64 -# ifdef _WIN32 -# define gzopen_w z_gzopen_w -# endif -# define gzprintf z_gzprintf -# define gzvprintf z_gzvprintf -# define gzputc z_gzputc -# define gzputs z_gzputs -# define gzread z_gzread -# define gzrewind z_gzrewind -# define gzseek z_gzseek -# define gzseek64 z_gzseek64 -# define gzsetparams z_gzsetparams -# define gztell z_gztell -# define gztell64 z_gztell64 -# define gzungetc z_gzungetc -# define gzwrite z_gzwrite -# endif -# define inflate z_inflate -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define inflateBackInit_ z_inflateBackInit_ -# define inflateCopy z_inflateCopy -# define inflateEnd z_inflateEnd -# define inflateGetHeader z_inflateGetHeader -# define inflateInit2_ z_inflateInit2_ -# define inflateInit_ z_inflateInit_ -# define inflateMark z_inflateMark -# define inflatePrime z_inflatePrime -# define inflateReset z_inflateReset -# define inflateReset2 z_inflateReset2 -# define inflateSetDictionary z_inflateSetDictionary -# define inflateGetDictionary z_inflateGetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateUndermine z_inflateUndermine -# define inflateResetKeep z_inflateResetKeep -# define inflate_copyright z_inflate_copyright -# define inflate_fast z_inflate_fast -# define inflate_table z_inflate_table -# ifndef Z_SOLO -# define uncompress z_uncompress -# endif -# define zError z_zError -# ifndef Z_SOLO -# define zcalloc z_zcalloc -# define zcfree z_zcfree -# endif -# define zlibCompileFlags z_zlibCompileFlags -# define zlibVersion z_zlibVersion - -/* all zlib typedefs in zlib.h and zconf.h */ -# define Byte z_Byte -# define Bytef z_Bytef -# define alloc_func z_alloc_func -# define charf z_charf -# define free_func z_free_func -# ifndef Z_SOLO -# define gzFile z_gzFile -# endif -# define gz_header z_gz_header -# define gz_headerp z_gz_headerp -# define in_func z_in_func -# define intf z_intf -# define out_func z_out_func -# define uInt z_uInt -# define uIntf z_uIntf -# define uLong z_uLong -# define uLongf z_uLongf -# define voidp z_voidp -# define voidpc z_voidpc -# define voidpf z_voidpf - -/* all zlib structs in zlib.h and zconf.h */ -# define gz_header_s z_gz_header_s -# define internal_state z_internal_state - -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -#if defined(ZLIB_CONST) && !defined(z_const) -# define z_const const -#else -# define z_const -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) -# include -# if (UINT_MAX == 0xffffffffUL) -# define Z_U4 unsigned -# elif (ULONG_MAX == 0xffffffffUL) -# define Z_U4 unsigned long -# elif (USHRT_MAX == 0xffffffffUL) -# define Z_U4 unsigned short -# endif -#endif - -#ifdef Z_U4 - typedef Z_U4 z_crc_t; -#else - typedef unsigned long z_crc_t; -#endif - -#if 1 /* was set to #if 1 by ./configure */ -# define Z_HAVE_UNISTD_H -#endif - -#if 1 /* was set to #if 1 by ./configure */ -# define Z_HAVE_STDARG_H -#endif - -#ifdef STDC -# ifndef Z_SOLO -# include /* for off_t */ -# endif -#endif - -#if defined(STDC) || defined(Z_HAVE_STDARG_H) -# ifndef Z_SOLO -# include /* for va_list */ -# endif -#endif - -#ifdef _WIN32 -# ifndef Z_SOLO -# include /* for wchar_t */ -# endif -#endif - -/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and - * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even - * though the former does not conform to the LFS document), but considering - * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as - * equivalently requesting no 64-bit operations - */ -#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 -# undef _LARGEFILE64_SOURCE -#endif - -#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) -# define Z_HAVE_UNISTD_H -#endif -#ifndef Z_SOLO -# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) -# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ -# ifdef VMS -# include /* for off_t */ -# endif -# ifndef z_off_t -# define z_off_t off_t -# endif -# endif -#endif - -#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 -# define Z_LFS64 -#endif - -#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) -# define Z_LARGE64 -#endif - -#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) -# define Z_WANT64 -#endif - -#if !defined(SEEK_SET) && !defined(Z_SOLO) -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif - -#ifndef z_off_t -# define z_off_t long -#endif - -#if !defined(_WIN32) && defined(Z_LARGE64) -# define z_off64_t off64_t -#else -# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) -# define z_off64_t __int64 -# else -# define z_off64_t z_off_t -# endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/src/SDL2/VisualC/external/include/zlib.h b/src/SDL2/VisualC/external/include/zlib.h deleted file mode 100755 index 3e0c7672a..000000000 --- a/src/SDL2/VisualC/external/include/zlib.h +++ /dev/null @@ -1,1768 +0,0 @@ -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.8, April 28th, 2013 - - Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - - The data format used by the zlib library is described by RFCs (Request for - Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 - (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). -*/ - -#ifndef ZLIB_H -#define ZLIB_H - -#include "zconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define ZLIB_VERSION "1.2.8" -#define ZLIB_VERNUM 0x1280 -#define ZLIB_VER_MAJOR 1 -#define ZLIB_VER_MINOR 2 -#define ZLIB_VER_REVISION 8 -#define ZLIB_VER_SUBREVISION 0 - -/* - The 'zlib' compression library provides in-memory compression and - decompression functions, including integrity checks of the uncompressed data. - This version of the library supports only one compression method (deflation) - but other algorithms will be added later and will have the same stream - interface. - - Compression can be done in a single step if the buffers are large enough, - or can be done by repeated calls of the compression function. In the latter - case, the application must provide more input and/or consume the output - (providing more output space) before each call. - - The compressed data format used by default by the in-memory functions is - the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped - around a deflate stream, which is itself documented in RFC 1951. - - The library also supports reading and writing files in gzip (.gz) format - with an interface similar to that of stdio using the functions that start - with "gz". The gzip format is different from the zlib format. gzip is a - gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. - - This library can optionally read and write gzip streams in memory as well. - - The zlib format was designed to be compact and fast for use in memory - and on communications channels. The gzip format was designed for single- - file compression on file systems, has a larger header than zlib to maintain - directory information, and uses a different, slower check method than zlib. - - The library does not install any signal handler. The decoder checks - the consistency of the compressed data, so the library should never crash - even in case of corrupted input. -*/ - -typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); -typedef void (*free_func) OF((voidpf opaque, voidpf address)); - -struct internal_state; - -typedef struct z_stream_s { - z_const Bytef *next_in; /* next input byte */ - uInt avail_in; /* number of bytes available at next_in */ - uLong total_in; /* total number of input bytes read so far */ - - Bytef *next_out; /* next output byte should be put there */ - uInt avail_out; /* remaining free space at next_out */ - uLong total_out; /* total number of bytes output so far */ - - z_const char *msg; /* last error message, NULL if no error */ - struct internal_state FAR *state; /* not visible by applications */ - - alloc_func zalloc; /* used to allocate the internal state */ - free_func zfree; /* used to free the internal state */ - voidpf opaque; /* private data object passed to zalloc and zfree */ - - int data_type; /* best guess about the data type: binary or text */ - uLong adler; /* adler32 value of the uncompressed data */ - uLong reserved; /* reserved for future use */ -} z_stream; - -typedef z_stream FAR *z_streamp; - -/* - gzip header information passed to and from zlib routines. See RFC 1952 - for more details on the meanings of these fields. -*/ -typedef struct gz_header_s { - int text; /* true if compressed data believed to be text */ - uLong time; /* modification time */ - int xflags; /* extra flags (not used when writing a gzip file) */ - int os; /* operating system */ - Bytef *extra; /* pointer to extra field or Z_NULL if none */ - uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ - uInt extra_max; /* space at extra (only when reading header) */ - Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ - uInt name_max; /* space at name (only when reading header) */ - Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ - uInt comm_max; /* space at comment (only when reading header) */ - int hcrc; /* true if there was or will be a header crc */ - int done; /* true when done reading gzip header (not used - when writing a gzip file) */ -} gz_header; - -typedef gz_header FAR *gz_headerp; - -/* - The application must update next_in and avail_in when avail_in has dropped - to zero. It must update next_out and avail_out when avail_out has dropped - to zero. The application must initialize zalloc, zfree and opaque before - calling the init function. All other fields are set by the compression - library and must not be updated by the application. - - The opaque value provided by the application will be passed as the first - parameter for calls of zalloc and zfree. This can be useful for custom - memory management. The compression library attaches no meaning to the - opaque value. - - zalloc must return Z_NULL if there is not enough memory for the object. - If zlib is used in a multi-threaded application, zalloc and zfree must be - thread safe. - - On 16-bit systems, the functions zalloc and zfree must be able to allocate - exactly 65536 bytes, but will not be required to allocate more than this if - the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers - returned by zalloc for objects of exactly 65536 bytes *must* have their - offset normalized to zero. The default allocation function provided by this - library ensures this (see zutil.c). To reduce memory requirements and avoid - any allocation of 64K objects, at the expense of compression ratio, compile - the library with -DMAX_WBITS=14 (see zconf.h). - - The fields total_in and total_out can be used for statistics or progress - reports. After compression, total_in holds the total size of the - uncompressed data and may be saved for use in the decompressor (particularly - if the decompressor wants to decompress everything in a single step). -*/ - - /* constants */ - -#define Z_NO_FLUSH 0 -#define Z_PARTIAL_FLUSH 1 -#define Z_SYNC_FLUSH 2 -#define Z_FULL_FLUSH 3 -#define Z_FINISH 4 -#define Z_BLOCK 5 -#define Z_TREES 6 -/* Allowed flush values; see deflate() and inflate() below for details */ - -#define Z_OK 0 -#define Z_STREAM_END 1 -#define Z_NEED_DICT 2 -#define Z_ERRNO (-1) -#define Z_STREAM_ERROR (-2) -#define Z_DATA_ERROR (-3) -#define Z_MEM_ERROR (-4) -#define Z_BUF_ERROR (-5) -#define Z_VERSION_ERROR (-6) -/* Return codes for the compression/decompression functions. Negative values - * are errors, positive values are used for special but normal events. - */ - -#define Z_NO_COMPRESSION 0 -#define Z_BEST_SPEED 1 -#define Z_BEST_COMPRESSION 9 -#define Z_DEFAULT_COMPRESSION (-1) -/* compression levels */ - -#define Z_FILTERED 1 -#define Z_HUFFMAN_ONLY 2 -#define Z_RLE 3 -#define Z_FIXED 4 -#define Z_DEFAULT_STRATEGY 0 -/* compression strategy; see deflateInit2() below for details */ - -#define Z_BINARY 0 -#define Z_TEXT 1 -#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ -#define Z_UNKNOWN 2 -/* Possible values of the data_type field (though see inflate()) */ - -#define Z_DEFLATED 8 -/* The deflate compression method (the only one supported in this version) */ - -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define zlib_version zlibVersion() -/* for compatibility with versions < 1.0.2 */ - - - /* basic functions */ - -ZEXTERN const char * ZEXPORT zlibVersion OF((void)); -/* The application can compare zlibVersion and ZLIB_VERSION for consistency. - If the first character differs, the library code actually used is not - compatible with the zlib.h header file used by the application. This check - is automatically made by deflateInit and inflateInit. - */ - -/* -ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); - - Initializes the internal stream state for compression. The fields - zalloc, zfree and opaque must be initialized before by the caller. If - zalloc and zfree are set to Z_NULL, deflateInit updates them to use default - allocation functions. - - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: - 1 gives best speed, 9 gives best compression, 0 gives no compression at all - (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION - requests a default compromise between speed and compression (currently - equivalent to level 6). - - deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if level is not a valid compression level, or - Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible - with the version assumed by the caller (ZLIB_VERSION). msg is set to null - if there is no error message. deflateInit does not perform any compression: - this will be done by deflate(). -*/ - - -ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); -/* - deflate compresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. deflate performs one or both of the - following actions: - - - Compress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in and avail_in are updated and - processing will resume at this point for the next call of deflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. This action is forced if the parameter flush is non zero. - Forcing flush frequently degrades the compression ratio, so this parameter - should be set only when necessary (in interactive applications). Some - output may be provided even if flush is not set. - - Before the call of deflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming more - output, and updating avail_in or avail_out accordingly; avail_out should - never be zero before the call. The application can consume the compressed - output when it wants, for example when the output buffer is full (avail_out - == 0), or after each call of deflate(). If deflate returns Z_OK and with - zero avail_out, it must be called again after making room in the output - buffer because there might be more output pending. - - Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to - decide how much data to accumulate before producing output, in order to - maximize compression. - - If the parameter flush is set to Z_SYNC_FLUSH, all pending output is - flushed to the output buffer and the output is aligned on a byte boundary, so - that the decompressor can get all input data available so far. (In - particular avail_in is zero after the call if enough output space has been - provided before the call.) Flushing may degrade compression for some - compression algorithms and so it should be used only when necessary. This - completes the current deflate block and follows it with an empty stored block - that is three bits plus filler bits to the next byte, followed by four bytes - (00 00 ff ff). - - If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the - output buffer, but the output is not aligned to a byte boundary. All of the - input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. - This completes the current deflate block and follows it with an empty fixed - codes block that is 10 bits long. This assures that enough bytes are output - in order for the decompressor to finish the block before the empty fixed code - block. - - If flush is set to Z_BLOCK, a deflate block is completed and emitted, as - for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to - seven bits of the current block are held to be written as the next byte after - the next deflate block is completed. In this case, the decompressor may not - be provided enough bits at this point in order to complete decompression of - the data provided so far to the compressor. It may need to wait for the next - block to be emitted. This is for advanced applications that need to control - the emission of deflate blocks. - - If flush is set to Z_FULL_FLUSH, all output is flushed as with - Z_SYNC_FLUSH, and the compression state is reset so that decompression can - restart from this point if previous compressed data has been damaged or if - random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - compression. - - If deflate returns with avail_out == 0, this function must be called again - with the same value of the flush parameter and more output space (updated - avail_out), until the flush is complete (deflate returns with non-zero - avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that - avail_out is greater than six to avoid repeated flush markers due to - avail_out == 0 on return. - - If the parameter flush is set to Z_FINISH, pending input is processed, - pending output is flushed and deflate returns with Z_STREAM_END if there was - enough output space; if deflate returns with Z_OK, this function must be - called again with Z_FINISH and more output space (updated avail_out) but no - more input data, until it returns with Z_STREAM_END or an error. After - deflate has returned Z_STREAM_END, the only possible operations on the stream - are deflateReset or deflateEnd. - - Z_FINISH can be used immediately after deflateInit if all the compression - is to be done in a single step. In this case, avail_out must be at least the - value returned by deflateBound (see below). Then deflate is guaranteed to - return Z_STREAM_END. If not enough output space is provided, deflate will - not return Z_STREAM_END, and it must be called again as described above. - - deflate() sets strm->adler to the adler32 checksum of all input read - so far (that is, total_in bytes). - - deflate() may update strm->data_type if it can make a good guess about - the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered - binary. This field is only for information purposes and does not affect the - compression algorithm in any manner. - - deflate() returns Z_OK if some progress has been made (more input - processed or more output produced), Z_STREAM_END if all input has been - consumed and all output has been produced (only when flush is set to - Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example - if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible - (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not - fatal, and deflate() can be called again with more input and more output - space to continue compressing. -*/ - - -ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any pending - output. - - deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the - stream state was inconsistent, Z_DATA_ERROR if the stream was freed - prematurely (some input or output was discarded). In the error case, msg - may be set but then points to a static string (which must not be - deallocated). -*/ - - -/* -ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); - - Initializes the internal stream state for decompression. The fields - next_in, avail_in, zalloc, zfree and opaque must be initialized before by - the caller. If next_in is not Z_NULL and avail_in is large enough (the - exact value depends on the compression method), inflateInit determines the - compression method from the zlib header and allocates all data structures - accordingly; otherwise the allocation will be deferred to the first call of - inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to - use default allocation functions. - - inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller, or Z_STREAM_ERROR if the parameters are - invalid, such as a null pointer to the structure. msg is set to null if - there is no error message. inflateInit does not perform any decompression - apart from possibly reading the zlib header if present: actual decompression - will be done by inflate(). (So next_in and avail_in may be modified, but - next_out and avail_out are unused and unchanged.) The current implementation - of inflateInit() does not process any header information -- that is deferred - until inflate() is called. -*/ - - -ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); -/* - inflate decompresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. inflate performs one or both of the - following actions: - - - Decompress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in is updated and processing will - resume at this point for the next call of inflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. inflate() provides as much output as possible, until there is - no more input data or no more space in the output buffer (see below about - the flush parameter). - - Before the call of inflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming more - output, and updating the next_* and avail_* values accordingly. The - application can consume the uncompressed output when it wants, for example - when the output buffer is full (avail_out == 0), or after each call of - inflate(). If inflate returns Z_OK and with zero avail_out, it must be - called again after making room in the output buffer because there might be - more output pending. - - The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, - Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much - output as possible to the output buffer. Z_BLOCK requests that inflate() - stop if and when it gets to the next deflate block boundary. When decoding - the zlib or gzip format, this will cause inflate() to return immediately - after the header and before the first block. When doing a raw inflate, - inflate() will go ahead and process the first block, and will return when it - gets to the end of that block, or when it runs out of data. - - The Z_BLOCK option assists in appending to or combining deflate streams. - Also to assist in this, on return inflate() will set strm->data_type to the - number of unused bits in the last byte taken from strm->next_in, plus 64 if - inflate() is currently decoding the last block in the deflate stream, plus - 128 if inflate() returned immediately after decoding an end-of-block code or - decoding the complete header up to just before the first byte of the deflate - stream. The end-of-block will not be indicated until all of the uncompressed - data from that block has been written to strm->next_out. The number of - unused bits may in general be greater than seven, except when bit 7 of - data_type is set, in which case the number of unused bits will be less than - eight. data_type is set as noted here every time inflate() returns for all - flush options, and so can be used to determine the amount of currently - consumed input in bits. - - The Z_TREES option behaves as Z_BLOCK does, but it also returns when the - end of each deflate block header is reached, before any actual data in that - block is decoded. This allows the caller to determine the length of the - deflate block header for later use in random access within a deflate block. - 256 is added to the value of strm->data_type when inflate() returns - immediately after reaching the end of the deflate block header. - - inflate() should normally be called until it returns Z_STREAM_END or an - error. However if all decompression is to be performed in a single step (a - single call of inflate), the parameter flush should be set to Z_FINISH. In - this case all pending input is processed and all pending output is flushed; - avail_out must be large enough to hold all of the uncompressed data for the - operation to complete. (The size of the uncompressed data may have been - saved by the compressor for this purpose.) The use of Z_FINISH is not - required to perform an inflation in one step. However it may be used to - inform inflate that a faster approach can be used for the single inflate() - call. Z_FINISH also informs inflate to not maintain a sliding window if the - stream completes, which reduces inflate's memory footprint. If the stream - does not complete, either because not all of the stream is provided or not - enough output space is provided, then a sliding window will be allocated and - inflate() can be called again to continue the operation as if Z_NO_FLUSH had - been used. - - In this implementation, inflate() always flushes as much output as - possible to the output buffer, and always uses the faster approach on the - first call. So the effects of the flush parameter in this implementation are - on the return value of inflate() as noted below, when inflate() returns early - when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of - memory for a sliding window when Z_FINISH is used. - - If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm->adler to the Adler-32 checksum of the dictionary - chosen by the compressor and returns Z_NEED_DICT; otherwise it sets - strm->adler to the Adler-32 checksum of all output produced so far (that is, - total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described - below. At the end of the stream, inflate() checks that its computed adler32 - checksum is equal to that saved by the compressor and returns Z_STREAM_END - only if the checksum is correct. - - inflate() can decompress and check either zlib-wrapped or gzip-wrapped - deflate data. The header type is detected automatically, if requested when - initializing with inflateInit2(). Any information contained in the gzip - header is not retained, so applications that need that information should - instead use raw inflate, see inflateInit2() below, or inflateBack() and - perform their own processing of the gzip header and trailer. When processing - gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output - producted so far. The CRC-32 is checked against the gzip trailer. - - inflate() returns Z_OK if some progress has been made (more input processed - or more output produced), Z_STREAM_END if the end of the compressed data has - been reached and all uncompressed output has been produced, Z_NEED_DICT if a - preset dictionary is needed at this point, Z_DATA_ERROR if the input data was - corrupted (input stream not conforming to the zlib format or incorrect check - value), Z_STREAM_ERROR if the stream structure was inconsistent (for example - next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory, - Z_BUF_ERROR if no progress is possible or if there was not enough room in the - output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and - inflate() can be called again with more input and more output space to - continue decompressing. If Z_DATA_ERROR is returned, the application may - then call inflateSync() to look for a good compression block if a partial - recovery of the data is desired. -*/ - - -ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any pending - output. - - inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state - was inconsistent. In the error case, msg may be set but then points to a - static string (which must not be deallocated). -*/ - - - /* Advanced functions */ - -/* - The following functions are needed only in some special applications. -*/ - -/* -ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, - int level, - int method, - int windowBits, - int memLevel, - int strategy)); - - This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by the - caller. - - The method parameter is the compression method. It must be Z_DEFLATED in - this version of the library. - - The windowBits parameter is the base two logarithm of the window size - (the size of the history buffer). It should be in the range 8..15 for this - version of the library. Larger values of this parameter result in better - compression at the expense of memory usage. The default value is 15 if - deflateInit is used instead. - - windowBits can also be -8..-15 for raw deflate. In this case, -windowBits - determines the window size. deflate() will then generate raw deflate data - with no zlib header or trailer, and will not compute an adler32 check value. - - windowBits can also be greater than 15 for optional gzip encoding. Add - 16 to windowBits to write a simple gzip header and trailer around the - compressed data instead of a zlib wrapper. The gzip header will have no - file name, no extra data, no comment, no modification time (set to zero), no - header crc, and the operating system will be set to 255 (unknown). If a - gzip stream is being written, strm->adler is a crc32 instead of an adler32. - - The memLevel parameter specifies how much memory should be allocated - for the internal compression state. memLevel=1 uses minimum memory but is - slow and reduces compression ratio; memLevel=9 uses maximum memory for - optimal speed. The default value is 8. See zconf.h for total memory usage - as a function of windowBits and memLevel. - - The strategy parameter is used to tune the compression algorithm. Use the - value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a - filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no - string match), or Z_RLE to limit match distances to one (run-length - encoding). Filtered data consists mostly of small values with a somewhat - random distribution. In this case, the compression algorithm is tuned to - compress them better. The effect of Z_FILTERED is to force more Huffman - coding and less string matching; it is somewhat intermediate between - Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as - fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The - strategy parameter only affects the compression ratio but not the - correctness of the compressed output even if it is not set appropriately. - Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler - decoder for special applications. - - deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid - method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is - incompatible with the version assumed by the caller (ZLIB_VERSION). msg is - set to null if there is no error message. deflateInit2 does not perform any - compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the compression dictionary from the given byte sequence - without producing any compressed output. When using the zlib format, this - function must be called immediately after deflateInit, deflateInit2 or - deflateReset, and before any call of deflate. When doing raw deflate, this - function must be called either before any call of deflate, or immediately - after the completion of a deflate block, i.e. after all input has been - consumed and all output has been delivered when using any of the flush - options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The - compressor and decompressor must use exactly the same dictionary (see - inflateSetDictionary). - - The dictionary should consist of strings (byte sequences) that are likely - to be encountered later in the data to be compressed, with the most commonly - used strings preferably put towards the end of the dictionary. Using a - dictionary is most useful when the data to be compressed is short and can be - predicted with good accuracy; the data can then be compressed better than - with the default empty dictionary. - - Depending on the size of the compression data structures selected by - deflateInit or deflateInit2, a part of the dictionary may in effect be - discarded, for example if the dictionary is larger than the window size - provided in deflateInit or deflateInit2. Thus the strings most likely to be - useful should be put at the end of the dictionary, not at the front. In - addition, the current implementation of deflate will use at most the window - size minus 262 bytes of the provided dictionary. - - Upon return of this function, strm->adler is set to the adler32 value - of the dictionary; the decompressor may later use this value to determine - which dictionary has been used by the compressor. (The adler32 value - applies to the whole dictionary even if only a subset of the dictionary is - actually used by the compressor.) If a raw deflate was requested, then the - adler32 value is not computed and strm->adler is not set. - - deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a - parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is - inconsistent (for example if deflate has already been called for this stream - or if not at a block boundary for raw deflate). deflateSetDictionary does - not perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when several compression strategies will be - tried, for example when there are several ways of pre-processing the input - data with a filter. The streams that will be discarded should then be freed - by calling deflateEnd. Note that deflateCopy duplicates the internal - compression state which can be quite large, so this strategy is slow and can - consume lots of memory. - - deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being Z_NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); -/* - This function is equivalent to deflateEnd followed by deflateInit, - but does not free and reallocate all the internal compression state. The - stream will keep the same compression level and any other attributes that - may have been set by deflateInit2. - - deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL). -*/ - -ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, - int level, - int strategy)); -/* - Dynamically update the compression level and compression strategy. The - interpretation of level and strategy is as in deflateInit2. This can be - used to switch between compression and straight copy of the input data, or - to switch to a different kind of input data requiring a different strategy. - If the compression level is changed, the input available so far is - compressed with the old level (and may be flushed); the new level will take - effect only at the next call of deflate(). - - Before the call of deflateParams, the stream state must be set as for - a call of deflate(), since the currently available input may have to be - compressed and flushed. In particular, strm->avail_out must be non-zero. - - deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source - stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if - strm->avail_out was zero. -*/ - -ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, - int good_length, - int max_lazy, - int nice_length, - int max_chain)); -/* - Fine tune deflate's internal compression parameters. This should only be - used by someone who understands the algorithm used by zlib's deflate for - searching for the best matching string, and even then only by the most - fanatic optimizer trying to squeeze out the last compressed bit for their - specific input data. Read the deflate.c source code for the meaning of the - max_lazy, good_length, nice_length, and max_chain parameters. - - deflateTune() can be called after deflateInit() or deflateInit2(), and - returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. - */ - -ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, - uLong sourceLen)); -/* - deflateBound() returns an upper bound on the compressed size after - deflation of sourceLen bytes. It must be called after deflateInit() or - deflateInit2(), and after deflateSetHeader(), if used. This would be used - to allocate an output buffer for deflation in a single pass, and so would be - called before deflate(). If that first deflate() call is provided the - sourceLen input bytes, an output buffer allocated to the size returned by - deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed - to return Z_STREAM_END. Note that it is possible for the compressed size to - be larger than the value returned by deflateBound() if flush options other - than Z_FINISH or Z_NO_FLUSH are used. -*/ - -ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm, - unsigned *pending, - int *bits)); -/* - deflatePending() returns the number of bytes and bits of output that have - been generated, but not yet provided in the available output. The bytes not - provided would be due to the available output space having being consumed. - The number of bits of output not provided are between 0 and 7, where they - await more bits to join them in order to fill out a full byte. If pending - or bits are Z_NULL, then those values are not set. - - deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. - */ - -ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - deflatePrime() inserts bits in the deflate output stream. The intent - is that this function is used to start off the deflate output with the bits - leftover from a previous deflate stream when appending to it. As such, this - function can only be used for raw deflate, and must be used before the first - deflate() call after a deflateInit2() or deflateReset(). bits must be less - than or equal to 16, and that many of the least significant bits of value - will be inserted in the output. - - deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough - room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the - source stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, - gz_headerp head)); -/* - deflateSetHeader() provides gzip header information for when a gzip - stream is requested by deflateInit2(). deflateSetHeader() may be called - after deflateInit2() or deflateReset() and before the first call of - deflate(). The text, time, os, extra field, name, and comment information - in the provided gz_header structure are written to the gzip header (xflag is - ignored -- the extra flags are set according to the compression level). The - caller must assure that, if not Z_NULL, name and comment are terminated with - a zero byte, and that if extra is not Z_NULL, that extra_len bytes are - available there. If hcrc is true, a gzip header crc is included. Note that - the current versions of the command-line version of gzip (up through version - 1.3.x) do not support header crc's, and will report that it is a "multi-part - gzip file" and give up. - - If deflateSetHeader is not used, the default gzip header has text false, - the time set to zero, and os set to 255, with no extra, name, or comment - fields. The gzip header is returned to the default state by deflateReset(). - - deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, - int windowBits)); - - This is another version of inflateInit with an extra parameter. The - fields next_in, avail_in, zalloc, zfree and opaque must be initialized - before by the caller. - - The windowBits parameter is the base two logarithm of the maximum window - size (the size of the history buffer). It should be in the range 8..15 for - this version of the library. The default value is 15 if inflateInit is used - instead. windowBits must be greater than or equal to the windowBits value - provided to deflateInit2() while compressing, or it must be equal to 15 if - deflateInit2() was not used. If a compressed stream with a larger window - size is given as input, inflate() will return with the error code - Z_DATA_ERROR instead of trying to allocate a larger window. - - windowBits can also be zero to request that inflate use the window size in - the zlib header of the compressed stream. - - windowBits can also be -8..-15 for raw inflate. In this case, -windowBits - determines the window size. inflate() will then process raw deflate data, - not looking for a zlib or gzip header, not generating a check value, and not - looking for any check values for comparison at the end of the stream. This - is for use with other formats that use the deflate compressed data format - such as zip. Those formats provide their own check values. If a custom - format is developed using the raw deflate format for compressed data, it is - recommended that a check value such as an adler32 or a crc32 be applied to - the uncompressed data as is done in the zlib, gzip, and zip formats. For - most applications, the zlib format should be used as is. Note that comments - above on the use in deflateInit2() applies to the magnitude of windowBits. - - windowBits can also be greater than 15 for optional gzip decoding. Add - 32 to windowBits to enable zlib and gzip decoding with automatic header - detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a - crc32 instead of an adler32. - - inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller, or Z_STREAM_ERROR if the parameters are - invalid, such as a null pointer to the structure. msg is set to null if - there is no error message. inflateInit2 does not perform any decompression - apart from possibly reading the zlib header if present: actual decompression - will be done by inflate(). (So next_in and avail_in may be modified, but - next_out and avail_out are unused and unchanged.) The current implementation - of inflateInit2() does not process any header information -- that is - deferred until inflate() is called. -*/ - -ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate, - if that call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by that call of inflate. - The compressor and decompressor must use exactly the same dictionary (see - deflateSetDictionary). For raw inflate, this function can be called at any - time to set the dictionary. If the provided dictionary is smaller than the - window and there is already data in the window, then the provided dictionary - will amend what's there. The application must insure that the dictionary - that was used for compression is provided. - - inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a - parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is - inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the - expected one (incorrect adler32 value). inflateSetDictionary does not - perform any decompression: this will be done by subsequent calls of - inflate(). -*/ - -ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm, - Bytef *dictionary, - uInt *dictLength)); -/* - Returns the sliding dictionary being maintained by inflate. dictLength is - set to the number of bytes in the dictionary, and that many bytes are copied - to dictionary. dictionary must have enough space, where 32768 bytes is - always enough. If inflateGetDictionary() is called with dictionary equal to - Z_NULL, then only the dictionary length is returned, and nothing is copied. - Similary, if dictLength is Z_NULL, then it is not set. - - inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the - stream state is inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); -/* - Skips invalid compressed data until a possible full flush point (see above - for the description of deflate with Z_FULL_FLUSH) can be found, or until all - available input is skipped. No output is provided. - - inflateSync searches for a 00 00 FF FF pattern in the compressed data. - All full flush points have this pattern, but not all occurrences of this - pattern are full flush points. - - inflateSync returns Z_OK if a possible full flush point has been found, - Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point - has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. -*/ - -ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when randomly accessing a large stream. The - first pass through the stream can periodically record the inflate state, - allowing restarting inflate at those points when randomly accessing the - stream. - - inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being Z_NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); -/* - This function is equivalent to inflateEnd followed by inflateInit, - but does not free and reallocate all the internal decompression state. The - stream will keep attributes that may have been set by inflateInit2. - - inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL). -*/ - -ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, - int windowBits)); -/* - This function is the same as inflateReset, but it also permits changing - the wrap and window size requests. The windowBits parameter is interpreted - the same as it is for inflateInit2. - - inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL), or if - the windowBits parameter is invalid. -*/ - -ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - This function inserts bits in the inflate input stream. The intent is - that this function is used to start inflating at a bit position in the - middle of a byte. The provided bits will be used before any bytes are used - from next_in. This function should only be used with raw inflate, and - should be used before the first inflate() call after inflateInit2() or - inflateReset(). bits must be less than or equal to 16, and that many of the - least significant bits of value will be inserted in the input. - - If bits is negative, then the input stream bit buffer is emptied. Then - inflatePrime() can be called again to put bits in the buffer. This is used - to clear out bits leftover after feeding inflate a block description prior - to feeding inflate codes. - - inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); -/* - This function returns two values, one in the lower 16 bits of the return - value, and the other in the remaining upper bits, obtained by shifting the - return value down 16 bits. If the upper value is -1 and the lower value is - zero, then inflate() is currently decoding information outside of a block. - If the upper value is -1 and the lower value is non-zero, then inflate is in - the middle of a stored block, with the lower value equaling the number of - bytes from the input remaining to copy. If the upper value is not -1, then - it is the number of bits back from the current bit position in the input of - the code (literal or length/distance pair) currently being processed. In - that case the lower value is the number of bytes already emitted for that - code. - - A code is being processed if inflate is waiting for more input to complete - decoding of the code, or if it has completed decoding but is waiting for - more output space to write the literal or match data. - - inflateMark() is used to mark locations in the input data for random - access, which may be at bit positions, and to note those cases where the - output of a code may span boundaries of random access blocks. The current - location in the input stream can be determined from avail_in and data_type - as noted in the description for the Z_BLOCK flush parameter for inflate. - - inflateMark returns the value noted above or -1 << 16 if the provided - source stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, - gz_headerp head)); -/* - inflateGetHeader() requests that gzip header information be stored in the - provided gz_header structure. inflateGetHeader() may be called after - inflateInit2() or inflateReset(), and before the first call of inflate(). - As inflate() processes the gzip stream, head->done is zero until the header - is completed, at which time head->done is set to one. If a zlib stream is - being decoded, then head->done is set to -1 to indicate that there will be - no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be - used to force inflate() to return immediately after header processing is - complete and before any actual data is decompressed. - - The text, time, xflags, and os fields are filled in with the gzip header - contents. hcrc is set to true if there is a header CRC. (The header CRC - was valid if done is set to one.) If extra is not Z_NULL, then extra_max - contains the maximum number of bytes to write to extra. Once done is true, - extra_len contains the actual extra field length, and extra contains the - extra field, or that field truncated if extra_max is less than extra_len. - If name is not Z_NULL, then up to name_max characters are written there, - terminated with a zero unless the length is greater than name_max. If - comment is not Z_NULL, then up to comm_max characters are written there, - terminated with a zero unless the length is greater than comm_max. When any - of extra, name, or comment are not Z_NULL and the respective field is not - present in the header, then that field is set to Z_NULL to signal its - absence. This allows the use of deflateSetHeader() with the returned - structure to duplicate the header. However if those fields are set to - allocated memory, then the application will need to save those pointers - elsewhere so that they can be eventually freed. - - If inflateGetHeader is not used, then the header information is simply - discarded. The header is always checked for validity, including the header - CRC if present. inflateReset() will reset the process to discard the header - information. The application would need to call inflateGetHeader() again to - retrieve the header from the next gzip stream. - - inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, - unsigned char FAR *window)); - - Initialize the internal stream state for decompression using inflateBack() - calls. The fields zalloc, zfree and opaque in strm must be initialized - before the call. If zalloc and zfree are Z_NULL, then the default library- - derived memory allocation routines are used. windowBits is the base two - logarithm of the window size, in the range 8..15. window is a caller - supplied buffer of that size. Except for special applications where it is - assured that deflate was used with small window sizes, windowBits must be 15 - and a 32K byte window must be supplied to be able to decompress general - deflate streams. - - See inflateBack() for the usage of these routines. - - inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of - the parameters are invalid, Z_MEM_ERROR if the internal state could not be - allocated, or Z_VERSION_ERROR if the version of the library does not match - the version of the header file. -*/ - -typedef unsigned (*in_func) OF((void FAR *, - z_const unsigned char FAR * FAR *)); -typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); - -ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -/* - inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is potentially more efficient than - inflate() for file i/o applications, in that it avoids copying between the - output and the sliding window by simply making the window itself the output - buffer. inflate() can be faster on modern CPUs when used with large - buffers. inflateBack() trusts the application to not change the output - buffer passed by the output function, at least until inflateBack() returns. - - inflateBackInit() must be called first to allocate the internal state - and to initialize the state with the user-provided window buffer. - inflateBack() may then be used multiple times to inflate a complete, raw - deflate stream with each call. inflateBackEnd() is then called to free the - allocated state. - - A raw deflate stream is one with no zlib or gzip header or trailer. - This routine would normally be used in a utility that reads zip or gzip - files and writes out uncompressed files. The utility would decode the - header and process the trailer on its own, hence this routine expects only - the raw deflate stream to decompress. This is different from the normal - behavior of inflate(), which expects either a zlib or gzip header and - trailer around the deflate stream. - - inflateBack() uses two subroutines supplied by the caller that are then - called by inflateBack() for input and output. inflateBack() calls those - routines until it reads a complete deflate stream and writes out all of the - uncompressed data, or until it encounters an error. The function's - parameters and return types are defined above in the in_func and out_func - typedefs. inflateBack() will call in(in_desc, &buf) which should return the - number of bytes of provided input, and a pointer to that input in buf. If - there is no input available, in() must return zero--buf is ignored in that - case--and inflateBack() will return a buffer error. inflateBack() will call - out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() - should return zero on success, or non-zero on failure. If out() returns - non-zero, inflateBack() will return with an error. Neither in() nor out() - are permitted to change the contents of the window provided to - inflateBackInit(), which is also the buffer that out() uses to write from. - The length written by out() will be at most the window size. Any non-zero - amount of input may be provided by in(). - - For convenience, inflateBack() can be provided input on the first call by - setting strm->next_in and strm->avail_in. If that input is exhausted, then - in() will be called. Therefore strm->next_in must be initialized before - calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called - immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in - must also be initialized, and then if strm->avail_in is not zero, input will - initially be taken from strm->next_in[0 .. strm->avail_in - 1]. - - The in_desc and out_desc parameters of inflateBack() is passed as the - first parameter of in() and out() respectively when they are called. These - descriptors can be optionally used to pass any information that the caller- - supplied in() and out() functions need to do their job. - - On return, inflateBack() will set strm->next_in and strm->avail_in to - pass back any unused input that was provided by the last in() call. The - return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR - if in() or out() returned an error, Z_DATA_ERROR if there was a format error - in the deflate stream (in which case strm->msg is set to indicate the nature - of the error), or Z_STREAM_ERROR if the stream was not properly initialized. - In the case of Z_BUF_ERROR, an input or output error can be distinguished - using strm->next_in which will be Z_NULL only if in() returned an error. If - strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning - non-zero. (in() will always be called before out(), so strm->next_in is - assured to be defined if out() returns non-zero.) Note that inflateBack() - cannot return Z_OK. -*/ - -ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); -/* - All memory allocated by inflateBackInit() is freed. - - inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream - state was inconsistent. -*/ - -ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); -/* Return flags indicating compile-time options. - - Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: - 1.0: size of uInt - 3.2: size of uLong - 5.4: size of voidpf (pointer) - 7.6: size of z_off_t - - Compiler, assembler, and debug options: - 8: DEBUG - 9: ASMV or ASMINF -- use ASM code - 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention - 11: 0 (reserved) - - One-time table building (smaller code, but not thread-safe if true): - 12: BUILDFIXED -- build static block decoding tables when needed - 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed - 14,15: 0 (reserved) - - Library content (indicates missing functionality): - 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking - deflate code when not needed) - 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect - and decode gzip streams (to avoid linking crc code) - 18-19: 0 (reserved) - - Operation variations (changes in library functionality): - 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate - 21: FASTEST -- deflate algorithm with only one, lowest compression level - 22,23: 0 (reserved) - - The sprintf variant used by gzprintf (zero is best): - 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format - 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! - 26: 0 = returns value, 1 = void -- 1 means inferred string length returned - - Remainder: - 27-31: 0 (reserved) - */ - -#ifndef Z_SOLO - - /* utility functions */ - -/* - The following utility functions are implemented on top of the basic - stream-oriented functions. To simplify the interface, some default options - are assumed (compression level and memory usage, standard memory allocation - functions). The source code of these utility functions can be modified if - you need special options. -*/ - -ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Compresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total size - of the destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer. -*/ - -ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen, - int level)); -/* - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ - -ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); -/* - compressBound() returns an upper bound on the compressed size after - compress() or compress2() on sourceLen bytes. It would be used before a - compress() or compress2() call to allocate the destination buffer. -*/ - -ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total size - of the destination buffer, which must be large enough to hold the entire - uncompressed data. (The size of the uncompressed data must have been saved - previously by the compressor and transmitted to the decompressor by some - mechanism outside the scope of this compression library.) Upon exit, destLen - is the actual size of the uncompressed buffer. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In - the case where there is not enough room, uncompress() will fill the output - buffer with the uncompressed data up to that point. -*/ - - /* gzip file access functions */ - -/* - This library supports reading and writing files in gzip (.gz) format with - an interface similar to that of stdio, using the functions that start with - "gz". The gzip format is different from the zlib format. gzip is a gzip - wrapper, documented in RFC 1952, wrapped around a deflate stream. -*/ - -typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ - -/* -ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); - - Opens a gzip (.gz) file for reading or writing. The mode parameter is as - in fopen ("rb" or "wb") but can also include a compression level ("wb9") or - a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only - compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F' - for fixed code compression as in "wb9F". (See the description of - deflateInit2 for more information about the strategy parameter.) 'T' will - request transparent writing or appending with no compression and not using - the gzip format. - - "a" can be used instead of "w" to request that the gzip stream that will - be written be appended to the file. "+" will result in an error, since - reading and writing to the same gzip file is not supported. The addition of - "x" when writing will create the file exclusively, which fails if the file - already exists. On systems that support it, the addition of "e" when - reading or writing will set the flag to close the file on an execve() call. - - These functions, as well as gzip, will read and decode a sequence of gzip - streams in a file. The append function of gzopen() can be used to create - such a file. (Also see gzflush() for another way to do this.) When - appending, gzopen does not test whether the file begins with a gzip stream, - nor does it look for the end of the gzip streams to begin appending. gzopen - will simply append a gzip stream to the existing file. - - gzopen can be used to read a file which is not in gzip format; in this - case gzread will directly read from the file without decompression. When - reading, this will be detected automatically by looking for the magic two- - byte gzip header. - - gzopen returns NULL if the file could not be opened, if there was - insufficient memory to allocate the gzFile state, or if an invalid mode was - specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). - errno can be checked to determine if the reason gzopen failed was that the - file could not be opened. -*/ - -ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); -/* - gzdopen associates a gzFile with the file descriptor fd. File descriptors - are obtained from calls like open, dup, creat, pipe or fileno (if the file - has been previously opened with fopen). The mode parameter is as in gzopen. - - The next call of gzclose on the returned gzFile will also close the file - descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor - fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, - mode);. The duplicated descriptor should be saved to avoid a leak, since - gzdopen does not close fd if it fails. If you are using fileno() to get the - file descriptor from a FILE *, then you will have to use dup() to avoid - double-close()ing the file descriptor. Both gzclose() and fclose() will - close the associated file descriptor, so they need to have different file - descriptors. - - gzdopen returns NULL if there was insufficient memory to allocate the - gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not - provided, or '+' was provided), or if fd is -1. The file descriptor is not - used until the next gz* read, write, seek, or close operation, so gzdopen - will not detect if fd is invalid (unless fd is -1). -*/ - -ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); -/* - Set the internal buffer size used by this library's functions. The - default buffer size is 8192 bytes. This function must be called after - gzopen() or gzdopen(), and before any other calls that read or write the - file. The buffer memory allocation is always deferred to the first read or - write. Two buffers are allocated, either both of the specified size when - writing, or one of the specified size and the other twice that size when - reading. A larger buffer size of, for example, 64K or 128K bytes will - noticeably increase the speed of decompression (reading). - - The new buffer size also affects the maximum length for gzprintf(). - - gzbuffer() returns 0 on success, or -1 on failure, such as being called - too late. -*/ - -ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); -/* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. - - gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not - opened for writing. -*/ - -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); -/* - Reads the given number of uncompressed bytes from the compressed file. If - the input file is not in gzip format, gzread copies the given number of - bytes into the buffer directly from the file. - - After reaching the end of a gzip stream in the input, gzread will continue - to read, looking for another gzip stream. Any number of gzip streams may be - concatenated in the input file, and will all be decompressed by gzread(). - If something other than a gzip stream is encountered after a gzip stream, - that remaining trailing garbage is ignored (and no error is returned). - - gzread can be used to read a gzip file that is being concurrently written. - Upon reaching the end of the input, gzread will return with the available - data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then - gzclearerr can be used to clear the end of file indicator in order to permit - gzread to be tried again. Z_OK indicates that a gzip stream was completed - on the last gzread. Z_BUF_ERROR indicates that the input file ended in the - middle of a gzip stream. Note that gzread does not return -1 in the event - of an incomplete gzip stream. This error is deferred until gzclose(), which - will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip - stream. Alternatively, gzerror can be used before gzclose to detect this - case. - - gzread returns the number of uncompressed bytes actually read, less than - len for end of file, or -1 for error. -*/ - -ZEXTERN int ZEXPORT gzwrite OF((gzFile file, - voidpc buf, unsigned len)); -/* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes written or 0 in case of - error. -*/ - -ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); -/* - Converts, formats, and writes the arguments to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written, or 0 in case of error. The number of - uncompressed bytes written is limited to 8191, or one less than the buffer - size given to gzbuffer(). The caller should assure that this limit is not - exceeded. If it is exceeded, then gzprintf() will return an error (0) with - nothing written. In this case, there may also be a buffer overflow with - unpredictable consequences, which is possible only if zlib was compiled with - the insecure functions sprintf() or vsprintf() because the secure snprintf() - or vsnprintf() functions were not available. This can be determined using - zlibCompileFlags(). -*/ - -ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); -/* - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - - gzputs returns the number of characters written, or -1 in case of error. -*/ - -ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); -/* - Reads bytes from the compressed file until len-1 characters are read, or a - newline character is read and transferred to buf, or an end-of-file - condition is encountered. If any characters are read or if len == 1, the - string is terminated with a null character. If no characters are read due - to an end-of-file or len < 1, then the buffer is left untouched. - - gzgets returns buf which is a null-terminated string, or it returns NULL - for end-of-file or in case of error. If there was an error, the contents at - buf are indeterminate. -*/ - -ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); -/* - Writes c, converted to an unsigned char, into the compressed file. gzputc - returns the value that was written, or -1 in case of error. -*/ - -ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); -/* - Reads one byte from the compressed file. gzgetc returns this byte or -1 - in case of end of file or error. This is implemented as a macro for speed. - As such, it does not do all of the checking the other functions do. I.e. - it does not check to see if file is NULL, nor whether the structure file - points to has been clobbered or not. -*/ - -ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); -/* - Push one character back onto the stream to be read as the first character - on the next read. At least one character of push-back is allowed. - gzungetc() returns the character pushed, or -1 on failure. gzungetc() will - fail if c is -1, and may fail if a character has been pushed but not read - yet. If gzungetc is used immediately after gzopen or gzdopen, at least the - output buffer size of pushed characters is allowed. (See gzbuffer above.) - The pushed character will be discarded if the stream is repositioned with - gzseek() or gzrewind(). -*/ - -ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); -/* - Flushes all pending output into the compressed file. The parameter flush - is as in the deflate() function. The return value is the zlib error number - (see function gzerror below). gzflush is only permitted when writing. - - If the flush parameter is Z_FINISH, the remaining data is written and the - gzip stream is completed in the output. If gzwrite() is called again, a new - gzip stream will be started in the output. gzread() is able to read such - concatented gzip streams. - - gzflush should be called only when strictly necessary because it will - degrade compression if called too often. -*/ - -/* -ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, - z_off_t offset, int whence)); - - Sets the starting position for the next gzread or gzwrite on the given - compressed file. The offset represents a number of bytes in the - uncompressed data stream. The whence parameter is defined as in lseek(2); - the value SEEK_END is not supported. - - If the file is opened for reading, this function is emulated but can be - extremely slow. If the file is opened for writing, only forward seeks are - supported; gzseek then compresses a sequence of zeroes up to the new - starting position. - - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error, in - particular if the file is opened for writing and the new starting position - would be before the current position. -*/ - -ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); -/* - Rewinds the given file. This function is supported only for reading. - - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) -*/ - -/* -ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); - - Returns the starting position for the next gzread or gzwrite on the given - compressed file. This position represents a number of bytes in the - uncompressed data stream, and is zero when starting, even if appending or - reading a gzip stream from the middle of a file using gzdopen(). - - gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) -*/ - -/* -ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); - - Returns the current offset in the file being read or written. This offset - includes the count of bytes that precede the gzip stream, for example when - appending or when using gzdopen() for reading. When reading, the offset - does not include as yet unused buffered input. This information can be used - for a progress indicator. On error, gzoffset() returns -1. -*/ - -ZEXTERN int ZEXPORT gzeof OF((gzFile file)); -/* - Returns true (1) if the end-of-file indicator has been set while reading, - false (0) otherwise. Note that the end-of-file indicator is set only if the - read tried to go past the end of the input, but came up short. Therefore, - just like feof(), gzeof() may return false even if there is no more data to - read, in the event that the last read request was for the exact number of - bytes remaining in the input file. This will happen if the input file size - is an exact multiple of the buffer size. - - If gzeof() returns true, then the read functions will return no more data, - unless the end-of-file indicator is reset by gzclearerr() and the input file - has grown since the previous end of file was detected. -*/ - -ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); -/* - Returns true (1) if file is being copied directly while reading, or false - (0) if file is a gzip stream being decompressed. - - If the input file is empty, gzdirect() will return true, since the input - does not contain a gzip stream. - - If gzdirect() is used immediately after gzopen() or gzdopen() it will - cause buffers to be allocated to allow reading the file to determine if it - is a gzip file. Therefore if gzbuffer() is used, it should be called before - gzdirect(). - - When writing, gzdirect() returns true (1) if transparent writing was - requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: - gzdirect() is not needed when writing. Transparent writing must be - explicitly requested, so the application already knows the answer. When - linking statically, using gzdirect() will include all of the zlib code for - gzip file reading and decompression, which may not be desired.) -*/ - -ZEXTERN int ZEXPORT gzclose OF((gzFile file)); -/* - Flushes all pending output if necessary, closes the compressed file and - deallocates the (de)compression state. Note that once file is closed, you - cannot call gzerror with file, since its structures have been deallocated. - gzclose must not be called more than once on the same file, just as free - must not be called more than once on the same allocation. - - gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a - file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the - last read ended in the middle of a gzip stream, or Z_OK on success. -*/ - -ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); -ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); -/* - Same as gzclose(), but gzclose_r() is only for use when reading, and - gzclose_w() is only for use when writing or appending. The advantage to - using these instead of gzclose() is that they avoid linking in zlib - compression or decompression code that is not used when only reading or only - writing respectively. If gzclose() is used, then both compression and - decompression code will be included the application when linking to a static - zlib library. -*/ - -ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); -/* - Returns the error message for the last error which occurred on the given - compressed file. errnum is set to zlib error number. If an error occurred - in the file system and not in the compression library, errnum is set to - Z_ERRNO and the application may consult errno to get the exact error code. - - The application must not modify the returned string. Future calls to - this function may invalidate the previously returned string. If file is - closed, then the string previously returned by gzerror will no longer be - available. - - gzerror() should be used to distinguish errors from end-of-file for those - functions above that do not distinguish those cases in their return values. -*/ - -ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); -/* - Clears the error and end-of-file flags for file. This is analogous to the - clearerr() function in stdio. This is useful for continuing to read a gzip - file that is being written concurrently. -*/ - -#endif /* !Z_SOLO */ - - /* checksum functions */ - -/* - These functions are not related to compression but are exported - anyway because they might be useful in applications using the compression - library. -*/ - -ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); -/* - Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is Z_NULL, this function returns the - required initial value for the checksum. - - An Adler-32 checksum is almost as reliable as a CRC32 but can be computed - much faster. - - Usage example: - - uLong adler = adler32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - adler = adler32(adler, buffer, length); - } - if (adler != original_adler) error(); -*/ - -/* -ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, - z_off_t len2)); - - Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 - and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for - each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of - seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note - that the z_off_t type (like off_t) is a signed integer. If len2 is - negative, the result has no meaning or utility. -*/ - -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); -/* - Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is Z_NULL, this function returns the required - initial value for the crc. Pre- and post-conditioning (one's complement) is - performed within this function so it shouldn't be done by the application. - - Usage example: - - uLong crc = crc32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - crc = crc32(crc, buffer, length); - } - if (crc != original_crc) error(); -*/ - -/* -ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); - - Combine two CRC-32 check values into one. For two sequences of bytes, - seq1 and seq2 with lengths len1 and len2, CRC-32 check values were - calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 - check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. -*/ - - - /* various hacks, don't look :) */ - -/* deflateInit and inflateInit are macros to allow checking the zlib version - * and the compiler's view of z_stream: - */ -ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, - int windowBits, int memLevel, - int strategy, const char *version, - int stream_size)); -ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define deflateInit(strm, level) \ - deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) -#define inflateInit(strm) \ - inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) -#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ - deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ - (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) -#define inflateInit2(strm, windowBits) \ - inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ - (int)sizeof(z_stream)) -#define inflateBackInit(strm, windowBits, window) \ - inflateBackInit_((strm), (windowBits), (window), \ - ZLIB_VERSION, (int)sizeof(z_stream)) - -#ifndef Z_SOLO - -/* gzgetc() macro and its supporting function and exposed data structure. Note - * that the real internal state is much larger than the exposed structure. - * This abbreviated structure exposes just enough for the gzgetc() macro. The - * user should not mess with these exposed elements, since their names or - * behavior could change in the future, perhaps even capriciously. They can - * only be used by the gzgetc() macro. You have been warned. - */ -struct gzFile_s { - unsigned have; - unsigned char *next; - z_off64_t pos; -}; -ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */ -#ifdef Z_PREFIX_SET -# undef z_gzgetc -# define z_gzgetc(g) \ - ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g)) -#else -# define gzgetc(g) \ - ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g)) -#endif - -/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or - * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if - * both are true, the application gets the *64 functions, and the regular - * functions are changed to 64 bits) -- in case these are set on systems - * without large file support, _LFS64_LARGEFILE must also be true - */ -#ifdef Z_LARGE64 - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); - ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); -#endif - -#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) -# ifdef Z_PREFIX_SET -# define z_gzopen z_gzopen64 -# define z_gzseek z_gzseek64 -# define z_gztell z_gztell64 -# define z_gzoffset z_gzoffset64 -# define z_adler32_combine z_adler32_combine64 -# define z_crc32_combine z_crc32_combine64 -# else -# define gzopen gzopen64 -# define gzseek gzseek64 -# define gztell gztell64 -# define gzoffset gzoffset64 -# define adler32_combine adler32_combine64 -# define crc32_combine crc32_combine64 -# endif -# ifndef Z_LARGE64 - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); - ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); -# endif -#else - ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); - ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int)); - ZEXTERN z_off_t ZEXPORT gztell OF((gzFile)); - ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); -#endif - -#else /* Z_SOLO */ - - ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); - -#endif /* !Z_SOLO */ - -/* hack for buggy compilers */ -#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) - struct internal_state {int dummy;}; -#endif - -/* undocumented functions */ -ZEXTERN const char * ZEXPORT zError OF((int)); -ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); -ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void)); -ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); -ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)); -ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); -#if defined(_WIN32) && !defined(Z_SOLO) -ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, - const char *mode)); -#endif -#if defined(STDC) || defined(Z_HAVE_STDARG_H) -# ifndef Z_SOLO -ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file, - const char *format, - va_list va)); -# endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* ZLIB_H */ diff --git a/src/SDL2/VisualC/external/lib/x64/LICENSE.jpeg.txt b/src/SDL2/VisualC/external/lib/x64/LICENSE.jpeg.txt deleted file mode 100644 index 78c93171f..000000000 --- a/src/SDL2/VisualC/external/lib/x64/LICENSE.jpeg.txt +++ /dev/null @@ -1,65 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent, GIF reading support has -been removed altogether, and the GIF writer has been simplified to produce -"uncompressed GIFs". This technique does not use the LZW algorithm; the -resulting GIF files are larger than usual, but are readable by all standard -GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." diff --git a/src/SDL2/VisualC/external/lib/x64/LICENSE.png.txt b/src/SDL2/VisualC/external/lib/x64/LICENSE.png.txt deleted file mode 100644 index 5472ab253..000000000 --- a/src/SDL2/VisualC/external/lib/x64/LICENSE.png.txt +++ /dev/null @@ -1,114 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -This copy of the libpng notices is provided for your convenience. In case of -any discrepancy between this copy and the notices in the file png.h that is -included in the libpng distribution, the latter shall prevail. - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: - -If you modify libpng you may insert additional notices immediately following -this sentence. - -This code is released under the libpng license. - -libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are -Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.2.5 -with the following individual added to the list of Contributing Authors - - Cosmin Truta - -libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are -Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.0.6 -with the following individuals added to the list of Contributing Authors - - Simon-Pierre Cadieux - Eric S. Raymond - Gilles Vollant - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of the - library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is with - the user. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-0.96, -with the following individuals added to the list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996, 1997 Andreas Dilger -Distributed according to the same disclaimer and license as libpng-0.88, -with the following individuals added to the list of Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing Authors -and Group 42, Inc. disclaim all warranties, expressed or implied, -including, without limitation, the warranties of merchantability and of -fitness for any purpose. The Contributing Authors and Group 42, Inc. -assume no liability for direct, indirect, incidental, special, exemplary, -or consequential damages, which may result from the use of the PNG -Reference Library, even if advised of the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, without -fee, and encourage the use of this source code as a component to -supporting the PNG file format in commercial products. If you use this -source code in a product, acknowledgment is not required but would be -appreciated. - - -A "png_get_copyright" function is available, for convenient use in "about" -boxes and the like: - - printf("%s",png_get_copyright(NULL)); - -Also, the PNG logo (in PNG format, of course) is supplied in the -files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). - -Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a -certification mark of the Open Source Initiative. - -Glenn Randers-Pehrson -glennrp at users.sourceforge.net -December 15, 2011 diff --git a/src/SDL2/VisualC/external/lib/x64/LICENSE.tiff.txt b/src/SDL2/VisualC/external/lib/x64/LICENSE.tiff.txt deleted file mode 100644 index 85b375aff..000000000 --- a/src/SDL2/VisualC/external/lib/x64/LICENSE.tiff.txt +++ /dev/null @@ -1,25 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright (c) 1988-1997 Sam Leffler -Copyright (c) 1991-1997 Silicon Graphics, Inc. - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that (i) the above copyright notices and this permission notice appear in -all copies of the software and related documentation, and (ii) the names of -Sam Leffler and Silicon Graphics may not be used in any advertising or -publicity relating to the software without the specific, prior written -permission of Sam Leffler and Silicon Graphics. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. diff --git a/src/SDL2/VisualC/external/lib/x64/LICENSE.webp.txt b/src/SDL2/VisualC/external/lib/x64/LICENSE.webp.txt deleted file mode 100644 index da8a6bd83..000000000 --- a/src/SDL2/VisualC/external/lib/x64/LICENSE.webp.txt +++ /dev/null @@ -1,34 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/src/SDL2/VisualC/external/lib/x64/LICENSE.zlib.txt b/src/SDL2/VisualC/external/lib/x64/LICENSE.zlib.txt deleted file mode 100644 index a849723e9..000000000 --- a/src/SDL2/VisualC/external/lib/x64/LICENSE.zlib.txt +++ /dev/null @@ -1,31 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright notice: - - (C) 1995-2010 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* receiving -lengthy legal documents to sign. The sources are provided for free but without -warranty of any kind. The library has been entirely written by Jean-loup -Gailly and Mark Adler; it does not include third-party code. diff --git a/src/SDL2/VisualC/external/lib/x64/libjpeg-9.dll b/src/SDL2/VisualC/external/lib/x64/libjpeg-9.dll deleted file mode 100755 index b8c637fe10c68b724025ae04042d591419c639dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243200 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 ZBpptV*M1Ha)1mZ8D~HSjfB$M8_z$Bnd(;2` diff --git a/src/SDL2/VisualC/external/lib/x64/libpng16-16.dll b/src/SDL2/VisualC/external/lib/x64/libpng16-16.dll deleted file mode 100755 index f43005aeeae47b218042647976a1cab79e598abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216064 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%0D-IJ5aSp=FZmsZ{{IcWuCq%z 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⩔!VBW-Y1sE~M`3bECC{6!5d|ZCojje)}FCtvD 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 E299p@{Qv*} diff --git a/src/SDL2/VisualC/external/lib/x64/zlib1.dll b/src/SDL2/VisualC/external/lib/x64/zlib1.dll deleted file mode 100755 index 3d0f409385c816efb2a11c5369fb6156864e5b71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133632 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 diff --git a/src/SDL2/VisualC/external/lib/x86/LICENSE.jpeg.txt b/src/SDL2/VisualC/external/lib/x86/LICENSE.jpeg.txt deleted file mode 100644 index 78c93171f..000000000 --- a/src/SDL2/VisualC/external/lib/x86/LICENSE.jpeg.txt +++ /dev/null @@ -1,65 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent, GIF reading support has -been removed altogether, and the GIF writer has been simplified to produce -"uncompressed GIFs". This technique does not use the LZW algorithm; the -resulting GIF files are larger than usual, but are readable by all standard -GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." diff --git a/src/SDL2/VisualC/external/lib/x86/LICENSE.png.txt b/src/SDL2/VisualC/external/lib/x86/LICENSE.png.txt deleted file mode 100644 index 5472ab253..000000000 --- a/src/SDL2/VisualC/external/lib/x86/LICENSE.png.txt +++ /dev/null @@ -1,114 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -This copy of the libpng notices is provided for your convenience. In case of -any discrepancy between this copy and the notices in the file png.h that is -included in the libpng distribution, the latter shall prevail. - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: - -If you modify libpng you may insert additional notices immediately following -this sentence. - -This code is released under the libpng license. - -libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are -Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.2.5 -with the following individual added to the list of Contributing Authors - - Cosmin Truta - -libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are -Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.0.6 -with the following individuals added to the list of Contributing Authors - - Simon-Pierre Cadieux - Eric S. Raymond - Gilles Vollant - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of the - library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is with - the user. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-0.96, -with the following individuals added to the list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996, 1997 Andreas Dilger -Distributed according to the same disclaimer and license as libpng-0.88, -with the following individuals added to the list of Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing Authors -and Group 42, Inc. disclaim all warranties, expressed or implied, -including, without limitation, the warranties of merchantability and of -fitness for any purpose. The Contributing Authors and Group 42, Inc. -assume no liability for direct, indirect, incidental, special, exemplary, -or consequential damages, which may result from the use of the PNG -Reference Library, even if advised of the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, without -fee, and encourage the use of this source code as a component to -supporting the PNG file format in commercial products. If you use this -source code in a product, acknowledgment is not required but would be -appreciated. - - -A "png_get_copyright" function is available, for convenient use in "about" -boxes and the like: - - printf("%s",png_get_copyright(NULL)); - -Also, the PNG logo (in PNG format, of course) is supplied in the -files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). - -Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a -certification mark of the Open Source Initiative. - -Glenn Randers-Pehrson -glennrp at users.sourceforge.net -December 15, 2011 diff --git a/src/SDL2/VisualC/external/lib/x86/LICENSE.tiff.txt b/src/SDL2/VisualC/external/lib/x86/LICENSE.tiff.txt deleted file mode 100644 index 85b375aff..000000000 --- a/src/SDL2/VisualC/external/lib/x86/LICENSE.tiff.txt +++ /dev/null @@ -1,25 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright (c) 1988-1997 Sam Leffler -Copyright (c) 1991-1997 Silicon Graphics, Inc. - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that (i) the above copyright notices and this permission notice appear in -all copies of the software and related documentation, and (ii) the names of -Sam Leffler and Silicon Graphics may not be used in any advertising or -publicity relating to the software without the specific, prior written -permission of Sam Leffler and Silicon Graphics. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. diff --git a/src/SDL2/VisualC/external/lib/x86/LICENSE.webp.txt b/src/SDL2/VisualC/external/lib/x86/LICENSE.webp.txt deleted file mode 100644 index da8a6bd83..000000000 --- a/src/SDL2/VisualC/external/lib/x86/LICENSE.webp.txt +++ /dev/null @@ -1,34 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/src/SDL2/VisualC/external/lib/x86/LICENSE.zlib.txt b/src/SDL2/VisualC/external/lib/x86/LICENSE.zlib.txt deleted file mode 100644 index a849723e9..000000000 --- a/src/SDL2/VisualC/external/lib/x86/LICENSE.zlib.txt +++ /dev/null @@ -1,31 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright notice: - - (C) 1995-2010 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* receiving -lengthy legal documents to sign. The sources are provided for free but without -warranty of any kind. The library has been entirely written by Jean-loup -Gailly and Mark Adler; it does not include third-party code. diff --git a/src/SDL2/VisualC/external/lib/x86/libjpeg-9.dll b/src/SDL2/VisualC/external/lib/x86/libjpeg-9.dll deleted file mode 100755 index 884068edef3befd3f9cf409587c62eca4a587dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223232 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

(ygjT9-)fDS>5gMzK@&BG5S*Yz`W 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⁡6P=?f_oPJ+qkT&uPm*sbj-hD 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

tibS>?MnR6 z;whg;f{`rw9p*L7>r@%1+cZ-tSh`@BtI{nhHWUYb{g%GRm=DHdPb#f0SugKWnE^6P zp*mrnlX>ctOdVNC`8cu3FKXh1K%kC=CizTNzaBRoi!~=DN7lC7x3PbMtqdC(Uq7`RFg4(t)7LlSkW4%zaZLbH?BIg*?~ zZRnG@6<&;1#x~FA0*TD&*BePo(KG!jXlW}jeT$K|Th|zQ`#SPg&Oh=yQfE0EVbH|) z)eRD1Cwq-ks>FvQ=) zoF8{mtX>Q(p~3r1pLuof$`oZcVUk^StZR z3}=`vwfH1GJai?r!kI?t79;-+N^3@gP^BFhs9@(M!m_GA~W5ksz)3 z=}>qCVD3=;Fs=4Ec`MR&tpqLSfeh(IGY~jhAe@%khBE4BH0tuma!jpfW;jE@69F&) z0NKpMLhQEM*!ORqMDthPpi;-M=5M6PN;Y`4{+i?rx0Qp`yio!uta&5PP`jt|{ZTp} ziUr`SlKk+(r|1I&GJ@9Uc%r_m z!VGU+6=5n6IIwnVTY9|*>&eB5OotKU-_|j1F?$A+S9__iHmQwf-zHr+2PqS!&&9}e zEhZ22j1ehSVP$dr?G52^W(>-#Kij#Nec40Ggwd~jg+h7mRGHM*SAj+`BS}8Vwv@gf zqbLo#U$AC%=>-f-ce8|Du+DiE%IVwXbO}3y@>n=>wphz0okB^iP-}O|7a$_4S`F!- z?Bcg5iER3G-bSU)cB{m*b^4|vyw-ZJVv9+7#T+n@w16ULfAX>`ImV|b079IsW$1Fy zF36u8^-WV;lmx4Dm1$FBwo#$B@6FP;lR^q~97MD%4uGlEnl`%_U$be}znS3n{9(aB zPCiJm^WIQOtoO+#FJ%!aNo@e+a+n`jf#ek8`YPG4!wiRpn>M^n-LlhdV{KR%;?uO+ zwC@tuZDr=yYKbpDiw}a)vAFhjywUii&^e zfcZEC=;}CriLl7}H072g4}95IOiHczE=F8XHp7fJX~0ol7r&Nc~aaiz*ZD{yctpXdraJnNxGUtOoV zrI1&(5?o)Q^O`4sRH;?)z1j&C)Q)DT(B$NPquI&uB>o9F9^pJwZe7nl&{;t@&sWh@ zMLRO8O*#y48Nm)rP-u+Qpacn6%gJH%NWSXOF7m-}o09U!>r(G6U@cmY!i)MQTk6Yd z6zX5*(pWq3j9Om~Br@tRnci(oD0YQEkhIGK;@Anu?=w^i(c5CKRQ*k?KSiCHL&}c5Zy@ z1tY=>9XR3Zyc>>l|*C!3& zqGW?#(s6n_MVpe|;~k0oeZF;}MyZU4*`wXc(Z`&ZFi$Le6NF>8jM#q;IkyD3S*~D9 z+1gp}7Nj6wMaR5YMTS3*`J0_4IZH*gLvZFWbJa1_Q<~rNICnY$2Dw)JF2)hR)A%eX zS_%>G$9xF2e!q*yeoNGFUiQW+TCcuJ_P@@|5B}K@p+XdDP)o7cJ0HNZh2)knLQJwB z9OP7scpuH6iM$o|(V!JyN#~m^SKH%lsOL08#PYr@f%!N!T|>P|ILTJm@ZJl7*^yl~ADxCvfc z1$PkRdi-ztgahkLzYLY&wDkC7Cdp7b z({DF(7kXCFN6lThUd*4nEM(r2_iN@XzXvai|*8CP6kI2h7~$L zp%PMBRq*ivSJjd`kotF!0X)9VTsSrNu<0MAUMv5*L&j&`2G8HrPD%-J5UNh#K4nM0@cj9=8H6?L!fZSl z$n7KxrV_#FcMqS(??}(%_cOnhL0q%jw4I{JDfu)F$#*uxEiY4oIX?#2nHlr{)v&#@ zxxO4tvy@bmF;+flxINPw)IVA()cwG0nWZwAA9jK4eDc=0g^{uktQ+^0t#8!Taz)I( z9`Q)SAmK@eL?|(R9@jKs$oBdB)pXtE`LxKlK`b0*gGe=OCZ+)PZe>J1RPs{~ zp2Qc6U)FOwa67;Kg#DI>-<(^8-qcu_d}^Dgm8AXwP1Up?tKYO;iw?CzN>Ml!0Tgto zphUbwEfNuYTZN& ztmWQF;tP1QokoLA$i>u1_elQZe)6Ms8wHZ@Z}81dnVc?k6zX{`;!_V4BzgfyCpZZ4 z4MPN*QNlFNAS`<-uJ@(T2%khf4!VZ_}SBjB*V7y%b!b<|p{)01wfx%i;VNleCI z#~bJRbY2Q;GHYnLR{W=G8t0fY>r;4tkx^$xtfKMD&HE6s0sQ5>o9$m)=+3w*=z5N* z>0IT(PP;wKMs5stUE?wW8~_ZdA`NeJ{3*NOga#j*Z~8>JdrQy_CC$J)Go!1*By-0F znHs@pN(BrRG5YzC!jyJLkcB_)FsghVzsgRqq)tDde$?)5PJ{QrPjcO*>K4laxwt0Qc z8-Wc;nJr7P5}_b;a>681Gv8alGfnlOB;`tirkbDpl%MQQ?@3s0@?PN68FTrc-?K^Q zAZFbFZmOKo{8l^HYS^lAu2orvLF{*pP#2G#K7TxgE#(d6tz|1u_{sD?Z?5@vYOw}5 zpPQ~DqmXU@S9pLc0o?Ztq4*_Wk=#@{l&m48rc$>`vGzs`%tf)m!!(jPKO3NnH??f@ zdER=o<5F3f3|gePjo^RNNlxB@|T{=~!(lfb`w9nQEq)b|HxOX>=dOQP+wytLi2 zdL9(z&{p!ETV?)`#z+A3hGn93w>I4|Clslu*d&MU_f;xJXT7L+XF6mwA0+v?xj28xqi+dX{jYno`n`F!76$SaW#lo!C7;ZbDOfTo zIqycO%IZ&hyuGzD_9@a9Dy`Mh?RBnNLZS*0ayohPou}`Zic^Q1xQR_y4N z)X{RK#}P6Kp`PcK3^aWy(C}Htz)uD0Kb3%n!U%>L>F)HT%0y`O2&L~3xlJWC?FK`$ zsic>?ZK~av5wPNyt9HWxv4P$#UtQde{eGcmzpomy-!q7+mStP+c|CQLXibaIbxXY+ zA-5sJXj6K;DAjoJYOObG1CPRVrRwltt~m=P#3e_2yW+JH$!)ZZe&yX~4v=woM}3(7 zRfMu~KDB#Kiz7%3zqQ)nxJ|R@mdmofad?LA+Urh zt_BGxot3c(R8mG%v6L#fL5dDts3v*U1X383wdhoF@wU{BJivhJuH>d|qq&vXOc&Ar z!^Ee~0Zky~qwJu`HMcQ5#?uEDAzz4XU-4a3rDt5IxV>lJ&Xl!KTf=&?a{ni%ur}{` zySK+$Xw<^%=Rv%hW6Eey_{lDMwiWH@d1*X+3!!Pyh-xs}1$H`sHlGG||F&#j&^ z`z!X`qQIOh?YSj^IbX2nmQI=dIs1#j*`K!OW@pZh*>h`xvoE&iP72P(^}9W{HfTN6 zzE*l+UwCSpw?uhhZE^crum5OK4AjB8;T}3-$C0poB%}UJ()siyC46(pKAhE48|tcH zkb}W0a=eGJxOG+JVKpN#T5cYu<91bGl2TxmmoitXL05$~fAgsD0xP|T>7rc~)!tW; zm!!mdlujYkvom#7WP2%Uya%I!V43;H?7YF48-PAkM$ugrW@VK+UB;J~BXud9&_=YE zE9yORQLh4hdqxKLy}~!lE-0hSBg&4*K;P=A%I|}xpAjFGtm=C-%|6C|o$WhPYkK@z zBWL0_(iD(f`rIIivyOe-R47LwTunsX^7NW@>=qLqG=O&gL2U z%rfBdp&>5Y;j*oY!Gca}RXh-Vp>LYC>e;jPl+(J?>8bdH9Ibgu+JD5V&~wM0Q?i`r zPVm%twVGJypN)wyFZM*R{$jlKAH?aZ?k}q!<@6OC;HJb?PyL<121{aFkFdnIb)ez* z2~J{Di>aA)vD5JxIfrE_d$6+Mk!AulfT^xXhwL+uPUs~QJXxg+9C9zsQX7!1+6lpJ zK_Bzu$eO1;aapxzndm6dIaW)`>*S?f2Bm;z#P+UoDBhWxL*A44XT99>z^LP76=up; z$L<*3myIwwY?fm!=}`^Mbyd0UO}e#8C20LF zQnue(@))tbf!>O6Z$+fHBDc39+FOy|lkBsYKlg0v+1&GD&u@EP>Uo*nYv=FUpeG*l z0M{Eq2Ie`t5zu+o@&mg!^t@y(@9D);02>Od<(m|~dwtJu+1nE8t%=aEJQK98=f&Qd zT;(;NYkM~L)`2yFD9fhJhRnp)*I7Ptv5%0)C7guOTd9oI$|0I-ZTsa)EU} z@3_I@h^MWt<7_CvWz$2CUHT5^lgG;8%gRTic;hX(RlC{dtsa{l!+8>E&SLyTy%`Ll!1aR>^*xlM_)R<=GUg>9*-@< zFfjY}xDJTMXB#DPWc%bpMrQ3C2?aOwOMYcIR-a8C>JGN^mhJQxBzdYw7X`g%#GM&o zzfyfH+?V6y3o=8#uoeFoKwt=GGVy7AcxWRdyZSzD7Qxv+7y7o4vcMpvtKb!D>zp@E}X6%Y^{r(i?9CH>KNB7bJxqt+fKMom=@>72t40O ziQe>H_tz%$0Ppxn`<1~&&)8}?baEcM1pdgrn|1zDYmwH|?3f^CIM$*)B4bYhheZugFWqKS9S7(V();68ERf@ zYTBcU8;5p|Dof?c=gk6og|+CPNy#^F3zdfz%>xB%-H>+mWxF*YyFK$H2eW_CdcIZk zVluXMfXfQb6w$b)A=41=#=+J*Pmq7RwemsnHZa1i=NE8IuWjP54Nh&NdzV1L2o#iC z80eG>v$M)|3t#p+kDgRxEHZ_TBgXM-6x`z1N401&{4>07WqCym!uCUbYxJnklc~ApP&d2F=sgOg6Dr7bCtZDBLr6Xe5PNLIS0_{Fst#`9 zt&q1ur_07k4&9QWKtokjk{>MKtSK8uZy~v;j?lHlV;7Pp-($Vd6{M?y{VrgC?fG8X zOFY)YoyZj=zQ{=x^fL;AaovRu+L~T28f#wCEK8DSy_{jM54-Rn}>^Mq1Ky2hB&t+c$GeLqH zqQBrrXSZfw(RzMs=n}?1bO;XIFyw#L<3{a|E`&jgV9)}?lBGt(jAe)6?t%>@cSEx% zBHL%q{}NYLUNPu&pJdBx2fZS->fD#`1@Q>^RV2PbW>vz5++pUiSGD2I5Igt8no{Sg z4HM?Vnwq`j8P<&WtQm5z4HGD>M9N%_hX%NBh!f!~T^E)>w<=Za};P$og1xxDbR<&pd?}31U;G(GG|6BEfGEEHIyj z7pZA=Y%GQGlIBH{w0k*q@BwZe7V&d0B0R*6(c#=kPR*3yM)*=*4d6!JZsYB5b0e4# zH++a4so4-ahDNZXa&VYoh#yO0L+r>f=J8|9YN-@IV$wx~Rr#dU{1z<#|4YuXe~p}H zeVCj_J=|xXLe4)D{5Qzi;pO}=IiK(%{xUf=lzHTQS8s-#Z}Rqkmz-w4J4DZ`jW8+l zgvlfn_mk2D#nKz;{@cO?e#v1yEcGH1g^}}rJ8*enNqq^8%O5|*f`!tjq=0jR$5W}K zPI2AbZ6}5_Dqodyq&m+=$G-EpH>`bxIwkGP`P(X$1cvzLBUP$?YBPLfL#65!*-ure zHWDab)*q=-Y3uw)s8llF(r^EoN>%TvR8dcapi-U3+y7~mYM6>MOCkfMW*A}G{_iQf zXa6&V$B;_-|6SQN{eKvF?lux2*GK@${@bbYh0waR`!Nn<8pgzWp&s!F4|iw+rzGL`MtII#%+dYyULew0=d<_ zk&Hd<-J5y?=C>lZdvniAy*aVnep-R?>YvFYnyJ{}djow)SQfb#RK} zMS$e?ytwPkQoed#+7*iJUMsUj_uAc?cD~cQ>%JJ~=NZ3D4-fRM)M~YucbgQ>@l%9bdPE&xqyo zUc~=W{#Wq7ii*}eqofSld22NF%*Qn8d1^Dv)QkiA1f{iWWi1pRuFHK6+-u zdaVSWIJ03j{W{NGqRn0CKQYz^c*~OIN{XMmP;bWS#%GkxOGss}zT}HJJzn8x9_ex= zw^gp54ioltxu4N4qjYV_8+FJ;9sX9n58k1^Cq_54G2Yo+QPCnJnS&FjJj3+f(IKP1 zV1$9VzFV+jq@0$LNxWQ^8< z*dK%7pEfZqSrY^!EK_}(tpfv>I32}XF_IK?wEojiun25P@x-#ki6rth>{=6|FLQ@g z6M3GW4+zpWA2|*$wKhM-{JZ`-`$&_Cb^qxYq4W0GN9J?zdO~O4@9~gGabf|sQzo=` zuxFp!7GNkc>nFJ93Ud(Z5YD++!{n&bnl=idEEa1ApJ#blW!XpWrl9jE=ra3Azln0M zn>p`I`-o*q8J?t}*EFq|#YXR*tus8A9nO2!gw3YjgH)!qRg*6(euuEI&3!=A!td=U z-qhFoQS+ZVkT?_VcV?oZkh8eX_I7jBcKTW!c+R{wKe6HoTAd|7go%nA=L7HjVX&Pm znxI%Al%8q*OS^FxQz3fhCl(ljV0=Cs2=?peG#wdZ#YgcD;b%I#VS$+)Z=Dw0&^sz| za~>Txn)pg?(t--kz@hH4E`&w2_hM_&?`R5j%P%Pz5(l=q774C<{cDfFx?7?gQc&S#sRGHTm%t1t2Ja%K&3q=jEz*T zzUWIv6Q(NFnn` z$iWfpI~Uc#AP52WyFw?qV)*&8|lSxZ4# zq9Ql>1&&!k)6(9&11Zh?ZU1y5`cjbl!;yF%u39rz&!_cPT&sWTKj6yl%CI+NaF~kw zwN9j-A_7kJ5mB0MyoAQ!xe>2jawZlYicx!Vh)7MMFWlOjRe>xsQiE-@ZDP~J%>0&Z z^;h?1&@1^2FdT+Dccx~I>g{p3ZiXdLIUuS~|8*8!te((pI!1G+dU^BF8v1-ghbIZ? z;6rN_dci*K>_8%BCmM6iI>FiBX)okDyg!U~^ZuDTch)AZ;XH-as>5w%oz{{+QGO!x zDo%V3&f+?s;MU|P2ImjX&kDkJj_x82aWV|2ch(D`o1Fc~w=$e#eK@%e&Laz0^S4$$ zFt?LqD{DL6ph(+#q4K5^!K1ABbtSG3aT-MhouLJvRP!HHQZqZ@DeC$V`w+FF^1}}2 z<;3-2FC~mL>nxjFj<*)Zn%Vh4dc@Ak6qYA7X+WuCHtXYX{?xkynk4)3KU1MMKTWSiI)VWW6 z))Y({ZxL)Q-2~&tscorEeU29V<$6b;D>UU4q=NM9+ z+?bd6$se^~e_O7zF|l|ruk_=XI{tRj=E)wT?l*X@{QD*rzoP^?u7eu!Fs7;KIXZ)k zM0FM@uiFe&0?tDQg%787w^jyE<{pid2+EC0ZWhu&A@T6X6x=;w`F#JKPx{~R{! zlSn6L1=Ev;^5Z3Vf;0?9^Mb(55ROvqheCRDexmZ2NaQ+; zRo=nOOm8n`a6vio)=GSkWR~O0QR7N*L4_CAo($Q0gTV!rd?s$0M8A!)7Y5fl`CJNc zf6Zt&J7e}4iSadqv6jj7^R^9gAy97S0BQY$g_eq7YcL%QR}vDSun&cK&L2(&qjvbI zy_o6k8Xpt!QI8`NP9{^DHLwQ@TmoAjtiQdL^W0u7h5%%YEOB8jsL5OyzKZunD(Xp3zR1=G*r7e;`DU=blxXY|3-)>pSiqY|MY_b$el8=V3*Qa@qZ$otWo4tEjk`{V@U(V&dYFx*Lgkv zTB+yMpRHAkPBY8Tuc%9}S`-NU2c3CBl74+x@I7Zokno`O1F=HKTUp4(;0{X5ce9(^ z?5gS8{N|kHbZ}8qOcJN0Be=uV#M~h1)g-6Z=z_(a1)cSGtrj|;R@nuV;;pT7soW7t zkDu+8zS&xpJt4R;IA9+=YyKCkm5F&Yf%Ez@6Cy#_7Az6_B7Sm$J()K~+`R9*Ik#iT z9b>IpYS!qv2GOUwhF)!r(4f==U!woF@&NOB$qP74M(@f?O&80oiho9kNN2pIc$3kn z>%e;j|Eryiz=%?9!7A0$U1oY<9XbjM5HOn-Kro*>D&MW9l9VH#e2>-%EN}3y% zh#RmqC(mH37!o!&wVH&KQym5KY%?s>v;H(w*6Cg~Dj;g9vrM~C2#%(8s#Es=YPW>$ zLn%y5%g0TwJG<6eJ`D$7*{37pxngyBVM|m4brO$?&id6*FVL5nxUr<{#rr?WFe+Zy z5M^!_N=7j^qj9|9l*iPV!k&U8;N7+U4!7%0@W$cK2j0q7=;? zu^#mFF!giT7u8;Zg3?OtbHkgHE|lr|#O@uKtnh9718{ zs3&1X!4q&>2}f5B!XKolxR%t5w>$0V%cyH1* zyf^6?-kTH!?@h{s_h$48Ub}3gSMX-1FAT;%?ErTVB`+~Mvw{O6%w~@w5ODyEUTSDr zaJ*%cPsWxqIu}&_xS{gLTMoi~h3dvWp;~Su-V7cjx@<7@T|S`&$y?0LCENJ8Y>?q0 zrStx6T~~Yi(XNgHB49doZ%^vD%nd_WcsnDtQ-#_>YruWxCLX_@pL$058P8w2)!Bf5 zkn$`n3-MTu9%e)GWJZq~WX7cALcqEHsXhi6dTla(IatRnGqtZ$$vmt5XNCW))H9up zU82QwJNQ?t?qPy)zT~NjCyxuhyF~ll>LnE?+f5>OkZq&wfFVz07^uJdJ3x7-Len~s z75^pzjP4dG-qhtCZ9^`oUh{Zx^d_t7OdkF&>He%07n-j&FD^3Pd}&d@eF~1{@oX%j zK0L~Ol8r^g9?cvdun$|nZXy*zcyNAns(s(Zfi*I+)Sub+CCR6$cKO6WLz(t|ZN7iM zJ1I8LULSHi?>qL|XtG)dAQl-%NzN!|{IRl^kS2Jj==-Sw)8;HS;QQA5W)yovh%2LM zdMR}%+kk*3acU~1o2Cx>O{JzoO{K{?8LTF2!{f;&x1DFc{3h2R{fIM7j>kR=@<4J) z8p#@!`R}fHLXcSKrMMFJiO0MzHXhB(ihJ*cWMhJ1P%kZj>&*r&cf#w#5%uw@_LqD- zMN$t^InZ?vVqWQxca z4115EqUG8j&R%J2$xiwf?~{dNz{i-kS<7b@CY})cGivnXzwfjGVsr7SPSY?ez4x$l zv>q(V2|EfqJ=Y)>^gHC{1alwV=;h&Rx&z-9@_nFJ2BIG*#_y(YOZ{=nl{i%x8kP-ba^^b%Y{Z-NCswcgqL@b)( z_c{tY+3Vu5CO#z>z)0yCU}{L#%sktC`5muqtoc&MTP@Ks)qb|JU!b@hgI}x-_P}66 z%8kbq3KVq+nxN^LdI?-y#cMLC0~}Pw9OdzAL`qX5fg`8V@lZ}GRV2C(RZ4>aUw);w zun(CpRVsA^V;b*GdY>gp1A7`TLfzyPCv3`b)hBqWs9zo4j{twSnZ+Yz7zq zRepPh`J-B|5yx04E`ZKaH}risG|t)0v@5tf^X^Cx^+S7_!-=oxq_Vl2TKy<_bB46T z`g%8Xk$u!6D9`y|{@*9A)$$8WmuJ0D5;p!&%^t^?(|@R27h?BoH>lv@ZSx?CxnLR2 zK{gBqjlwyW4Q-k|B1-buI))QO?g-EPZp1zsX?WBqtm)a3?ynlJ-8w+S`>d>{!@#ZZ zz}5NSoX*T^BLX%fq7hBooT5tZFnoSMQoz^$6nGL7z$?2`F_^iPCOO5xs@IwRyo}U& zP{C8XNpJjosr=9>6MCQjF7!Z{6*}*tXUbzqKAQ<%p4w*SRaa{%%4=cEA-{pi&y#cOV8d>N zPd;M3F!eEzCVFLoDN{#d>EZ1p{Sln0gRm#5Mtkt=6QfRP@oOZa#VzZ+8iya{NvggT zs`5}1;HF=Z5J0Cr$28Bh%`_e4q}$d;0(ZinpRZR3xy0*OBOrV?4MAub0zC}E1OwrN z=jRAQFBMOgds$9@PJ(s_-@~$8WU@T>{1j!8mq6iDlnv8Pj;xX={4+J_pn8eATrzpW zfC~RJ!3-)U?01Bj?I@?(8=c=9`vJa=$)4*ig5)%qJxvZsd8ZZ7>k6Hu5w`df(?u$c zg>G#v#}T`xwmFFCRw$R4m}lJKE^WtFf9ZNurLx&2^Z&s4&;JB{+WHRcP;=*M)oBOr zh0R3lYUYi3tdD%4G)^DBl}kz!nVd=U%v$!^Tv@i9_~LBLc^F*n!=Z*fc2~q+AGQaJ za56@AvgWF$8e5KMbZem=1;`V96AjBNxDtT#`SOMG> z(k`=%QYksrjVUfs`M?aW9?p#aND|i!HX788BGhmZN|1eIu;D%AdkB>~JGoQ~usWl# zmLV?O_osAyy#4UiRC+RuJ|!_HUv>W^Ly9|5yrgaza2J~KN9x={Gxnenx(m&?gVtdN z9g@aKDV8w~-Kobo1|V(v@CP7Ws5u##rD;GR^@=5$m`n#U7p&kn`92N|yn%-@eLxy! z*tYI2Gy{z(U4u+>ml<4ChpQ`K5@CEYeY>1qI@#M`o10iDtVnNwB$G48&yc3=S8aaY zFg5$MzOQ&H_BAI}?3j&;jpix+x{i9GUy#)sISgE9{4^BC+!KfJ@2i?o{SW#e?Dr<6kv#Z@&2V305YkYz3-Rz+GT; zZtOSi0_oe$8;qXKEQvbRL-A@-qLP9rjP6-?NTUNff%4!ZFgc1OacoHU&Vvg1ZtXlz z{r2>3+26&ujQ=Nf@92>34YI|O^DjQBcxU(Bjs3{uw;7(&t@#P}T8QJyZ8YvnI3^ub zZzH>hJ_aXG{cad*pH#i`8g%gy8wpq(mD-J)(ksZ5leQ2+*pk#t%J22|tq7$uhn4efts}9cjgQaV& z_ziSU&eg@o^F(hl$pVRKy{ef~U_3CwY&$yiQ{tApth3Cy6R$QY??cD&yahzRD5JAGh>pZ2h6JzpEZ@z)s-?B;bhQw?O8FHw zbGhEkdRU}lW?yzPhR=<=*|@}1K0OUePthr+olq+-XZ+1kUV}coF7U72HNBdzjCSH+H#xcqTd zTk&7Q3{rPUEMv?Z$zYx{cwn6JCL-8Cc=cx?OD1BAkuNolIVe=P}hpwE(KAg=)i8!laLTR*wO19^%!> zpM*3i*+7;*2{Cn2PWP#pR=}Z1KCea2Re7q6 zIc#swmE$5@!i2duweBb*xlm=+_ZSLhruH(_rR`5$>P<3;8DU@6WtIqLq#C73rujFf zqJ7ePj3@n{|KjDCDjJ17V<&kz>hZEX=*`iv_b{VQRLRDWY^=xnv5P!ruYocAF;!gb z8?li&I{UoU23oTcDgjkAXk^RSv3S#j9^f)b;FK*tJBlCTc6K_S#qBW$Tg*a{3=YY0R; z%0>C*0tFBGi5s%rlKFgBY7YquxrhraGcY%vo!5a&n z!EG$K=$MqQF^?Qu$|D$mzlIi!S^EAYaSGmBdALI&8N1wL3V+1hYKfKdNxqUlxs+K! zDdqy|H6!&JJYle5m?$J+(qqJGgFg!=^`9po}AHZ>Tx!nIIsEDPu@n?{s`6Kzu$j7ognotUVXe# zm6C=!*pG1OLzkXHJ+>Z6_vloCZ0NJh`qc>i2G1Hsrg$QOCeW1y)lX5T#gr-Ww=QiN=Pb zne8!+jg+DUuM8U}pO8|8C~A3lSYQAx$_L9bL2||)p{Ory`rlB)|B|NWX&m@lOfwbr z^>aE5`IlcboZXV~9Yb)lYQ=a=GpM7mQIiHhu3mD{J!*nh>x*=LQcNO6m=r!ahU)@t zvq|BP$iw6VVBY$eiP4~*R#vdKO2#4_p7uF)&i@L>4sokLhPgunR|);GBt3L}HuH1C z2d+zo&2+N+zU%4htS5Y1`g-U6`=N2625C)5y`d{YUkjcCxMo zwBoKCadXWv2I=4S7|lv!DXR&Wf-pG@pOex_<+QdwlbnTpKQ`k5atUPm^1q}B`G4k6 zp37Ae5M(YlGIE^y8Trq%T5|n=QFLq8G$gdEoFt;R$~n~B<%?=f7%SZg^JsDfLZF1G z4H5~>U5}}(dRALm2LQbliOby^UeCN@IBN5!+V}hO?)r06chP>+J~JP(TK<7=56AmP z;COAwUazC>_56>3C@ppvRFf)XTF7MG!JzlPJ%s10xmGDTr5hKDET8*BfsyVdlJ49S z6;@$ragy$plJ0UZdWWm_dTiod*4I1eieEXqI75VX9Jgaco1|WH8Qy~UD-aSYr|zN z9Fh7*#J*uJ>^<6^3wx#hg)sO#q4@C{7W8t4H$LcoJ}I1;j~LC7X3gPC+~nIe{!8j? zniGAs_Swq40%Emv@;hW?f7Yn9aFaZy7lEa0N@ITK$x~CRl!BpT5eK0+`T?KVBQ@LZ zJgh%XCI1YRjRvh6;a*)y4suC$e0G0Iy@`Y?LwxObN}%(21Q2xrOr(cepk^0 zRo@>Yns}z=|NBP%kHN{?HH^(l@S~9ldX*rk1Q9>M!y^-PD8b$c3Ep5N6@+CY6Rc2z z7nI^sn_6`q{T{cJ114cnkgR8fAM%woq^9fYoy8FbLd1aVmtN zMe>snBBwym5w&z3G=Vs!4j%!5J~*Nd+UJypaK?WL0-g7n$4oAggNL_!-rr>ZJxBBT`F7S#cTO+eTF7k6v;b|C>jLD#90u<#0^vam7O< zr|N=msy*6Rqsw*k-rHm>-l@CyiU)i4^<8M>eNV`3f0(l-DS2LbkJW^-?e$kCvX^mJ z$$mBgt`D*inS70}vfh~Mu&*8aAS@e8-kWLIT(;nR(zC$GX`{YX&E9n|U(Sx)a*G@B%r$O#Ia}JT5 ziaN82=kAWaUwHTJ;1i!qx0A1cKc~BRTQMhZT9q*CalyK@WoJWG_nB?H7jNp$TB@v_ z>G>dsNw|4u|NUP{v~x z>)uqniJ1Rv7!80#ZeP2uyvf&fkNesDsZUJZqH@{%&^;K>~HlFvd3A=^MoI66!#f^o< zgKR*&ChQch=C^shTuxGC310WGnR*2$>nXTwPeZrUZ~JG$xas%(sYCZknAKeNkjL8_ zIQoC}XghB35Nx^V`l`Vbq^<1DqY zVfpF|9Qd+7L?345lC&Dw$eiKL`c@D{`$LamXJ*6iAdh4r-ay!=XtJXEpUf(D@QV@7 z9vPW;wet3ZNwc-+FC}j*o)yA0(hz={8#NToU&!LEEyP+af2q18lB$Lp7=I z5bn({J`{B>QRd7EWSw=1s-hFzJk#y`t?F7yNoptf6Hd%#HjNL4Ga^hJq9{-?bNHnZ zPm+mIC{b>x8-XtcB>4q8Q`sG%`G2y#3)qMDCunU)`ib_i2uw~(`-GEP^~#<(b7r2IdFGjCo_Xe(XE^ejQGBfz&mc4L9EDZvr-*$(gWBFTkn%$& zrAWm%lP2ZvSMBZF-?COVE(>8%o<4G#IJVgJ-b{*N{ky_}1UGpJ&K{Z|&zwzv{oU`6f68JD3>RcE^>lh7A94d)JP>z{%!|OwnA?**cb^CFOe_(#<5jg?KBkxJ9e>iCX?j>6qizr#en~-!2)$ zsrV_UID@x{S@a0P!C#JvF5F7js9q8+w<2<+aoCEX_d0?gPyGn7bm)QPNL}U-EYL<{ zh{|^nCN7~ko-KO9pyEKEr>i)7cxeg1vCPq!YHR7|rE&wa^vyz;5nmXi9KB!`*PJ&? za~^D!;7s_XI(dc}pL6?veE~Z<`b>w{^`Q#yMPZ6{-Or!FrhazHD#C zcJ+apmoUHUzV*fSPfmVTX9CMvp4L2Egsj5DUf!vP%9ogy zdV!iXcwE?g$nIhz%K&MB^$r1bst*d@B~UyBipTqd;zQQ`08lcYGX15h!TAM`hv4xr zZ7WH=<4IUo9O$X02ejX+*}n~!Aq>hX9v`+vjB)s6Z6cglz7s(cmo;PoDT_5|0ENW?m)${TsDA3@#L5-=mSbu=GZ_|Qfg>jpX5VEBq12^JSC`kV&! zL{qcRK%^>Lx>8AIBo>y-=(5HQKEylsINb%Sp>=W0jv{NE;Y`X-LG}xv$%mT8CVA;{ zs!bb99#Zw~!!*Qj0(-B$fonb*$sGx?(-gc5*BBr$ntc;9aj+WYlyHbs!SgU%K~NSy zJ$KO{%e8p0;}^N`G1@4YdceAJyrrB%_Qy02!PtCXu}fwAI*8!1NpJW9LpL zjCECDi#f6!<%nKS?`f4wM1hY64)^*AAOg_$IF+oDuq3k77%rMaH;x*Si z!PlswUGnPix(;-Wc4r9h=guLYp4Pr0?SgR zH1J9DWzw)F*bk}s$CPIBDRrKwxk@$uuZNOK#SQrL*B}Oe?t}Le^SivpE^Sy@a@C-k zY=2?zuQc#{{7j;MWv>%*t$5%(*^k0&(a1 z786J~*DoXB+$bHj-BqIBWfeYFrss6v=w0iZX-2frDoJ-hFNCSC8-L+M-8&6baI zafvfG=meZggU(fPXF&v;QETO!fz6q}6a@|!T@{6%BF+z@cINPI7HCoXaU5{`C3tvu z(N&?$3&Elb<;^0NK32SrnOQflr{5~JCbBHrAJ7~XgJ6qlMU+9Q0U-Vylq$xcJYN<_Tf}I^Mn2gd(4Ce&ceqXu6b&T8P}!}=Sm%4DYjNV9XOJCF<8`8?9{}; zZz*>x9LBCbSael5(0BNGtO5d?GJmC!(V_+N9Hil0vPP{-_ZM3i^?@2|;$|a(M%`wX z3sNj`Mdj0^4RRlQdQ-8`!l=!T!rGt;kdC&~ao86Oyc@8kiJlq_*FyD0oYo5X9SQ=B>kf+mDcq8fl5%wr2JhnYU&B+X(Zv+{bMnevS`Z+G}_r=eGy6}a$V~2ZqSG%>lP-N(#$aL?ui$t32Cvl~f4Ejf zIM=I6&ZYA*`%cKb5FNS2`O18*Wy!p7;>g|3rAfWFWL`Qc^Ma-Kg}h(iMuyBwCud$b zg{YsZeTr3CnU_w>yl}c=)iTAZO_`U9I2^C+m5NezoEz`ZhZj!Gyf}K~_K{ocBC0mX zzdZVv#zj`H(avsXVoCBNFcjxY_^xm#^;hlWvf)cg6?)2A@`fM|PuG_Q)AbenR|b() z$6Qci54SqXHD(rzr?W7EicL^P?kH+7bh`YC%g`^n%@#`{aR-g3@1w0Mf(o5`HAQy? zPcv(y;#5xcDSOhrWdzXjNi<251pQW@bFZ1<{q!NO$-33d92$RWh8;-=0-oD(n`*xx3q z&jdowEpIDuY1myhU$|(~Z_)iKl1pC326e~F*brB|IAg>1_;BvOVeiflDo~R3uq;Lo zF|8kLo`nTm5TCTx$_vVh+BJvj49n!v&31i-({85HsbzM3B}%N<4k1U`Kmn0?e_3lZ zKTbjf2+Kcgu`{V+?x6sG_Gg_7ONuV$((*v+pficX$vCKZJG~{)RVX9({Qa!>+afE- zQ%>BQJ1q2q_9!oJ)q&J&PHkyh{B0>q#ht`taY2KFSf{Bp{Q}g7&q@Fv9J!^dQ2JEw zyXMG-QpO7XgGZqBzSl->>k7R0dl5}F-+!L}K5d;$J3wXM( z*sh+dc_{s|RJU=*5ioZ3I94uTK*`1*=b2W)PWmpzrB$8u#;Dgm16K6n zn99K*g1HG_2^0)&PD}pRVQDAIF4sR{2w@N^t6$j7^QlSrMCnVvbgZM>J|i_OebzDO zjLtnR<<98NCtJ=%g5k24){jvDI_1_6bLmBKdH0yhLyJzvr$~h0RBi^~j;AZQTSXGS zN8cTLlJ`4j0MtIC_jk~<$1inXs?JeMtrL=BPuo%`0U8sL-NW9XCh}vP1O%<65;6H+T;6Z3WO6J5EZICU8WDz1@_8O{=i@>@SVXWGPZy2W zM1E#dhqFl#e4c03hJkyIqV_vpJ$kw&eXa zKuma8cu`9c#xm=WVCoUpyA&;LL3r=_F<2BOwR8`s`vR>q-IilHT_QjV@2VxfHzkGK zn7)_d&5No@r`MnZ4Y{`=Bz8@^dspx~LwDhFTx4T~Suy5u)Vp0VyI<8rQQn{P>=#Xc z+dB|y=V-2 z#!)SeQX~Hq2+l>EhLHLfJJE|mqn}A1DXKS|6)uXI5*MH)3 zj$=%H1y`ShW2-aSnfbm)pQ;bES74jPVleyIMlfV-@@n*66^#!fTgsp+s1&bZ;t}|6&(jhvTPo3fh-RlT-oyLVT!A!`p`tew1(_$>Pk+A-Sm3R>F}`=A-dL5y)A_bP+)FAF=v zKjrJPgPJ*pz|}cpshDHPQ*RZ#{r^Y&QDjDs&F9xkU|m)GrK+d{f6i4QXF(WZyZq4l zqEu6wdA?JpXgCJ^8d&y*A)J6HjU6-Qz-5$9ih=Hr;6n66EL_})0lRPeTig3O`&&jz z3O}>s$>hJV`p*0KBJJy>eMKF*O|w(qVOb2Cd#u2Vp}H+}2FFDnu{~_nR@hfn0>GPP z#9fq${w$#a;)Xg3WGZ58HxB32&7P^DQQK$dP>!QXR15Bf96?+NS4LxV3hOEiz5{{o zK+kAdw|gTIr3~w}>{wF^tK)pgpUJ0GIe-us1p7jr(=V~T&aEwmz@qkrC3eofDrVP4 z0^3Hu)l+L2l3mM&i$Dan*|iDNgxqV?XXyI8{pGdlh82ltg>a0rseKCrM?;C`C7p3W zVym%OPtQtJ7j-^juIDJz836WPk{5S&bBk*0S1`jcgCjo(z0rv)&9mCZ;Qi#^*%7gy zx3`@0L~l5-rLB4daZ8EgCfEZQvtTQzfto(npLz^rRrieJjU1HCk=9KpX~e)UBm-X; zVk@pylKzOk;X6d59j-32I^G`crGNzTyH3{9M(vwv!)}!~Y(2HIa)Wilr3v0W-^MGkck-an z`F3C600k>61uW-L{cBkYBEu(y?JTo#Z**ZX7F-H{>w~X2FiLaazCu0c$TP*On{rcR4ZSz6nWn8{g zUQke2nBg#dQht{hZe8J1$QD(TF95@kTO~)(pgO>in-e(bq@wPU6O@;RRA$~f zxeBJ-6+X@Clx-UwBzn?}{R^HxRWXN%G$4X5MbcSrWV{H4hL5Lhrw4Wus&}hL@^V^W zH;`N03OSCcuvSip7cKGVZFR7gWT(vCsTKw{%-yUO2KEHj&)uL(yB+MqP^~GEOy9{} z!BKN}nzmjOox53WQ8Kl~PiE3s)Jy~t@N4F6%JJ4lB#o|+Hy=$Zh@cf#=f5&04>1<8 zcrn*kqNX>4u8xyJOZR)*svaBl;^+$+Hgewlc5{*g8LKsA}#ZAqO<-J4DI%457-v zBXf5PU2`81F8urzfxSurcP?R*+-qsz$+^!6Z`R6jae6#9_eq1a+dgV=n~G$Po@}V0 zD>fWbfKUv<1a`a2M;n4Va&lK>I3*@P86LtW!iYhcF0*kpfL9qV#^uQW%4Ua{=&}SS`~-~q zzhYg%6HFQao_Q5pfDkB_qi@L z7vHSpp=Ux*@|B4%-K4NAsGo!_X~$DT?WhJFZ%Gp>CDamlo+edLf3VFEkb*b?b<>b) z93EE;SECGO=l1tpzz{t2v39U?Sus2_DNlqI!+j2&gh?IeTPwHY?QC^$8ZSvV z)~Po8uMEzC*SR}HaBj7U7@+TQ@j%8OpX=xLyzl5VgL3W;ePd|$h{~L6qQ{NS+#eWl z;5&3H6v8vVe)zN24{yB4`a!cKv$WeBU~b-i)NMhLtJURl;>!&bYXQ z({T|SfpE+ir2F@Lgk*}wMfLr|d}ohmU2eQ;;UNeZ1-Z9Sasbg#LGDaGdV;IJp3nQU z)p`3Q#8AnEQz6Ok6wyE3;WkJUVWuIZ4v4x2{Ri<#85**kCLJoTGez&tc-aE-6(c+H zr@s|EYF8(+zsAr2;_En5Lx->CKueiwCzAXzPu#q{W^eNJNiml1^PO=OvYUmNs(}|L zS6N^)bdw;a&V;lhR}(nE*Al*Jd%M(0Rnq6EW@4vUD-WLt-2Ti<#Upp|tt9X`#;p3n ztDrm1+Ybtr9@57e>O9F+O;#Q-p1l~Em{|d1>V$R$>5dgf zBt)9ML#^mA>xp~L+CN7+Ld{nRU;cGj$PwH}DtM$Ue1IF_P0y(RG}0`YLatXdgHuX| z{^iDaiV9ZbKTwxp_?mMBmGC8BV4>TQkn+4ounKaYg=Bnu=kw4Go3^@M8-AaUCi?>% z?iDDSB@lKYFVWoV5QMfpy!ET$4UGCa21>_TQi-EUF^TwBV|DzD5V>mXXR-@nBmqo$(;+$_s zX`3nWE7Gz=TR;7QMf|41Z_jZ>T$w=Y)W9}^K}T&EeSrtA1kC*~!FHzsd$zrc{mD%l z`Rq>$MM-KsO(0ox8x*lYxzBK2^d^S1dHO6t^TVVN0I#ZW=P-*49mG_+VG}Y18jKBz zkx!Z$=aP!nyYus_DcRp=eGbW(Qlo5*M$!W%_jU~Imp~?{*pejm7%aso<0y6_jn|0N8FoEsE ztN2W!^gmP`OpdhwM#LZRAfwOD30T}KAJcGsIQ2DWfxKLLx3b_$Ib%Py{hh!zZMWAK zJGF7UK5pa57B}m0_TsOM1U9irZGR_Xx5n)Hs8fqsWOAG{9m9=B?aNC7TLatd`UJHc zoc+Ku#Z@{NR@hT3F*#tqtKeDy_N>p`7w!i$c`sucWw)8vqBtOUK zFDB?NF&Y(jx#s{>E$=Yr+Gso>rOv+mSC84XZxjrl4*ZY8SN6di81b_SF&=2pSmRPf zAZ5>Ch||7@{9F#^s#fQl8rHX&@}2qkMUS({_GjKYqdvi_lw8^D64urmO;up)_9KC9 zupQN1+!BN|Su6JvjQg+yj}|q{;f+$H*(8;pgwob88QI3;_k0ZNBgBsqp7lN2BzS0c zGP|n`fw+iJ>j5?1+m??}GiC9?LPat(ZE$~}758Ls5NmL$1UKJ z^5BrB?uMCqsB&3!sIPyf@v+w6!QVmf2xkZ(`?&RxMSJHsb7Yh#-JWwXEBH+;TvSCj zd@a$!yuW^+yV=^;zDF#7g|yf6UNhiG*3y50@R9C=Srzw&#;e3UH!E0Vo9E*-(i|on$AP1GyLT2iN1Pf;Mn$KG$n8V z(;$0u=b=R>wr^A+g9FIq>Tb<4i0WW0$-kIkq*%IGdtZ&NL^W`lV}vn&9(IbD{f#0P z4(t_cbxN|h)l-s^mRTy8J!ge_6$qtP$1AG;WUN(d&FOB555!1oS@hX*R(YYh-H4cOpq%q2g*u!yxyvvT4S$6mNL>+ z@L$P)HDJTURrs@nZl1~4Ma4FI#l~%{2ype2{Tu}onB~-J29eX9d}=f7%tkUj7e=9}~q4GoQ^Tyi0$QU~I{rT)Xjcl*J z*1UWJdSILLfKyw^!no>~8@V>MBQHDn{C7c#GfC2kGd)2Wf8uVfZ}+!8$CkqxXu(rw zxsw8J_;bA@F;r>$Ap%r!)z;KOm}lUq*xRn&|DJAItzCw{YyDx?2R}h%{ebm^P)Ik0 zg#(`6dg5Dy>Am?greU<8Adhb{tKLEq_?Rka8#wkA753GYXb0Tz?*&YE<4Cc6QN;PK zOck5UyW7q?h@M1B!%AnGylzw@WO-Cxk^S+<%`mED_*9$80)ur@YMg5uum)0=Ib6X`*lYwkd(i=iQMn3y>u^kS*T&+q;2x}}FFGY3~B{o_vBI-y{!+!+&uT~8M z&+sM2m&!nv_#p93HWqhDvtt!DwMD;%N|#BVYBz8XXN5a&TtUhuDbo}h0qUep=SGwk zGtgQ#qv-9YrH94`gUN-YYL*b-jIUt9$FwPtrNS96aify8V2`iQSY^IB^}0y`usv>U zF&(M&##8oTB!xYn{Tc}DKfs+pC-wKvM`Y_eAC{0 z@Ru-C=|p1GD4d3!ON&)oX~XOH=TXH1eIwcQ=ZPH>_+@S1tSFu{{HLMs?2|8OdZ)K()Zq)U)ZnxgsSVU&l4I-vcvtMFgcFp2Za_}9aoxHR(NjH2&-W| zkzq8Y9NY^R5d*$WT%3qF4qq{iMt!Ku`SN|u^WAC+F<|MPnLVtfeT3l$YE8MXKN=Tz zQYG|6v2$6B@`PjVRM{Npb0eAiH8sJSstY-Eypu45p6&~!UJd*W=VPfqlg(2mv6|ds zt=u3bbf3(Cj}(oAAN$MFofsvG;cdg=6D)*tsljzRr~fpTD9BQG0Y?xB2GtJa0gTt*;@TJhMt7t zU@GBhR)9F)TT-o7=b_f)B%oN3uV%SAp^526eVZ0$?pb=Bf-F}!`iIz$wfAK7PV6$c z)kZ+cyj19xn&tf5N6p^gPHhCyvDNCe!1lRM8U4Jse*@8$&V5u7b9ZW|h~i5ij?$Br z&g=xOF#9}nDeq(Lqyksku7E$3L4xy1TXu3_E1wf)mty%S?NR_0D>}uu-Gpi=>_ANeIY+c|FRfq-9SZ3sfU3^mlJhU`IEV86~p4ve!|?EaLxv9nbJ&X ztvqNS#c?Nn&ZY)yYR!&^Wxp8;a3j^5*2)81lfY5c+2#F#z4k#g^Z{)?lMz)Ydqzt5 zsP01JkvUr2{wM|Yk32f^pgrSeQwJorswNzzkD~2P<{Ft!NKsvr98olmJje~?6~Fm6wGdqk z`)8Whp(1N_d3t?eI>XNRCGx{pDqGa=9W%dZsXnJR+sD?u4PV3?3B%o5`5L3Y$XaQ_ z&|u(I`_0UsLp+}I_P7~p434fD!?YEUz|waZTbyDP9?IO#e~ zy8kW&0qsT65-DvOG}@?x_F+d5r+rvG8w1-OP@MvAxfSe{1L(GtPy` zwxp{_u6F99W&){Bjb7$K9h{Gln&+wb{^XyX6VSZ96-X`~b5iPBXQCEc=(B-C}eMkT!KzLTTYTUSc$~4&Qn0GkAvYF4!?kdprJgi{xFa8 z5|*+BPy&A`%U-6`N-BcXGF0ikv{D%oT|wH??B|sZg6{0*wG8*hGeDG9o-{zKN~%FI zX2h#v&i6ImD{Kx79sOf}zf$XZDH%F7?16%I!B=;8%S-a}T%u}S$0EU8308nPG}4VQ zyxRy^2#~-td3M7ecD+6{mt1Y=BC(;lnuEYD8=C5__e+JgJY=mzW9|bdQ^jDWt7i{@ z_4Yd8K$W{M4O0b<9 zu@RSyG^lSU=v!@=%7l7y084%6~uk8TBFxcZH|ul?~@>`SD=K63NNgkCAEs>z@~j?tL1cA-%gln*0bU z(i@BeM#ww+NSkRw4e+Wqr0(~+<6(BSaSa;O&GQ~b^=`;MPs-idJ-P4a_P!v9pI{lX z>%<^LO3&yezjd~R{Pavur0B=xS(LkSe~Zs({mHZ z=Lr`1^8k7L{criz_UXA3|Ihi=_UXAlpm+Gcm9Mr>&$;A3?z{o>6$cKu-&q9gUe4`% z6R~%|>0Lu%)vna*oM$ON##+{3Q-o)s z6K)NJ6NlfLZ8H+HnSCP()U1(eo|{TnX42h@GJPT9u${ZEgv`Wc`cB|*;A}hH2G&#m z<^Fy9$JYJ@arXl-D<$LgO3pl4m3fCx#RE-UnH7`>^%xQ=gRo@&^t(r>R zdsQyChFGgl_HJ98`=su?bvugJ@_|N2oZ!#886k4UF^?+;Heu>FB5(k}K?ZaGskhX= zJSTlLl-fmmBjvBaS!I%~i7INpHcSP#Z=SFVrjBt-^k7B{!r=(vmgSVS|HhxQ}p>d$z~fsHKIU@DsUsi1AT@=s%|s=x@}Y4 zaEeI^kcQMM<=m>XN$>ju4r6pmE?q&EP!MO!eA6}FA$Q64IH%U#g`wiPTf5Q2v4y+V z*imw$sP8cS783inrvRY@2;79yBD2$F0@GuAMxoZ~HeGXM-S=(pmLqK4b|D4DNpG!u z#f|)%8<~V5MRDdGHLIBY4rT9xp>QN%ul=aj+t7sQi_uhPtqYIUC1Ex6juGlD_PP=!D<_f+Ur4grr)WTQ@wzg5AB%OjyXE%-mFc zGOCajd}S_`X_F)bKX|7f?498Ech9()=F_-Y+|D7R$QZ|JCERcUhpc-_nAu{5R_A|` zkytIAN}H;DTrIgAahNhEGto{4r|M}4vJUEtk)F=!ROet0N}^`2My|K+JHxu~hxq5Y zv5oI`W_BiLS*u@%qAP6<2kU~Y%@6mFKnmP;o*vwGZgUB4pPg~11Sq8xd}D^dy65mS znf}qNCdry)W4{q47TXZ#2nDKsC8vo}lkIWMR>z58NS9-EoJ4@rB7p4~H=iL`U|shP z5{9uyf-Tn|<2O_FMzdVRiL?Ete~mMdQIg99q>G0^7=o2BrZF)ruvHf`2OGFDS$EH4 zuDG0Jb04{d0mkB?5EEAo2`V|Cdw$Osfl^ip!(fS`kJ1d@XPooAwekr9r6iogrP1kQ zwS?x~UrQou;^XINk0~~i31_BrMbx=E=1hw_7ij`2Lx&9>D%zRk7eN!ZQtrZ$>9>wq z*DWPzZ?o=O^(o!)%w=|Na2tbVW)W*z>%K^_8$1n+6=(X+3}`ZgFO1f1!YdfK(DTWY zy6O_&vTm?sIm5)iIeMXl^XuquZBXD$d2A7`N{8 zXl0vPx!joAvK^z5LP2FDl>WDZ#0iuD^5eu(cZap|^}y4IUkLn-Dwc7#d&L-bZx@YO zIC6}K{i|e{)dW;^1^FB7%V)tgI`lSiCi^vQ3SB;r9*x=)=h&AwQRQz@6TumjYXd)NA3w(4x<GeMHyJ-P@w%Pq}`Nj#Vkr91&JfM-xDwU z4bKMY;bH+{5d$eg#e_Y$=e+7J{8T~U5KJCbt&KEU%auuN8s9-0Mdj1m)ro8gpBSa4 z5?Bd${FOBBH2mM)=!X9dPF3}e8{7f{#X8_N_wZQ5f5D>fPz#N1QHmSB(T)8Z{tMhN zX5ByS?_qp<@-i5@Amsc2^AG!2vheU;kbDQZXWPl9W5!z;B(*;%2a`h z%%`2Pi1+)R)??+V3!gRNci2SV0mmlb#^yavW zh5UXX1?|Xy{7{_Q#d1fKZWc9!n`mYKsYzyVP^9}cLNv8t*d6>(A!+5K>FzkepfZ}o zMsnEXEY>`q`7>*NtJCbMdLl_vIZhF31dK)nsfRrve30G%Jzn_Ogja^t6RHZ+ugYN< z4wSV}6{FqEm=Uf&8?Z-k@~wT3WWrH^BeXhXTJ1?D#i?x!1SAvTp8mJ9oK31ol=o+! zdYGZ1nRy-v5rQM>?iwmlVlY!@25kv)(DF|&^XjhEwboh@=Z26vlJ(cZA!LE|BO@(Z zH2L;PpCKI#*AZL8+BL5+7gMM6Kso#r?=w0CFE zLhVGNAPLm%(tq@y+NFMzc21@@O&-w6j8;s3hKazLw|x|AWi9!62KlnXZbYH;BpGMW zg%$Q@GoIsI4J(Fv;J+9SIjw^imR%TDpRz!u(E&v-D<3hy6?J2T&Xs`{UiKxLK zsk0fRuhF$XR;O<6@x19+ot1>`3~KLO;a!CXf0;bNy6?2v_UXpO?zvTOxjaKY%Mk#am^D`N|6)WsI5JvjF6ebrc@9zbK8_kLPkQEQq5*8)4e@D zZco!Wg1B)W#s8A^mcr zGhY+&EYyV(5@IOfiYhwyNph-1FI1k&t2KI@O* zpS+NQ*}>q;gTVuXK`lV^N7_mN`a!KncJNQ^+a``J&zZ6kJu`JvHuA_1GqfQFt?lWw~t)B5wq^5_7L`YJF zSu6(Lp4+{JAgfiRt~P}_mc@SsnNAVEo55x+lqK;Y=-$#L847Wo`BOvaHii)NGoMUS z9VPvBMWcjx-e>ypv;1d^|6J%l=lIWg{=sANnz#I<0lm+_ zXI^uFD5PHF=>{ex^NKj%IJmTvSNUsl!-e(%W|5M^v*0;fW!%8E+11vaheO(6+B|wE zVr)%+GHT8;-0%lVT^Qy-R?mI!;dPC6Rrk zcRS1jwzrWt8z&vhy_4@vAwrLtxGfQgp_BkMldv`f zX7OIidkgQCyf5Tk6XqPk^N4F=yq3{JHN?qet%+$reRP!7p))t2VY0j2t9uswC}9v= z79{I>7G7kjqdhirtyqcHho`n^c1@a9WeE_}tEGDKwUW8kc)Y0Q{y~q4m+{$SvK}v< zY>P_f`;4~PW3*%~@uun0TtxYNMv$a&9I^FhfWJ}d95WBtI&V3Xc|a2a$MBdAX0g$v zskKG7pAU2;fHZcPvb{;C2(+;Ln#bZ*BaL!3amN^|`*;OeGhtSLQV_hJa+?{0Mc!ED zLVJx<5Lg0^N>LwW^?F<4Wj%yi?h;o}6Yz5H(mah7ZPa*+q!ZXnN1VTlL~`zU%38x2 z0^UH*GnCs5_pw(c`UGpO;W||MR4F;#7uv6>&m+EGZ};>P)FPXNzXT?G^1LrctEP-8PDwWHP`NxH&rGA{l+MxJl-y48Rl7xQ-L9nLC` ziyKMGo)Sxq@!b+m{X2vxuSsUHW+pEQ8L9~N(RC`cQJvFOTjMV9gpJ;Rf47Lyd&}|i zMX4rR#D2Oa=1CN+)#U8H8%Q>LAvaNX#$%LM=6a3d7$-t7P|C32(*lm^0tZjl%Bf{V z7ghv%ifY+|t{Cl1n#FMqsK=R+ z2X!i{wMcF^F2KT^05Nnbf zEk4MFKFIlAU37Qod`bvr|8p^&!s$-dH<}X}<`fVGsI2`Ll0@1v9ud|$pX$?EhbW^w z;>nPR7@j8^0$8kcmpd4xZIni3SnV8Su!>w^!?L|B!EFKSr=5J%3Lz1A0>)bc<1O`7 zWq|{uk959r{6J5hhElA;y5SArEF6Ubs?17fRRZe52TjMV@|w?j2lmAJ%f(}SAt+p_ zUZ7ob&^$p?`PIx6!WfI>3J-CUky*@~G~2dhDO-SFKdokBCw0Xv5HJg5sK3kF_+~%P zSF3aU5J+)RDl(3NmVW8o&<>Gv5FS{R8c^(3YCw%f2@4vTjl65BZW3a6pDg6?-b{E# zdQ*U#ZMe&fHHU*cX9}#QUS%|_!s%2KZA`J%ne%=}ibm`nC#Y7MVwy%@77R?#p5xfv?=W4>7V$l3Nq$Iu*<73Llx+S|_{eE{7%?s|pg zMU2t#>iP@907VG+Avr+uW?yYkFy!#P;L)syBe{IN^ z<1)mQ$RqTk%lvzs-8+SLH%tjR(WS?4pWD5ASOZ|6&so>qHjKi%cYVCs6fD5c4Vy_g z54`L>z*~Q9zgE8IVIhG;W#~iqTz4DAJd2pNJNv9WrN{B>9x||?8&z@tuSg8d>|U7o z(%u)W`z9y8wClt<6tg-!8``PfJugwc2hPFsOVCv1?pM_eW2doLvVHoP*4M9MfXt-$;?y>_wvG$lP5oLzQ#4DKSS*H#CKyrv3Jk zLctiOST;%zc$w+D2X0Dy`9`NjQYsprDA?0qPiM>z;Zyse2w?_syr)xJZ~Aku=(cwq z-tShQk?AjFRi&+iV-KI%*?X~k`K+P;3Q)%23iRl(bB?Bu4!17Seq{XctBjI(=Gd8; zBSrRsbGDgF@X~#j+D(JkKfp}UpYD6zny@W>^zAihNc*h`8#u_+Swg`;h}t(N6snPd z8yk6B9On+2g&B)%P#0lu+MW^r$@Go5_3&HePjc@|Ybf1!{_oDWCT_EDx=U!>ARKVu zGZ}Im;iUI|#$nXy)JNwBCHAU+gaD6P-%{$&YCq4WBDPK47-l>BHNrzM*L3)+B2q; zp0?aY>Z~g6a=Ii~b<0{Zn8T>(OK+=zDokHO4)N5z_O_}G&=%$8$l{DE!M{c+7-{Hl zJ~A> zo9-Z+bF--Z_#}dWvYizFZc>OCl_F(bwEbR5xeYkx@hV{7R71Us4CSg`7eS&{!)9;K z$E!wKZVC~QKJh%ax)3a|H@j&Sojp}CA}Z|u(}LqsZT6kLh!@!XJ#DST`wn9XU0j3{ zFkiJ+vH%!iU%1Z=FS0LumQm@33j$j*eZ%eAKiS(D4|Z+V4L$|Pf^&E+vTOS?$A+09 zwcri=!nf_K4pafl>eLNgc|%jqOF*1eoJhQ_CV9r(ts+eKo^6o0yY@tNlHax1a^}8m z^l$W92+tPky>WP`sRVK#LgdfWBMKu1O6~=6KYL=6;mo<20Uz2mt-eM|yC%SA%Bo*RB1onW# zo!jMc7G}^AEZ|7ZkB#ft7lPPkYXJ@WW}C&9kTwq?Ep2X|8aPk<{_y0gb`YK%%CaH# zUU;+K3r}Z@Rkx;D6dcSKEFnFOBhS1&ccTOWNl9q=oO?8A$TX`*oyP$zG0Xfpte%>% z_g3sZ%#i76lL+BOMB$#47{SJtV*81bO0P{@9cP>E`fDyt~?d+l|p1Zf)8XWBq8 ziUv4giM2#q#ET@6mRi?NA`CxG9}A|KL#)*RH>wd@|INGl``L?)79{`K&T?m&d;qDT zm!T!iovmVt<+LOrlPq7Gd|gtH2#2o$g_!sq_{8Oz5XM<+J*;|Tdb1$vFV!eDx=u}y z!po_hW$JH??*^1`^pBzEnILQ?WKk6SFDaW%N-~+IN}I!?IKzBfb#&qIMd7LgoZ5dJ zCvddPh@_)Z-J%@%>WKy54x`chQ=zWOL5T(>4Df_?!)QuccoOfWyvMC{fOk$!(jb+V zeSk)3tL}3|vnDB1q#FCZUxS*bL_LRzDrM}He>mfW`FYg6x*1Jm1tv!bobl|}_)>L6#iCczo^wwlzk2fKLhKWz zeE`X&LNd>?5#F;x@3?Gszf54!obrJEN>M8sIBFxRozkK%_9;z|8KnVvU8>GJZXJoOflVRSfixrBOw%{M}qehCb8;HA1Tz4J!(Qt zwMi*eQT9>4M4{JNENMCq{a*iz8s#k3B%J@U^SCdXSo2>VI_`_+)BG3JPvv^hG>_)L z*vEa5;FtgMUGK{PR@Ys{H}P=lojy~jQ2zooMitfLQTiEU2S$St9wAjZh%C~1T#ZE2 z&oL7s0+mNKw3m6Ih=M9d zP*62ie$7NTz*{FmTSm=RL}9F`W9LF#n52|iE4CHc;}g!}76_C5#Y*-UtIw4vc%9T} z&SI&WK8*E-wPJUXeNl;hol(7Au5*xePU~d1Zu&c&d)&srsMeF+sq^T{ZZ40B7ky

ZvGcqgDsT8O&)ywdU$Sf@+5= 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 rsFVEzco6Q4s3cCusk~z3De<&xe>}n=$C@hP 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SDL2/VisualC/showimage/showimage_VS2010.vcxproj b/src/SDL2/VisualC/showimage/showimage_VS2010.vcxproj deleted file mode 100644 index 5b27b68bf..000000000 --- a/src/SDL2/VisualC/showimage/showimage_VS2010.vcxproj +++ /dev/null @@ -1,285 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - showimage - {FEE80C5D-762E-4E57-9BCB-928749E8203F} - - - - Application - false - - - Application - false - - - Application - false - - - Application - false - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - false - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDebugDLL - .\Debug/showimage.pch - Level3 - true - EditAndContinue - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - .\Debug/showimage.pdb - Windows - MachineX86 - - - true - .\Debug/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDebugDLL - .\Debug/showimage.pch - Level3 - true - ProgramDatabase - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - .\Debug/showimage.pdb - Windows - MachineX64 - - - true - .\Debug/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - MaxSpeed - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - .\Release/showimage.pch - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - .\Release/showimage.pdb - Windows - MachineX86 - - - true - .\Release/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - MaxSpeed - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - .\Release/showimage.pch - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - .\Release/showimage.pdb - Windows - MachineX64 - - - true - .\Release/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - - - - - {2bd5534e-00e2-4bea-ac96-d9a92ea24696} - false - - - - - - - - - - diff --git a/src/SDL2/VisualC/showimage/showimage_VS2012.vcxproj b/src/SDL2/VisualC/showimage/showimage_VS2012.vcxproj deleted file mode 100644 index be349094d..000000000 --- a/src/SDL2/VisualC/showimage/showimage_VS2012.vcxproj +++ /dev/null @@ -1,281 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - showimage - {FEE80C5D-762E-4E57-9BCB-928749E8203F} - - - - Application - false - v110 - - - Application - false - v110 - - - Application - false - v110 - - - Application - false - v110 - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - false - $(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDebugDLL - Level3 - true - EditAndContinue - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - Windows - MachineX86 - - - true - .\Debug/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Platform)\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDebugDLL - Level3 - true - ProgramDatabase - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - true - Windows - MachineX64 - - - true - .\Debug/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Platform)\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - MaxSpeed - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - Windows - MachineX86 - - - true - .\Release/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Platform)\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/showimage.tlb - - - - - ..\..\..\SDL\include;%(AdditionalIncludeDirectories) - MaxSpeed - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - %(AdditionalDependencies) - Windows - MachineX64 - - - true - .\Release/showimage.bsc - - - copy /Y "..\..\..\SDL\VisualC\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll" -copy /Y "..\$(Platform)\$(Configuration)\SDL2_image.dll" "$(TargetDir)\SDL2_image.dll" - - Copy SDL and data files - - - - - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - - - - - {2bd5534e-00e2-4bea-ac96-d9a92ea24696} - false - - - - - - - - - - diff --git a/src/SDL2/Xcode-iOS/SDL_image.xcodeproj/project.pbxproj b/src/SDL2/Xcode-iOS/SDL_image.xcodeproj/project.pbxproj deleted file mode 100755 index 1f477de1b..000000000 --- a/src/SDL2/Xcode-iOS/SDL_image.xcodeproj/project.pbxproj +++ /dev/null @@ -1,316 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 00A06D7812FFBFD5009F1A11 /* SDL_image.h in Headers */ = {isa = PBXBuildFile; fileRef = 1014BAEA010A4B677F000001 /* SDL_image.h */; }; - AA126A9A1617A4A4005ABC8F /* IMG_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A891617A4A4005ABC8F /* IMG_bmp.c */; }; - AA126A9B1617A4A4005ABC8F /* IMG_gif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8A1617A4A4005ABC8F /* IMG_gif.c */; }; - AA126A9C1617A4A4005ABC8F /* IMG_ImageIO.m in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8B1617A4A4005ABC8F /* IMG_ImageIO.m */; }; - AA126A9D1617A4A4005ABC8F /* IMG_jpg.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8C1617A4A4005ABC8F /* IMG_jpg.c */; }; - AA126A9E1617A4A4005ABC8F /* IMG_lbm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8D1617A4A4005ABC8F /* IMG_lbm.c */; }; - AA126A9F1617A4A4005ABC8F /* IMG_pcx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8E1617A4A4005ABC8F /* IMG_pcx.c */; }; - AA126AA01617A4A4005ABC8F /* IMG_png.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A8F1617A4A4005ABC8F /* IMG_png.c */; }; - AA126AA11617A4A4005ABC8F /* IMG_pnm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A901617A4A4005ABC8F /* IMG_pnm.c */; }; - AA126AA21617A4A4005ABC8F /* IMG_tga.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A911617A4A4005ABC8F /* IMG_tga.c */; }; - AA126AA31617A4A4005ABC8F /* IMG_tif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A921617A4A4005ABC8F /* IMG_tif.c */; }; - AA126AA51617A4A4005ABC8F /* IMG_webp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A941617A4A4005ABC8F /* IMG_webp.c */; }; - AA126AA61617A4A4005ABC8F /* IMG_xcf.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A951617A4A4005ABC8F /* IMG_xcf.c */; }; - AA126AA71617A4A4005ABC8F /* IMG_xpm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A961617A4A4005ABC8F /* IMG_xpm.c */; }; - AA126AA81617A4A4005ABC8F /* IMG_xv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A971617A4A4005ABC8F /* IMG_xv.c */; }; - AA126AA91617A4A4005ABC8F /* IMG_xxx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A981617A4A4005ABC8F /* IMG_xxx.c */; }; - AA126AAA1617A4A4005ABC8F /* IMG.c in Sources */ = {isa = PBXBuildFile; fileRef = AA126A991617A4A4005ABC8F /* IMG.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1014BAEA010A4B677F000001 /* SDL_image.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_image.h; path = ../SDL_image.h; sourceTree = SOURCE_ROOT; }; - AA126A891617A4A4005ABC8F /* IMG_bmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_bmp.c; path = ../IMG_bmp.c; sourceTree = ""; }; - AA126A8A1617A4A4005ABC8F /* IMG_gif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_gif.c; path = ../IMG_gif.c; sourceTree = ""; }; - AA126A8B1617A4A4005ABC8F /* IMG_ImageIO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IMG_ImageIO.m; path = ../IMG_ImageIO.m; sourceTree = ""; }; - AA126A8C1617A4A4005ABC8F /* IMG_jpg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_jpg.c; path = ../IMG_jpg.c; sourceTree = ""; }; - AA126A8D1617A4A4005ABC8F /* IMG_lbm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_lbm.c; path = ../IMG_lbm.c; sourceTree = ""; }; - AA126A8E1617A4A4005ABC8F /* IMG_pcx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_pcx.c; path = ../IMG_pcx.c; sourceTree = ""; }; - AA126A8F1617A4A4005ABC8F /* IMG_png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_png.c; path = ../IMG_png.c; sourceTree = ""; }; - AA126A901617A4A4005ABC8F /* IMG_pnm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_pnm.c; path = ../IMG_pnm.c; sourceTree = ""; }; - AA126A911617A4A4005ABC8F /* IMG_tga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_tga.c; path = ../IMG_tga.c; sourceTree = ""; }; - AA126A921617A4A4005ABC8F /* IMG_tif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_tif.c; path = ../IMG_tif.c; sourceTree = ""; }; - AA126A941617A4A4005ABC8F /* IMG_webp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_webp.c; path = ../IMG_webp.c; sourceTree = ""; }; - AA126A951617A4A4005ABC8F /* IMG_xcf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xcf.c; path = ../IMG_xcf.c; sourceTree = ""; }; - AA126A961617A4A4005ABC8F /* IMG_xpm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xpm.c; path = ../IMG_xpm.c; sourceTree = ""; }; - AA126A971617A4A4005ABC8F /* IMG_xv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xv.c; path = ../IMG_xv.c; sourceTree = ""; }; - AA126A981617A4A4005ABC8F /* IMG_xxx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xxx.c; path = ../IMG_xxx.c; sourceTree = ""; }; - AA126A991617A4A4005ABC8F /* IMG.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG.c; path = ../IMG.c; sourceTree = ""; }; - BE1FA74107AF4C45004B6283 /* libSDL2_image.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2_image.a; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BE1FA73F07AF4C45004B6283 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0153844A006D81B07F000001 /* Public Headers */ = { - isa = PBXGroup; - children = ( - 1014BAEA010A4B677F000001 /* SDL_image.h */, - ); - name = "Public Headers"; - sourceTree = ""; - }; - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - 089C1665FE841158C02AAC07 /* Resources */, - BE1FA74107AF4C45004B6283 /* libSDL2_image.a */, - ); - name = Products; - sourceTree = ""; - }; - 0867D691FE84028FC02AAC07 /* SDL_imageFramework */ = { - isa = PBXGroup; - children = ( - 0153844A006D81B07F000001 /* Public Headers */, - 08FB77ACFE841707C02AAC07 /* Library Source */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = SDL_imageFramework; - sourceTree = ""; - }; - 089C1665FE841158C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - ); - name = Resources; - sourceTree = ""; - }; - 08FB77ACFE841707C02AAC07 /* Library Source */ = { - isa = PBXGroup; - children = ( - AA126A991617A4A4005ABC8F /* IMG.c */, - AA126A8B1617A4A4005ABC8F /* IMG_ImageIO.m */, - AA126A891617A4A4005ABC8F /* IMG_bmp.c */, - AA126A8A1617A4A4005ABC8F /* IMG_gif.c */, - AA126A8C1617A4A4005ABC8F /* IMG_jpg.c */, - AA126A8D1617A4A4005ABC8F /* IMG_lbm.c */, - AA126A8E1617A4A4005ABC8F /* IMG_pcx.c */, - AA126A8F1617A4A4005ABC8F /* IMG_png.c */, - AA126A901617A4A4005ABC8F /* IMG_pnm.c */, - AA126A911617A4A4005ABC8F /* IMG_tga.c */, - AA126A921617A4A4005ABC8F /* IMG_tif.c */, - AA126A941617A4A4005ABC8F /* IMG_webp.c */, - AA126A951617A4A4005ABC8F /* IMG_xcf.c */, - AA126A961617A4A4005ABC8F /* IMG_xpm.c */, - AA126A971617A4A4005ABC8F /* IMG_xv.c */, - AA126A981617A4A4005ABC8F /* IMG_xxx.c */, - ); - name = "Library Source"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - BE1FA73007AF4C45004B6283 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 00A06D7812FFBFD5009F1A11 /* SDL_image.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - BE1FA72F07AF4C45004B6283 /* libSDL_image */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00B7E3AE097EB73D00826121 /* Build configuration list for PBXNativeTarget "libSDL_image" */; - buildPhases = ( - BE1FA73007AF4C45004B6283 /* Headers */, - BE1FA73107AF4C45004B6283 /* Sources */, - BE1FA73F07AF4C45004B6283 /* Frameworks */, - BE1FA74007AF4C45004B6283 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = libSDL_image; - productInstallPath = /usr/local/lib; - productName = "Static Library"; - productReference = BE1FA74107AF4C45004B6283 /* libSDL2_image.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 00B7E3B6097EB73D00826121 /* Build configuration list for PBXProject "SDL_image" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 0867D691FE84028FC02AAC07 /* SDL_imageFramework */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ..; - targets = ( - BE1FA72F07AF4C45004B6283 /* libSDL_image */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXRezBuildPhase section */ - BE1FA74007AF4C45004B6283 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BE1FA73107AF4C45004B6283 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA126A9A1617A4A4005ABC8F /* IMG_bmp.c in Sources */, - AA126A9B1617A4A4005ABC8F /* IMG_gif.c in Sources */, - AA126A9C1617A4A4005ABC8F /* IMG_ImageIO.m in Sources */, - AA126A9D1617A4A4005ABC8F /* IMG_jpg.c in Sources */, - AA126A9E1617A4A4005ABC8F /* IMG_lbm.c in Sources */, - AA126A9F1617A4A4005ABC8F /* IMG_pcx.c in Sources */, - AA126AA01617A4A4005ABC8F /* IMG_png.c in Sources */, - AA126AA11617A4A4005ABC8F /* IMG_pnm.c in Sources */, - AA126AA21617A4A4005ABC8F /* IMG_tga.c in Sources */, - AA126AA31617A4A4005ABC8F /* IMG_tif.c in Sources */, - AA126AA51617A4A4005ABC8F /* IMG_webp.c in Sources */, - AA126AA61617A4A4005ABC8F /* IMG_xcf.c in Sources */, - AA126AA71617A4A4005ABC8F /* IMG_xpm.c in Sources */, - AA126AA81617A4A4005ABC8F /* IMG_xv.c in Sources */, - AA126AA91617A4A4005ABC8F /* IMG_xxx.c in Sources */, - AA126AAA1617A4A4005ABC8F /* IMG.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 007288110F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - COPY_PHASE_STRIP = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_XPM, - LOAD_XV, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../SDL/include"; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 007288130F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = SDL2_image; - SECTORDER_FLAGS = ""; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 007288150F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_XPM, - LOAD_XV, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../SDL/include"; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 007288170F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = SDL2_image; - SECTORDER_FLAGS = ""; - SKIP_INSTALL = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 00B7E3AE097EB73D00826121 /* Build configuration list for PBXNativeTarget "libSDL_image" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288130F0DA5BA00C302A9 /* Debug */, - 007288170F0DA5C400C302A9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 00B7E3B6097EB73D00826121 /* Build configuration list for PBXProject "SDL_image" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288110F0DA5BA00C302A9 /* Debug */, - 007288150F0DA5C400C302A9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/decode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/decode.h deleted file mode 100644 index fc2a83aba..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/decode.h +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header and return 0 in -// case of formatting error. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling free(). -// Returns NULL in case of error. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be free()'d, -// unlike the returned Y luma one. The dimension of the U and V planes -// are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN(uint8_t*) WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If true, 'internal_memory' pointer is not used. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is false). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN(void) WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&buffer); -// buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&buffer); -// while (has_more_data) { -// // ... (get additional data) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_SUSPENDED || -// break; -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling to -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// set to 1. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN(WebPIDecoder*) WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN(void) WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN(VP8StatusCode) WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN(VP8StatusCode) WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. -WEBP_EXTERN(uint8_t*) WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN(uint8_t*) WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN(const WebPDecBuffer*) WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - - // Unused for now: - int bitstream_version; // should be 0 for now. TODO(later) - int no_incremental_decoding; // if true, using incremental decoding is not - // recommended. - int rotate; // TODO(later) - int uv_sampling; // should be 0 for now. TODO(later) - uint32_t pad[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - - // Unused for now: - int force_rotation; // forced rotation (to be applied _last_) - int no_enhancement; // if true, discard enhancement layer - uint32_t pad[6]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition). -WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). -WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_DECODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/encode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/encode.h deleted file mode 100644 index d635fcf0e..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/encode.h +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'free(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN(size_t) WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -WEBP_EXTERN(size_t) WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 (smallest file) and 100 (biggest) - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - // Parameters related to lossy compression only: - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter (0=none, 1=segment-smooth) - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - uint32_t pad[5]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN(int) WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics (mostly for lossy encoding). - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - - uint32_t pad[4]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed using the call 'free(writer.mem)'. -WEBP_EXTERN(int) WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV422 = 1, // 4:2:2 - WEBP_YUV444 = 2, // 4:4:4 - WEBP_YUV400 = 3, // grayscale - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - // alpha channel variants - WEBP_YUV420A = 4, - WEBP_YUV422A = 5, - WEBP_YUV444A = 6, - WEBP_YUV400A = 7, // grayscale + alpha - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t *y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now: original samples (for non-YUV420 modes) - uint8_t *u0, *v0; - int uv0_stride; - - uint32_t pad4[7]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad5[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN(void) WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, -// *dst will fully own the copied pixels (this is not a view). -// Returns false in case of memory allocation error. -WEBP_EXTERN(int) WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. -// Result is in dB, stores in result[] in the Y/U/V/Alpha/All order. -// Returns false in case of error (src and ref don't have same dimension, ...) -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN(int) WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN(int) WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN(int) WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN(int) WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// Now gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN(int) WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN(int) WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN(int) WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN(int) WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN(int) WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN(int) WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUVA format specified by 'colorspace'. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP colorspace); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. -// Note that the use of this method is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. Also, the -// conversion from YUV420 to ARGB incurs a small loss too. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of YUV(A) samples -// (with stride 'stride'), clean-up the YUV samples under fully transparent -// area, to help compressibility (no guarantee, though). -WEBP_EXTERN(void) WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN(int) WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN(void) WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN(int) WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_ENCODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/types.h b/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/types.h deleted file mode 100644 index 3e27190be..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Headers/webp/types.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Common types -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#ifdef __STRICT_ANSI__ -#define WEBP_INLINE -#else /* __STRICT_ANSI__ */ -#define WEBP_INLINE inline -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -#define WEBP_EXTERN(type) extern type -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#endif /* WEBP_WEBP_TYPES_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/LICENSE.webp.txt b/src/SDL2/Xcode/Frameworks/webp.framework/LICENSE.webp.txt deleted file mode 100644 index 15993f839..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/LICENSE.webp.txt +++ /dev/null @@ -1,34 +0,0 @@ -The source code to this library used with SDL_image can be found here: -http://www.libsdl.org/projects/SDL_image/libs/ ---- - -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Resources/English.lproj/InfoPlist.strings b/src/SDL2/Xcode/Frameworks/webp.framework/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 680c8e552128626bbd177f4cd7acb55afdf00561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcma)&OACTf6ohBpuMn3JJ(tm@pa(>Yg!aCAP^qXD_2aAWDkOwK$o1$sb7$tv^QDfO zvb0nzU#?C%=%G*ny(=|UMkiK8wWwR(3;wozx0Mw5OgY^n=zD=`!r9=NXsWR;paXEB zR`8#xmPQ=Axa;Xg$Aih%u;z}VJxVDG8*r5yhfa#KNV^YT7e_tL;0Mh(Ql-#Bb%L{mosEwjK1~XJFg=c$&zQ$d%zK>T>L!0`z5$gMQPuze diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Resources/Info.plist b/src/SDL2/Xcode/Frameworks/webp.framework/Resources/Info.plist deleted file mode 100644 index 0f80968d0..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - webp - CFBundleGetInfoString - libwebp 0.1.3 - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - webp - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.1.3 - CFBundleSignature - ???? - CFBundleVersion - 0.1.3 - - diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/decode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/decode.h deleted file mode 100644 index fc2a83aba..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/decode.h +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header and return 0 in -// case of formatting error. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling free(). -// Returns NULL in case of error. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be free()'d, -// unlike the returned Y luma one. The dimension of the U and V planes -// are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN(uint8_t*) WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If true, 'internal_memory' pointer is not used. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is false). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN(void) WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&buffer); -// buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&buffer); -// while (has_more_data) { -// // ... (get additional data) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_SUSPENDED || -// break; -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling to -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// set to 1. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN(WebPIDecoder*) WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN(void) WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN(VP8StatusCode) WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN(VP8StatusCode) WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. -WEBP_EXTERN(uint8_t*) WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN(uint8_t*) WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN(const WebPDecBuffer*) WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - - // Unused for now: - int bitstream_version; // should be 0 for now. TODO(later) - int no_incremental_decoding; // if true, using incremental decoding is not - // recommended. - int rotate; // TODO(later) - int uv_sampling; // should be 0 for now. TODO(later) - uint32_t pad[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - - // Unused for now: - int force_rotation; // forced rotation (to be applied _last_) - int no_enhancement; // if true, discard enhancement layer - uint32_t pad[6]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition). -WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). -WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_DECODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/encode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/encode.h deleted file mode 100644 index d635fcf0e..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/encode.h +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'free(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN(size_t) WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -WEBP_EXTERN(size_t) WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 (smallest file) and 100 (biggest) - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - // Parameters related to lossy compression only: - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter (0=none, 1=segment-smooth) - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - uint32_t pad[5]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN(int) WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics (mostly for lossy encoding). - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - - uint32_t pad[4]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed using the call 'free(writer.mem)'. -WEBP_EXTERN(int) WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV422 = 1, // 4:2:2 - WEBP_YUV444 = 2, // 4:4:4 - WEBP_YUV400 = 3, // grayscale - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - // alpha channel variants - WEBP_YUV420A = 4, - WEBP_YUV422A = 5, - WEBP_YUV444A = 6, - WEBP_YUV400A = 7, // grayscale + alpha - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t *y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now: original samples (for non-YUV420 modes) - uint8_t *u0, *v0; - int uv0_stride; - - uint32_t pad4[7]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad5[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN(void) WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, -// *dst will fully own the copied pixels (this is not a view). -// Returns false in case of memory allocation error. -WEBP_EXTERN(int) WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. -// Result is in dB, stores in result[] in the Y/U/V/Alpha/All order. -// Returns false in case of error (src and ref don't have same dimension, ...) -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN(int) WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN(int) WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN(int) WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN(int) WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// Now gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN(int) WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN(int) WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN(int) WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN(int) WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN(int) WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN(int) WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUVA format specified by 'colorspace'. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP colorspace); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. -// Note that the use of this method is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. Also, the -// conversion from YUV420 to ARGB incurs a small loss too. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of YUV(A) samples -// (with stride 'stride'), clean-up the YUV samples under fully transparent -// area, to help compressibility (no guarantee, though). -WEBP_EXTERN(void) WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN(int) WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN(void) WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN(int) WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_ENCODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/types.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/types.h deleted file mode 100644 index 3e27190be..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Headers/webp/types.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Common types -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#ifdef __STRICT_ANSI__ -#define WEBP_INLINE -#else /* __STRICT_ANSI__ */ -#define WEBP_INLINE inline -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -#define WEBP_EXTERN(type) extern type -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#endif /* WEBP_WEBP_TYPES_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 680c8e552128626bbd177f4cd7acb55afdf00561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcma)&OACTf6ohBpuMn3JJ(tm@pa(>Yg!aCAP^qXD_2aAWDkOwK$o1$sb7$tv^QDfO zvb0nzU#?C%=%G*ny(=|UMkiK8wWwR(3;wozx0Mw5OgY^n=zD=`!r9=NXsWR;paXEB zR`8#xmPQ=Axa;Xg$Aih%u;z}VJxVDG8*r5yhfa#KNV^YT7e_tL;0Mh(Ql-#Bb%L{mosEwjK1~XJFg=c$&zQ$d%zK>T>L!0`z5$gMQPuze diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/Info.plist b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 0f80968d0..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - webp - CFBundleGetInfoString - libwebp 0.1.3 - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - webp - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.1.3 - CFBundleSignature - ???? - CFBundleVersion - 0.1.3 - - diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/webp b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/A/webp deleted file mode 100755 index 56b1e59cc3d6858016c8e6fc0b2af08aa17a556c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730072 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�?!_lQ2qD{0=9pRQ#4G3`%g;| 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≷C#ge55^qSO^u+kJtaG^m2?BZI+Z!Q+^D7 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

6b7`8(s7i z?-S>RmP?Uo(+3u=30k`+vL56-=CWCtzyW(!$y{NE_E@nknP%(=xZdHu0;p*i= zB?#!V)x5;=5mHHXkx)zX0lJ7qp0^85WQA}AXVygUrt%?_UhS`h(nWE+pZvMB$Rb_L z!+yyhT9FA+bI+@$xUUMy+p41GE2ts0A6mG3Ms-5-ccdgI- zI&_{u9aS2ud92R2n%4J6tE&M)R@t5swTF<&mBmM*QOT`zwROKA8;X!HNOOO_6;QaY zM%934R~)MxLbBA*+*&OlWX!oj8xS0cUR8=&GINz!7D>~6PT|)5VyRJ-0?)c%EG9lL zPx?Gljl8!kYyOcGZ4ZBLo;-&3p<$Pvq`0Yf+XHNPyj~~&k51kNm`hLA$v-8kd8AIh zPbY7boSQAgT~mFGD|>-3W_9sM&`iV@7DWAl$I6hrmp4!V=zZ)G;_{75Y+-`2eNdUn`@ zUfdE+osUem7w?hzzG%jyW0UR0&^?z>$MSpFQfh=ZQA}t?zRP%EwYl{dZOk{(7b7j`?=3 zh0+Pzn)l3=rVMXX`NH#fh$ynQp}y~qs!ro={tx4Cf0j3$J+wp`)ngj->!oWO8`WBe zdcQp`ExkTmNlEfoSR1f#JH;MTGM>ld$Tc4G^rKoo?$D13`f-VVC_!sy4Bz5PyQrdQ ziQm0wwZIu&zEHvWcHySyWVYLp*sNZ|qk4Rf%*3h&Oso%#K4eQ#%%=DB7H{_&W42o? zq?6T&`Bm6spSosvpvYd6YTF>cpPBnVjoJc#F}Hw^*>8+lZK+_Oy*^lci2G{f?w}QRne`ML);i<@o6M`z1;5{-pO2 z@prrTNQHUP(+=qb?PVE~Dr-iTD^bHuVbYA7*tgEwA?pCGb=_>Cpyc%_W;FZ$@S5qp zyv1)pJa3uSi({!!7_;7DZLX|a1Ad%kh<|I#F%I$XZ?#qqdsL`@I*z_0 zKVa&r+UC2dz*0%662M5I(|lI*DLO?An9mD^`3f;zKgB#x=nF?43;}xtLB4+E=tr7< z?A8*XNk2B~M=cLJ$Yu!z^5F4Qd9WmnF64?!wT$$+{&Xi!r}IUWwN{Q$2wJU$`#RA( z@PiUOo)Ij|?jaja)aIRn*u9>@HJlRADs;R=evmNSDcW8W7732w-$?66O!2-%+Pjp# z^17ZCQQuL^^K1l8YkmUBV}ZB$M-oLk@>+Xb|M7`wlZVD9!Q@$dS<&M{c}P4;e7f#L66n} zg#H2iD8a(D(X`T83(XF8ZcDA&;e2lU(Pb|PJx`q1ULR`jVc3re!RgAe9Eu>f9NF_` zKb*!xbDsV+#q(iR7CY}bc!59M1`ih-RlVx~S-jhLU?K6`-wqUlzy8o^MsIYEYA7Fb z_%q5YHjcLED+IV7ldI>rr(T6xj*Hu43U+nbZLPOBHvOAs^klDHbkhEmn@=~ES2UKo9(q*pDRs?xRM2Z* zE9TB_W3KEk<*GetdUd7uPZa!&^r&o369;WuKK5B{UUe8pjbNYVi+;@)e!Ft0*J@(G z$m?oqIAFS6qIk{dv9x}{3Rd*7Ws;=#y@l_a>~%F3tn#_ubv3d;OU7=cb3l-7kX3(X z98;CDyWxPVkwV(cP`k%?;7SCEmbjtiLe^>1CnnZYabG1d{^)~Z){U55G;2ilyT33N zPo0GzUbb8sfRj7S+NKP%x@m%$wVOjcW{sHr%yOX`Idp+xm)Z^v3KVGr!C0^sJMamI zBp^j&4hO>siRjwW_Kol|?!d|CX;CFdgB2fpwE`-yc(2@8@Q>%AC>c0tKL2VLJI)sz z3RG+e7Vj~_Ys7&SmwOT)Tbu1byJZWR$XMsxa^k#E#mzqZ+wErPV0xh9pfN{EGu7aO zH);#7vmHNBv6sFz_ir)nt6jm0m4S*)D!eIBv6eDK5curxwE65y>9L2UbCs~x>#pPU zMMg<6xl2r|se_W-mPZ#$%W~WN+;aPjo@KMo_>)=tVFm|cd>9D5;~v>w z^GEf8eMaBUNGt3vt!(zKb3g5>KuPd)l>ijQ-IX@RKI1E&k>=tYPN4rtpx+k=y(`c! z66np^UC_sSZr_l7q2&_cnc?f`I-*2s zGna~RH~%_=-1f{S0`B;+Ysr4}aaC>Dx ze?4RTII3l`uYd>cpezTJ`I!!XnEm(uiaI~DCRQEi)A$NEd9BOWd5hV{GJ3C7wS+6o zYZxv_i&o{x?d90GmJc;^`Nn9;gB(-vpeMlfAOY7w{|gWAY`EsfzkRYUU@SPOk0VU0 z#bEu)L1xs>2)I_LgN90GvY&5_)m(7B|6<_|0*BJG_89JQ#{ag->V2k~Srt8JP%ymytQF*}!*l>3ZW#C(OZ5g5S zp$T8{2D!{0t}`B5k+q_-H>uTRHbQx#^{gEZnzS5;v-)a-?s>B3t9^ZW#j)ODmoG8w zp5%*`uOl(vVra|v4X-7ab|4mjw7aujobdCL`#_@asU9OTE zf5zx^qQ5%R*F8b2e4*F!&9}<`z+OMAYK}GS@fWhdxcNc83s`k(TFYdxE$W+NEbu*U z`JM_*`$O7{p7lOO0xc)_?P;r{RexyCXUIbo*&s4oz8ZhUw5Ohj$J3h2zAYtTujYuR ztIC9+R+A8#_Eg#oMrAaoJN#bn`62C#Hzczv40%+27>t%LH0w>(DxqofPnuDpQ6Et+ z6FBXZ;;LL4EeE*r$NlYVSmWa97!T2TB#xx2JuMGLee>-R@5ByxQ1j*Ut+fpY_iw=* zvMzrl)Oz;R%q5X_Bdw)hsP#nS7qU**)|babeUHD=6q@#UnlblcARjKdo|7MA^lGd8 zAqr)}B2=42L#oCxqP|C1!LW0HE7s6zl|SON-Tp?)Hz(?Q%J#Qebe_mF}OHQ=>5gu8BMD{>0h58B(m@^Lu zr7w{myqH?-4X@P}z5H>%wb>gjf2jFUhE%=L??V5dV#184;Ci2o81q;nkMfFLBcq<* zkBkO??@`x{x?=t%aoNH2>1w?ZL1c&jE3yRV3^VHK6Nq9V=A@0ZJiqfMLTQoO1X>T0cj|5vQ_vvGo*8;AS;d*nAF8t5HNXYT}-xL0=3J z=A?%E?^OoHcpgiCCVgP{p2T}|(@o0Wn5mP0B+1it@?(-5)5$mJnF|^()(#^AD4Qq`skyQ!e-3> zMfrud&S2rlJSS^Qp5OMZCeQz4?rq?sDzC)+H!kz6iU(k-sE)t24rue7UcY84TAnE^@yS`06XC{@7M ziDMP8g#gO@zvsDkCKJTnZu{TQulam3_ul9Ib2h0<$PEukis(93 zr1rDePx%_N58A}SW@2m^Ut#l4Jug!k$k|yRIEn9=*u3CPZsyK#Gd4~|s0tcfRNtLh zk?+Wggy4ycg+gl!3w)n&;QLnIw*=w>CH6deT5vn&*&JDnx3EDQgvwF zKJDqaC`xT9LdxZ@dPF*^E&V(wp-N4M7JG@(qwCc0xp2MvQh~*6lL}`FqbuWfM7!|0 zBifBa$N#HL(u^*yxQ=Af)MU-(RDa%p*;;v5N^?>RAxsONA-9Q3wGV}}Rpj)GPTnt`0&ZZT884o>4!nkN;?ScN`<{H|-~xByP~@=62nDQ8)i&V2hui zfcX(5_q)Nmk2+&-?t^P6u&ww|Uq&^$6ZAqF*@iH-fOC?H{A~XbN{EP#$E~(9aN>WI^~mml0E4G77gnm>8D};$hpk; zR5_gH2H}8`ufeer9xqop$}yMagl|*fO4&mNh_2Nt2{T1;E?$|Jw}C8DOF1hp`BPzh zm2ij#N_&$7zaa$2A;4Y+KL_k{^#?QfxQn8gpP3ZpH)A0l2IQtWz1=)y#>DZg3HjNI z={QH5Mzo?7O)heP4wO8Y5)ktWMUxxs0Zyc~P7)@UN&<7!hP+GZ?>+yh*a3$(i0~0z z*p3!TY`)YP+eayF4TI&Xd!bBoac7{Nrseg-ktp{o^ea-R6>c-k7MCGt*acdU3Yn4F z+A60+d#H!Yyu}uDu+&2QD?Ri?L^oCWmYNGl zav@zKt=9cgx)p8@3E^wmGDFD+pd50?$b?}+l&FRv-uPupO&q*dD=Q$2j-36c)AQrG z|I&zFEBs7X!j#UA^8wkP7SjZFl1RBRdFA;bN?I?|JMvpt1vvRupc*Z zNw+`4V}D!vq$+UPp4jbDo;%WKBQ)W&kN>gd)9IC^fDt|@HkL43FEL}csh3_;Y3{kh zAgocWfrtzkP4z;(b6y}oCpR@w{vKfk+DQjs3(kzXc+!C$XE2c+kVdcQ^xL<3M2QTS zEbMCv9va7kc&^l$Boqj9Ks|u%R<^u!cd^!dQ2J_ zsCqM?O?fj=^|odUg%+^OuGEjg06Zq0RIyXv40t|NWVgTK0L(4YUsWr@n&npYV(a?F z5Tvg`aOcQs;J03MoGLr~)(O;+Mzb-t(YkX()*@Lx0kf>lZ&shn>7kzP6qtBS8W*q^ zTnR#0*xqv%+gncm=xvodu$yHmWSPwWP?+y@CKJ>ubEh~q%a%z7vIDU{>cW#|_)LF1 zP}LdGLLA2|Y_lTm*7R0q3>BOtEB?sjN8-^_aGavTX)WB$sSJR?fg}b&cbLa3c0`XC zHGMYPJFw|fi348v=n9U_;;i@cf6Q*Ts=6rMnfi2dcfo9hE_?WhDOu*NPyt&1&XNVh_20O z-6Dt?`bB}yn0QZAvIB1c+w1k)Mt<}}!Ga4#xN(P5zOE|JsR7g0*(xyVMjczJqZjd# zTgTQy*)QCRmTZyTM+l{$g4>Y-x18l(ykqY0Bic>e{2g8#W%O3~&Egib+ny#u)g_|z z>4>Qo43g&Gcctta>E9vvVo=N3sIv3g7&PiIp9xfr&4H>T#`^nR2_R6l$ADquPqA^B zR1&C)v{}{Xge)bb(aq{M(|b;4rBoYr0R*E+F-EqW##adscYezjwQbgIXC!^C+no;H z7!&lInw-r`ceW+oDUmeZJ@V?)R_#<{zen~~ZPkCeAB+zg-s)q!?5qq%dw3>wn23$VEUkk{2yB z8lGk7_Fces6~vOQI!64>4r>mg?onuXMC7fF9eQqWQjV1tN}-F)(gh-2~% z)Hiu%z2zQ%Ml*y=(!Q zlw9w;Xs^iiL~(Y4UHlaFaJm+0)pxz+Y;|{mERhFGS|tcX%noC#FrZT#H5KSEPH3e{ z<(VC?gvLl+Ip>w8!X$*t#B$z8Eyv(^)u#&*e)dH|)DAM{sK^1o30BQ+_|4Mo&cLJ2 zW2HP8kM>E{=+&%yP8)@VMZ&f+BVj{;D{?{AYY`2Cyrq#MWdk(*=36de4w%?5R(o>N zew%nJvNBNho)!}^nT$9WHLUQX6SjDJ^RZmp(3?NO4E1_5Yig`e?3ZMuQo3F2MP{TB z&d9|X?67*5$fP=4nbe^LFQG6YEvYzwiUne+Edb|z-=+D^@F1M}63Wo7aOxPgj}K({ zZP^ACGP}pR{vLOW{O^#NH5MCh=mR2>8oS8!o|TRx`d!t73@M8krUvUa3vR$VFZ=u! zXP;lKLaY~$E`j2~4WjV#UBPhd{ zC#iZ#C8L-fz|ZC+{#f1S*p`6ZP=#4wu1EJKAmmSU6CJx_RkF5NQ_vC@=CH$&?6={`y`9Dkamt+yxLmwn4nIKx2$!`EzBzwmxA@?J=}-7cx-o(?$aAoY?x<5a@cnS|W>`KB+762_;3o!&AjQ}0CJo_TQuebzz> zPCLBX_mayvTguq>?%y0py4A^u6Rl1N`nN)=`9jdDE=zt@j;B7cJ|+6RJqHAk^Q{*7 zUt~GUdxe}%1RhM@@}}B&f9*B_pj=_es_WXqD0k{CBva@1O4>sLz!Wtj#q4m(0wxJB z7o0DeL@3gc)3B#`#~f7&L`~I|-}$WxANs5EBLmZ0)GeKsQ%XL6IRY3pjj(B5`WA0I ze>Q^_&(HJ8!z+~ubscZnl6Oc*G0D`l3q<%SqfQo2mqM0;D_QVva&uv~b*Tt;80#(G zPLWl2N*5YB5%P1SJLag_>4=B6YKoL~+j0d2T(-T84w<**lX)Ah;nyi$u37YJ%pRvP zU`vKeP87_B1dU0!$*FIH4{<{B*{?FyFrR~@Sv_(|GKkKj9a+uIFeDY<4k3dz-%pkq zLU;`iG!xb3M19qb8stQ&{Y{eIK#3yplMN7(EYPgoyO;4|R8|MsdN@PX<-o@Za46z0 zE0%hbUmy=>c|*<&blQ^b6wn#y;Frgf^5}#2Qa@b z?!U^@<>cY$T6KH3>UMPDl02=|q$hfG0jp8FZ=t-~Q%ZDuZm;roRJnv3c~)_m-due= zKXOCBy8bu|zgzU4%#8r|9-I#76_AG`uhF9?i<&+y4AVId!{o2n%T|eX&yjhkj-}4_ zSG~HhSU9DD#Cy6@`}OF?`2iD^03+S0SJ8r|WzOQMLm1ItAHU_bJf_l>SjR4w4S_o& ztx#ujf2-EpSqq8I#MFwOqG&J(9o1Po3Mmnf(rWckh^Mo*T$WB}Eg&P05+`M~6IkN} z`klvU=K+vO%1S56Sm!bBHVK6DlBiuJ614Y79-g!Sjk5tCis4MO;Jc;x{ znkI=mYs;MKOTWNZ>T7+$P<_Of%K1a8nqbz6q(*Wj!H7TdQePyPr+mvJb$0)6y2h@M zH>*byjlsIp5=QVB{IB7E2mc58&&co8XhNTethW{;F>?E@OI!3SLbQtuU*&qQw&+1V zqD{U$t?i$AQ;J#_*N)T{wW{!<0rMKI+LClvw6|bhL$qnsZS($#I}x|dyFJ=eHgMiI zqD|$Vc{8I;qdoJ!Zq-&xx6Hwzo)EI=aD%!xOZp#~K0GDlq;asw_`lt@iY&#r#~qI6sK?9ArhQs7hi#Pt_tls z_7V!qM8{Xls^Dd%Iej;;#3ao_=a);T9! zmkwy_s|QZ7XI@r-W3K3?IY!++G86=G$)u{O+ZR|oYRIIvQN#3>jS>>5IDy7(VDZSo zliEgVs1gUUaIMA0%PbV&`Xn7*sl|r!l{3Q5`D)*JNrrI2p$S7)Gf@p$6(g73&jmyU zGBGmA7{zsU%OyuX7gk98`hi}?1czAt2JO%l?w}FZFtCu{1q1W@4cm5xH9KroyPCe! zZ`3*%)c>DGji#Mp*l4!yIi#ndXGHKxKfA?u7?^-(x>$>y0$g*3kM-XVf5f(G_u&^C zjwP_x0nNBQw#I)){3C>H=%(xp$-%}}d@e#uqr!n{@aZefjmKVgLb{DQOoUHgfeI|T zue^2H-WW5RmjQ0DOyR#@E|YTh!xO|rYYhua@P~riE(R39wc8am$X5G7xNaZNHvh`} zJTSnhPaD>(Zl0g@+rO1Gh!L)VkqT6Nh}BRMlzH*7Rp%c+Ypu5Q1dBFg&00yBqdp5k zzMPjb7l#BYUcqlnxDKH)c>-0>YfGOax!$tLfx}HyEA}%S_epYv`00b)b2kWqU zJNBHKwkvy<(2jt3XxdwA&#a-8lhm*YG$7OW%r&YNqdr}0`)jhbv(RXo7wT(Ey?2Ky<+oqy&zq{f43Qie3X;cpoyiHzVitv*xe$~f$&D4 zvxd3JQz(Sqb4c2qd=zRCzQ_*Fm2;~+Lx26|a{+S;N;GIl$%bx@DntCE^cg~R z$&jb7TSYXCZb>D35YLj3PBXII*^cL=c#;&SRer|)BDw3UAG5oZDkv)3vz#LT(Wx|O zFFa%P1gFNLej}{#8O+cCgw+G#pLqHv74cEa&v1G3P4dYnKf~qCH>pHE`57*6zDcF> z$_Zglt2VSX(Lw>;9_1Zf)r?hCF0VFV#)lm_7ay>nBtf*&X(L5cKSlvzk3d z-OC}*2ZraQQHL3o?XdtIsg-lPQn-|)%%h4S;=A}g{xWbO}| zuL}NEI83sk4X5U zd|p>dinOGVye~-57v^o-M6@Wj~IMu!Z~bD}ZVrQKJ1+OD3n-ekSdOXkuywFpg? z9h^q&UoRm~dsic}I_H^HmAMtCqY~p7I z@`!SRZ`?*n<%<)E~R7)20B>8?T^@7imUUJ?~zUbOtSfIDB?#fd6vIU z$Qx9!nSgIeFEHU$E-jO8G9oh$5OEhxxUq+S)U;+wzm4y>8{XwUyVcXt;@%*LTwg1{sUbP-&B*JKgG~vR>okqMKCUj5lRv9bgH()o*2qE?c0B3NtI~_ouC_&8Z@a zE*wQEz|V{`!H*H$fOrV@tQFLlx45w6%Z{sS5ykbn?E5^S&`6)YNC?p^KjpWZh416q zonJE&;$d3vPV%Tkv0YT+)07c;8F8vT^x(z$qW{?L1x8vK@wA)}lIRIsWakv3+zsy9QdoQ;?glwK%I+7~Uy!jf zI=u;1oVt8n6G>*ym$LD#2~nWTP4fn6;Q!tH#0w?EpY&IJ4SXzKVd~7U2QVl!mU-|`qDX`6coA2OZ9C*OwR=El*cuR*IW-N#0NOB8}Una6p?_d+fLC(RMF8B*F^T49X_Tmw7RSoXx_|t&-Ls%mNJhf)=ptf!CcM3W8H=?hh1v!1CQNL3zbXiaO zdTFm2Sz)#MWaPLPVSBGYx~2VG_~oA~7!ki4qegp(~F}K-=I8kWa{--<9@P;mRg-!fD%_(vWp) zIUXR^G*fEw+^@)?n&?=r<`YV3N>YzD`aF@#b5F>nmQ2mP{p<0YJpoKs zoxNuSI1Ei)xaigDa=za@t~T7m>9aQym(!9=7VE#r@_>qyA?%O|4;4gKhUyk}ADPG` zo{~uf6x0NkC$C4dK_*ZlhkH*I%u+MsFNkodB(m8*KC(i)PmD-_qm3LKouxOvX4DNZ z>bnGJje;qqM%|0X9Xm%Go^93?FJg!`fwQWFw&Vou;BYb0jtQmJ6G$DhhZZ5;%)q-f znA`s8Q|Y;b)A)pLIhbxrH?<@@46ZqtbDWU%^&(x{P(0ahUFQwiH+k{lF3GhAHc?A# z1f`2_+C$m(BjU!PNbvO?@8~VBNomMg+7YHtn0s$ zQ|LtM`X1V4=`FFXQ|y^v@izQN$a5l7>7pmdIoo`$XAMtX-4&i4+b2%sxmY|=w8N9kbw5|NRuW6@Lw>UkC|q^D=!t{XTz1x3b5>YU1vq!zsYYkEG|ZCLiKCazPU7i zi@xJMz2z;{eEUJ<>I}!s#l_$dB&8G@S#8uINg4SS*1wtpiz%?LA3md}g@RGCb4F=i zA&pJp0sXntM??mg5%Jq!^~jxQo$>Tr-z{=mfjr{$X4JaP@S8UkNe*q%hXNgEY{lrR zNnXwVJn_+9t?4`~|0*@ZgVOOG$uCNuP}ihG`D$@+`%b@Q)}~KPg!P#}}|iAGFu1WgfJjqQSs%;X`DT3|&S6GIY~YDJ`o;We9W7_qNf}DOiGn zjg~DAEm`<2H&><_mAoZ7ja*W$esn;AqwVI2E+I@`JU|e1CaB#BiYL8g9<=T}(PdJb zl7rUFSBH4JDaX3Dk|VCEUcEqb^hvs{>*l1lMNbUS7Inxl*q5)BN8QMO!T(?SHGT0p z&94rd0>0Q-+yIgJIRS8&N9102xc;bYGZPjsyG-^Oa;55=0-8^F8U{X*mXNQ8 zt$EW3mG^+kpYIfyx-x7%T|-BM)&mBQu-$OZz+mD%M4+c!TIV^xBDGRO^~GQJNCDn0 z-Xb9obEP3+w#$Fu|J(fE$N!`J%lXh7{Ach7p5y|?jB zTJ_#M2K|r@Rjh28cC%Wcjy_Y5=p5zJ8%Vsm!gkH*5C;Wf;=-;SLbWS;4%2Q&z8dJ_ zMq#rqK9GBSc+Tz);F4$2>y!fwK;^C)1#J*my?E3(-ZAdKigT2mk%8(ic^xO=91I<-|BsjX}hAqSnapK!%X zq!~TMxLlG`#3YK?==UUbyVWZ?h^WJawJFb$sCbI**~(|*C;`;Ak>mWRVcx$NLpkI+^XyyqAij8!3^h0hw@ptf)f!r@9#iLg9TW@I^4ZilO~iA z(;x?Bs21{sNLkp-vzv2j$@3s5yxM(Y0Es-Jee0CDP84CCZ0lw?ujEuZ`zo^o7jZ{} z8X~Ic`cBG|gwBMPDj-nWvymIrcqAMOn$7ulT<2jXR6aD zbQ)VW3%us+w``p!CIYSY<=0<^>Wmz5!nqtJD49P7xlwjM&iHF$Q=3#`4YR)P4b>&W zcXWL&$PLuGbm)#3ht%S-5cHyVJwLSk=mSlY#c>=rQ*C}9bc@S$@ z_31Wh!}q2fvna_ovfwb8dN8b$-M<~OQQWoTtzFEEOyukcn@0NjiKGf^Q{Ms_#(s!420WW}&xZlepA=PwU0C9eqhb}V@011v>pzl~;ggM~ zgzrcX3E%NMIu)lk1JgJJKM<-rKGiP!0n9x$b2K)%P3-a>OI13%hHBZWOSIT^40O2u zk5X9B^JhT&%7Et(r&K^*baOtU(W-3${MeT@JwX`;;#nqm+3jIdyYqs4{NGI zxdwGV`|`R)4F9U)F~%KRKZjGu=m`&9rwG1>Xsi65A+V<6aMh_MgtZiGy8!A@}YI-%wJh*Q} ze3}|IJ6b&{FY+g}bYt=F<7PIp7X_H^#Ek zpfH@%d>;odb8+D0D;&U^Xb69*MKGwcVtl}wh?T*KVw|vsTPTo6=#49?!qBFo#AJ1_ zQ)Vk{rj>b%hxaj1Y5)BPGB-iqR`f%k?aeAHe84nj=7d_|H%#N!egR3-xUFBnyQXn_ z^zKr0%11F7Ryb)z-nF^VZ3PZ+y6{G=Jrcg-B=*)Lh5B#PsZaaOmlN+`%I9Uyza2#F z5p|W5dfO&{+fSQeg$0)v>QAV&J5}19l2#e-P-#!-Z5#bC{N`1PMJS zcARibdXVf`x-EJSDOmcuYT91(m%dn2+F8?##UAbc&Khl1+Pu3AXu7LjOzS*7>IPtW zr>xr>IK=_~AJUaEu5d*+f!^AHXD@*XmQO|}KsJ<-Qz1?=0kW|aPt`p;5QA@L0Z2Aa zH<4LQ`>_ zib``|g`jd@6;Z`I(8dkDn{xoJSyJ?;52EkRHvDTjl+iY+Ng_8&ZC)U3>{D(G;CtBdZqG1-QB9%sXL~b0ZOvi~i2%7n8#3M3Q%EB|Vyi~uwf{BmTzcvB z`J2&y{;nFM=8wfE^S4B)d#L%_e3qJ*E}6>F>NPWe?r*e{WQ`HnF6yffL% zIrDvuGvCvh?~xZ?YkMztJNQiBe1~)A`ztcvTxi{Rs%pE;H@D2CJHOyUX3k`5r%iUt zN6j=*=DU;mjxgWvHPasE+c89-=3C8Vu88*x^a}1o;ozK`@C}zo@2<{kyd-4T&7m_w z|H4rvOGdKAqV!kJbxD*B;`-;d0Cbh=IO2}#ravgn=^xP?g^OMOPaKYO-WRl%3_KuF z(FE40dkV}Y6K8@fB)GSK@U3pJkD19yeVZFx-aq(uf>|RtlI|^u{6ucD9C=4HDP6x2 zSud)xVN<99!7146`_D0Bx$GwZ$bjSYq*xl7gUJUym<^(F! z80O$F^+gUU+*bLkzE$0L0cDY*QXD`3rdY10=-RSQF*4uqpKiM3)`wU~Vs<`OBZFZ* zB!fY|ko}YxB$ceQ$H{UymVA}#79iO}G8blSFX^n9jE@<6kYB|wVWM2feH6gQT!|>e zmWc0z|JF$lldl|>ZaVKRd;4cMvRMt=7F+fBqQrEZWP59=G|Zl_N_HG(WD_U13O=!7 z%|tHFQ;d7;1sZ5QRKkc9JoG2R!3%^)DrLaiZgVgbw*~Ds2Qwi}u$#|}nbg9iai2NK z0Dl@gL#fa9$^R9;PARKBr(#>bf9M&R1`_9ySk|(0X<^JxbH9?qV+c5e6;0{W2$%_c zUXa|3NgHLNL+Zvtr zz}$BD&G(gvG*kVLRx<16Koh$5{Y=F_Ptj`(rNdzAv}X3}{c zzC^mU-?1Kg+ZB#=P?2NyJj@SMsA%Tw6gs4{8W4wcRs$lWGun>~J!%$_mHOI?W!~+F zO4WQkB=+_By4v{?d+%BD)Y)&I{UYhv9VH=sk`xZ&aMMk)9(_bQ;4gSob)+A1pT06= z_OhQd7o+;`=VI0ARL*=vI*>Rs@;FY&Oh`UL?g?hAD&1^Vh38C-7wpF1GA;OKO>aV5 zr9z9{C9oEKOxh|FA&qUuBt|g$;iX#aQX*YaijK%+u@?$O0j!SNJq!JtAp|DWX21d;tD87@#S3S!u|8q=QI~y&1y{ef5y! zootW#f?+z-VLc>eyCKpCnLq0x$vL|{U|r%b_%h2tItc|;2^x?z=xB~PZR~rBg~_p= zx|P}mwSt0v21tQ~W3y$xG0;lJ9DC<>yXyuhIp9@E*Kkb+HC-W~=^%H*o;L@Z3$py4 zad5~wwR}JLMHaAGvX6kSQv;BdzKaa0WwY!m{iO)+B0hjo9QFkm#RmXn7{wlfl50yP z{HotO(eHnr=;coIeu;j_iT)2Kx?7@u>_qR7=td`csT2JhiT;Tbyp|x{vzU8JvKj)u zep9oodeO&?HItGdF=H~FJOo&B>B$^?;DL5j+g0p@)W zKAhb^xi88#pfmaGmsDgkK#pbuEi*e?}US8M}VT~U%+>>CbNmvxp!Cai8*tzdt!y8HSeSbcz`?c0HC zoiUfWH45C>Q!`D!)VvqO4oRE?1<`c^U3m@X_myBhB|*u%D%EmreMErNUC4d4?D(=1 z%Yk5?b-#dQdYh@9$cUEymc`%G>&!ISbB6SjHwpyP>=S6|pT14V3h&z{WJogeo!K8G z1!z^G`t1)BthEY*7p(pG_7GruIFUNf-KsP21O5L;m;Uc+JOm97{qN8LJ_PHh?FgrB z0oePDJ|<0(8I!j3p?~4`vgrR2fv&LqXqkim?}ROSw9MH6?u0Me>}&wv%&=sz$1?2# znIZcTv8~GNOYwX;8-OZM@duXL|A}z$e;JPDT>L+}JY*^&0ahXx|4UoI_Fo47t8uo} zHXtEfA!h516Q515b2m>fxEer`v}^$5Cfmj1UCf_hp?mTb=3lp*Bw2qMk&-QoqG0WG z=ORU((-~!lJ$0uXA6Y7~QTMb$CW!V>_;sW@I14&KNk15DV)h#;z z&Y>V8{BVc1!E0c@1)UE3*y$~A~Hhw3;+#>M)l$~W1` zH(sLT@@c+PtrU5QTjK+6&O((_czl)9M|98KZrlLk2KSZvr;pSC{2wWGAW;MQqF!>M zMyb$DVQYR4FeKL#)l(rQM$<*v9BUqtxPK!~kG}0e*WQ`%H9wSKOR^m0jVvRY#!7uf zv>n$k-;oS_VvRyRzoGJX{+T0))LjTH*0GxMdgLA&IX~~_6wY9O^2(f?iY-fi(aHQr zGJi&8E+Sv*8=2aiM0qMvdV+)wZaUv7EA^pN(D@2E=c$|sOY>5Ixx?@!pL62Z5kFJK z%PQ~V9|N)XvtXbg>!+kg{XyUH5oT&42Lu2^77L^QY)ewq$dfj@&w#7O@d_wVF}Xdj zqEDB_pZ(V#_79;Pt2E44lhbIr5-@Dhk8bfa?9Ncrx7!R6AqXLrDwxV{-NMnq zEs*n?-}+8*iS@KgqMK@4u$~sjK8C%)@mHkSv*@XU8e|%BT7+HX zB3#4!bT3FsaSW`$hKms4SCA?)+}yjPx8-<)yS-vFQfLK{I@?j0-%>D0a00?>dy;y z_WXj6e)Pg=xfP(9FB^9FVJYKgw~YJA=B8x8q=zFpo0-E2*W5weSbkW0Af6gfrTf&9 zipSzu(z`H_*D#Efw(Q#lER%p)>jPr&vRElZt``lS=SigQlL^{@V7&lZCQ#M^%t)#?7x6v^}&`UQT+*QB2Bq zzO>i}AgMl{VKrfYCC_jUtY_+M;Tc8>y`=bs!~OV$UMZYC5C?b+eZf=jN>?4y(omG( z#^fs4OEV_XW=x{{*ao*{{~g=#Rk|Z=gHOqa{_LJFyy%`U^sg*PWoKj?4zSm`rwx5< z!%tPQ5UqZfY3(qL~w{^e3 zu2J{hB14e|*D*cHI1E;TCgc4q*_t^L>zxH|ImLvzkk$WBcxaaOY%6KjW9FPqs&ZZrAQ%0 z2`*43B3$?FvZ8Rox64YP>t*u7b+?saCsCc&;i*?fENI924((!nhjzbnIE*_p9EJ-T z3KDXqO^=i~%!Z5_Jcam~bQw>Vj-wudC*tIeKZ*y!Z~TESO|ccf(Lv;C{D!p4$c^(H_3Ar$mbjfd%+Qb!31D7?Qnjtw{5ZyIOaH1Cbcba9s znhCuKCPEoz#>Q-anUiZ0A-n%y|FvjSQC{PP&Uqc27Mq+ppSdFBc}tr01beeg3p;$E zs$-{IyTbz~#Bljk_v3DyO~d`H98 zXgHx~d6h7kO~WACKR~C34GP<_L(Il=q|8MC;X;@BH<*DZcAvQoI!Kr1c89 z%%w7Hbl9m|5-Bl|ARJ4s=13p?pyuc6UsH$RNYbF9e!`@uxyIoedMmYzVPJh{-|W`s zKELQbFLIxkyU(lSnF=@v#raKdjUM-kO}_;tkU{kR#%;9hxs+Uq;uhA7-=~HV&NaUq zx2H&Vque!{!L5Kee(uW?O6HXMY!3dyUi!TTwP$Nx3ItEVvmkT)jItFh)kWC^u7ik>Zko3>$Fd6w6Hl<&b6WAh|x!^RF~W zPCNZjde)MAZ>6UNOQQ0~?MEJ|BKujn;_YRVHu_8b$rehsBWcdHgr! z|LiX-{~(JnxBVqf`8;yUkM@>F4rW?kF1V_O(ldkY%;xO&zVW4#nemm#%=pT?Grnaq zzB821$K3Ii1ljQw+JTrb#A9OF{2TaZow`QDkkBo5t%QyWHA=8ucb3lH$hB*V=ID9%f z`0sN;>J#8SI)}&W&c<_pxV>$_11XgPHU1kkt|8KE)sxizM8Yz zSIDJ8u~r(F2pXp%Haij8s?BNdA{8Q+E0mtu7bbZnCC%hsz$CBZc_b>)g@Sq!vXO;W zJUuBN<=pRSxES?1a#h;frRMY5OWtf zWL)lkZ&;UwJRH#-Q}*4V^P%VPkx=&+({pBIw^6s>s6SZ(%wbx<=g7YNJy3_rnG&Yf z<2?yRB4|(Y1;>nfcfBv3!gjrb62F*njV6jrWkWjJ`zi6~A=e#L#$mScCQ3c&1l}15Lx)MC=kThG zbrsv*X4H^e%dO`2pjklI0C!RLnOQ~_aXw_(fMMc z4G-Ed+!9g)f(oqWWPJ>3`CTHIHaCkr0xB0B^bW_FnuX^hs~RR8 z8M%etA}&3WOWCF-;)mn%e5}uwR=u>aP&c1XovV8`_wi2^e~@e5RexCcXHhOhUtjJ4 zaNaV#yJ|vFleDef%Hy)dhEfD>$v+~$MCPLI10dVSCwphIlQ2{?QKU?+<<;EVa~`Y- zwrI%f8(*R=9ml8m-fH~nn0-jY+jHSxpebZk?-h-(Qp5^Sqr(@;d z8f8)NE@?x0lV0_irUcF}nFQ_eSu1fT%o|Leb5|jO^(sltp~4F5A(^RToQvPibId;T zp#?n6hvxIk8tD;h#2I?U?>UL3FUJZw_wlAAn8o{2P_$;3nK-t?x?hT@+M!L^c5H_k zZWg=ofhBBpLKp`+Is0xQTOEjy@N z%gSVliW<}Cgl@&;16NkCXV}J2t4v;&l*y3Oh45+@7iR85>sBa++GcSp`i%Dq9paGp z&@;a9YN!w)vDHhsL*C-Lb)Qu6Np!y;x@YihD8zxJ@6I8Bni;Y@MNe@}X34!SK_vwL zbOv4)x@^~2rJq2ai;h^qoQ^l?n^kzTN*RXt6I-d9~w6zD5i zOi!-lC>keylNwduGG(HGL7DJ7OJcIqs`BJ1yn|%884S$RO3a>LHYV4B5>+*{;1t^$b`X1<@ra-rL z@7F{+WPNjm=;2B@k*pbO`lIIbHf#EW=JZxj5zgG2wb*|`c8d}8?-#OQQvZZin6?Ze zm~2%a;{NXn2N}pI68^Bp2bLhqiOISaC?XRc@KTrYBPy55j`CNFCR<~V;3TlsFvoHO zI#@Kh(<|4;kpAT41J&V3R|2Flrh4;_U-xYS7M7-!vN`dBItUe%vv9C@1k{#p1lhVs z5C4pox-*shcaB&T3N4ZCR;U?JdM^HxNI`E-uV#VjCW7`V8J@x*){K+iW_-hTqbEAv zajrfMkg|r@&@ubeehdDl_$9RFrTDV+vc5&#;#xrU?*XQtJqy!c3iPWo)KDQoR zBg@V6pjvg3E}AZn^cbDW;{5D(iKkZ*&qKcGl6>*_SYGT?(Y&g`+I`nBoITU{QHSC4 za}L8Hc$32vJ^X7PYp!Q*p=f(}Pfj}_?^m@r(UwGi--(v@o34m3Lie1y<{u$;ps2!%PMI~2nl7q0$=w5*a{@|*{3EVrcm3^4j*ugSjG1MX{QlnqDy^^=!jZeoUIdZ^k008zITEV+b?{sXm2M>tlt`%bDRHnsLZw5A0|O;Au0n@Ms5CxtV7P>;wjMlt5VUaZ z472Ft_NZ#&Z{_2q9m~+QHH(Xy4}MTnbhwRlLSIXNi1!i?Ksxd7e>}dB_**maKR+#= z@Nu1s+G&ye8TQog80OM8UY{8*-{uK)RBz4Vuhp^`Y8EfhPSvzsE#_Tt9?+9Di(*}x zc+2bAj=ev_S}ltb6NFddH-7MU1hZi=H1diy*qT$B-d=Th!KW7A(@YI*_q3?rd(>}~ z-_$=CR)^$H9Q4}X=RSU#Vy>=fdqNW0-@zSR|KgvJtoCXa$9zJd!sKhH`cjL4uVLy-EdstY^|iuHIYND@ML^tH>Px^x zN;yY;sYSrox#~*+i?ays5opOSf_wTcf_wTcf_vg_O0@{?+3bF)MR1S6k(8nq!9D#J z!95DFoJFvBH|etWeCpI>gSKzx+}5b`wk!@+RvOj=GUsiRKjdpn+vJaUT-rAI6pzc= zCa0~X0wCNCjUF#(IETP5v<>F>thULX#s12Iwh8&Ea~DtWw&gFLP}nxXvv|S)f)-C0 z*fycSQq{qysb{p;*YG($MdGw=<3P8+k;+4ZcE z!vx>nFwUsEZk*x490Z=e1gzc?=x#3kFtdDIcs-rp2G@(NoucUXYtVn2LuHnR!lZSB z*POl@XmdH)4r>nXL28OCu$b*r#=5krht0^tiPyY(1t&edJ`4(Wnc=lD^fPWLH7uhP z&aK-rMx*VCg`1MbZxF_@Pp{99ZSoC1Iu#N_Hgz@SFv?vxFI!y@c$D2LRCgfgdET|= z8Z=*V+nwR>(0>tA6Y%883qGKX0`8ebf9FH;5qSf}F-&gsq8KJjpFp7%SScmLad{G; zAJM4aBV{yDM%eQq*8rHPO%$^|@+vaMaXIwFY5kS? zlKFndOLyQGYP3~*bhBGe94OK~T)Ehoc+KbcZ0rXEAfUZ6`+^%kY~Jc|aAPY4IQoHx z+(D}yr?q}YO*eDR)N;M7OBdsY&yp%+PeLhYEA<5y`$E=oL26tr_svNapcXA zeXm9V8OzNMJO&m|>m`E_0+PYWF2q3p>_w41Axj~kkkuxoi**@*DPZ5EVMVfbv9|6DcENFYsX8Q`vhM5U zAwXS+8_v*RbgaFDN#m4quK>Sct(q?nv%!sx)^a~AT02dCW_T?P5t26EsMKPD$Q%pv z)>IKJP4!ySs?*y(w@qvd+as^TJDV31H9qLG8{`f;j?2VDJdp+Mt7#O$(+sQGq2y|3 z#I|P0uc@bzUm>eS`lq+m{5AB~qP?_J{;Wkp8K%2T^<;r4cjZ|+AOr6o!w*Ux7siGx z)*H-SjSIMzU!k0>$*QS4>^I{&ZYk=vi}okp3B)20udBt;p3t5E4C@Q82p_7oEV4$m zo{l7Me;);<@sZsNORlvS;J+4|9w_=X6!JE`EBSR|S={l=;_fsGX2ICekgD*L3%`Qh z()5=DPX;@;z#OH66UJx6#31g6#*U(T2p+e*uZXw{9OL!vGxr^rupax|K>p*fLf=7|(?NAmF zcYIhdYj@&x@Ro?@KsNhn&FG+gzu+n-hyF|vlbZ~Pz)}p@i+QhiFliuIND}9!qU$;4 zWqO8_NAVwq*(lpUkyTS}P7au7E$Vh&!R?FoI^dN%wjyFa?>7fyfZ0cMdpq+F%!$xhov z9s~9iNud1kn&-Yo@;P;>t)#B8wztMW+|bh5P3l=ahju#nk}WiAf6&3l8zl3r9{b%a zAD_E^l>hAL2B|Wyp$yiJQzlKnmm-CURF!e(@mrZ@rywbVeRp^`A2t6HH;N(UR#a< zZ1dXDR`_}I+HswIWt$UyQ|xN)@ZMb#_Ppo5mg2fdYmKsI2n%5^#++E$)4*qR;ci4M zD|r(Y^ZS0zOJ-E=e1{geqw-o7-GjPxU6};p4>9f&m@)|&)8`Q8nCyN{gMmHRgK~KFW{ynnvsk1K{czTgYo@$~c zf#S~ugaN`?nxyXCmpXk(R3ta z#?#wzWVBiQ;dqNuDGD4&Y$E-jk1#qSr!%b+QydUrRXBHKnx|XvoKJU2dT8%9kF8y{L zLyC__0fcq$$2$WLBM0R;L5Kx(9aqXDOW-xj7Zj>(oDwrG@}+2K4hSB$0xLMZn3`ZO zLfstr;xsbPJOsdEQ-lqKsq(0*cIPCPsyDBe8X{RWye{c#@JNh$HIwbmWe^oqS zCj8j!!?-sGmD9Ty3`NX1^xjg202Q_oii#R?1=5 z%BsL}E%sa5Bd$IBk*3+wKimJr-ZZJGsjjDv9O~9bm@w`$ddaeA1w2225HiZ93{%ITC zb5>bu5+1yQV)+W)`yoN=3TU$A%WsNc@ap6mo?-LiusIu-aOno_J-kYAu%HoQ`9$(b ziS;xVW%i$bI(8plFKD4H2X1p6!K0XH*z0a*vc?=m{jhN6)ksA>vN=9+zoWl@GdW1I zmn7>|M8&@;P0ZE+5ooK!{&mKr06r1@OFDV;n~xme6^XyxhBoZNC*)x&ud;?6Q#R2| z`zub-vGwT)x0=jat%FQN&7dtLV*C(HT3`_nOSUX8j$tNrujt*Uj1)6ZKms%$Ip{ z4CC|}7LS!?Vq)d)8|N6(*M`#M!Plj`&>C`VC5G4NT+UiC%<-JP%3!2k%U!>M{}u14 zt2x)7k+GiD6SzPSnctz0viR{YnD1{_XXbn3k3M0(t5*C~^R0A*|2O7)kZMmu|M~vs z*WCFwdHH*s@52ZGw)qZ-vms})XM9m6yOoLmpU?M#uVm(X=MO(&zJovetLA$rirN1w z>-#*_p3~<0-wwF*{bOGK9_QO54g4$Dw_pWleIv}7)pPq7{`&b|GA=XUuPyzA`Mwd^ zv5@8eLwx=k+9m%h^If6ZbJ~1A@v1xDzvAWZalVI31OJBkW__#4zWZ}7CU>xYe}417 z-oKrF`-J@o^ZcEkoOzxBHh15aw~y`HC%8WIx6QM`8S@$TZC$nJw0Yk42X~$my!<`R zbA>eUFPrBK|Mi#d$IkqHWyvSZ-*1-xRrB|iKmV=sH~-A@*P_~U+WZaP=gyypm%qpP ztAF`_dH#N|_!H*uFov$rglGSo_4fn0Fz`3gQ7g|pe+ku|)8=pTOYZ#Xy!<`R->>%m zFVEi^R1RgDKF0Tqfm{76=5Gx;W`EoK?LG7Sc~pB&o4>^`y7Sk<%irVt_3ZhZ=Fflx zHcVR>KlA?G{JQoxkzp4a_-_^E>^lqTIyzNmOssW}pI8)mhtFa&)}=m+Bm06@qYnW@ z!%oBc8ZSE=wmK&OvDH!{d(|`Ojd2nX>u|q+<(w46R=VFmCcc#T74Elb;CQB0w+0|N z(pp8EZG3^I6q>1-I|=!s^%2`lYU^5Wq9-5459CR)sU)PfbAr*vN{)ML_%xz-%j@O5 zipWZ<2*`g2|10=!=f7F2P$lya-CQ1`2*pFP^Qd$l!hG^2+$oPd=OIikU&5Jl!;@c( zhHyd~>sA3WTm)dvkQa`TIQEFHlR?gxQy1&na&5^PL<4?H4XhtaWW*)w-<1pY!((wi zIE@+Yx9%7XpDRO&F#v8c%OLtqJdWVv(3YB#SGZZ!aAP?yn^eZLf6^f&jjofC6X(@x zLL!cN=Fc;Wl{AdAlCM>wC3RY}c4Ev=a!C7~zG{!Fc7LE<7#C9j(%uiWn=u7&6RvUI z=K%lW#Js^G1o?-HxJGy$e$NWe$Lepgdbj8W-dI>ku!yv{@+$C0;U3Hjuah2$!GTVx zO@>ekm!6%u@KY4&6dwOFh40_x6uyh#{)LMb2cPON1-S*^6z|{C-((B>o)q@aZejO+ zyf6;R8jCTT+*stc)o07doVkrRWs4mp#g2E2z2xJ?7NfkWpe6eDDU8%nBByMf*}D85 z7r3M=&VbKQiwuhlZr5&#yVKinuHWMfCgbO{?IyHu<#N`A3T(s?UH|SsLF=5cY`Bni z{)hu2nW#kspEj1hp6kFIT$?^X6GLWM*=f)+7H$}LDv>if;HkvARxVb{;t{X(3UnWn z-UZB_WRa7$)J*B4rNnf`qJk&)-28@k;J$Lo)G>YSoId1YR+FE4S*XGYf6$IEDc{m#6No;>lm zlb>I)vHqp9+mS}@N}L>lEO0O92y!ch^MRI=BDjr886j`pRWvZvqfdy zRv+%}p6|)4*ygW~#HCE#vqw*y8sWMOnX8T2DhB%3OF4LYJ1pfNt@V1f)^E~mPE#vI z--ca5YrUQTe6e$AFj;yOevp{75b&Hc51f#OFxjfagS@erI3gIb3xMOEU9$e{Z_!fS> z(2l}&fXCpb3=@Qgl+V-Ui9aLNR^VP>k5Mq4PDNJY7W^FT@m}5Rq8*!bPp@9zD^(@l zA5qg*eGZsnJIOlSWS$r5epQ~8cJC3Uc%^R&fewfycpIYqbWiU2VAuhrzc|t^lJ0cia$5xjn$>qci(`NYh z>5eXZFi%_hGRJ>oj`oOuCI%ZlBT41J(+PmDg>#a0UP0t}&ldBD0DfNDoR0p}R6|aj z@|?tS7itwzqUpWGs{W0RuVs{74SSLYeG;v85pjA;uK=^w+AJT+o?D;-2N&Du^YrI| zm;J!YUIDxMT@JjQz@6)J#LkMFCle_ySngv+_xe5i{Pp`(ik8=fcDSt7?n1r6I;K4VcNm)N(Lb+){Nz zv9|P!f;OX@rwPhYHX1&LZ`A!Y4uD%<2U66TCdYJ;c3SIB0)QJ%B*n4BXA|$7@8MZs zPLHF#<$Uwxdvo+S-dlb_@@Q|7w&W+gAf*|z)$9@vfX;fv1qH#l_;K-di0KQM8yTt{ zI&hMBtw7wK7fk1P@0QUrfV$^7J@Gn_nh@Fcr{Zw0Wlb^fhuK?DQmyUk-&i(n`EtgcB34E(8;A`NE!4 zPFSf5s|tEJ9^4k$6|Q@Z8aR~S7OJ~t^s``baN(+>;**8^0nagPUeGmPz;h~KUK;ki zY^0xyyh6pLp}HGJ>ncO`_|@4jv{f&Q35~>CsMEdbH$O1aWItzT&t;eei(%%}SlnmhvP+jE@K5Ph ztrr_f(DL(!nLDBfOs+OM@PW^C5T0hUsRI+Z-JmDm4g$D4lhd#I0!C-RBK(q%37 zBicu|%UPeBLGQu3-(wdsSOBs_`-1zCJ9>5N1`t^{m=)V>!MZ==#Vc5F19#lOYc}F=r8Kp?QCRiZbb*;%2bbBm*O6%se4`HH~|If zsZUAMIvIB%3c8|Oy{6%HZ#q(sFZsiL!W_Ex9%tmhcXVMp_&iEJygl;vectf=c~s<$ zW_Lyt*=Z%S!s4$UP@fhmiq+{Y2-L@gkdp0~n1S^m6D)7rYX>S~>U|JKz!$KLa*+0R zyl92%wuY@5-^8}+B2@0uiK=jSF4*E#~-KufKh zViyk+Wr|?|4|=SDIEJ(b@I7jPLqUza%qWO-kh<)Ofaec^`ahVH(UsL!jn;I}N1)H@ zfqu{XM326bZ@vDbK`-OHmr2ae_gCzPL?|8-@a*8pFnhYdx|jJ;Zm!?bJjWUEL@yMi z+Gk~o1vOhuqvxK*CakN|X~%&RuB>p@e!}wtv`L`NTNS9^JoaWbpZedca#|8nADeUi z(a;FWtvIYFj#KV&*}oxfAaLfEN}*d_JriZsfI_?cZN*m?pi|8xc4>|jAkZcE0<~7z ze$m3x9`7m$FGqo)ZmVn>nhf4Bcbq(oL-7D~P4xQXBM?5xFb>o`NA&t5Bc5a!wkXp1 zlner7RCNK{{0n&pA=wYpJZYETnlu`y+NgWtnZ`~knXARNJ|n=Qs5~vWJy>_Bt+-OJ zPu#wi&ed;|BAhPMi0ri#e0qmaTQ($m9oOKRX{OV2Wpz$HPIf4w_mIt(!9)iIxe7e4L`+K zhtQ0jVvjsm;OCrx=ea=rbMCm5or_yBrcK60Z;3ne1w2%b7Z^Fq8AIuq-_w~$k8q4Q z$-)a;(@FxUd(IsaOK*@-!3Wq!j9Flr?l}~$i?a;#_4<=CG!XStg7Pn#pRZTomg%^R zj=UvK01wKMv%ndb_Y^$r)ZuPO;1GAX4V~0Ba-e4iEBTNX`#dBS`b&Z<8l91~<7U1QC0 z7vb^XXivfnFLOE?wDc0ie5IY)G9bdk%U}tL>bD5jrPm))Y@7p7Tk1CoV^*;R_RDeD zD2P){dhwW@v7-*$7)NT_#uj1Rm^f=jaeC8^lenP28KT^|L2!uMPT23`_{yi+4gopPryJH$g}e$i3Q=ktd=HTk|4=)yCCx1LxmR0^S89 z1V1;vBe=Qo4Z+JPaX)8?+|$0ifybI3gRQvTB0A~GDSwL2OA4%l6-I> zmH+`RE&v>Jr6r1NK?WcuPAAe@6kNJUz%#4X(y4@w64fV~jKCf!9CQdU|1)`)&CU%A{ z!+uI6IT?~F`Rll=wd-1glb+@<2mZ|Z?N1+I4^~FRRAMIvCNfg#;z(f5ew)#%Y&hG9 zHu*3s%A+K&VIYsvyvQ(T?65gVds1gXIS9Fh$~I2VFd};!}j9@LuB5%EOilzOB$+R z<(at$JpcmW@H#SDS&eYALFA}bl>n~_ywVwQ5f@}=fZZUa>hBRnus%`$0sN3$9`SRf zfz6z>q*HZ4H1kPmhF30pzmq3GNBo=P>oZ0#kyg#Fi~66G7I}@FU9QFc%lxr1>2AwZ zO{R?sq=|rpu+(g!Go^Qm=|XO6b@!sK+pAQhWmSE3;l65*h*qO5OW{%+(wbCp({mt5 zFZ!raiVJpnFJfliFdVnPY@_9FCD*6T%o!#%ND0CZhwMJVa}YnR><7_7N`|eMlT8E) z_=7OHqqYORWraOP-7IQKE$vMou!|=05oNatW*&dDi`KCMz8Q4}-emflAVgf{-VUS1 zCSo-^NMs1;gPM>yF4)BSr72}9H{z6Ig%`s!@zNq+*uJBPdn}0ht=FO! zVvdSd{IbIqH@TN`?3?9X&P&UL<^>hq50XP5EX>m;Dv>$%gSN*4r4-#3)CmK+wx_* zAdHL;yOgtw=84cBl)PME&odZu)tXnrbmaur(&nJQ6-G({US^fnb^-o)8gQfTC9p>UukNq((6>}7 zI~e|NnZ1wF#Qj7%`gSuMYdo{`@MMVN3i#D`j;cV#hp2qVtx zmPMRtZLv1RcWP zgv5(;M?Gl}U>FN-C9SQ>*K?j|L>b0{@r3Io7kkxYGr4M}>5)4W9{&G^j;*cx)!6}n zwxfGm>ma9LcEA3z%p9Yx8n(x4w~~Sk2lH%oK4m3wz2KMA0!5bXgc_ypz{e@vqg~?K zmit-iY-XX56F0|?)l)`D1BBG`}SI- zJfluzYukG_S5>;CP$1Ing;z<}hujPyshZ^sIYQNpC<~Q0^tK~>5KOV=8)SSn5)%}y zd^fp+U)Q65UHH)0z$oj^rdw2h(;td{c-JZBN(%2f#ohA$zb0>lTNiTC#jPKGrZ=}P zRI$hU)r0>zemzFs7;9z5v6wcAq6SJI2Rsp3ugiBO`(oa*_r6!_Ck!R0A8rkG|1b6g z%xz~gzf8C;i9?q3Saec)V?o2TKSzJ(aPyV zy6-=71_piLif)_xo2O-h?3Ou#pd7`ESSw{YWlUapDdr$IR_&X)IvQ(@;y*=Q6CNkG z?YTsF>oAU_y{q;ooZov~lj6B=-xl@1C&-pA-`i+kBgIGU8HKv|xrNqt8gzovJ-X37 zzcs79$912Q^5?WwV2(QtziHnzT+QxcuqR~SnnAYHgu8%CW8SJcw}bBI#7$=3 z=iwct;cZRBn|e&@?~SjudzV2JLe@+0hC%B!Hk#_Z->xV$t!UA37(Ha`(IO<}vx^F? zZx0`+;+XG;%wMa-8a)rbJc3_&zQTsDlMPg^^#n@QB$!ZoIfWiKKTRQx$ zj~qP4cf+4a5?9+rU+gQW1}s;rxZR-E@7}4^(xeq5U}gF$!Y>u`aTLIhXHeK8&tD;P z{{O-j*;bk@mS#>=cUg;$V@@7fFXW+W1UH7wN~L~fByOjXroU6)7i~ngE_cVyVCWm& z#mo7Un@$UOL6-R);hy#8*R*HlqqP;a6T*jJtWXggwSSZiV?G-Rj)4?E5wb=Uv2QD& z9-r=Xdy$M98e1|lZV~f_;zTco;`XWHgc~@u{{{U|!jiKnaG7=vBz74(T@wbOt99CuY!!~3?;B4$sNM%mYK+gE z;1jbomE58aFGXpnsp^}88Ac$NsKm=dftm+|NQ=Kgrsib?X=B0Zi^0I zEaBtOBFl8J(k5a@?5x2MNz32Q^O4UZ!&8_m`)89e0P7okf8s z>O9-Q0DDLG-$%YI_h`p;P(~PgjrskTAhgpOSr_%+!kuB`N8|gjN;|(E$Sfs6c!isx z3e4{>mU|_sz&B3SI1FQ{_lb3Ylj0rK&sBpa+&~UmeXzzT8UQ8l%>H))!hTR-upShT zR-&(UzIj{4QYqhb=9fs+DiQ7u99sWbEhE)-c6arIwz& z=inY^en0sV!%c&ehx&*wn(#9Fu0cqmYY*iy6RLBblY7mnb5;#bq^{wX^&YED(jLzC zud6+@n#!M}ojxPFsrJ}HXv*vyag{3R-@Sj}AFO>{=`%@x>@G@NYpC`qkXjzR1CZoj z%Y%1yy;XT{*0VEtvlh(e_c>wvGZ%bHD>aCPXb$KOVZ}>!6pEJtQC5qHC%GE>MP=Wz4jl$spGyd1iz`Ux4R!r0>6Lf)Gtj3Laz@!W`-w?>n zX$o1@g$nFe0VV1@V+hEdFAZIEP_)U24{0=HuNXQ0E3tEOEG?J>L+O(2AQ$0_r zX?EU~q#B>0ikegA&0i5XqhEcj(t9+~Lfd1BIlSa$=K zGDp1zEC_gw&a4%(ps1#5Ol6ZIoHRLUI{iN+$22=D2xJeAC5K3;JKYY7#2h&LLv{Y( zy6PLg_@MF_@5*6W$a>dUzR?*NNgl?${llM<8Qqi*%AARJlK0_#d>hM~oPmMl;XZtK z@O}H1oa7-AFF48v3S|W6F_yvPXBlB@c`mR1Cg8~D1+nBUjlty6?6CElEWR;YrtscF z|JoM$GCT3AnK(=Mklr?vI9;5Cm=y8pcX_NDO?9;OCf?mCPp~F*laTfREJrW=RQr|d zuTws(WdAbF9-lGI$}1Q3PmIIGu*b2v_yEGqsMEjgm|)y#?dtL6Q#z5%E<`0_P;SV0 zcEruaThU<1@C6SZm}Z4oyRjHA=HvXLADXFn@}cXJJNimwfbGbu@paY7J-O4Yi8oIb zrOUHqi;{Ftnr7AATq7OsKY(6kL}2(ChSY^tW_eaZB^sPp4}ss#NifI9kHTchfm9Aw zQpJE-ygJKAz}8fMW$}rv&%cZ9G1JKoK7&y~oB!3rr*!T(Za;d$^2Ey73Ca^YWt4a5 z>3>ijXTwjTH~Gezy%-s}y*>w}74s@*$829Luer~g=RRcs%^bjs#NZ{3k) z>1!;Uh_Uz8_f^ESoUfN_zZGP_Ffv~0wUkz!&qSgW=ebuyQFaiz3IrfiKcCfV%@MhlD znJYc&M{2odAGwW{TPdzligQMObO^jff5H^!yZ&QZ+9#gm%-c7fWUQQDtlbzY2Y^B2 z*+>Q?$J(4cHaPj=*?yiG#!AHgFRNmio=qsBN4X273P0_VBh-tY0kbn=ag4Mj)dzkw zY`qb+mq`5;&LC0C8FVHRSk*4$g%LMF!wv*X4up-X-(V8w-OTr9QTXz+{w2+l*4PV? zc`50oTI!TbI6xF6*Ok;4&_c~K%^Pg#N4~gmbzTQZ}}Is>T(zIw0@eq zm`6m6B*u>z#-mNB`G@?kTZv}?i~~4+=gw$^LF6!aq7;;vpnglGZ#1~bHgzwS-h^yh z`dW{RIHIodo$cPYl;(2~sXC+dn<6z*$9CrJ`!YD~JKLR1g7_LK9ru=B5>BqEJx_5y z*$3Z}ysF#rUu~j{g22sD1A_u!R1W$QcPUWP73-p{gejp;UJaUwSQnh%f0=w+P9YDP z2n`j1Qldbm$|4mO_?)_Iohs1=tUVfyc!U5;fzh)A+H=6DH2#~;mm@$s)_8VMnMmRg z2Xh5UK&`O;7D>L3*6v4OaJ-#Wg#k)-mq5T^CDGXVQWDGPo_7cf&Es;LNE1{%_#Mci&GdU7Jj3*m) zda`I3!51t#Dos)ESU?@3R}+%-m&wtoJET+hUR?FV1T&tHUYlSic9C_o!VF_UC%X_G zVrdWFwxhc|yNp$vWy4SR=97=%6Qnj?$is5w!8a{u2!XXv$gi)4<@ZT>GwcR=Ov83h z2&+nJ<}lCZ2T9@cZ$YCBrhb+D1VyoZ{F?^}^P!ruN`CNBLE?!)RI8V7OCBD;y!KHV zVYq)uNP{`p@oze~Rkxd|v^``k$s>uaU{^Qmq;bMSJ2LppPoxJVu&!~zT`3KkmSJ79 zi{UyIJ5jM5#gU}?Dny}C@=T|s zU}G7riWuWNSh{0>V>a5V-{nNtUxC-`Xl6nv6w>3{4+v#=rjI5+3O9mEXD~8!AKj$- z7ym+s6|Ri98kvv`G7UsmZjm%F%sm;F^ho7?DB@HCJX8x9k2WW^a%!Fo7Jh85O#>We zRj`-Ha4(G5-`ZDU-_sF!AsrblIbt}EGw#s~R8i5}6lHD7qXn63hLZ^&n5I0O^B((D zX(1L3tGI2~Vo(cPt`(J|D{ku)3WVS{Y&^TVx~Ndv{-pE?SuSAqlpD_$-2ujvJY2WY zNc=`bM%H`ne-Ob_rJ_CD$EmR$!F1;ulv2fnDCAE}i2n4ndP406H7`c28?EW_{6B~= zr*fmDPVOvZh@Fv3>2y;zDI$0C*siE9emuoTtSyn`p~CS_o)v+7Tn+hSPKUH|Ip7+^_@!(5dHC6gCZC#hcY zz_I5Kg8TNBWzPRS!eJVa5CE{C&)r3Mce%jFp~!wFvq0kZ!TDp*s?&L_I+X{PMi*?` zagu5tu8ZKzTHwrHjKn|7iaml~Tmhhlr$E4SJ+@?z;M4e9pp6D1^#fT$iS=q{tDLKv z?=@8MhUaDeR+za^TB}3G#8zcvM{Je!Xw>>R*g3FBF^PRWXkIMD<*pi%_$F{ZjC7vqUW4fOemdMN7)#ltt|b9a4RaGVjnd=tr2`8ug5+P zETV-0@!+KK$yR_cJp})IOpoLE_xN5|!ip98PP*u@JN>^UL;yCvg3HPk_OwwEe+zfX z1EG0COefq(f(L#hK%@S1%(T{Z4hS}Vkd2Dbi{hj^7+Q7i+}3yOaI#uLb)V)k!M|fBm@4=Lz;t-S$r6dpT~D-APeqDJwPC?(iTs zi2JpLsCP~n1V-ciS=V-|56(|V8e1v`)RfLa{6CNt2!~% zuZv5*o6Sie_XVp?4k$9gVcWZ5%XJ5_tj<$u)Rx7x?wj> zJ*z03vGcQQL}X+oCW~#C7Ll}aU@#80Kt1#2+43W)LH?PF$JC6%IP59w%`(SMp9;n| z6e#;JYi9E3wSh*5LBdY3?^XL~dx^xV&ULasd|XJdohe0M)x8gwee>ThMs1&UC9)T1 zNSCW(;%fvlC~F>V*B=?i!?I=Y%Ca7mSwTM(nDFHa3boiwP_N?y^ZGWmXCnwTrSEUs zsOh|85^Mi7cc4s;Mbjl|WnHdM(c{Eal`|n-(NYtj-xyZLb#kHU1i*(x2LM4+;MY75 zqTC(j2-S2FQ-x=+n#CGp8%(0ek?b`BluT$Rdl%OSS#i`hK$6DSNY&ic6K7@@btjEF zV+MRI#P2X~uaPO(c{=tAByrru8D4I*vLgy(C$)Kf)>XHAE828Wk|8O@pymBgs$&O7 z=P2MXMY-J3O7P15MdR@yy5>kLYzd)gvGh9lmoL`Wo(90>5PfSL_a;XW43Cix*eDAd- zF`2IN;tL4e#=Cp;KUJ$0curk`YPFSc0jVXCN3oK=C%=$xRhJ8mvp%FDm3fGf9KlM~ zKGhzrgsi3kk~2FpO76a9Sj`B;W2alMaQmoJZXdB{kZB&toH-$NnlqC|Ns!=2#92Km z1QOtQapmc7a8n73oicQ@c#5zc$z)~*$rNuoD(L8qlvC%IOk7xJC?yffEl}qbLX<_- z%gO%PQZ-@l7^sR+T`rg`UpOO_2fVX++e@uvF*EyLFb&G+C^6X(B9X7xLl3bd%7=7L zPwJ<#)6Yc7Kb$ODOB7mJO9E1`wPX~J)Tkc(Nz`hPsw39ssP%-Tg%Qzd6Oz_zIQJZ+ zKD0B^{qH1pKn)-abhz{~T#efX*X8xiJWEzFF|o33H(7Lw12q5TpG)&mwu`SBPBuj- zK1iYU-JRw%cdzg@7yg!{BItrlNYXT!U?-_Cp1J3N;Lez;Djq^AggiH<$%CQ`g#=#Z zOgzu0XU--)M|?9!nWNR1&b}BWHEA3TQN3@ghQqW;H$-i(Q&3M*9VMP|boG_WAq#>L zR@R0N)fvz9pA25}xzGEYpg$Fy_8M1(uI_J2sP#<$fQnUUYb}vM)8f2-Mq-*K2{H}L z%Dz$m6Ed|>SC?sJ`V%sxLVefBe1i0$p|dxV+?9(PlW67>GP4*;c>qX(v|;qL0>den zC8biYsOaMnF8g}hkx9nYCG`XWeSDVG3wbc+4^*p=*IMN}1|s~sJyOnyT6QY=Qh3RM zsxvfZ4|q&tw#uM=&M*?Tqgtjxsh{6RriU0VN95SG;A!7Ba$6nNZ>v@Ju<-gUZdTm_ z&F!nI+@{5vDd`Y~3Q)V7Xj**;P`!i0T3)4xOq>hYis)F1S0GsRiZu?y04oI!Hk~tR zgD^Y;ACWS#d4xU*BpeD|1_Rq5L!`((qb`epd#)qd)YOLB7ix|Oa|V{CiCilc;|6J3 z#Im5iq`OHzidCWaR?#~vtgQ3r>XllMP5|Z6QX`f%WFnhRjmV!N6Qd+NVen2Oj6W`vj| z@#cc{nDi;lkd9=0n;=R^mNs}K>Dd~~0 zWx=j_H?!W6X4V|?a{`{5jGfwx=nJf=s^=A=G|I1Lh1HUxH;OZM3qd_^6ldj;O3bfl z^v#r&X=Z_JM)e9N1tAkRjcBWf!9gSXHv8l(k5`GIC!uCHoc^|l0Z0*TKXcgwy*jrP z+aQo{>0;F}gXoyXrRY9@ywZkr<&}%oHpg2Tao7YX!XnRpL?M)uUG`Vz z^P_^!)LcZUzABq8SMWvs9cf5Ms~((l4hJCxZs@0)_LKsN>BQ0_^ zjAq_5nLA}sx-&pxuCC?UaXAdO5+mf>sSJo%>BybJ8SO4U;Qr$7^xMO{p+cSsv6@WM z_^d*i6vj#f{=41#iDVyUEn(4zS!GkzY8h0``qdAmSr~uU2@qGS6atm(d)@bl*K{Z|wyLZ6 zLEN8S)GRjxrTrwa?-{sCppx$u>bpRxN6Gh6z7f5k6R_JI!8_H3;ymQ(Y{n) z(KnJ=u}=){DQGh&DV^_W(e+ZJA+WmOul=+rd+?<|bN?n#JuQkFT|qllkZ56a1-+tz zM9HEnXtfFw9g41?-x4H>61&~ORAf3&%gD%Q+i5&KOpaFG4ko|j=AEwNc1cpXhH2N- z&;U`@pL>-P{Tl&`0t~QuaI1O2BEeoU1d`l?8uLAq?OA4&8DUK*Y7}iSb7(7PZ~kMl z&(1=dz$MXD6kth-R&a6x^4p_Hak4xlD`Q_jAs)R`Fh43;YD zROR=>AV}Htx#v6Az-O+DAMz_vpw^Z7iR@3*t{|Fui5Xvq4YZB1Pt&7e%N8(x$hV3k z3g6nZr7k0cUxfW8o<-Rqh<<3q|0cSKR3LRp2LLbgT`_Ey5VpZVRPb0yVVnDb)l3B z1JA?ac$ei$U6hq!XbCU9Av|^hTGETJjf@*-Bmz>dPFs(Sjb#0uOXN~ietpGbn2xFs z|J-!uEM6;3CY6*R;>!tBsaUkoK88H;TDM7!kecjvT>41@cc@G%P$2N^T&|eb5^nPO zn!_uuZw~))LUZ`3QO)6}ae|qP6}5-jXpB7}kL~6|FY?N{97lG>f`jtT!IZqGcyA6r z)2}()z;h*k&+^xp-yD99=PLf5_fcBsMlZATGcwdytggRvjcV6g+sx~ZoU0;VsK2vG zMWT{1XT{o61o9KLbEjflj%#O&q}FH`wQuKwv2u4!ps!iI1)CH1(Q(n{#Qi)bG$&?B zH)^!5S5CC+pO{0C?ssP{uhR92YDuQA1*{d~$8`rbf^=;gb8qJrl60{Yv2TJWnY zMb+B})U5GWUD%xX0p&2E*T~ab2fTuMjbR^3L%^Lls}-tbZb=UoiYvpSYLzVDiHP;%D$m{Zf(w{EINDhFZmaF zKg3#HRd(E5D>)b-)Kot1Y>KbTXUO;+ZOZgyqD4(@;@^;+)CeC-T*(v(@@#;ZX#6YEHJ&839goBa3~h(M%WoYCoX-!&6w*IMW_22Iaoo z6(6;qmG-$Al#OK-@HVy=k9hg?1V=P7>1g}6a$CxD|CXu#ReFt@?e4wb;5-pibx}IY zYDFE`n)I@hx8KQ&_z#6{|M(>9V@yX_70-wmG5OJ8Op{90M*I{OWo&;2Et_|EAae`*r)T`e)nE`QqqFjmBf^(631DG(vs%OIKI}yL$py zM~54YhpvEtwBOHa0-Vc?7kqd^M&m#1%=HIrJM~yiBNp4B;t;Z;)vj3W39{FbhSJvVdb%Bku=iXqe_`3U%;Q(Sr7l`ZOKED8*^Zy6nuxSC7_0yUEdM9Q51E{i$1qC2H;AC}y^BC}bK__MZ55UR5=tvsX zPBdm2M%_3;xDpB~_(`=g6CGPU{` z3uFlm+4mI4E#|(#PK+Nzl&{hQvyttV9+)>`-oUI>J1};){|(}d3=ry!UC)9@yQswo-9|-!FV8IhSp4n9g{CgURcCl?j2c2Rp;L3?0Yi<{^ zzCqN9up^=Y3TS|;F8}WWlU_0PQd!!)K!B5dyKu7di)-C(YmJB7{uWf% zTG26Rd5Jaj&&&_{;#^~a+@kK)7k`3R`GUR}@jrv=@AbtEf2UTDXIXo{}}_>R~>ADyTpJdiF( zgY+*TMG&Lc0#eB8-5>oJld;AE*)Mis$(X+bhKHMvBcu~sdkZvq&Z?G%so+W-Jl`( z@COw%euUr*@2YQHDYcw#;6+tegf?=hrA7nTTLVJ1xHz~s zQvpG`-qG#Xkn1@8(AvE+9{T)fl$@2yaa=;KKZ|7=UyY1XyjC_gSiY1{CoaNvzJ{x> zvH-8sdF|1E2`MN(vxuQk_p?Y5ki?z=D3k>Gs+!EVl!1>3-Xwu{W$bn9b#3Zgso0_J z-yr2Hc?&2a3Vj+9Bjn|u;J4n6|J5%kKDrjzkfo3z-Z(@ss;bCXxiBsucUO{C07Jso^%WobC!r=(1KlD#^dE zlMhz$>y4G4q+@F&HcD*!Iy$}Ph;l-5s0E=4j#4_P_U+jo4^bh6*r0(Sa07%SIDoncK}m>f7P zIB#&>_FheQe|3$t+Ng7>i!>95`K3W3uIlQ#8ZXI<=_DD_s9s5?cu9VlPLf%3BwLTH z*KYT6l_Yk)sw7MLwpR&fspzWjsp#yQBU!0(_1dTANT1#*Kc1k*>2ejFQ*$Jzcl1^r zeU^&OtvQn0JNjv&Wx{rDHWDq}9cyOl&ev#bcH)d3q)jAriZtG4AjFHm*BkOx57B1# z+q%|K@#A`C)!h>N4IO(XW)gZqvkKc~KDUtAVwAAF3EAS_JX0TPKP-ww9I=2WJp>zy zo{79Beb(F(S95@(n&S^J2Rf&*p8d2u~9VE>Y!- zH|3}UI&>se@%X*@{;5(O)|KuO8^cE3H|3k@A@NEdb~tbLxA20rMl7MIHQs${x=N%f za{_WWUMT5N2b9ESE;jpv_LmM~Ir0U_bZ7f50M}9@T2RssePm}ZlI-#ONBOWXx-rA5 zmuTd5F7iN5!S+`@)9wv`p0=;R_Q(% zPah=dgLV!n7fBxs-D1@*BZcl|UP!w{wF|2}?#^5JW@&j-o_6+~WAtz$K{o1MK83+* zAOdmfr{wF&?{J$Vb#V`QXy>}xot-ev*4CQUr%5;Zs?HCU%wN<51hJhVYZI5KgC(tV zip%Z19|cRcRDBe@ZOfY9j66HJ=SwNB1L>5_bt*ThOgZ8XUBZ5Cxp1o>jGR#fg& zXVa|bIW&-tlab{@jyefogr#pn)?KDzS-dK&V2HUI`x5KHneqF~E2{IrsFpxTx-*pv zy-diE%Ve)Z(~3gVcw%yolJYp$;cYT+W~Ipqs54z&?a5f)yYz*^OX%m@r;$wxdX)U# zGopRG&>i%>ttIs;%MvM$3ph*F;|U3r_H(**UZ*&@v4<7mxUP01@7SlWeOCe{k_WBY zQ@cq5hB8_b(05bS?HpK0Sw0*%mRwx*?dC))rv|=hEs0G$v7T-{`7$rfi6$?2oeH)V zZQx1gEhI0bN-_!W@aat|bg>SVJQDggp<(MorJ@wykcHI=BXOl-Z`9NWAyt1kg9@Ou zs+X*U0A+agmQ*cn$G64p*Z>tn7F7qR`>q$PAmQ7%MVYiw$;60G?HWPdixLul?`hru zw*&(8v#%vEN*-RI(g&Xa=~`rx7Dev(;Y>Ra!e?ACtNOOJ*)rJw#!8DeoK%jyAI*vf zrf{n6JeYq5#bA1waIBFM{(ZtJS6aicK6IIGZjJXTXGCW532Al)L{5zW#kUV+xZ{Vj zjYoyQh&MBd6^dIw98Mv^hi-Ic_sy{m4c!t{_!-=`gUeI`ZWwsOb|kOd`L@3^xGh!g zgfe)#+{{~Faa)tX7pd)_4*$I+!Oo3b!jn?c{BLJcU3%KKbF5R^Z`(&9|JH4LjODMH zw{2Ao(?{Dg-as9pI!CF3V8-T9-&K7n&$xO^8p>;i6>p`t`tOHx#xL9pITBrV*t&0o z=|o0=_6556btZl3b-Eoe={M;B^iBv zOnsdjmtiSkEp^}k9SE~Z;_g`$sQ*~?-nJdKnu%W9L1!5*XX5Fd+xA$C@^}w9p?rXF z1Qutuzq7LmzY#1O%D0!;EDaE$FFDB2Q!ri5@3xPyi`OCc`XM?#*C|)Cn^U>Y_MwCT ze!XPWqpR*SppPOU&cKEGy1*iZN=_D^!9qJBz@TfQmPQXw_cE_kqq}A8gVmJNc<6Oz z0D_~swX4U65FoWd#Lw1L-Gk&H^b)$j#Jin+zFe2)rXC4PT4(=7t4Ac7Anv&CT%jLJ z^<$xa)ab`u`Y}~MCg?{%KZff^p?>7+hfhED0lRnw)sHr5i5^JoMqXUp)N}pu;I*T* zQM~un*Y#Jafwx4BeC!=^%9zR2yGkf>@(F2h22Vk-j8t{kg|Qk2$Y-BvtUMT)_smEs zCs1FEat&lEi2F%mCnGMA`9^@w+; zLL;M2UocY$Ov{$i7B$wGXeW=_xG$u*8a}kaOoj8kQ`wh9d{6@sH6-^=S(%#S>1vRkGM$P45p@FC!e}y`(2t__aO+_0Zdofs zHfC~?LA|2lSR|;|RQ%l$8?0@WG{K?!g0(v&0B<`X3qudwHi@r0D(YDcUUk+wk1O;T zwT42f#d5On%kG7+*RaB8>4_{P!y6ShcoVC_l?S9*dKDZ_0Ju;pe-1ZS_-iM9lpF}GU z2*q1(R=$pcujzkBle4vBsg|i#_eZ5Ftd=MtVplo?S19V`3|frgheEG->&78b=Z8b$ zYovVN+&jFAZju#nI6({@?7>kaY8R!~BRtK~5`it~2MKfwasL#ld6H@QbEhD?DS0pUY}8^St_xC^52UN&GegK%CetTk)Aj{f;oQ`> zRg+>pY3Vk^RV?=k;pK4u;YkX+1S+)Pr7>Wod@)T&a;{?NNLTdy zE-mxsw}h}X_}ude=^B`svgArn!0aWDekOBJcXYsK)WLs|(!?u903+aLVTij{A$xR4 zR9vJJL)L!x(KC;AY6EZF70@+*qyW*?uL0o{c~N$J+&}P%Ie*N`{T@al=v;qHsjhZs zb?1{JB#ZGbOk;hm3%SQSp|5ssbG_BWw0~HLSs*K!o`%03pr)aR12PTUU*V=~S8GPm zn%4-8uaQ~nYb@mbIT8ICp;j*ujijL`ZscW{Ec}8-z8>uA?SwuyU~VM9WDj}6^U|9%JwKt$S#&cGQ6pHGjV3VeW|@jM$bKG|1l;& zufqP5!n$*Mnd}L}EVaVbZ&9t=w$q~nRbT4d_Mz2KLt*x4YfU{*XX53G1yd-s%~<|+ z)Sj7-)sc7HZ4+fqZcxY|%gm+d8;QLA=ZeLPE5;nW*vk5%Kl&NYE?I0eZ(fnuCAPYo zVqX#Mv0am;g_^Fu&U-g~Y=3PZO>hz`07jgN1QqeN6>u7C6w0taLNuN-+zM>aQfU7k ztbA$;J+M$^j~3zSv8c#&7D;hE3(+Njeliuq+|A2k-m}SkHf)y`;co5)v$A7t0SM;) zZVaG`KE38|PLdlV*6wycbCD>zBvrRxP8GT|MrBEd~ivi8$CL4%&G|%5}+Cdh?GFoRQ?#lwOAN8A{uS{nZ!XwYcQt z>fNY46&7#Az6=I=o3r})zTF7VrsD>c5);~|M7I6_m0cypF-v@3)*Y88h<^qMeZ~ zx5MZCSdwD*hah*d)a#5n=S~&9OrlqSzC=rqTcV@S*U^?ldmdOWl;|^cbeWF+zC?>& zF}Y2NKEinng%|1Qt0eji9es^NzeTjI_gu9bM3~u2fU51U*?nxIBw00}B&pQi6^mqy zO-{iC#hAU{S3rNlW7QDdrVn{{>nK;`FURZ44KXXlzHk#gC!1AHb>Ks+Ijz;XG9MOE z0;YLnA0RjXLEGkt)eQ25(o!}#hcfL*u4(6eY+F7hTxbzZ+61OBN~>`=bEG;q_*?-4 zmde+}DY)%j+}}w^*vf4Q9VrkA8qeY0)AXKG75w--?QAwnVr`MijaNI*6c2%N#4Npx za->pP0#rh7&>yQimx4@G+?=c$n30QlZM@RSyUTR0W7)^6^@x=V&C2`tnJ~WAl^qvH8@;2FqwbD=;j|X36zkoA31h!Y(Mc5PAXQCL)sYCz=yWT~@N$KcEyy!YFdbo;aWz*63tLUoRB&VsO2BxEK)=^hW)KsCK zwJlR2vO3>b9a+qwfZ0gVYJhOfA5Y)Pz{9}$jWt|o<5}$J!pMs@AZq$2kX64zacSfvZbFW6~&c2*^ISveB zvZeAhx}?v0tSu%spK3~TeO0Fl0k7^CsXS=SZ;(PEE+yMghKhG)&VH3ky|FQhP^(o~ z&d+X^!M4AAmjdQ2bMzFhbBM20-Ad*QK=qg}l!FoCUlJIypHSu39u>fi1#wAWEDJ$lWn}+KT`qeW#;2ybhUWxCtnSh8OZz!`I{Vb$BUIYTidD$oaFne!y!DuN=;#IVXU0PXQk5P3Wr(7sfZ-Ygm^& z*-3yP1RTTlqfkHcd1xx34C7-LfB*psWer;yW?EWk86&S?gLgz~i za#nRaLv>W)inMIhWwKUu&b?HYZ|A%cO6bbZ=~~v;I4;ayA>&5h`P{xF$LDl~Q|*uK z5S-^?R(Dm!!o#Y5eB6hrG>MGG8zN!N|5` z(KyMW#-{o&u$j{382HB!<|}LjW#G{Ez0#7C{^ISRPaj|EGC*dAWB&3+Gk)xp85fzx zulCS1r%>b5W0b%I=p>LkEuB1&JAU641tMZj=gXBkp$2s^> z!^eTlvo3-@OAuSvFEu@MhN9`JG0wySTpk?ri1oq(Fyg~F>kv1^|T03qu=DwXbx zqBE?i-P$@k@^hk}RvkS2lIq*B810$7uI6_VOQ>q%7 z`U9%+`OS~5mNLOpU+TZ)O>ii+l#yd9N!9LU71Dz2O{_*@f=DhoTpF@E+P{VHknpE^ zgrCKURY(W_tUK7KyMQqFy(r~4WBPqh9wXy7v7&#Kx?m)nn?c*Bbo7x*6`jFj6-JLF z`ZM0$pAh{ydLG|9IRW*mScZx`f{%)NYtrLZY_(iSh+$59DfxY=0z3S8eNxd>Z6+wY}2G`_~?JPwxt`teJ{<-Wq{syyrUZP?b_ zzYS^4q@{jD)9Wxi)h6u2yu3}^MCWTU79_^9D%Vt9ELH|Ls>WsoNV72NlydowrP#@m zf>$uDA83$e`h#}CPc&BAqPV#$x9>QLj`3%5zsHEnFBt;j#=63uoy-r`z9?)*MdkZt zjPk7!JCw{-gU*uJ)P6rv$TO9GPHRnR5`OV7(xEm6%2-qFP(Ai7@`|`au+8N%OT-@E z5wTCFASnX)aVfI)67WTAz_k>hK*N;$ENk|Y?O#=;=*D6Yb5jP#HFtl#bCXdgXK2Qn zO>1TL7@^J1h`vsw(|T>&NAcZ$|3Qt}SUiE!1Pv#S;j0##bny*6eZMn-4l!GpKw}Xqt@<5BFhj1M!VLLgMBc~j*U?{*XgRYc+9%Q1 z>S%ka%AFe5uAIej(%C^e*c?9uh6+iOYVV0f1cm2-Mg4HA#1((zFcHN9l7g+ z0mt;}&w9T!z3#LA%1Xjxs(wu1!K7=V1UdG+nom@J88(zK-0y{?tQRZr6f#U6H$$-=@aA8y@WZf?%@*R<8!zmn!qwWT7(T! zv9d~iz+Ll+@Bl{LQ)E)BhA>0B-R6sB#U@#2>h|9IO=9K9`U&K(>`muJoN;VTPgXnA z0_h*_zxCRV4%ORHm! zhIqH#AdPi9I4V*1;sog)5pln?bL%^D7_vq>*R3Padfjt{EJM_Tiv&elpuJ$wV+`!7 zcKQSq*+`IkG1rT=?~$cr}7=2vlO}fBQAF)+Ki2sxTWs9x#jhFf=ySR#-N@3P91xL(GHm1m(b zB)j1cv|wm>1ynyLlH8jqG8itGvJ$-S=NkWc{hPxZF81bbeZ@1@rutZe$jS5TC#_7j z7t~igTOV$cJL5_3&iFcYXPg~9m#9xueZD`~dHqyICLa)#Iql?*%yz+54fkKUKkuc; zX=E^bscMKpRY7xjx#0V9uZz4iRd20@t>|i*Pz-5V4lRpxiBhTx1av=)`#^uL7p!%3 zn6)znJI{=-H(Ab@f0n={|@9qksWxv`emvg7ELQt*x zrZqjkBqjZz;*?szW7V~KQlBn_{hPYd6a=5>Lqhktt}2yE zQg<}bJ>(x!pVnu?1ocHFmsFjPwyJdr*ESbQtDt#jD36?-h!$cex5VoSm6-)!l%3w3 ziy~WEp4U~LoZDfM`>e}bUq6W(y%5&GMMV>w2%CQ1gc3;6?t8A(+oU*6Wy4=2OG!=+a3ImL|O?}e8zVrbfBWg-wYhtl~0m(crXgRvvdq z4D{Ub8j=yhCuaPX)_pLa&cwbqh`DP2IzeJ+B^FVG$zxdxovmY>+8q!_*;WkGvjd+B zBIwnhOF4*r$_U1Hacy*iKfdE=yotS)KH{^&h)3)4Z@n2H;IlP(wOZWa@DFD4mc|UJ zH?OZ%@l)_4-Hn2??GNUV!mgn3Jjam!u_~5AMb;J|y_3ajLqOu^w9Ol@wZ5>iYK2R~ zR&03KnlmD7-7+fTB)&#sY%T7K;Q8V@UY&(C6du9Zp#GBC!q@A31#341PvWcc&&bCb zP5*vH)^Nt)JTq!M5mBe6hViYi5<4WXe;okChb+EFa705A$%ubEy@=N?MchTlnHt(1S@D=$y`aV#5Z!gHcIl!Nv%{$4rTi^ z{w|rF4oT$%3u&IRm+AzE^O~!QoP&9%kDynh%#v4(2d?ZR)y!#&SaSg68DDjO0SEWq zOevpSqn^_iuO6b6hMVZfVG(OeZm=aGbYA{7evcnXbwPR59-kXTy@$FZ&Jtyk#+uR^ zKh$S-j#4DR7|o$<-c`wc$5_c9Okz6-qP zAoV;DzO*ocg9&PkT^y+lj}mt!Lz8Ap6ST;)+^+Y7N)Uodr9Ejl-u_C~ReuItcB+)9Utvp)j=*ryNA6|%J!^PVDr1E|7+<5hCU){Ne+;7vAGxQ04MsJOuM6et zj4vtPlY|aR4F&DbH7t6#od^FnF{!3 z(5jmj$P$yfK^a~BY5@HQ2r@;L@IOV6 z!5Xl2ZomWVOT7Ra7(~q!z;MaP+kEvV+rh*_{W^%(pXyhr%M=vE=d}8&E|o2QeAM@< z&TsK)g51Sg6}+GVthW_+)vueo;y$1+mMfEZ&>uBjsP-rA>(xc0fy8%GpK=InslyeA9TmmCzie zy=UD}fEkp9@um*bzAR$xizHnJBqvH*q^nu^5##ZF80*Nvb{NerpcqWM&CWJUHr@S_ zS+XUT7w-tfa$3rZg!cC4kI|y2{|`dr)kW+DYvt`&fw5pFFZTFCC#%@BPp7_DVXYiXaU0wjk#$@lvnZfY4-Tjto z=C?GUegRa57(g?nna_`u_c5h9dgs+dKcJ&WOFJIb(O=fl>m@p_qtBP;9GdqH515UT;p@^mE~}v&(q2pA8aqAxI5{`#Lv=?C}FZ z>#(&cxMh#{xv6~*B=IFS-Zu-xG3q`O7(4?)AM+jsX`{}p+=`NeGtP?Im%>VL!aq1- zY>pa_&nOrLcZ|jO)Hk9fpWJf}!*MCL`3oZ0wO8hItAQ9N!h;zRNmZaa;uPHxD#+^! zabFX$-i~bhFkJFB(#(4=4AyQEc!RYlqH({&&t;h#28zm8=laOD_o72F9)5Fy7DA@_ zg{+$ghKo0btv7@5!*gd825S%3ko%r%L)Mm%J#e1nMXa9Z4-RF5%_vm*>hFg7wt|%l zT#>)X?pB)|1shgY2vUrk&SRB2uX6ftgC@HVU8<0!Tt`PF`Y_diOHtn49}wNu-QDxC zYkbtj(|26CQin=T*g6Q-md&j+m&;;`Ij-U~0?g36Oa)=_gHj z{1VmDzv$?89;?pM(Fb^U6GV5(M?85&XVodvKzp=`O&eR%QiHBW$o%NO-(0(Q8HIY% z>Lw9*{X>a0^6LNyal+GN0)0A8jvM*fp&xBLxc0HAk*Az@ELcUYV)~8sWVQ0{h|_xh z8ROe9hs_KVub1zWV5`LE3;wOu@%z})rsGRC;a*wavk>{SNAFiFvt_;)bo#@18Dv3< zAEvyL%|>*y+R+(NoEa8xmH8W=-LNp7_?Z8&=%&Pv<;UETO==%VN-jQ1C-smZJL52S z{j#*BBh#2a0`OXtS9jSgs=eq?^h$QHaweKcq=sCF_%~Y4GX(XJH?dLTLac!bu>oZb zJ||`9mgryZgbzF!XJJy(cxO;%BzdGT;(v+YL4!lqw$RY+oYx`X7##9{5-R=#;a!EO zs2?kg#5emR{>>yDaaq`UEj;v~n8ZpR9UR6jSn+O=hlH&^2Z#PS3_>J7BY1DPcrOWX z#5D}-x}Q>J+-c!Sg?Lk=teV9GrH*7@SuBiNUY)hSTqA9Cp zMdd;HlyQ?!vvPY&oiZ0JUumGX2a`ttdV8pNJ3vP(w~uWJEm9xQ3$AbfGu? zbAHNkDQ+#J9B~?<7Q{O%6cPRqKq@f1Sts6T<8xN~IJo9btZxqI$vKuWe;hCKa)R}K zJG|Nnh@Z^ZP+VAw*U20Z+gcG`B&toWc86;;l5+Ojq<5KWuD=K$_Bt>7Xs7wj6TofMqzI=ZJbdrMr5(>ub3a;kO7hL0E%=_W` z_k#!iLg7`Jyq0I&QQ{w0f5#PmcB~+6uydWPGF&YwnbQ_~)Fh3`@oM5`Fe+6Z@Ey~T zjPNru8MAkY9Renhf;sBsvlo7R zg*r+axr)cC`vI3_rIB~H;6g=<|6ND_tVi_Y5`AcxioRP%&+ZW|IovmO^mRIVN{?ts z>OQZdN9gEp^oX7=(T@_{lO72EV&u}=V(mwosc1_SPrB_zpnIAhsj!mJk}2)^gdLCX zxjm3wxQ+AEh#ugD#rUBcj#9K>lKoZ#J}F$n<|_e5$fH{ zp-3*lHBlqU zPk47fIbUJH1|5BGkLYTN{&8ZZ<)P(&D- zwD9~psWl=VA+1SGCKQopW9MdTKmIQ(tZix(nUYOcI)hGSS~hac8rQ6I+QvJjr?bk$ z`iz@bbb9Ixeg}-3H;f>ZTEau#FRvdqAe9sL?Jch_8X$p1jO8~XGUfr_7mhb+{_c1S zd5)G$X*Ci!lM>?4OU2R|lNnOuzNCzCFV^G!Gv3`JY>l8DyLbmJ=JtqwP@><`(J$)g zn|nl8N%R^W{c9Z^=n*YR-N$saltkg@^oYJnqN|DSTHd<(-4oFVx!-#{eee+`_|nBc zvRo+sQKZHm|JYKNOJkAQ=E*}%2k&G~Q>E_wmF0*rbI?v}O3m%wA4W==jQ9ewc5V#Y zW>%POPItg2B#Yin@Zo*>r4*`ZWaZo;u>E5}v!K|6pP{l0#|mVof% zz7$_*)>*^5IB>5mj9p-?>RyvaTF1JAcen6s-hRGzZw*CwZ1O%>L-cPy%jP3hDhB{uek zWbWu<)D+=70oE5$Y`DCo>1TztURchtnV}_3ez9xd)KvJ}kedL-+?_PcJKCtV_NBgr zep*Y0G|$8*h`#gLTJ?@uX_%;gyl+=IHP$7a%@)tpUub**tp=^z0yLgYxHNt+LGH5i zRNovToajGFG%^y2K24%6qCviHeDB`RV2?M1=VA<{3YViz@1l-_s)JFtogylPoXMtI z3Hp`DPehAG-C495VtW`W%9YKWV82`5Pd0N|MeOE`x(5gWsic{rCy_@^ z(OXMhqUc$fJ@60l!<|*<2oW4>kN7R;)Wb)|UY>J7nVq*>G%Yq^Oa;E@EPRUwOa3x@ zbI_)$UHYN1u@PO*Dnk(qAt)!vD z`V-_%rVOG7=;-fA^fn#6f_Jw>NAKsI?j9@Af7a0*5`CtQ-ln6!BGLa(NAH&CBVQ3@ z38lG|&+!{_|3G>@PCvMlqDW5b3zv~mWVUcLphsn#BiP($@>|? zu8}NP1Br&8KXy&H zMMx%F?yhFFzlpX|r1F>+3w)L%z0kzPo2uzZr4mtNjfGW8k-W)U@eGy^t2O;ZXYsN5SLc>E=`G}A; zp7X}>0lOmK8qc&Tu*PR``wG3rTZ=+Q#gULzJ;aU;w`LSrGX~kQQHYPMa@3%1&NZUj zIHTW+jrIupqU4UV%}30GxREVK#2pUslv}!T7KzqqJ)b=l348EM-SnffJj)(Gf;>uV z;c41dvc-5P2F*CF4c!C~tqYny1r)e+0gx8A2kU*(=g*x&A7A0B!H&ZW9tHr3YK zVe75n!M8Ak@jj6}UI`C<7eU+PaaLa3TF;I>;%{Q_EbC!~v3zr+Hc5$vk!1VXK~9sA zZ#aty2-!1=LU#3#a;NBQwo*}Vr&XODw%$uU!qz;5j(A1ofr$S=`&|sNfcy~o0GX{= zULUxvAd&*>CB|bRZ1~JRlvb1~kl(QXaM0fzseBv3VbR&730v<1=%JwXR(R;kyzLC* zTGp%iQzn`ri1;dB6n3^OM7N-XFvMycMRu*}tx2 z)9l^dGh+Sm`x&J9Y_%6W3d}YGa03I-mf$vMd7wHQTllGaklRm|f*FC(1svStcwP1d zR&v_HXyuop*u;pa+k14~p0mStL3rr4ipuST-<%(*U9bBzbv6*mC5(0RYMzKZt_?vvRztJhY7uOj$370ms>=itmN8u%iyQp^s@D zfJDJ!rb0dFVNm?X&czA!2fEcvVD9$GRmcb6zR@iXm;8YH4q^KT1>p;RfK>Pg1<}k~ z+B(;V(1`7;f)gK9KgVHkFRIc@zX<7byt=?QHw)+4g$N;g`V$hZy2TKI&h^3g-2acg z_W+CP>iWgcnNwzf>3s%Jtg-iob%r@0Cj#zbEe)1xMq z7^Be`#fBxu7Gv*5QH;G8=Kl6M!vH4l``!E9|8wv2e{K%!Is5Fg_S$Q&y>?l~SG&Cx&wnp=je!)(B;gAXe#*Epw5LAq zmvTrM^|1xgC-?q#^o1z6?t@DL65P!2ARxMsck#GfEPXZkoD6uAAeTbPS|lV^z*Wtf zenb>>B^|%OYu#0XWr^xjGC!P+ptbo?lvg6YK#=mpk+ilWl!$Hvf<^7{K76P7f{6Ia z#1wFkRwi5lfM9WXI_x4kwd4EJEA9<^(VO;kBMBx|CHQaYWAdj*!Z*hka*XxY`T8mA zi42gg2=mVx|K3H)KVIuLNcleidwF)q-{v3s3Fp8>+#P{S&`T!z3aE-7@0b68SQWae zZ}8{6@@a5#7DoXE+H)1fEC81Rp~h0erjf;862xMPf1V+}es~)%qPLY6GYSD`oJDVv z5YDowF{pM_1?O9{i=EqmPD+-X{!e;c1O4Q4nns*J&foD3FYp%BGZm-|Slv>-SPC=;SABpb34#!T*h+Z1 z{9E`yQSyKut&q04Rv3tLeMBT$1L*Y>V&TvQ3Uo-SSaL*Xu}JiIRdt^-U@t#zC!Mv5 zBfbhp@`I+;WArWDK*Ct;eE)uQ_>DY04!^h$Jss{KF1kPT@_sRxOX|&w;573*7EKmYXY)STnl&IE0?TltfQG`iuRmz3S^2?p(WTd! z0Am+&X))u1P8vqMW-MPDUDEFXI?|)+M^D;L6#_F<0S)RY=%k7E&kBfm`bN@XtLNtr z!h~e)EYU~ZwUCmKuKd7TDiI%yXY^EJ{irTWUr?#P?bA_1_M$5K*rZl^5VlAUJI<#{ z3Hn&T6(+L4{}cjM{N_x8#Ed5GJ9@)YmjM7^PZ_6tpqWMl9fp=zLyA30EQ; zV4n=^ zn9$@WA5G4Z@yQ=1ktWjV)mR}b(d9a!3%O-aq|0(xKoigjQhN5xS z3dRf8uieG+k+z~7vhZ82^PE}l~rux?;A`n?ck$nGfwz#*_i}fK&D2KT6VPJBQv3mZ^DdFLqb_%;4izPgqK17@nCXIjzbn`66YjP*Bz&H|U zVAM?Tz#1QK`C)Wb_dmvr>`K32d6s{~x*{G)(>z`&HuMB7NIg#^&Mp6;u!>C1Vt)Sv zEEt>eV8TQsyon@?p(F3ypN@p1#Dt@K3EwY&xhmlukcr}0n{*qZ;TlsM1wrdyGw^rx z@t43si8lY10L`VM&;dzO6#teC`yi-E^Zz=2#!i@V)SpdHhV%ZZ-X)$+(EByoHSzy* z`VU6J&(PnWdL(@h#gBc1jrt>DtiKic?tibmFJV4{r003NVtMW6|1aa8E~LLAwe)Nh z2109*KAC+(PYRn$i{4m477fMiD~sGprc5rY(U(Sb`k}R0ogTMBb$SKW7!_d)oXVH! z{0+aaK8Yu#6=1{WD8)=8F1vb!vn(VXX4{=OhD4Nt&XtwU?|l0I$QcKP85qTGcapJ~ zc<~bS+4Y2OBY%0Le&mc}&dSZs8AqL!rI963v=dvzV@hHh(s8MOMszW@@|4EX?tN1a zXr_HH*70Z>J6x-l`&V=#?LF=iA@}!@&F{{_Eu-)sJ!!Lequ-=5(Sw}$x|P_r_ogRe z9#j@bwhlo}F|qw+GU2#gu6Is)Fca`6t`cS>V>eEj?D92yI;T7coOpJ-Tvz3IRC1I} z`~z52)i>;sqqbvT4LO+x3aT48%qkjd97?+9US5pwg^#qFDZju1Rc*Jptpyw|5vvHC zq1_Jk9!|2sPKmS8CAqXv;`B;0zBn_qVmMr@;LjN3-OeNEc7Wem0BK)_%eMNIbSH~8 ziz2sH^qx}sbVj_0bwzv3_imSKv1)$86kYM)9f!t#qLsLz5ompDXL&Q z?rH&s36>b951h*1(1`q$E_p8{-b8T;ews|YUxxSJ_b1W1W4ert(GHI3kNtU=&@S4G zsp1Mg)Btd_^5e<7Xsf=vMc;vKpryz~ue;&=SfxOYtSe!slZ)Wzl0`a2tFIEe7j0+) z{|e*VWX;1nsH9W6Pz5@2oS=6%&OIQJ>7!$@%}0X6T5+%^+{m;l5}?XeKmnay&D0xY zg0l!JKq;VLrQ!NkXHxBp=ZZKCw9`d%yC5?3gC(z#Et@21p;#_R7eA9po?>w?Evavq zukvt0xZKl+X!>xJ$U}Bw5Uig1u*%1WKnXO#5{X+Mi*AekPv>@qj`8k}A@|cFZUN4! zAqZBek$}(2I8oT%U80VHXnc1S%qKX$NBG8vb_Z*TV0~IN4V!Si(p`z5Ai>#(ZFI@R zCs3NikRA`&e&bV|AeT@D92bg?M;4tb7H>U{D=LdC=}imar#!7A3URtk0W_>$k0PRQ ze7Kh?2o_fvHQkKEtOylcjPa)_k9f_SYXJ!durU*H7(^vAUO?OHK%b|y97|?y?0-NX z`Ota4a@r>GTn0_Q&C`yrM+8a}c?3<<1T#WL7d;Z`QDm3SgWOSYR|wxg@-qQ-c^XM9 zqBvx21oP5bHWnpO`Y4PEc{{cUcM(4d6N)>$?JN=M$S_5T3)@P|>wp|G?4+s)6}oL8 z1wTH3Y+l)3w53AlhsLhODLX`%4C-gNR7^#Lx#~=>1sq zK}sbyT%@&T+D4Hz_m-~?@)r#$DRP)QQYGw5j`Bg#gaM^8v9t&oe5DA!CFxgKrI`fj zw|LNrynctI&p={&9r33W1pG_OYdOwQ-39I(BhEosS0O zWKptWb=nR@kk0oJs{>SZlDxnHzrdH?R3yHAvC!`uM3(14zWWLhOE^&xI~K1dp~G)! zVt*%s1ZTJsOp8U9C^B{~itWsn37r)PgRA5_i@I8*PBb#22q{?U3yV`d2*uWs;azkI zcL^E|2#xY^=-H-hAcY{)%pz;YaEchoKQ84U8Llp2RK21yk-v*wcd)MVLa_^-%Bb>U z*Au+17DJC5bpx3pRTj6aV0??~vr#&dTq*7VMewLQ#hySG?+19J&o}BxacrQ{S)|6M z<_nQb`kmqu!V~0T!V+f#*;RB!@+#W7kqEi!_6#imWEX)= z#;By3EdG|HO7`v5f=^n_i6Zn-$~gL>4>}gU($^}tpp``ut71~4P(~#Lof#o?MO}#( z=mN7pbB-#1>_emBYDG{C^4aV_LsU%BQ;Yq zo5dKy$BgBJ&}R9R`-NDvnoA(nKBZyG1|n=Q#O)w5rPy*7%WxQ010*BKp#eCX!x%_b znrf!BL@1n+lmI|TH@tNG(drYGaKAVRi1VNRMPA^l1Cn6!u@y6G?m$GtO3~Q4i=?Hi z>Vhjo>Y;Z}rV2|sW_rZIlvIC_TPgjqSbgEtYJTW$5sG6seBdOEi#M5uaX|z0BN;tm zwK-HgQ_gF!dbIt)^Ui?dQ%bQW^fK$jsngEzN8``_NNOa`8a`N&9$6HUKoAJuS1=!o zEudRCC-%0n&VY0(YV^-APjv--w5AP7W$xIx0lFu90S4WZR&XjmN<9Ce&zAh!TL< zl!rNo0vz=dU94JtjKCIeMAl4Q!6MF6{E$ZY3|54nC>Bw|y30uq$;{>G-G8^8?e zO9aZa9R&SSsZo@6^z9;>=XR0JbJ(7zD$FC>!*nH!5RSAxLfKJm<~smLI~uh|jc3iI+Y;C&SM z{%hMlP?R)7;iUzqV=&c-GxPzqZ0a;ZdlE|mD&PdI=+rGj5!QsmgQTz>yB$kNbQ~MJ zL$d(Nh0>`w%Vs!GLrPm>Qp*rvmY4tuQSj31FW~gjPDRuHg#iLv&8XKY9QZ+7hrJ>P!{B}hqd^|dR06kF|LR#*`oyP1}2`1*SbDH98CNj z?B#bM6~*?5aM;Bv{`mv0!~virh9dV3I>S$CW^Y7X!ax#6MYyQsUhxKk^JP-aMM#oZ zz#Sskx)C#FGgSL!6SSa-HV{8UP(;{5d{!t9AU)tN;L)2P$oAOOeYYYsL#7@gNWiA^ z*+9xtp9jgO(XV9A9zuR}nd8WLjkClr zQOzu##`mvH5{EG3`%m3e5EorC?FgVomy{eKMP4%Z2+%+~K!_{l2PB59ZN+VU0V{)* z_zDE4fV*`87;In$j%*y-tRUw%9s;2zCJ^FFN4Ao(69>YDppbvO6P?-y=%R|eH0v%w z6dyY9-+svq!P0*m--;fccXRl$2?r`z0uQN{km5xoq^zAw>JxCDD>Z6UEuCbn;hZ49yfL~Pl_wu9Kxi0uzzdx6-9)Voaj2N`5G zLtKxZ(UI7?6Sr7mYe#G;#MXq^CK6j6Vw+EFMq(p(QCi6dOyta|%4U1)eGw ziW-#Ag@7EHo9E8Y7r_q58J$nnOLM2T?3tOLET)l+FQl55j0yRSJaNQDoXL(YR$A&cyYui-J1b(t}!bZAB=H!hHODo9B%pM*l!hHr00CHw! z<)o%~+;L)HibABY?mfbq6l7+5x+Hs=H5D@k*W|F~1e2CMi9J8_bvH7H2lPnD%Si<> z2ri>@@WDEnvQqLr$+;wVNgD-|J)Gd)vL`9}u@ar6^a$-*fjBeuCsn67^G%FTlN%-Vl3EaY;tZ+ zKHk{{Ba^c-v)%d0s9j;*!w^QQW-WV4wGr`Zz!}gx!r1|jh=Ak{C-F;!pP!nN<<3hk zXf-xDB{j8RB;h)M^f`~Ja+V@Qj?DB7aEpFv1WJJqlgw-qZIu7Z2fnJlr@3QO#)7C> z{^Qf)sF2YCFgmmg?8)eoqo5d0&CdCuwr5LZeF_q{KLF1F45Ru7w zIip3i{~|7{gb^COsxV?qNuDN?S}x_!C)YhGL}b;*I}wGNGE(XRRpkslnk@Gycb3#S zLU_VQ1M^a{^V4(kM&escCEGp5lkBN-6*26W6qh`3fU{p>RQ!OrM5Qbo)js+s!kGkVn?%6hh$IFCWIryTKa@ye#@TZyD6%6 zoO4LBD>|uP-{b`6^Re+xfy9%9GD78~r=w*fRnhN6B1$;56#L7fokYSj*gY&k%!3b? zDnK<*6~p;>F58nMev0uVx95`v!3nK$%bo=gOL^$Tk<>+pQ9g$%c}V!j6P1@UGNShY zCsjojl&?tGXW5G)Rkupe5jzoezBj2BHF#@mRZorZZxs5vu{p!rC1ycXjv^i2*!bSb zvGMVJlM<3+gdxeGpp*+KT@pUgA3^d-%FRz1nVaQ~7@n6Bi@sSxN@iYSVq`lC5}tUV zPn(S9w;gatV^`J7!FnlQyaB_9)sE*&u*x5BYk{qDN4#3@k!ZKk+43GKRn+Ur2gnW;V${;>esFPlhjQ z90q2-r<(9hMu&mwO-UW9b`;%6Q1nYsT~kKpqfZiz4g$u3nb{cpVz8Jy7QL|45u;P` z($KBOkO#DK6MV+_2W*&|`AZxLfrQL4@p%M>3yq$~E%sVs(#D|6@^>&ZFbo?bGM^89 z@w!jC)67{zA%MbSB1bsNW;O zC}Z4NzHS{LNd#*aCQ214hY^{cd?F&EvT}0rsBFS?VtedL$x0oVGXj|8sO+@&}Yg_Lw$ASflvps<1 z9+NA!3}gV}AM}bt-|F!$W)4UXMQVMi{IS`dlraQ}>W)m69BAJTodUnJ4^0a3Vl`ebL-1Ov$y>8;fY2jYrd4QIbW&cx)z zm={FRC<5|L68<%WFI|7K6b98&*P~W8s$9`OB%F;5JJT>(1FOX1$wa(#4~vQ!5-B7n z42X|#5+OqHBlR~W&n*tE@(J`TL>49fFyj4h`PI*NHF&#Lct1aiV5q@)s23u;B!bbP zniJ+ulTFKKT2FozvSqosHiw+Ke2_8^7~9UABX-m9O?Ipv_VG>6*w|44`Q7R zHXtrZ{cDn$?P=;JuHZw|q~yqcuH?u812AwAyE!%dL6@okzR6vnLI%r{j0gF}$wwlr z#0FiQMn*E2`6EJ1!W&^@$ykz7}g1zJh-8U&8WK~npJ9H0waJ#~^wrTXg;B~F+C z%Nk-G^WVMmQqnRp%jaW3spChwMVKY3n(jd(;@N8EG8X@${s0?YyPdH6_Qhh!c@QD*qL|hUU zZ1RjpRX?gm^^X-N+wuqIND~O8zWXFWb)TxHqpvoT3<8T};#D1xOl0{<0n~iy41}}T zf?~coD>GFrg__aw#i_JvFn@`M_EL)H%P*;agGKE~BnEYoRtVJi8-+=~_<_E;2@ib*i+C1nKac-pq?iH5!al@6TiX;<|Hy0~)0u{CfJ+_|0%aDz0vDb1RZaigCr zh#(?OlruIqelXfs7g2-6M)vDH5VIOCgd5<_C1ZfJK_n?305RGB7*i@(vA#+}2*38K zMy90pzM4;@jxB+U>Q2Vgq60wnc4wno>T#2)nvp44g#W|@2!DzUjGkxaa8ag;V~!@G zM;ggHbQVx*pdz(x+LY=~`eKl>v1HaRU+S7kQ+SdH7?u2*^!Z|&q2eGSGdr1NIWxQ3 zN7T=V@d;2V7#UU&gcuksv+=))9g8?bL+n+CxIqUi8oX*fB#Z)vEWs*-nF=!lW)=*I zfV<@=1q?ZXq7Y^(%nX=WFqDkM{Pz#b@p45#U|^6^rPgS5I=#VYG?~n1i^XcQ*@Htu z>(mXaSHD5SMvWRj*Q9B)<}F&Hr`o1%yY?MAcIw6`<*%S<}YNi z0G6lZ$X@{N!3aVgRg{|2P+Cey=_vzcq)e2VvQSoBC2FUFsSqlZszcSK!l-&weX0S~ zkZMFVrk67@3m3N;MpN~cp9)T>k$g$^f`M|r5x)a%q6p#Bu< zO{xf#pH00>&80q|7Em8ipHQDuUr|e_Z>g2kYU)R7164|GqjpkzsQuI->L_)RI!paQ zU7@a1cd3U|CB@JRT1D$=3mrm3<^G?a6y^sND#vPX zulJtc_4-r4wbJXidLQ_$k88MAfx^2w+T-dZYC@=dS{3mTEIx34s5Kz{JL}PEkF!s1 z0(&v?l}9%pJ@utt4efL_4%ePm+pBZ&usUotSmeV0K^DCJ%~PFCKS^tcs!psLR;>`A zgYUu0xvJ;y6RYyA{a*LjAMwg#+^Zrzk00L#ZqipZl2@y(kDpc(q8iD{YHQ6@s-S|% zHLNv5`0dsHey9I47OeEGdLC7h72V?Vpz@)gz|}S2UbXc}Wi^9V`U~+vb+Ld?tAKeQ z`)zlttsrDo!rsUJ#Gce}t@ii&Q}8~lVtNv}MhHIyf3fRjDe{IYM zxgV@@Ojt6iRaElw$k_==1ELoU@6t7J>9Gwu)dzWY-DfSfm;%2YYfac<@7cnU^mgyS z#!C;qUEjW>RcFJDMfHB|-OH%R%iE_6IM=^P&?`R-4AnM#bItQb!`!caF(-O`+T?{f zVSN)K(!WaW)3eEy!loSqzPnjsSB&V>-2QINmu)QzosBaWweL_jzc3?S8GO_`SSKGW z^lp*YUbD{9x~V$*hczbM=7^TI^lcj~dh?JW@4erwRm-h=ny0KONNU_*RgdR7?ig%0 zH7{S#d+PfoCxy3b)4tT*;N!zN&$r6yKBw+C$1j-lIk~UJC9U!{9+TIk8NK!H z{y^KvAn*ImZE4dcT>8N^EPb+l zJKfj&H(6{0X4Y-EH2BNLE&gx~?z(tDzP;P3Ufo{!zT1~WW9Bz$V)D%1U;nw~tu@*; z^-s5Lxu%t_-Wqtb?xbtv42#JRDYO*sX~G2Lx8J1aPY-Sskl!uNVQQVx zxy7-7P8}zobG#6>r%6+bJ-kzR?pm&C<1Y`@sc)b5fhRER&F2gqPulaaGQVzs^NLJE zkBaFVrfk2-yQq2lA$1$L(vv!`OX^~>y)mrWkc^~)KpK?zgKaxLGJh)%W_b(rX|JCz!My2<{aWT{e9F>0lke7VCI^q12-}igHu+qaG zc(0xlt*fV9t2}wdJ0Gt7-rRM6`}bm4`p1Xf+azRR;oA4_d#|1mt#R2$yjL%ZR@(j8 zds7Oqr1<8Os}kHso~^epK++%xjWdz&N&)sRdgQ$(#wtu7e#v`qsRZGJC*B)UfR)p4 zd#{`oT@xl9^lm;Q1)wEgeB7(H`rQf(w>S9nbm{s}7rnEf=aiP)PkyuF#KI>hX`%JI z`{sUi@>B2WLVE5^@5wVFI%`X=JUw;7TLxhLQ&->b z=XUQd1hBmL*{vn(?_)7$A-&_C_llI{$nS1?FX4(w1ZXjN=hHo#L@Pb@`s3sKyyM8e7tz_- z{y$c04u!_%Wg%-!qZ$m>g@S^vs6nJiRxzXo* z@e2#@Z}MAj6#A|7n`rr@Bo6gN%O+Vn5A_F-9R9=aF6*I+bsJACy0P3lq45vpi`QOQ z=3QUdqt(pg^S-;W#CxQW&b|1kY~%fp0sPC67oHqE>|F+M&&7RO{>}Gyzk@5?;l#b| zWe-olI=;`w+iOZ6orKled-C!5OK$%_0{n3H;qe<{vCMt{+>;}Fyo8xUvXf%nKESPBcjUViUM#U4Z|ENtyL z>^=CKXr;$qefrz)qP1k;p(i_ci50S0!lE0W{wOg_HBs+WTd!4HiNFwtX?T;dA`e5x zdz{ZszW<%Uwxhp3G^^lb3?HCW1PFrf#@BY6{pU7VCoPth`l<+S3kRUEZa*iIz=HG%)E znYI7M^{f5Ig1R;T&_%BGh=pC_2gA}@f4!*Mf6Oxv`^-}dI6i8C7Ol0RQvtQ1_oAKw z&pZR3{r@}sXX){5exA**#Ff>*&(h}~c(p0`EPbA(=l?3bo`v^c#eX*Zv*}k(Ztm`F zy5Fn4_%IIXeZJTH56Sc6M&q*HXJ0p7>$U4v%xgG5XcMaVzj+FKsm|=`1y9GA`9_C4 zw~^!frR^Q~bg0hsf!jdGz~MvT?sm|>Wx+4sF){FU_!l}R{xTWv(;WQu>5lGkGaV;O zW;vFuddtC;zU^SvzKghX9Q3R2I|7@0;5c^ZL&sdt0!J@yp`&cZM~J`3@$HCD0OM1K zxxwdv^M&KcsxJZSD+gPDG2kt6=w4e2nBO?=efBNjE_1jxEC=irjK z%_iVb>KGon8F*}VD8_C9E?XVzc5MYd+Z;iL?Z9cfWBh)L z1^Vm)j=OO`-7moN7sqdE9$nQy%+ezg4q{G=0%&u=u_W{l(B}`w{?b1{ql=C;sTV<~i;isO5@>bF!F+NF^t$Aj*1a4wD|axz zmxFGX9WzE=2JJ388ZcKtzblT@?_U88uQ+xzsQ?`-9GBNtfR?xI}oI^ur5i?X@vP`15?^10_&@##I3(LF~m!+n&~eaFv}@1v~l zJKEj6kMerp_~hjWD69y%T_dWiDFciijUQG?#`u z1DlL-_UN?GiTdHxbid#%KEp-?cD6=v#ugFIEJs9-PDv4mGhdBB{g3GVaAt(O&ifIE zM|=`deCC^ocCW8R*sT$xP5Ti3M8r#N%Ms^J#EuloRd)gJ`s%FGRnfuVDx70;QB;^K zXmn#&?}sg1ue{mbC9l)fb#tS`b$CQ?S3$jguHrKTU8lZ&(bewtVXnl1nXbUjxvs|b zN4rLwCb%+YOm@iv-*ky4ie0GHogmlBQvpHr^2 zf1U+Sf4COUxeUDibmd3h1a5a-hrADf-xH(-wd6pV&?%Y~Y(03v++HCxZ5AlR*H;SD zg4IHqNh=t1dcmzS3O@y!1w(*U$WYjY9~B{jEU=Ccp$rp7Y3d6L3=M^4*2coJI!%NR z8Z{F#Tec9wI<*qk_i7__>eEhmC#i$5Bc+pYJiCjqeSBA8Msatc?t-2|(Nc%7^`{77 z@2`UJ)!8Va@7-u&Z9re)dYw3-qC>p!ZQuSvyVOKs?6@SMaL!;MYT5I`&K)lb@(V)+ zih4y@88S?;cTE$z3`rM)MrR0bzyGSRy6B6Lx$uN4URku8{NF`$DU0^Mp={ z4~41q=YyULgu8?PC7AOU3U9pik$AW$PA|d|VC&G@(PeI?$g=t;B5XzFi6k_wg z5)AKrEd(!LEV%b95pGm01--u&%9<_{3^B`vk1|#W88cQ2uYLWU@Z*kELa)o;gZ@7V zZ1XijMC@AO=aD}Oqh_xYUR}9fSa9$sL4I!o%44JOPPa|MvX@H*e)4AFgD9u{WwJtBnXA4U0LNB9;TSyORBP#RAOTf3hYmb=dgd*3=M)LVNF<#}F6 z4*Emr+wr21k$g#5TU0J|`~I?U{nQoVw}7iC-#>*8uUr$pExs-cS#v{ZcmAf(Q*&Dw z+wG3<$MCx-?|VXQ>3t#U+5;gs_>r(P`mxY|)DuDe`BUM~{gpy>Pw>BIBhrJ6w}_UE z=+_)DU@B;bC}@Wu9bl%y%zz>KwoNcwVRpd$0z)1a#sMS1RKcl=Pdzgps|(##%|EZa z_FwJM%dDBTM=#_0)f~GJyMlV)t!)%=tNvT8uvXME7)ULyVakn*6*Y|!1Fo7zjuBYR zzuKY8jb~cXR88|tYKksp6jjqeUP31CfZTl_2J7BFp8n~wh&O!eg0&9f_Sfe|uO5Mi zKg;cLh4k<6+~~FCZj+a0Z~mj#D>0p)v#2<~9?jjaYcso6A)}Z8U2yYm@#%wlwhA)_ z@~k|_RIhcf!I>{ab!Zf#S1UD!(8e8mznGmmAfio!I##o-Zo{^&#I*dZmt!66S~RKO zv}Jo|T=K|KuMK}GLFnG4Q+SWa{zEhJMtgEzO&Kzrj-TCDEvL3 z@6gxia{4@dl0Hfwr1#Lf=&kf7dOiIE{T;oO{+j-b{+OOmzfZqM&!%V6Z_4?=rFo29ZXwk6Ev4v zT1f}eyl>q7n0f%s<}K<5^(VBP<UZiOwGW!m-Oz__N6p!U%kqAr z)>CVsDP2Xapq5ih@%J_L1@#%Vi29iN7d0PR)%U46(67Ety+svMGpXs+H0WIm@%IKb zjv5PHYykyTJ(UCP>DGKzsWV^&<5=w7G+*MCf%Bs5sQ(K2!|Vn~J1d z(EK_ue(ynbgEqJ`^uisWA#Mw8aVzMJn?r-#1iIvg&??uX!k}dig}&Ja&9fOgXals- zTIi)!kP?9yw96?TwT~eaCa}}+;Y8o|aFa{}ysOPYK={w*J^26kO(LC0{a-eO6o2>l zxMT(Ws%(_(IQY6y)}5Kge9t^(;@J1uZLFHpvpv`s**Dqm*puvIwlNpZrE!zFZ@Hr! z%h%`Qc#6|-jkpe6KW-?O51(b+2JRqtj(frd@%8vNypvDh)A<5^HvbX-J->y&&R6nA zc>{S5d8~Yx{5APTejEQQ{~Ldr|AW8A-{BQFgH z8pJ5oN~1DV*+AJ{8KLZ}?5})DIZQc1`I>T?vRFAsIbZpOa;frrsphE`s#dDjs5Ys#tM;o7tInt{ zs;D47NE2iV3JYo+)HA*gYIHE3a`{CP0AL^cFJx_r!rPKK>4CFMOmO6r<|&sshq1^p!{69M7c$|Q+Ysn zM0s9$S$RwOK&e#eRl%xysurqts%|Q$>PO{9;ycsz#|Ms-~$vRDG=aTD45|qiUmShw4|=AF2w~9n~Whrw&pZ)pm6& zbq941wM*SkJy1PVovI$Mo~$lbzoY(_`cw5%^-A?N^=|cV>SO9Z)D`MG>PPC9>h|jH z>Iik5I#KabGmlAE;^^Kx9&wwV7Iv z_H|IENV`b;rFOY?wRRIIvlo=Pti7&%psmyf=ro{A9bIQ#4_%ZlRySBTRF|&H(iQ67 z)Xmn-)h*I}3CgV2m20nQ?`xlG6*{%fq6^ivMGOaG^hba+BD`Zx4b^t1Hu>X+(Q z>euNv>38e*>yPQr=8W@@yKGA=rU!ng&U#c(D@6-RTzoNgPf2jBB z0}Wb(%~03S#n98x+Yo0MVtCmw+%VEG$uQmUw&8ulCx)*KD-1sv_81NtP8iM^{xsY+ zJTb_OW@Cu4k+He4ld-!o(%9FSW_;C{Zyal!YMg0&&-kJ7TjMI@PsYv0J;sB^6UKAK zCpwuvNUzg}=)Yxh^?mgN^)Kk%`Vo4M{&oF(`VaM=>c7^n(*LO6tlyzOp+Bdu z(BITQ(aQ`$2A!dap_QStp@$*b(9bZ~Fx2pxVYH#p@TTD%!#u+x!|tDOSZ~;B*kw3mIBvLLxMHX@utt^9V60^eWu?{XHAz(H%#|TO--#$T}(Yq zF{XIa5Yx-1Jj9rU81Ev+Cy24hwB5AVbjWnZbkTI(bk`JM)|jp4I_9S4*5)qep5`R; zi{>=*tL6gpIP+BVO!G(P&&}VOSDAk{Z#C~RA2eSz-!eZo(-x&gZwa>4vvjm{vj~C zzP2p0Y_{yM?6(}YoU@c$Zd&eJ)K;T4)Y`z>%G$x&!|JjQwhpzXTeGaAt#4T0w9c}A zVO?td-n!1Z&AQwAoAsFWn)QzLsg<#*ZAM$Dt%2>I`u|V;|EK={zgz#;7&jQV8-Fn# zHl8$IG+xD`V&0@NnM`4(#*mC1P5n#*O+!torfieP^oD7QX`X4J=}Xf$rZuJwkc_{W z&YLcqZkZmK7;}JG56RfV+|Jz1>@>%k2S75Wm|r&+nv2Y{&GXHR%!|#-&0EYn%?Hd! z%;(LQAsHW-bIqg76V21iZ=2sYe{BB3{G)lJd58H|^HK9@NXBbsxkY6$TS6?)Sz1~; zS-M*iEQ2h`7PlqWG76G$n&n@XPc2I=D=j}kGVX?C{KHaVxnp@`;jBTBjCN~#Yq&MS z8f{IqK5rdn&9IKQPPP_X-?9G7`Y9yiO6vv770YeQLknvSv>L27YfHrFju>%>@e*Q; zvre+kw7zX!VEx3p#Ja+|)w;`i(0bH*!Ft7d+xpO|wPAk5*2vbz*2&h(7HNClmTb$g zW!uKuCfa7$-m-mV`_}e@?I&BAZIA7D+X>qZ+dZ4t#@V%Yv%Rjpk$s`r~L2zO4o58b#=LRnh zULL$Q_~+oA!Fz*`1fL3iV6C*uZ7Q49R>$_7t)upQ04YH-!hTC#&qinNnb8R2l zKDRBmt+xGa+iE*vJ7v3M`_uNoR%w&lRrZGVX7={>aJyjdV^6d{Zy#yTw~x0^wwKu7 zv;WKfseQe@)V|BU&wku~)_%o)!_Ec=1{;EH!3~3(1-B0l4_;|sW8Y-oZr^V|Y(Hba zXn%yI>;b`=V0&;_aMR${!O_9}f(Hi=4bBM84jvu+M({hq^MV%ze;K?ocunx8;O)UD zgU<(F4ZaopG?)odhUh~YhqMUk7}6~yDkL@}DdfcvPsr;bQ$mVD=7h`-`7C5{$cB(D zA-{wi2ss&YKICf1t&m0`%|kkbbPb6N=^HXID??HbxYba3b^q3NNog^ms_41F_ne(0jm#i7eX*M)8h z-5I(!v^?}$=>5>Ap^7@{I+i-2b=ubHT*px-s!snpkEsFNTk=MVzs(g(*jxq zyhnd6JI`I`l!`<09rD-ZQ{~(E6gq|7!wi=z6_5Gp{8jD*M(#3ZAk&f`BYTaz!`GF+ zEpNweW-IA??0W7wE}rqSl)ROq3me0g)6KZ|nMS;k%V*5;Bm4>e6t|c@!-UAMaP8$Y z0v0nB{8V`+JAyvLUS_|OzpLmUP>=tS`B?7c56UjH$^2Gk3v+?{gb$N{ESt%Vld0K8 z{HIJ2KMivY^Z3c!pRz5qTju1x?Q)ZZKFtdTt@dkyB|C;Z@ z=oPzIC$ou}!L?_evWfgju0MZQ_7Phq+sa&EbC^%KhVlzs8sC*aB^xSxB0D8p$sgpu zW`pH1T#|f9z%XVK<`)O?R>eH-6?p_#qPW0MV-lGixS{N_;tg&$@-bae93W#%>{_N1 z+mri>{TKHfYvImg9;YXJSoSXKVfwST*|7*4&aGi)vWc>NTo$)cR>=?I0u(>-X4x_3 zA-hGsQ@Mwu*wI{Tei*YJIIfYclmE87g zoSS21M`aH7InK=wQ>F2b*~gewn!qe)UQql-f6X6Mm=x#vTbOwoDx=wh>~Q8?_7Z=H zJHaKeSJ?BiuFM*CB0H7q$Jn?p1Me~Q_*SxT@YN_zt1|MNSvCI)o6USnuVI|5RgNY_ zW8`--VSGb*K2ypZ;c4b4PA{*gXcpj>>A42XMCK)KlFY(=!@tje&fB>Fb`5=-y~j4^ zw=j#@^?WJ6jNK_Ol^v3C>?HOBHl7WY*X1kN#^BQznflBh>@UoB>_l!7e}kLJPe7Sp zWJfb0Y;WGdMRF<31n@x^X3ti$-DL{U=^^J}-{<6T%l~YEP{10F?=i=%ewf-Oh2|i(lE(SaG$d#W(j+cn<&qeb>xQ0IZ1OqaT?}% zW}_@cQOvbsynG!lhW|+M2UE^WVy(;`b|$Nr&*YXd2ftuSx5(aOWbAnEBX$v+$jsr!1{gred}ak_X1cOH*`rK1_80DVb_V;Hc5;UlyD=Nt zL0uv{%U@S~!8DaEW`9QQ3BsR~31R{j*V#(hW440Rup1aX&trBpfGd^VriXDyxJ<6A zysO;EeiBf@?UOZ?eaakQLKQ3IJGqtIL)jPdt^q&DUSW!uwfviW50OBHTQ%Wzz^UPF{>=&5@fge5_vA4 z8n8-s3Z)Rrm9fX!iA*@Qov8xy!OMgv@~ptd_Bp`9|^u%o;kMje{hepq?yW&1%_V`9tm?^A&TK zjfZsMQHQ)-H%7^_vSFx0gIHe9%a^h96mouttQCC(@h8jX$>uQ`%sglk$#bLEII>VH zBF-V|(F_&|gs-{QfD(5B#w@<{R>w&}WqyeX=oLwwcz z!D>$)n-qP|UzWU*gAB+5eF7~2h6EsMX9;357$Xc>1dE#?MBOZpHw#1jsuUJDtWi9s zvF0g_OKu*B8>YR`OWGiRP0HWvQ+tWa(Ux8JxnGplt=;bJ0609q`t*|zrFY>)>Ai?` zh~Ar?NZ*b?$I4I4%?|#0pttB=<40$*g{trqfFBM&5lJ^IS|sZ>NkJOoJu3p2K*5mb zdB>h#$aB?~ZlUx(ljB=QSK(VnchtAO?qJn>qh+XPf28HljS`&lUP3dVMLkjmdzt8BmpAGTK|KdZ{>HY%#U%Bbir>???5v=@0neNj!E?K$cqRRNv!9dXaCjFv-Zt%v@)4&4wM?Y4Ahx(D>!eW3FmM88B2gC;zW z9!F22i|BXg59vkFo3Eg8#5sgTArTl5DuqO_{LMqWtJZxuU>9Jj)_)YjJ{4vL%ztP7 zNF7kwfR*pTptug@V8E{usRhBVfDT%Gh#(^Z%_of|N9ngQ%EyQj48zW89i*dCgu;p% zY?ed<2o^>Gql9t52r$twu`q=&Q(?qo5&=>?DX~TZ&#wRd%lAL~oBr9~^w0jL|7Z6% zVT0j+e*QV%;Ggpiy#JhUAXSoo&Nukye1m_^H~8m#ga6a#8|-jab?IyN^T}CV#JzQu zC*FUz|F(v=IHy8}BIKzWj*#IAv6HzOG8a=9hDgz*xC0A2*}B7heGya?b$051ZN z``vJzAq)c}hta^)h3N$|5e5PN!z0HmDW0lrhtF
Haae{WMkbu2ND$OcwDOZolS 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 auGG8QV)#`#TdP1~n=3_pR!KfB`+opHE)mlJ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/decode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/decode.h deleted file mode 100644 index fc2a83aba..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/decode.h +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header and return 0 in -// case of formatting error. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling free(). -// Returns NULL in case of error. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be free()'d, -// unlike the returned Y luma one. The dimension of the U and V planes -// are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN(uint8_t*) WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN(uint8_t*) WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN(uint8_t*) WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If true, 'internal_memory' pointer is not used. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is false). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN(void) WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&buffer); -// buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&buffer); -// while (has_more_data) { -// // ... (get additional data) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_SUSPENDED || -// break; -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling to -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// set to 1. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN(WebPIDecoder*) WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN(WebPIDecoder*) WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN(void) WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN(VP8StatusCode) WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN(VP8StatusCode) WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. -WEBP_EXTERN(uint8_t*) WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN(uint8_t*) WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN(const WebPDecBuffer*) WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - - // Unused for now: - int bitstream_version; // should be 0 for now. TODO(later) - int no_incremental_decoding; // if true, using incremental decoding is not - // recommended. - int rotate; // TODO(later) - int uv_sampling; // should be 0 for now. TODO(later) - uint32_t pad[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - - // Unused for now: - int force_rotation; // forced rotation (to be applied _last_) - int no_enhancement; // if true, discard enhancement layer - uint32_t pad[6]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition). -WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). -WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_DECODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/encode.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/encode.h deleted file mode 100644 index d635fcf0e..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/encode.h +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x0201 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN(int) WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'free(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN(size_t) WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -WEBP_EXTERN(size_t) WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN(size_t) WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 (smallest file) and 100 (biggest) - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - // Parameters related to lossy compression only: - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter (0=none, 1=segment-smooth) - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - uint32_t pad[5]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN(int) WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics (mostly for lossy encoding). - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - - uint32_t pad[4]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed using the call 'free(writer.mem)'. -WEBP_EXTERN(int) WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV422 = 1, // 4:2:2 - WEBP_YUV444 = 2, // 4:4:4 - WEBP_YUV400 = 3, // grayscale - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - // alpha channel variants - WEBP_YUV420A = 4, - WEBP_YUV422A = 5, - WEBP_YUV444A = 6, - WEBP_YUV400A = 7, // grayscale + alpha - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t *y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now: original samples (for non-YUV420 modes) - uint8_t *u0, *v0; - int uv0_stride; - - uint32_t pad4[7]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad5[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN(int) WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN(void) WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, -// *dst will fully own the copied pixels (this is not a view). -// Returns false in case of memory allocation error. -WEBP_EXTERN(int) WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. -// Result is in dB, stores in result[] in the Y/U/V/Alpha/All order. -// Returns false in case of error (src and ref don't have same dimension, ...) -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN(int) WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN(int) WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN(int) WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN(int) WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// Now gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN(int) WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN(int) WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN(int) WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN(int) WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN(int) WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN(int) WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN(int) WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUVA format specified by 'colorspace'. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP colorspace); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. -// Note that the use of this method is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. Also, the -// conversion from YUV420 to ARGB incurs a small loss too. -// Returns false in case of error. -WEBP_EXTERN(int) WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of YUV(A) samples -// (with stride 'stride'), clean-up the YUV samples under fully transparent -// area, to help compressibility (no guarantee, though). -WEBP_EXTERN(void) WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN(int) WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN(void) WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN(int) WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#if defined(__cplusplus) || defined(c_plusplus) -} // extern "C" -#endif - -#endif /* WEBP_WEBP_ENCODE_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/types.h b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/types.h deleted file mode 100644 index 3e27190be..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Headers/webp/types.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// This code is licensed under the same terms as WebM: -// Software License Agreement: http://www.webmproject.org/license/software/ -// Additional IP Rights Grant: http://www.webmproject.org/license/additional/ -// ----------------------------------------------------------------------------- -// -// Common types -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#ifdef __STRICT_ANSI__ -#define WEBP_INLINE -#else /* __STRICT_ANSI__ */ -#define WEBP_INLINE inline -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -#define WEBP_EXTERN(type) extern type -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#endif /* WEBP_WEBP_TYPES_H_ */ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 680c8e552128626bbd177f4cd7acb55afdf00561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcma)&OACTf6ohBpuMn3JJ(tm@pa(>Yg!aCAP^qXD_2aAWDkOwK$o1$sb7$tv^QDfO zvb0nzU#?C%=%G*ny(=|UMkiK8wWwR(3;wozx0Mw5OgY^n=zD=`!r9=NXsWR;paXEB zR`8#xmPQ=Axa;Xg$Aih%u;z}VJxVDG8*r5yhfa#KNV^YT7e_tL;0Mh(Ql-#Bb%L{mosEwjK1~XJFg=c$&zQ$d%zK>T>L!0`z5$gMQPuze diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/Info.plist b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/Info.plist deleted file mode 100644 index 0f80968d0..000000000 --- a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - webp - CFBundleGetInfoString - libwebp 0.1.3 - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - webp - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.1.3 - CFBundleSignature - ???? - CFBundleVersion - 0.1.3 - - diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/webp b/src/SDL2/Xcode/Frameworks/webp.framework/Versions/Current/webp deleted file mode 100755 index 56b1e59cc3d6858016c8e6fc0b2af08aa17a556c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730072 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�?!_lQ2qD{0=9pRQ#4G3`%g;| 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≷C#ge55^qSO^u+kJtaG^m2?BZI+Z!Q+^D7 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

6b7`8(s7i z?-S>RmP?Uo(+3u=30k`+vL56-=CWCtzyW(!$y{NE_E@nknP%(=xZdHu0;p*i= zB?#!V)x5;=5mHHXkx)zX0lJ7qp0^85WQA}AXVygUrt%?_UhS`h(nWE+pZvMB$Rb_L z!+yyhT9FA+bI+@$xUUMy+p41GE2ts0A6mG3Ms-5-ccdgI- zI&_{u9aS2ud92R2n%4J6tE&M)R@t5swTF<&mBmM*QOT`zwROKA8;X!HNOOO_6;QaY zM%934R~)MxLbBA*+*&OlWX!oj8xS0cUR8=&GINz!7D>~6PT|)5VyRJ-0?)c%EG9lL zPx?Gljl8!kYyOcGZ4ZBLo;-&3p<$Pvq`0Yf+XHNPyj~~&k51kNm`hLA$v-8kd8AIh zPbY7boSQAgT~mFGD|>-3W_9sM&`iV@7DWAl$I6hrmp4!V=zZ)G;_{75Y+-`2eNdUn`@ zUfdE+osUem7w?hzzG%jyW0UR0&^?z>$MSpFQfh=ZQA}t?zRP%EwYl{dZOk{(7b7j`?=3 zh0+Pzn)l3=rVMXX`NH#fh$ynQp}y~qs!ro={tx4Cf0j3$J+wp`)ngj->!oWO8`WBe zdcQp`ExkTmNlEfoSR1f#JH;MTGM>ld$Tc4G^rKoo?$D13`f-VVC_!sy4Bz5PyQrdQ ziQm0wwZIu&zEHvWcHySyWVYLp*sNZ|qk4Rf%*3h&Oso%#K4eQ#%%=DB7H{_&W42o? zq?6T&`Bm6spSosvpvYd6YTF>cpPBnVjoJc#F}Hw^*>8+lZK+_Oy*^lci2G{f?w}QRne`ML);i<@o6M`z1;5{-pO2 z@prrTNQHUP(+=qb?PVE~Dr-iTD^bHuVbYA7*tgEwA?pCGb=_>Cpyc%_W;FZ$@S5qp zyv1)pJa3uSi({!!7_;7DZLX|a1Ad%kh<|I#F%I$XZ?#qqdsL`@I*z_0 zKVa&r+UC2dz*0%662M5I(|lI*DLO?An9mD^`3f;zKgB#x=nF?43;}xtLB4+E=tr7< z?A8*XNk2B~M=cLJ$Yu!z^5F4Qd9WmnF64?!wT$$+{&Xi!r}IUWwN{Q$2wJU$`#RA( z@PiUOo)Ij|?jaja)aIRn*u9>@HJlRADs;R=evmNSDcW8W7732w-$?66O!2-%+Pjp# z^17ZCQQuL^^K1l8YkmUBV}ZB$M-oLk@>+Xb|M7`wlZVD9!Q@$dS<&M{c}P4;e7f#L66n} zg#H2iD8a(D(X`T83(XF8ZcDA&;e2lU(Pb|PJx`q1ULR`jVc3re!RgAe9Eu>f9NF_` zKb*!xbDsV+#q(iR7CY}bc!59M1`ih-RlVx~S-jhLU?K6`-wqUlzy8o^MsIYEYA7Fb z_%q5YHjcLED+IV7ldI>rr(T6xj*Hu43U+nbZLPOBHvOAs^klDHbkhEmn@=~ES2UKo9(q*pDRs?xRM2Z* zE9TB_W3KEk<*GetdUd7uPZa!&^r&o369;WuKK5B{UUe8pjbNYVi+;@)e!Ft0*J@(G z$m?oqIAFS6qIk{dv9x}{3Rd*7Ws;=#y@l_a>~%F3tn#_ubv3d;OU7=cb3l-7kX3(X z98;CDyWxPVkwV(cP`k%?;7SCEmbjtiLe^>1CnnZYabG1d{^)~Z){U55G;2ilyT33N zPo0GzUbb8sfRj7S+NKP%x@m%$wVOjcW{sHr%yOX`Idp+xm)Z^v3KVGr!C0^sJMamI zBp^j&4hO>siRjwW_Kol|?!d|CX;CFdgB2fpwE`-yc(2@8@Q>%AC>c0tKL2VLJI)sz z3RG+e7Vj~_Ys7&SmwOT)Tbu1byJZWR$XMsxa^k#E#mzqZ+wErPV0xh9pfN{EGu7aO zH);#7vmHNBv6sFz_ir)nt6jm0m4S*)D!eIBv6eDK5curxwE65y>9L2UbCs~x>#pPU zMMg<6xl2r|se_W-mPZ#$%W~WN+;aPjo@KMo_>)=tVFm|cd>9D5;~v>w z^GEf8eMaBUNGt3vt!(zKb3g5>KuPd)l>ijQ-IX@RKI1E&k>=tYPN4rtpx+k=y(`c! z66np^UC_sSZr_l7q2&_cnc?f`I-*2s zGna~RH~%_=-1f{S0`B;+Ysr4}aaC>Dx ze?4RTII3l`uYd>cpezTJ`I!!XnEm(uiaI~DCRQEi)A$NEd9BOWd5hV{GJ3C7wS+6o zYZxv_i&o{x?d90GmJc;^`Nn9;gB(-vpeMlfAOY7w{|gWAY`EsfzkRYUU@SPOk0VU0 z#bEu)L1xs>2)I_LgN90GvY&5_)m(7B|6<_|0*BJG_89JQ#{ag->V2k~Srt8JP%ymytQF*}!*l>3ZW#C(OZ5g5S zp$T8{2D!{0t}`B5k+q_-H>uTRHbQx#^{gEZnzS5;v-)a-?s>B3t9^ZW#j)ODmoG8w zp5%*`uOl(vVra|v4X-7ab|4mjw7aujobdCL`#_@asU9OTE zf5zx^qQ5%R*F8b2e4*F!&9}<`z+OMAYK}GS@fWhdxcNc83s`k(TFYdxE$W+NEbu*U z`JM_*`$O7{p7lOO0xc)_?P;r{RexyCXUIbo*&s4oz8ZhUw5Ohj$J3h2zAYtTujYuR ztIC9+R+A8#_Eg#oMrAaoJN#bn`62C#Hzczv40%+27>t%LH0w>(DxqofPnuDpQ6Et+ z6FBXZ;;LL4EeE*r$NlYVSmWa97!T2TB#xx2JuMGLee>-R@5ByxQ1j*Ut+fpY_iw=* zvMzrl)Oz;R%q5X_Bdw)hsP#nS7qU**)|babeUHD=6q@#UnlblcARjKdo|7MA^lGd8 zAqr)}B2=42L#oCxqP|C1!LW0HE7s6zl|SON-Tp?)Hz(?Q%J#Qebe_mF}OHQ=>5gu8BMD{>0h58B(m@^Lu zr7w{myqH?-4X@P}z5H>%wb>gjf2jFUhE%=L??V5dV#184;Ci2o81q;nkMfFLBcq<* zkBkO??@`x{x?=t%aoNH2>1w?ZL1c&jE3yRV3^VHK6Nq9V=A@0ZJiqfMLTQoO1X>T0cj|5vQ_vvGo*8;AS;d*nAF8t5HNXYT}-xL0=3J z=A?%E?^OoHcpgiCCVgP{p2T}|(@o0Wn5mP0B+1it@?(-5)5$mJnF|^()(#^AD4Qq`skyQ!e-3> zMfrud&S2rlJSS^Qp5OMZCeQz4?rq?sDzC)+H!kz6iU(k-sE)t24rue7UcY84TAnE^@yS`06XC{@7M ziDMP8g#gO@zvsDkCKJTnZu{TQulam3_ul9Ib2h0<$PEukis(93 zr1rDePx%_N58A}SW@2m^Ut#l4Jug!k$k|yRIEn9=*u3CPZsyK#Gd4~|s0tcfRNtLh zk?+Wggy4ycg+gl!3w)n&;QLnIw*=w>CH6deT5vn&*&JDnx3EDQgvwF zKJDqaC`xT9LdxZ@dPF*^E&V(wp-N4M7JG@(qwCc0xp2MvQh~*6lL}`FqbuWfM7!|0 zBifBa$N#HL(u^*yxQ=Af)MU-(RDa%p*;;v5N^?>RAxsONA-9Q3wGV}}Rpj)GPTnt`0&ZZT884o>4!nkN;?ScN`<{H|-~xByP~@=62nDQ8)i&V2hui zfcX(5_q)Nmk2+&-?t^P6u&ww|Uq&^$6ZAqF*@iH-fOC?H{A~XbN{EP#$E~(9aN>WI^~mml0E4G77gnm>8D};$hpk; zR5_gH2H}8`ufeer9xqop$}yMagl|*fO4&mNh_2Nt2{T1;E?$|Jw}C8DOF1hp`BPzh zm2ij#N_&$7zaa$2A;4Y+KL_k{^#?QfxQn8gpP3ZpH)A0l2IQtWz1=)y#>DZg3HjNI z={QH5Mzo?7O)heP4wO8Y5)ktWMUxxs0Zyc~P7)@UN&<7!hP+GZ?>+yh*a3$(i0~0z z*p3!TY`)YP+eayF4TI&Xd!bBoac7{Nrseg-ktp{o^ea-R6>c-k7MCGt*acdU3Yn4F z+A60+d#H!Yyu}uDu+&2QD?Ri?L^oCWmYNGl zav@zKt=9cgx)p8@3E^wmGDFD+pd50?$b?}+l&FRv-uPupO&q*dD=Q$2j-36c)AQrG z|I&zFEBs7X!j#UA^8wkP7SjZFl1RBRdFA;bN?I?|JMvpt1vvRupc*Z zNw+`4V}D!vq$+UPp4jbDo;%WKBQ)W&kN>gd)9IC^fDt|@HkL43FEL}csh3_;Y3{kh zAgocWfrtzkP4z;(b6y}oCpR@w{vKfk+DQjs3(kzXc+!C$XE2c+kVdcQ^xL<3M2QTS zEbMCv9va7kc&^l$Boqj9Ks|u%R<^u!cd^!dQ2J_ zsCqM?O?fj=^|odUg%+^OuGEjg06Zq0RIyXv40t|NWVgTK0L(4YUsWr@n&npYV(a?F z5Tvg`aOcQs;J03MoGLr~)(O;+Mzb-t(YkX()*@Lx0kf>lZ&shn>7kzP6qtBS8W*q^ zTnR#0*xqv%+gncm=xvodu$yHmWSPwWP?+y@CKJ>ubEh~q%a%z7vIDU{>cW#|_)LF1 zP}LdGLLA2|Y_lTm*7R0q3>BOtEB?sjN8-^_aGavTX)WB$sSJR?fg}b&cbLa3c0`XC zHGMYPJFw|fi348v=n9U_;;i@cf6Q*Ts=6rMnfi2dcfo9hE_?WhDOu*NPyt&1&XNVh_20O z-6Dt?`bB}yn0QZAvIB1c+w1k)Mt<}}!Ga4#xN(P5zOE|JsR7g0*(xyVMjczJqZjd# zTgTQy*)QCRmTZyTM+l{$g4>Y-x18l(ykqY0Bic>e{2g8#W%O3~&Egib+ny#u)g_|z z>4>Qo43g&Gcctta>E9vvVo=N3sIv3g7&PiIp9xfr&4H>T#`^nR2_R6l$ADquPqA^B zR1&C)v{}{Xge)bb(aq{M(|b;4rBoYr0R*E+F-EqW##adscYezjwQbgIXC!^C+no;H z7!&lInw-r`ceW+oDUmeZJ@V?)R_#<{zen~~ZPkCeAB+zg-s)q!?5qq%dw3>wn23$VEUkk{2yB z8lGk7_Fces6~vOQI!64>4r>mg?onuXMC7fF9eQqWQjV1tN}-F)(gh-2~% z)Hiu%z2zQ%Ml*y=(!Q zlw9w;Xs^iiL~(Y4UHlaFaJm+0)pxz+Y;|{mERhFGS|tcX%noC#FrZT#H5KSEPH3e{ z<(VC?gvLl+Ip>w8!X$*t#B$z8Eyv(^)u#&*e)dH|)DAM{sK^1o30BQ+_|4Mo&cLJ2 zW2HP8kM>E{=+&%yP8)@VMZ&f+BVj{;D{?{AYY`2Cyrq#MWdk(*=36de4w%?5R(o>N zew%nJvNBNho)!}^nT$9WHLUQX6SjDJ^RZmp(3?NO4E1_5Yig`e?3ZMuQo3F2MP{TB z&d9|X?67*5$fP=4nbe^LFQG6YEvYzwiUne+Edb|z-=+D^@F1M}63Wo7aOxPgj}K({ zZP^ACGP}pR{vLOW{O^#NH5MCh=mR2>8oS8!o|TRx`d!t73@M8krUvUa3vR$VFZ=u! zXP;lKLaY~$E`j2~4WjV#UBPhd{ zC#iZ#C8L-fz|ZC+{#f1S*p`6ZP=#4wu1EJKAmmSU6CJx_RkF5NQ_vC@=CH$&?6={`y`9Dkamt+yxLmwn4nIKx2$!`EzBzwmxA@?J=}-7cx-o(?$aAoY?x<5a@cnS|W>`KB+762_;3o!&AjQ}0CJo_TQuebzz> zPCLBX_mayvTguq>?%y0py4A^u6Rl1N`nN)=`9jdDE=zt@j;B7cJ|+6RJqHAk^Q{*7 zUt~GUdxe}%1RhM@@}}B&f9*B_pj=_es_WXqD0k{CBva@1O4>sLz!Wtj#q4m(0wxJB z7o0DeL@3gc)3B#`#~f7&L`~I|-}$WxANs5EBLmZ0)GeKsQ%XL6IRY3pjj(B5`WA0I ze>Q^_&(HJ8!z+~ubscZnl6Oc*G0D`l3q<%SqfQo2mqM0;D_QVva&uv~b*Tt;80#(G zPLWl2N*5YB5%P1SJLag_>4=B6YKoL~+j0d2T(-T84w<**lX)Ah;nyi$u37YJ%pRvP zU`vKeP87_B1dU0!$*FIH4{<{B*{?FyFrR~@Sv_(|GKkKj9a+uIFeDY<4k3dz-%pkq zLU;`iG!xb3M19qb8stQ&{Y{eIK#3yplMN7(EYPgoyO;4|R8|MsdN@PX<-o@Za46z0 zE0%hbUmy=>c|*<&blQ^b6wn#y;Frgf^5}#2Qa@b z?!U^@<>cY$T6KH3>UMPDl02=|q$hfG0jp8FZ=t-~Q%ZDuZm;roRJnv3c~)_m-due= zKXOCBy8bu|zgzU4%#8r|9-I#76_AG`uhF9?i<&+y4AVId!{o2n%T|eX&yjhkj-}4_ zSG~HhSU9DD#Cy6@`}OF?`2iD^03+S0SJ8r|WzOQMLm1ItAHU_bJf_l>SjR4w4S_o& ztx#ujf2-EpSqq8I#MFwOqG&J(9o1Po3Mmnf(rWckh^Mo*T$WB}Eg&P05+`M~6IkN} z`klvU=K+vO%1S56Sm!bBHVK6DlBiuJ614Y79-g!Sjk5tCis4MO;Jc;x{ znkI=mYs;MKOTWNZ>T7+$P<_Of%K1a8nqbz6q(*Wj!H7TdQePyPr+mvJb$0)6y2h@M zH>*byjlsIp5=QVB{IB7E2mc58&&co8XhNTethW{;F>?E@OI!3SLbQtuU*&qQw&+1V zqD{U$t?i$AQ;J#_*N)T{wW{!<0rMKI+LClvw6|bhL$qnsZS($#I}x|dyFJ=eHgMiI zqD|$Vc{8I;qdoJ!Zq-&xx6Hwzo)EI=aD%!xOZp#~K0GDlq;asw_`lt@iY&#r#~qI6sK?9ArhQs7hi#Pt_tls z_7V!qM8{Xls^Dd%Iej;;#3ao_=a);T9! zmkwy_s|QZ7XI@r-W3K3?IY!++G86=G$)u{O+ZR|oYRIIvQN#3>jS>>5IDy7(VDZSo zliEgVs1gUUaIMA0%PbV&`Xn7*sl|r!l{3Q5`D)*JNrrI2p$S7)Gf@p$6(g73&jmyU zGBGmA7{zsU%OyuX7gk98`hi}?1czAt2JO%l?w}FZFtCu{1q1W@4cm5xH9KroyPCe! zZ`3*%)c>DGji#Mp*l4!yIi#ndXGHKxKfA?u7?^-(x>$>y0$g*3kM-XVf5f(G_u&^C zjwP_x0nNBQw#I)){3C>H=%(xp$-%}}d@e#uqr!n{@aZefjmKVgLb{DQOoUHgfeI|T zue^2H-WW5RmjQ0DOyR#@E|YTh!xO|rYYhua@P~riE(R39wc8am$X5G7xNaZNHvh`} zJTSnhPaD>(Zl0g@+rO1Gh!L)VkqT6Nh}BRMlzH*7Rp%c+Ypu5Q1dBFg&00yBqdp5k zzMPjb7l#BYUcqlnxDKH)c>-0>YfGOax!$tLfx}HyEA}%S_epYv`00b)b2kWqU zJNBHKwkvy<(2jt3XxdwA&#a-8lhm*YG$7OW%r&YNqdr}0`)jhbv(RXo7wT(Ey?2Ky<+oqy&zq{f43Qie3X;cpoyiHzVitv*xe$~f$&D4 zvxd3JQz(Sqb4c2qd=zRCzQ_*Fm2;~+Lx26|a{+S;N;GIl$%bx@DntCE^cg~R z$&jb7TSYXCZb>D35YLj3PBXII*^cL=c#;&SRer|)BDw3UAG5oZDkv)3vz#LT(Wx|O zFFa%P1gFNLej}{#8O+cCgw+G#pLqHv74cEa&v1G3P4dYnKf~qCH>pHE`57*6zDcF> z$_Zglt2VSX(Lw>;9_1Zf)r?hCF0VFV#)lm_7ay>nBtf*&X(L5cKSlvzk3d z-OC}*2ZraQQHL3o?XdtIsg-lPQn-|)%%h4S;=A}g{xWbO}| zuL}NEI83sk4X5U zd|p>dinOGVye~-57v^o-M6@Wj~IMu!Z~bD}ZVrQKJ1+OD3n-ekSdOXkuywFpg? z9h^q&UoRm~dsic}I_H^HmAMtCqY~p7I z@`!SRZ`?*n<%<)E~R7)20B>8?T^@7imUUJ?~zUbOtSfIDB?#fd6vIU z$Qx9!nSgIeFEHU$E-jO8G9oh$5OEhxxUq+S)U;+wzm4y>8{XwUyVcXt;@%*LTwg1{sUbP-&B*JKgG~vR>okqMKCUj5lRv9bgH()o*2qE?c0B3NtI~_ouC_&8Z@a zE*wQEz|V{`!H*H$fOrV@tQFLlx45w6%Z{sS5ykbn?E5^S&`6)YNC?p^KjpWZh416q zonJE&;$d3vPV%Tkv0YT+)07c;8F8vT^x(z$qW{?L1x8vK@wA)}lIRIsWakv3+zsy9QdoQ;?glwK%I+7~Uy!jf zI=u;1oVt8n6G>*ym$LD#2~nWTP4fn6;Q!tH#0w?EpY&IJ4SXzKVd~7U2QVl!mU-|`qDX`6coA2OZ9C*OwR=El*cuR*IW-N#0NOB8}Una6p?_d+fLC(RMF8B*F^T49X_Tmw7RSoXx_|t&-Ls%mNJhf)=ptf!CcM3W8H=?hh1v!1CQNL3zbXiaO zdTFm2Sz)#MWaPLPVSBGYx~2VG_~oA~7!ki4qegp(~F}K-=I8kWa{--<9@P;mRg-!fD%_(vWp) zIUXR^G*fEw+^@)?n&?=r<`YV3N>YzD`aF@#b5F>nmQ2mP{p<0YJpoKs zoxNuSI1Ei)xaigDa=za@t~T7m>9aQym(!9=7VE#r@_>qyA?%O|4;4gKhUyk}ADPG` zo{~uf6x0NkC$C4dK_*ZlhkH*I%u+MsFNkodB(m8*KC(i)PmD-_qm3LKouxOvX4DNZ z>bnGJje;qqM%|0X9Xm%Go^93?FJg!`fwQWFw&Vou;BYb0jtQmJ6G$DhhZZ5;%)q-f znA`s8Q|Y;b)A)pLIhbxrH?<@@46ZqtbDWU%^&(x{P(0ahUFQwiH+k{lF3GhAHc?A# z1f`2_+C$m(BjU!PNbvO?@8~VBNomMg+7YHtn0s$ zQ|LtM`X1V4=`FFXQ|y^v@izQN$a5l7>7pmdIoo`$XAMtX-4&i4+b2%sxmY|=w8N9kbw5|NRuW6@Lw>UkC|q^D=!t{XTz1x3b5>YU1vq!zsYYkEG|ZCLiKCazPU7i zi@xJMz2z;{eEUJ<>I}!s#l_$dB&8G@S#8uINg4SS*1wtpiz%?LA3md}g@RGCb4F=i zA&pJp0sXntM??mg5%Jq!^~jxQo$>Tr-z{=mfjr{$X4JaP@S8UkNe*q%hXNgEY{lrR zNnXwVJn_+9t?4`~|0*@ZgVOOG$uCNuP}ihG`D$@+`%b@Q)}~KPg!P#}}|iAGFu1WgfJjqQSs%;X`DT3|&S6GIY~YDJ`o;We9W7_qNf}DOiGn zjg~DAEm`<2H&><_mAoZ7ja*W$esn;AqwVI2E+I@`JU|e1CaB#BiYL8g9<=T}(PdJb zl7rUFSBH4JDaX3Dk|VCEUcEqb^hvs{>*l1lMNbUS7Inxl*q5)BN8QMO!T(?SHGT0p z&94rd0>0Q-+yIgJIRS8&N9102xc;bYGZPjsyG-^Oa;55=0-8^F8U{X*mXNQ8 zt$EW3mG^+kpYIfyx-x7%T|-BM)&mBQu-$OZz+mD%M4+c!TIV^xBDGRO^~GQJNCDn0 z-Xb9obEP3+w#$Fu|J(fE$N!`J%lXh7{Ach7p5y|?jB zTJ_#M2K|r@Rjh28cC%Wcjy_Y5=p5zJ8%Vsm!gkH*5C;Wf;=-;SLbWS;4%2Q&z8dJ_ zMq#rqK9GBSc+Tz);F4$2>y!fwK;^C)1#J*my?E3(-ZAdKigT2mk%8(ic^xO=91I<-|BsjX}hAqSnapK!%X zq!~TMxLlG`#3YK?==UUbyVWZ?h^WJawJFb$sCbI**~(|*C;`;Ak>mWRVcx$NLpkI+^XyyqAij8!3^h0hw@ptf)f!r@9#iLg9TW@I^4ZilO~iA z(;x?Bs21{sNLkp-vzv2j$@3s5yxM(Y0Es-Jee0CDP84CCZ0lw?ujEuZ`zo^o7jZ{} z8X~Ic`cBG|gwBMPDj-nWvymIrcqAMOn$7ulT<2jXR6aD zbQ)VW3%us+w``p!CIYSY<=0<^>Wmz5!nqtJD49P7xlwjM&iHF$Q=3#`4YR)P4b>&W zcXWL&$PLuGbm)#3ht%S-5cHyVJwLSk=mSlY#c>=rQ*C}9bc@S$@ z_31Wh!}q2fvna_ovfwb8dN8b$-M<~OQQWoTtzFEEOyukcn@0NjiKGf^Q{Ms_#(s!420WW}&xZlepA=PwU0C9eqhb}V@011v>pzl~;ggM~ zgzrcX3E%NMIu)lk1JgJJKM<-rKGiP!0n9x$b2K)%P3-a>OI13%hHBZWOSIT^40O2u zk5X9B^JhT&%7Et(r&K^*baOtU(W-3${MeT@JwX`;;#nqm+3jIdyYqs4{NGI zxdwGV`|`R)4F9U)F~%KRKZjGu=m`&9rwG1>Xsi65A+V<6aMh_MgtZiGy8!A@}YI-%wJh*Q} ze3}|IJ6b&{FY+g}bYt=F<7PIp7X_H^#Ek zpfH@%d>;odb8+D0D;&U^Xb69*MKGwcVtl}wh?T*KVw|vsTPTo6=#49?!qBFo#AJ1_ zQ)Vk{rj>b%hxaj1Y5)BPGB-iqR`f%k?aeAHe84nj=7d_|H%#N!egR3-xUFBnyQXn_ z^zKr0%11F7Ryb)z-nF^VZ3PZ+y6{G=Jrcg-B=*)Lh5B#PsZaaOmlN+`%I9Uyza2#F z5p|W5dfO&{+fSQeg$0)v>QAV&J5}19l2#e-P-#!-Z5#bC{N`1PMJS zcARibdXVf`x-EJSDOmcuYT91(m%dn2+F8?##UAbc&Khl1+Pu3AXu7LjOzS*7>IPtW zr>xr>IK=_~AJUaEu5d*+f!^AHXD@*XmQO|}KsJ<-Qz1?=0kW|aPt`p;5QA@L0Z2Aa zH<4LQ`>_ zib``|g`jd@6;Z`I(8dkDn{xoJSyJ?;52EkRHvDTjl+iY+Ng_8&ZC)U3>{D(G;CtBdZqG1-QB9%sXL~b0ZOvi~i2%7n8#3M3Q%EB|Vyi~uwf{BmTzcvB z`J2&y{;nFM=8wfE^S4B)d#L%_e3qJ*E}6>F>NPWe?r*e{WQ`HnF6yffL% zIrDvuGvCvh?~xZ?YkMztJNQiBe1~)A`ztcvTxi{Rs%pE;H@D2CJHOyUX3k`5r%iUt zN6j=*=DU;mjxgWvHPasE+c89-=3C8Vu88*x^a}1o;ozK`@C}zo@2<{kyd-4T&7m_w z|H4rvOGdKAqV!kJbxD*B;`-;d0Cbh=IO2}#ravgn=^xP?g^OMOPaKYO-WRl%3_KuF z(FE40dkV}Y6K8@fB)GSK@U3pJkD19yeVZFx-aq(uf>|RtlI|^u{6ucD9C=4HDP6x2 zSud)xVN<99!7146`_D0Bx$GwZ$bjSYq*xl7gUJUym<^(F! z80O$F^+gUU+*bLkzE$0L0cDY*QXD`3rdY10=-RSQF*4uqpKiM3)`wU~Vs<`OBZFZ* zB!fY|ko}YxB$ceQ$H{UymVA}#79iO}G8blSFX^n9jE@<6kYB|wVWM2feH6gQT!|>e zmWc0z|JF$lldl|>ZaVKRd;4cMvRMt=7F+fBqQrEZWP59=G|Zl_N_HG(WD_U13O=!7 z%|tHFQ;d7;1sZ5QRKkc9JoG2R!3%^)DrLaiZgVgbw*~Ds2Qwi}u$#|}nbg9iai2NK z0Dl@gL#fa9$^R9;PARKBr(#>bf9M&R1`_9ySk|(0X<^JxbH9?qV+c5e6;0{W2$%_c zUXa|3NgHLNL+Zvtr zz}$BD&G(gvG*kVLRx<16Koh$5{Y=F_Ptj`(rNdzAv}X3}{c zzC^mU-?1Kg+ZB#=P?2NyJj@SMsA%Tw6gs4{8W4wcRs$lWGun>~J!%$_mHOI?W!~+F zO4WQkB=+_By4v{?d+%BD)Y)&I{UYhv9VH=sk`xZ&aMMk)9(_bQ;4gSob)+A1pT06= z_OhQd7o+;`=VI0ARL*=vI*>Rs@;FY&Oh`UL?g?hAD&1^Vh38C-7wpF1GA;OKO>aV5 zr9z9{C9oEKOxh|FA&qUuBt|g$;iX#aQX*YaijK%+u@?$O0j!SNJq!JtAp|DWX21d;tD87@#S3S!u|8q=QI~y&1y{ef5y! zootW#f?+z-VLc>eyCKpCnLq0x$vL|{U|r%b_%h2tItc|;2^x?z=xB~PZR~rBg~_p= zx|P}mwSt0v21tQ~W3y$xG0;lJ9DC<>yXyuhIp9@E*Kkb+HC-W~=^%H*o;L@Z3$py4 zad5~wwR}JLMHaAGvX6kSQv;BdzKaa0WwY!m{iO)+B0hjo9QFkm#RmXn7{wlfl50yP z{HotO(eHnr=;coIeu;j_iT)2Kx?7@u>_qR7=td`csT2JhiT;Tbyp|x{vzU8JvKj)u zep9oodeO&?HItGdF=H~FJOo&B>B$^?;DL5j+g0p@)W zKAhb^xi88#pfmaGmsDgkK#pbuEi*e?}US8M}VT~U%+>>CbNmvxp!Cai8*tzdt!y8HSeSbcz`?c0HC zoiUfWH45C>Q!`D!)VvqO4oRE?1<`c^U3m@X_myBhB|*u%D%EmreMErNUC4d4?D(=1 z%Yk5?b-#dQdYh@9$cUEymc`%G>&!ISbB6SjHwpyP>=S6|pT14V3h&z{WJogeo!K8G z1!z^G`t1)BthEY*7p(pG_7GruIFUNf-KsP21O5L;m;Uc+JOm97{qN8LJ_PHh?FgrB z0oePDJ|<0(8I!j3p?~4`vgrR2fv&LqXqkim?}ROSw9MH6?u0Me>}&wv%&=sz$1?2# znIZcTv8~GNOYwX;8-OZM@duXL|A}z$e;JPDT>L+}JY*^&0ahXx|4UoI_Fo47t8uo} zHXtEfA!h516Q515b2m>fxEer`v}^$5Cfmj1UCf_hp?mTb=3lp*Bw2qMk&-QoqG0WG z=ORU((-~!lJ$0uXA6Y7~QTMb$CW!V>_;sW@I14&KNk15DV)h#;z z&Y>V8{BVc1!E0c@1)UE3*y$~A~Hhw3;+#>M)l$~W1` zH(sLT@@c+PtrU5QTjK+6&O((_czl)9M|98KZrlLk2KSZvr;pSC{2wWGAW;MQqF!>M zMyb$DVQYR4FeKL#)l(rQM$<*v9BUqtxPK!~kG}0e*WQ`%H9wSKOR^m0jVvRY#!7uf zv>n$k-;oS_VvRyRzoGJX{+T0))LjTH*0GxMdgLA&IX~~_6wY9O^2(f?iY-fi(aHQr zGJi&8E+Sv*8=2aiM0qMvdV+)wZaUv7EA^pN(D@2E=c$|sOY>5Ixx?@!pL62Z5kFJK z%PQ~V9|N)XvtXbg>!+kg{XyUH5oT&42Lu2^77L^QY)ewq$dfj@&w#7O@d_wVF}Xdj zqEDB_pZ(V#_79;Pt2E44lhbIr5-@Dhk8bfa?9Ncrx7!R6AqXLrDwxV{-NMnq zEs*n?-}+8*iS@KgqMK@4u$~sjK8C%)@mHkSv*@XU8e|%BT7+HX zB3#4!bT3FsaSW`$hKms4SCA?)+}yjPx8-<)yS-vFQfLK{I@?j0-%>D0a00?>dy;y z_WXj6e)Pg=xfP(9FB^9FVJYKgw~YJA=B8x8q=zFpo0-E2*W5weSbkW0Af6gfrTf&9 zipSzu(z`H_*D#Efw(Q#lER%p)>jPr&vRElZt``lS=SigQlL^{@V7&lZCQ#M^%t)#?7x6v^}&`UQT+*QB2Bq zzO>i}AgMl{VKrfYCC_jUtY_+M;Tc8>y`=bs!~OV$UMZYC5C?b+eZf=jN>?4y(omG( z#^fs4OEV_XW=x{{*ao*{{~g=#Rk|Z=gHOqa{_LJFyy%`U^sg*PWoKj?4zSm`rwx5< z!%tPQ5UqZfY3(qL~w{^e3 zu2J{hB14e|*D*cHI1E;TCgc4q*_t^L>zxH|ImLvzkk$WBcxaaOY%6KjW9FPqs&ZZrAQ%0 z2`*43B3$?FvZ8Rox64YP>t*u7b+?saCsCc&;i*?fENI924((!nhjzbnIE*_p9EJ-T z3KDXqO^=i~%!Z5_Jcam~bQw>Vj-wudC*tIeKZ*y!Z~TESO|ccf(Lv;C{D!p4$c^(H_3Ar$mbjfd%+Qb!31D7?Qnjtw{5ZyIOaH1Cbcba9s znhCuKCPEoz#>Q-anUiZ0A-n%y|FvjSQC{PP&Uqc27Mq+ppSdFBc}tr01beeg3p;$E zs$-{IyTbz~#Bljk_v3DyO~d`H98 zXgHx~d6h7kO~WACKR~C34GP<_L(Il=q|8MC;X;@BH<*DZcAvQoI!Kr1c89 z%%w7Hbl9m|5-Bl|ARJ4s=13p?pyuc6UsH$RNYbF9e!`@uxyIoedMmYzVPJh{-|W`s zKELQbFLIxkyU(lSnF=@v#raKdjUM-kO}_;tkU{kR#%;9hxs+Uq;uhA7-=~HV&NaUq zx2H&Vque!{!L5Kee(uW?O6HXMY!3dyUi!TTwP$Nx3ItEVvmkT)jItFh)kWC^u7ik>Zko3>$Fd6w6Hl<&b6WAh|x!^RF~W zPCNZjde)MAZ>6UNOQQ0~?MEJ|BKujn;_YRVHu_8b$rehsBWcdHgr! z|LiX-{~(JnxBVqf`8;yUkM@>F4rW?kF1V_O(ldkY%;xO&zVW4#nemm#%=pT?Grnaq zzB821$K3Ii1ljQw+JTrb#A9OF{2TaZow`QDkkBo5t%QyWHA=8ucb3lH$hB*V=ID9%f z`0sN;>J#8SI)}&W&c<_pxV>$_11XgPHU1kkt|8KE)sxizM8Yz zSIDJ8u~r(F2pXp%Haij8s?BNdA{8Q+E0mtu7bbZnCC%hsz$CBZc_b>)g@Sq!vXO;W zJUuBN<=pRSxES?1a#h;frRMY5OWtf zWL)lkZ&;UwJRH#-Q}*4V^P%VPkx=&+({pBIw^6s>s6SZ(%wbx<=g7YNJy3_rnG&Yf z<2?yRB4|(Y1;>nfcfBv3!gjrb62F*njV6jrWkWjJ`zi6~A=e#L#$mScCQ3c&1l}15Lx)MC=kThG zbrsv*X4H^e%dO`2pjklI0C!RLnOQ~_aXw_(fMMc z4G-Ed+!9g)f(oqWWPJ>3`CTHIHaCkr0xB0B^bW_FnuX^hs~RR8 z8M%etA}&3WOWCF-;)mn%e5}uwR=u>aP&c1XovV8`_wi2^e~@e5RexCcXHhOhUtjJ4 zaNaV#yJ|vFleDef%Hy)dhEfD>$v+~$MCPLI10dVSCwphIlQ2{?QKU?+<<;EVa~`Y- zwrI%f8(*R=9ml8m-fH~nn0-jY+jHSxpebZk?-h-(Qp5^Sqr(@;d z8f8)NE@?x0lV0_irUcF}nFQ_eSu1fT%o|Leb5|jO^(sltp~4F5A(^RToQvPibId;T zp#?n6hvxIk8tD;h#2I?U?>UL3FUJZw_wlAAn8o{2P_$;3nK-t?x?hT@+M!L^c5H_k zZWg=ofhBBpLKp`+Is0xQTOEjy@N z%gSVliW<}Cgl@&;16NkCXV}J2t4v;&l*y3Oh45+@7iR85>sBa++GcSp`i%Dq9paGp z&@;a9YN!w)vDHhsL*C-Lb)Qu6Np!y;x@YihD8zxJ@6I8Bni;Y@MNe@}X34!SK_vwL zbOv4)x@^~2rJq2ai;h^qoQ^l?n^kzTN*RXt6I-d9~w6zD5i zOi!-lC>keylNwduGG(HGL7DJ7OJcIqs`BJ1yn|%884S$RO3a>LHYV4B5>+*{;1t^$b`X1<@ra-rL z@7F{+WPNjm=;2B@k*pbO`lIIbHf#EW=JZxj5zgG2wb*|`c8d}8?-#OQQvZZin6?Ze zm~2%a;{NXn2N}pI68^Bp2bLhqiOISaC?XRc@KTrYBPy55j`CNFCR<~V;3TlsFvoHO zI#@Kh(<|4;kpAT41J&V3R|2Flrh4;_U-xYS7M7-!vN`dBItUe%vv9C@1k{#p1lhVs z5C4pox-*shcaB&T3N4ZCR;U?JdM^HxNI`E-uV#VjCW7`V8J@x*){K+iW_-hTqbEAv zajrfMkg|r@&@ubeehdDl_$9RFrTDV+vc5&#;#xrU?*XQtJqy!c3iPWo)KDQoR zBg@V6pjvg3E}AZn^cbDW;{5D(iKkZ*&qKcGl6>*_SYGT?(Y&g`+I`nBoITU{QHSC4 za}L8Hc$32vJ^X7PYp!Q*p=f(}Pfj}_?^m@r(UwGi--(v@o34m3Lie1y<{u$;ps2!%PMI~2nl7q0$=w5*a{@|*{3EVrcm3^4j*ugSjG1MX{QlnqDy^^=!jZeoUIdZ^k008zITEV+b?{sXm2M>tlt`%bDRHnsLZw5A0|O;Au0n@Ms5CxtV7P>;wjMlt5VUaZ z472Ft_NZ#&Z{_2q9m~+QHH(Xy4}MTnbhwRlLSIXNi1!i?Ksxd7e>}dB_**maKR+#= z@Nu1s+G&ye8TQog80OM8UY{8*-{uK)RBz4Vuhp^`Y8EfhPSvzsE#_Tt9?+9Di(*}x zc+2bAj=ev_S}ltb6NFddH-7MU1hZi=H1diy*qT$B-d=Th!KW7A(@YI*_q3?rd(>}~ z-_$=CR)^$H9Q4}X=RSU#Vy>=fdqNW0-@zSR|KgvJtoCXa$9zJd!sKhH`cjL4uVLy-EdstY^|iuHIYND@ML^tH>Px^x zN;yY;sYSrox#~*+i?ays5opOSf_wTcf_wTcf_vg_O0@{?+3bF)MR1S6k(8nq!9D#J z!95DFoJFvBH|etWeCpI>gSKzx+}5b`wk!@+RvOj=GUsiRKjdpn+vJaUT-rAI6pzc= zCa0~X0wCNCjUF#(IETP5v<>F>thULX#s12Iwh8&Ea~DtWw&gFLP}nxXvv|S)f)-C0 z*fycSQq{qysb{p;*YG($MdGw=<3P8+k;+4ZcE z!vx>nFwUsEZk*x490Z=e1gzc?=x#3kFtdDIcs-rp2G@(NoucUXYtVn2LuHnR!lZSB z*POl@XmdH)4r>nXL28OCu$b*r#=5krht0^tiPyY(1t&edJ`4(Wnc=lD^fPWLH7uhP z&aK-rMx*VCg`1MbZxF_@Pp{99ZSoC1Iu#N_Hgz@SFv?vxFI!y@c$D2LRCgfgdET|= z8Z=*V+nwR>(0>tA6Y%883qGKX0`8ebf9FH;5qSf}F-&gsq8KJjpFp7%SScmLad{G; zAJM4aBV{yDM%eQq*8rHPO%$^|@+vaMaXIwFY5kS? zlKFndOLyQGYP3~*bhBGe94OK~T)Ehoc+KbcZ0rXEAfUZ6`+^%kY~Jc|aAPY4IQoHx z+(D}yr?q}YO*eDR)N;M7OBdsY&yp%+PeLhYEA<5y`$E=oL26tr_svNapcXA zeXm9V8OzNMJO&m|>m`E_0+PYWF2q3p>_w41Axj~kkkuxoi**@*DPZ5EVMVfbv9|6DcENFYsX8Q`vhM5U zAwXS+8_v*RbgaFDN#m4quK>Sct(q?nv%!sx)^a~AT02dCW_T?P5t26EsMKPD$Q%pv z)>IKJP4!ySs?*y(w@qvd+as^TJDV31H9qLG8{`f;j?2VDJdp+Mt7#O$(+sQGq2y|3 z#I|P0uc@bzUm>eS`lq+m{5AB~qP?_J{;Wkp8K%2T^<;r4cjZ|+AOr6o!w*Ux7siGx z)*H-SjSIMzU!k0>$*QS4>^I{&ZYk=vi}okp3B)20udBt;p3t5E4C@Q82p_7oEV4$m zo{l7Me;);<@sZsNORlvS;J+4|9w_=X6!JE`EBSR|S={l=;_fsGX2ICekgD*L3%`Qh z()5=DPX;@;z#OH66UJx6#31g6#*U(T2p+e*uZXw{9OL!vGxr^rupax|K>p*fLf=7|(?NAmF zcYIhdYj@&x@Ro?@KsNhn&FG+gzu+n-hyF|vlbZ~Pz)}p@i+QhiFliuIND}9!qU$;4 zWqO8_NAVwq*(lpUkyTS}P7au7E$Vh&!R?FoI^dN%wjyFa?>7fyfZ0cMdpq+F%!$xhov z9s~9iNud1kn&-Yo@;P;>t)#B8wztMW+|bh5P3l=ahju#nk}WiAf6&3l8zl3r9{b%a zAD_E^l>hAL2B|Wyp$yiJQzlKnmm-CURF!e(@mrZ@rywbVeRp^`A2t6HH;N(UR#a< zZ1dXDR`_}I+HswIWt$UyQ|xN)@ZMb#_Ppo5mg2fdYmKsI2n%5^#++E$)4*qR;ci4M zD|r(Y^ZS0zOJ-E=e1{geqw-o7-GjPxU6};p4>9f&m@)|&)8`Q8nCyN{gMmHRgK~KFW{ynnvsk1K{czTgYo@$~c zf#S~ugaN`?nxyXCmpXk(R3ta z#?#wzWVBiQ;dqNuDGD4&Y$E-jk1#qSr!%b+QydUrRXBHKnx|XvoKJU2dT8%9kF8y{L zLyC__0fcq$$2$WLBM0R;L5Kx(9aqXDOW-xj7Zj>(oDwrG@}+2K4hSB$0xLMZn3`ZO zLfstr;xsbPJOsdEQ-lqKsq(0*cIPCPsyDBe8X{RWye{c#@JNh$HIwbmWe^oqS zCj8j!!?-sGmD9Ty3`NX1^xjg202Q_oii#R?1=5 z%BsL}E%sa5Bd$IBk*3+wKimJr-ZZJGsjjDv9O~9bm@w`$ddaeA1w2225HiZ93{%ITC zb5>bu5+1yQV)+W)`yoN=3TU$A%WsNc@ap6mo?-LiusIu-aOno_J-kYAu%HoQ`9$(b ziS;xVW%i$bI(8plFKD4H2X1p6!K0XH*z0a*vc?=m{jhN6)ksA>vN=9+zoWl@GdW1I zmn7>|M8&@;P0ZE+5ooK!{&mKr06r1@OFDV;n~xme6^XyxhBoZNC*)x&ud;?6Q#R2| z`zub-vGwT)x0=jat%FQN&7dtLV*C(HT3`_nOSUX8j$tNrujt*Uj1)6ZKms%$Ip{ z4CC|}7LS!?Vq)d)8|N6(*M`#M!Plj`&>C`VC5G4NT+UiC%<-JP%3!2k%U!>M{}u14 zt2x)7k+GiD6SzPSnctz0viR{YnD1{_XXbn3k3M0(t5*C~^R0A*|2O7)kZMmu|M~vs z*WCFwdHH*s@52ZGw)qZ-vms})XM9m6yOoLmpU?M#uVm(X=MO(&zJovetLA$rirN1w z>-#*_p3~<0-wwF*{bOGK9_QO54g4$Dw_pWleIv}7)pPq7{`&b|GA=XUuPyzA`Mwd^ zv5@8eLwx=k+9m%h^If6ZbJ~1A@v1xDzvAWZalVI31OJBkW__#4zWZ}7CU>xYe}417 z-oKrF`-J@o^ZcEkoOzxBHh15aw~y`HC%8WIx6QM`8S@$TZC$nJw0Yk42X~$my!<`R zbA>eUFPrBK|Mi#d$IkqHWyvSZ-*1-xRrB|iKmV=sH~-A@*P_~U+WZaP=gyypm%qpP ztAF`_dH#N|_!H*uFov$rglGSo_4fn0Fz`3gQ7g|pe+ku|)8=pTOYZ#Xy!<`R->>%m zFVEi^R1RgDKF0Tqfm{76=5Gx;W`EoK?LG7Sc~pB&o4>^`y7Sk<%irVt_3ZhZ=Fflx zHcVR>KlA?G{JQoxkzp4a_-_^E>^lqTIyzNmOssW}pI8)mhtFa&)}=m+Bm06@qYnW@ z!%oBc8ZSE=wmK&OvDH!{d(|`Ojd2nX>u|q+<(w46R=VFmCcc#T74Elb;CQB0w+0|N z(pp8EZG3^I6q>1-I|=!s^%2`lYU^5Wq9-5459CR)sU)PfbAr*vN{)ML_%xz-%j@O5 zipWZ<2*`g2|10=!=f7F2P$lya-CQ1`2*pFP^Qd$l!hG^2+$oPd=OIikU&5Jl!;@c( zhHyd~>sA3WTm)dvkQa`TIQEFHlR?gxQy1&na&5^PL<4?H4XhtaWW*)w-<1pY!((wi zIE@+Yx9%7XpDRO&F#v8c%OLtqJdWVv(3YB#SGZZ!aAP?yn^eZLf6^f&jjofC6X(@x zLL!cN=Fc;Wl{AdAlCM>wC3RY}c4Ev=a!C7~zG{!Fc7LE<7#C9j(%uiWn=u7&6RvUI z=K%lW#Js^G1o?-HxJGy$e$NWe$Lepgdbj8W-dI>ku!yv{@+$C0;U3Hjuah2$!GTVx zO@>ekm!6%u@KY4&6dwOFh40_x6uyh#{)LMb2cPON1-S*^6z|{C-((B>o)q@aZejO+ zyf6;R8jCTT+*stc)o07doVkrRWs4mp#g2E2z2xJ?7NfkWpe6eDDU8%nBByMf*}D85 z7r3M=&VbKQiwuhlZr5&#yVKinuHWMfCgbO{?IyHu<#N`A3T(s?UH|SsLF=5cY`Bni z{)hu2nW#kspEj1hp6kFIT$?^X6GLWM*=f)+7H$}LDv>if;HkvARxVb{;t{X(3UnWn z-UZB_WRa7$)J*B4rNnf`qJk&)-28@k;J$Lo)G>YSoId1YR+FE4S*XGYf6$IEDc{m#6No;>lm zlb>I)vHqp9+mS}@N}L>lEO0O92y!ch^MRI=BDjr886j`pRWvZvqfdy zRv+%}p6|)4*ygW~#HCE#vqw*y8sWMOnX8T2DhB%3OF4LYJ1pfNt@V1f)^E~mPE#vI z--ca5YrUQTe6e$AFj;yOevp{75b&Hc51f#OFxjfagS@erI3gIb3xMOEU9$e{Z_!fS> z(2l}&fXCpb3=@Qgl+V-Ui9aLNR^VP>k5Mq4PDNJY7W^FT@m}5Rq8*!bPp@9zD^(@l zA5qg*eGZsnJIOlSWS$r5epQ~8cJC3Uc%^R&fewfycpIYqbWiU2VAuhrzc|t^lJ0cia$5xjn$>qci(`NYh z>5eXZFi%_hGRJ>oj`oOuCI%ZlBT41J(+PmDg>#a0UP0t}&ldBD0DfNDoR0p}R6|aj z@|?tS7itwzqUpWGs{W0RuVs{74SSLYeG;v85pjA;uK=^w+AJT+o?D;-2N&Du^YrI| zm;J!YUIDxMT@JjQz@6)J#LkMFCle_ySngv+_xe5i{Pp`(ik8=fcDSt7?n1r6I;K4VcNm)N(Lb+){Nz zv9|P!f;OX@rwPhYHX1&LZ`A!Y4uD%<2U66TCdYJ;c3SIB0)QJ%B*n4BXA|$7@8MZs zPLHF#<$Uwxdvo+S-dlb_@@Q|7w&W+gAf*|z)$9@vfX;fv1qH#l_;K-di0KQM8yTt{ zI&hMBtw7wK7fk1P@0QUrfV$^7J@Gn_nh@Fcr{Zw0Wlb^fhuK?DQmyUk-&i(n`EtgcB34E(8;A`NE!4 zPFSf5s|tEJ9^4k$6|Q@Z8aR~S7OJ~t^s``baN(+>;**8^0nagPUeGmPz;h~KUK;ki zY^0xyyh6pLp}HGJ>ncO`_|@4jv{f&Q35~>CsMEdbH$O1aWItzT&t;eei(%%}SlnmhvP+jE@K5Ph ztrr_f(DL(!nLDBfOs+OM@PW^C5T0hUsRI+Z-JmDm4g$D4lhd#I0!C-RBK(q%37 zBicu|%UPeBLGQu3-(wdsSOBs_`-1zCJ9>5N1`t^{m=)V>!MZ==#Vc5F19#lOYc}F=r8Kp?QCRiZbb*;%2bbBm*O6%se4`HH~|If zsZUAMIvIB%3c8|Oy{6%HZ#q(sFZsiL!W_Ex9%tmhcXVMp_&iEJygl;vectf=c~s<$ zW_Lyt*=Z%S!s4$UP@fhmiq+{Y2-L@gkdp0~n1S^m6D)7rYX>S~>U|JKz!$KLa*+0R zyl92%wuY@5-^8}+B2@0uiK=jSF4*E#~-KufKh zViyk+Wr|?|4|=SDIEJ(b@I7jPLqUza%qWO-kh<)Ofaec^`ahVH(UsL!jn;I}N1)H@ zfqu{XM326bZ@vDbK`-OHmr2ae_gCzPL?|8-@a*8pFnhYdx|jJ;Zm!?bJjWUEL@yMi z+Gk~o1vOhuqvxK*CakN|X~%&RuB>p@e!}wtv`L`NTNS9^JoaWbpZedca#|8nADeUi z(a;FWtvIYFj#KV&*}oxfAaLfEN}*d_JriZsfI_?cZN*m?pi|8xc4>|jAkZcE0<~7z ze$m3x9`7m$FGqo)ZmVn>nhf4Bcbq(oL-7D~P4xQXBM?5xFb>o`NA&t5Bc5a!wkXp1 zlner7RCNK{{0n&pA=wYpJZYETnlu`y+NgWtnZ`~knXARNJ|n=Qs5~vWJy>_Bt+-OJ zPu#wi&ed;|BAhPMi0ri#e0qmaTQ($m9oOKRX{OV2Wpz$HPIf4w_mIt(!9)iIxe7e4L`+K zhtQ0jVvjsm;OCrx=ea=rbMCm5or_yBrcK60Z;3ne1w2%b7Z^Fq8AIuq-_w~$k8q4Q z$-)a;(@FxUd(IsaOK*@-!3Wq!j9Flr?l}~$i?a;#_4<=CG!XStg7Pn#pRZTomg%^R zj=UvK01wKMv%ndb_Y^$r)ZuPO;1GAX4V~0Ba-e4iEBTNX`#dBS`b&Z<8l91~<7U1QC0 z7vb^XXivfnFLOE?wDc0ie5IY)G9bdk%U}tL>bD5jrPm))Y@7p7Tk1CoV^*;R_RDeD zD2P){dhwW@v7-*$7)NT_#uj1Rm^f=jaeC8^lenP28KT^|L2!uMPT23`_{yi+4gopPryJH$g}e$i3Q=ktd=HTk|4=)yCCx1LxmR0^S89 z1V1;vBe=Qo4Z+JPaX)8?+|$0ifybI3gRQvTB0A~GDSwL2OA4%l6-I> zmH+`RE&v>Jr6r1NK?WcuPAAe@6kNJUz%#4X(y4@w64fV~jKCf!9CQdU|1)`)&CU%A{ z!+uI6IT?~F`Rll=wd-1glb+@<2mZ|Z?N1+I4^~FRRAMIvCNfg#;z(f5ew)#%Y&hG9 zHu*3s%A+K&VIYsvyvQ(T?65gVds1gXIS9Fh$~I2VFd};!}j9@LuB5%EOilzOB$+R z<(at$JpcmW@H#SDS&eYALFA}bl>n~_ywVwQ5f@}=fZZUa>hBRnus%`$0sN3$9`SRf zfz6z>q*HZ4H1kPmhF30pzmq3GNBo=P>oZ0#kyg#Fi~66G7I}@FU9QFc%lxr1>2AwZ zO{R?sq=|rpu+(g!Go^Qm=|XO6b@!sK+pAQhWmSE3;l65*h*qO5OW{%+(wbCp({mt5 zFZ!raiVJpnFJfliFdVnPY@_9FCD*6T%o!#%ND0CZhwMJVa}YnR><7_7N`|eMlT8E) z_=7OHqqYORWraOP-7IQKE$vMou!|=05oNatW*&dDi`KCMz8Q4}-emflAVgf{-VUS1 zCSo-^NMs1;gPM>yF4)BSr72}9H{z6Ig%`s!@zNq+*uJBPdn}0ht=FO! zVvdSd{IbIqH@TN`?3?9X&P&UL<^>hq50XP5EX>m;Dv>$%gSN*4r4-#3)CmK+wx_* zAdHL;yOgtw=84cBl)PME&odZu)tXnrbmaur(&nJQ6-G({US^fnb^-o)8gQfTC9p>UukNq((6>}7 zI~e|NnZ1wF#Qj7%`gSuMYdo{`@MMVN3i#D`j;cV#hp2qVtx zmPMRtZLv1RcWP zgv5(;M?Gl}U>FN-C9SQ>*K?j|L>b0{@r3Io7kkxYGr4M}>5)4W9{&G^j;*cx)!6}n zwxfGm>ma9LcEA3z%p9Yx8n(x4w~~Sk2lH%oK4m3wz2KMA0!5bXgc_ypz{e@vqg~?K zmit-iY-XX56F0|?)l)`D1BBG`}SI- zJfluzYukG_S5>;CP$1Ing;z<}hujPyshZ^sIYQNpC<~Q0^tK~>5KOV=8)SSn5)%}y zd^fp+U)Q65UHH)0z$oj^rdw2h(;td{c-JZBN(%2f#ohA$zb0>lTNiTC#jPKGrZ=}P zRI$hU)r0>zemzFs7;9z5v6wcAq6SJI2Rsp3ugiBO`(oa*_r6!_Ck!R0A8rkG|1b6g z%xz~gzf8C;i9?q3Saec)V?o2TKSzJ(aPyV zy6-=71_piLif)_xo2O-h?3Ou#pd7`ESSw{YWlUapDdr$IR_&X)IvQ(@;y*=Q6CNkG z?YTsF>oAU_y{q;ooZov~lj6B=-xl@1C&-pA-`i+kBgIGU8HKv|xrNqt8gzovJ-X37 zzcs79$912Q^5?WwV2(QtziHnzT+QxcuqR~SnnAYHgu8%CW8SJcw}bBI#7$=3 z=iwct;cZRBn|e&@?~SjudzV2JLe@+0hC%B!Hk#_Z->xV$t!UA37(Ha`(IO<}vx^F? zZx0`+;+XG;%wMa-8a)rbJc3_&zQTsDlMPg^^#n@QB$!ZoIfWiKKTRQx$ zj~qP4cf+4a5?9+rU+gQW1}s;rxZR-E@7}4^(xeq5U}gF$!Y>u`aTLIhXHeK8&tD;P z{{O-j*;bk@mS#>=cUg;$V@@7fFXW+W1UH7wN~L~fByOjXroU6)7i~ngE_cVyVCWm& z#mo7Un@$UOL6-R);hy#8*R*HlqqP;a6T*jJtWXggwSSZiV?G-Rj)4?E5wb=Uv2QD& z9-r=Xdy$M98e1|lZV~f_;zTco;`XWHgc~@u{{{U|!jiKnaG7=vBz74(T@wbOt99CuY!!~3?;B4$sNM%mYK+gE z;1jbomE58aFGXpnsp^}88Ac$NsKm=dftm+|NQ=Kgrsib?X=B0Zi^0I zEaBtOBFl8J(k5a@?5x2MNz32Q^O4UZ!&8_m`)89e0P7okf8s z>O9-Q0DDLG-$%YI_h`p;P(~PgjrskTAhgpOSr_%+!kuB`N8|gjN;|(E$Sfs6c!isx z3e4{>mU|_sz&B3SI1FQ{_lb3Ylj0rK&sBpa+&~UmeXzzT8UQ8l%>H))!hTR-upShT zR-&(UzIj{4QYqhb=9fs+DiQ7u99sWbEhE)-c6arIwz& z=inY^en0sV!%c&ehx&*wn(#9Fu0cqmYY*iy6RLBblY7mnb5;#bq^{wX^&YED(jLzC zud6+@n#!M}ojxPFsrJ}HXv*vyag{3R-@Sj}AFO>{=`%@x>@G@NYpC`qkXjzR1CZoj z%Y%1yy;XT{*0VEtvlh(e_c>wvGZ%bHD>aCPXb$KOVZ}>!6pEJtQC5qHC%GE>MP=Wz4jl$spGyd1iz`Ux4R!r0>6Lf)Gtj3Laz@!W`-w?>n zX$o1@g$nFe0VV1@V+hEdFAZIEP_)U24{0=HuNXQ0E3tEOEG?J>L+O(2AQ$0_r zX?EU~q#B>0ikegA&0i5XqhEcj(t9+~Lfd1BIlSa$=K zGDp1zEC_gw&a4%(ps1#5Ol6ZIoHRLUI{iN+$22=D2xJeAC5K3;JKYY7#2h&LLv{Y( zy6PLg_@MF_@5*6W$a>dUzR?*NNgl?${llM<8Qqi*%AARJlK0_#d>hM~oPmMl;XZtK z@O}H1oa7-AFF48v3S|W6F_yvPXBlB@c`mR1Cg8~D1+nBUjlty6?6CElEWR;YrtscF z|JoM$GCT3AnK(=Mklr?vI9;5Cm=y8pcX_NDO?9;OCf?mCPp~F*laTfREJrW=RQr|d zuTws(WdAbF9-lGI$}1Q3PmIIGu*b2v_yEGqsMEjgm|)y#?dtL6Q#z5%E<`0_P;SV0 zcEruaThU<1@C6SZm}Z4oyRjHA=HvXLADXFn@}cXJJNimwfbGbu@paY7J-O4Yi8oIb zrOUHqi;{Ftnr7AATq7OsKY(6kL}2(ChSY^tW_eaZB^sPp4}ss#NifI9kHTchfm9Aw zQpJE-ygJKAz}8fMW$}rv&%cZ9G1JKoK7&y~oB!3rr*!T(Za;d$^2Ey73Ca^YWt4a5 z>3>ijXTwjTH~Gezy%-s}y*>w}74s@*$829Luer~g=RRcs%^bjs#NZ{3k) z>1!;Uh_Uz8_f^ESoUfN_zZGP_Ffv~0wUkz!&qSgW=ebuyQFaiz3IrfiKcCfV%@MhlD znJYc&M{2odAGwW{TPdzligQMObO^jff5H^!yZ&QZ+9#gm%-c7fWUQQDtlbzY2Y^B2 z*+>Q?$J(4cHaPj=*?yiG#!AHgFRNmio=qsBN4X273P0_VBh-tY0kbn=ag4Mj)dzkw zY`qb+mq`5;&LC0C8FVHRSk*4$g%LMF!wv*X4up-X-(V8w-OTr9QTXz+{w2+l*4PV? zc`50oTI!TbI6xF6*Ok;4&_c~K%^Pg#N4~gmbzTQZ}}Is>T(zIw0@eq zm`6m6B*u>z#-mNB`G@?kTZv}?i~~4+=gw$^LF6!aq7;;vpnglGZ#1~bHgzwS-h^yh z`dW{RIHIodo$cPYl;(2~sXC+dn<6z*$9CrJ`!YD~JKLR1g7_LK9ru=B5>BqEJx_5y z*$3Z}ysF#rUu~j{g22sD1A_u!R1W$QcPUWP73-p{gejp;UJaUwSQnh%f0=w+P9YDP z2n`j1Qldbm$|4mO_?)_Iohs1=tUVfyc!U5;fzh)A+H=6DH2#~;mm@$s)_8VMnMmRg z2Xh5UK&`O;7D>L3*6v4OaJ-#Wg#k)-mq5T^CDGXVQWDGPo_7cf&Es;LNE1{%_#Mci&GdU7Jj3*m) zda`I3!51t#Dos)ESU?@3R}+%-m&wtoJET+hUR?FV1T&tHUYlSic9C_o!VF_UC%X_G zVrdWFwxhc|yNp$vWy4SR=97=%6Qnj?$is5w!8a{u2!XXv$gi)4<@ZT>GwcR=Ov83h z2&+nJ<}lCZ2T9@cZ$YCBrhb+D1VyoZ{F?^}^P!ruN`CNBLE?!)RI8V7OCBD;y!KHV zVYq)uNP{`p@oze~Rkxd|v^``k$s>uaU{^Qmq;bMSJ2LppPoxJVu&!~zT`3KkmSJ79 zi{UyIJ5jM5#gU}?Dny}C@=T|s zU}G7riWuWNSh{0>V>a5V-{nNtUxC-`Xl6nv6w>3{4+v#=rjI5+3O9mEXD~8!AKj$- z7ym+s6|Ri98kvv`G7UsmZjm%F%sm;F^ho7?DB@HCJX8x9k2WW^a%!Fo7Jh85O#>We zRj`-Ha4(G5-`ZDU-_sF!AsrblIbt}EGw#s~R8i5}6lHD7qXn63hLZ^&n5I0O^B((D zX(1L3tGI2~Vo(cPt`(J|D{ku)3WVS{Y&^TVx~Ndv{-pE?SuSAqlpD_$-2ujvJY2WY zNc=`bM%H`ne-Ob_rJ_CD$EmR$!F1;ulv2fnDCAE}i2n4ndP406H7`c28?EW_{6B~= zr*fmDPVOvZh@Fv3>2y;zDI$0C*siE9emuoTtSyn`p~CS_o)v+7Tn+hSPKUH|Ip7+^_@!(5dHC6gCZC#hcY zz_I5Kg8TNBWzPRS!eJVa5CE{C&)r3Mce%jFp~!wFvq0kZ!TDp*s?&L_I+X{PMi*?` zagu5tu8ZKzTHwrHjKn|7iaml~Tmhhlr$E4SJ+@?z;M4e9pp6D1^#fT$iS=q{tDLKv z?=@8MhUaDeR+za^TB}3G#8zcvM{Je!Xw>>R*g3FBF^PRWXkIMD<*pi%_$F{ZjC7vqUW4fOemdMN7)#ltt|b9a4RaGVjnd=tr2`8ug5+P zETV-0@!+KK$yR_cJp})IOpoLE_xN5|!ip98PP*u@JN>^UL;yCvg3HPk_OwwEe+zfX z1EG0COefq(f(L#hK%@S1%(T{Z4hS}Vkd2Dbi{hj^7+Q7i+}3yOaI#uLb)V)k!M|fBm@4=Lz;t-S$r6dpT~D-APeqDJwPC?(iTs zi2JpLsCP~n1V-ciS=V-|56(|V8e1v`)RfLa{6CNt2!~% zuZv5*o6Sie_XVp?4k$9gVcWZ5%XJ5_tj<$u)Rx7x?wj> zJ*z03vGcQQL}X+oCW~#C7Ll}aU@#80Kt1#2+43W)LH?PF$JC6%IP59w%`(SMp9;n| z6e#;JYi9E3wSh*5LBdY3?^XL~dx^xV&ULasd|XJdohe0M)x8gwee>ThMs1&UC9)T1 zNSCW(;%fvlC~F>V*B=?i!?I=Y%Ca7mSwTM(nDFHa3boiwP_N?y^ZGWmXCnwTrSEUs zsOh|85^Mi7cc4s;Mbjl|WnHdM(c{Eal`|n-(NYtj-xyZLb#kHU1i*(x2LM4+;MY75 zqTC(j2-S2FQ-x=+n#CGp8%(0ek?b`BluT$Rdl%OSS#i`hK$6DSNY&ic6K7@@btjEF zV+MRI#P2X~uaPO(c{=tAByrru8D4I*vLgy(C$)Kf)>XHAE828Wk|8O@pymBgs$&O7 z=P2MXMY-J3O7P15MdR@yy5>kLYzd)gvGh9lmoL`Wo(90>5PfSL_a;XW43Cix*eDAd- zF`2IN;tL4e#=Cp;KUJ$0curk`YPFSc0jVXCN3oK=C%=$xRhJ8mvp%FDm3fGf9KlM~ zKGhzrgsi3kk~2FpO76a9Sj`B;W2alMaQmoJZXdB{kZB&toH-$NnlqC|Ns!=2#92Km z1QOtQapmc7a8n73oicQ@c#5zc$z)~*$rNuoD(L8qlvC%IOk7xJC?yffEl}qbLX<_- z%gO%PQZ-@l7^sR+T`rg`UpOO_2fVX++e@uvF*EyLFb&G+C^6X(B9X7xLl3bd%7=7L zPwJ<#)6Yc7Kb$ODOB7mJO9E1`wPX~J)Tkc(Nz`hPsw39ssP%-Tg%Qzd6Oz_zIQJZ+ zKD0B^{qH1pKn)-abhz{~T#efX*X8xiJWEzFF|o33H(7Lw12q5TpG)&mwu`SBPBuj- zK1iYU-JRw%cdzg@7yg!{BItrlNYXT!U?-_Cp1J3N;Lez;Djq^AggiH<$%CQ`g#=#Z zOgzu0XU--)M|?9!nWNR1&b}BWHEA3TQN3@ghQqW;H$-i(Q&3M*9VMP|boG_WAq#>L zR@R0N)fvz9pA25}xzGEYpg$Fy_8M1(uI_J2sP#<$fQnUUYb}vM)8f2-Mq-*K2{H}L z%Dz$m6Ed|>SC?sJ`V%sxLVefBe1i0$p|dxV+?9(PlW67>GP4*;c>qX(v|;qL0>den zC8biYsOaMnF8g}hkx9nYCG`XWeSDVG3wbc+4^*p=*IMN}1|s~sJyOnyT6QY=Qh3RM zsxvfZ4|q&tw#uM=&M*?Tqgtjxsh{6RriU0VN95SG;A!7Ba$6nNZ>v@Ju<-gUZdTm_ z&F!nI+@{5vDd`Y~3Q)V7Xj**;P`!i0T3)4xOq>hYis)F1S0GsRiZu?y04oI!Hk~tR zgD^Y;ACWS#d4xU*BpeD|1_Rq5L!`((qb`epd#)qd)YOLB7ix|Oa|V{CiCilc;|6J3 z#Im5iq`OHzidCWaR?#~vtgQ3r>XllMP5|Z6QX`f%WFnhRjmV!N6Qd+NVen2Oj6W`vj| z@#cc{nDi;lkd9=0n;=R^mNs}K>Dd~~0 zWx=j_H?!W6X4V|?a{`{5jGfwx=nJf=s^=A=G|I1Lh1HUxH;OZM3qd_^6ldj;O3bfl z^v#r&X=Z_JM)e9N1tAkRjcBWf!9gSXHv8l(k5`GIC!uCHoc^|l0Z0*TKXcgwy*jrP z+aQo{>0;F}gXoyXrRY9@ywZkr<&}%oHpg2Tao7YX!XnRpL?M)uUG`Vz z^P_^!)LcZUzABq8SMWvs9cf5Ms~((l4hJCxZs@0)_LKsN>BQ0_^ zjAq_5nLA}sx-&pxuCC?UaXAdO5+mf>sSJo%>BybJ8SO4U;Qr$7^xMO{p+cSsv6@WM z_^d*i6vj#f{=41#iDVyUEn(4zS!GkzY8h0``qdAmSr~uU2@qGS6atm(d)@bl*K{Z|wyLZ6 zLEN8S)GRjxrTrwa?-{sCppx$u>bpRxN6Gh6z7f5k6R_JI!8_H3;ymQ(Y{n) z(KnJ=u}=){DQGh&DV^_W(e+ZJA+WmOul=+rd+?<|bN?n#JuQkFT|qllkZ56a1-+tz zM9HEnXtfFw9g41?-x4H>61&~ORAf3&%gD%Q+i5&KOpaFG4ko|j=AEwNc1cpXhH2N- z&;U`@pL>-P{Tl&`0t~QuaI1O2BEeoU1d`l?8uLAq?OA4&8DUK*Y7}iSb7(7PZ~kMl z&(1=dz$MXD6kth-R&a6x^4p_Hak4xlD`Q_jAs)R`Fh43;YD zROR=>AV}Htx#v6Az-O+DAMz_vpw^Z7iR@3*t{|Fui5Xvq4YZB1Pt&7e%N8(x$hV3k z3g6nZr7k0cUxfW8o<-Rqh<<3q|0cSKR3LRp2LLbgT`_Ey5VpZVRPb0yVVnDb)l3B z1JA?ac$ei$U6hq!XbCU9Av|^hTGETJjf@*-Bmz>dPFs(Sjb#0uOXN~ietpGbn2xFs z|J-!uEM6;3CY6*R;>!tBsaUkoK88H;TDM7!kecjvT>41@cc@G%P$2N^T&|eb5^nPO zn!_uuZw~))LUZ`3QO)6}ae|qP6}5-jXpB7}kL~6|FY?N{97lG>f`jtT!IZqGcyA6r z)2}()z;h*k&+^xp-yD99=PLf5_fcBsMlZATGcwdytggRvjcV6g+sx~ZoU0;VsK2vG zMWT{1XT{o61o9KLbEjflj%#O&q}FH`wQuKwv2u4!ps!iI1)CH1(Q(n{#Qi)bG$&?B zH)^!5S5CC+pO{0C?ssP{uhR92YDuQA1*{d~$8`rbf^=;gb8qJrl60{Yv2TJWnY zMb+B})U5GWUD%xX0p&2E*T~ab2fTuMjbR^3L%^Lls}-tbZb=UoiYvpSYLzVDiHP;%D$m{Zf(w{EINDhFZmaF zKg3#HRd(E5D>)b-)Kot1Y>KbTXUO;+ZOZgyqD4(@;@^;+)CeC-T*(v(@@#;ZX#6YEHJ&839goBa3~h(M%WoYCoX-!&6w*IMW_22Iaoo z6(6;qmG-$Al#OK-@HVy=k9hg?1V=P7>1g}6a$CxD|CXu#ReFt@?e4wb;5-pibx}IY zYDFE`n)I@hx8KQ&_z#6{|M(>9V@yX_70-wmG5OJ8Op{90M*I{OWo&;2Et_|EAae`*r)T`e)nE`QqqFjmBf^(631DG(vs%OIKI}yL$py zM~54YhpvEtwBOHa0-Vc?7kqd^M&m#1%=HIrJM~yiBNp4B;t;Z;)vj3W39{FbhSJvVdb%Bku=iXqe_`3U%;Q(Sr7l`ZOKED8*^Zy6nuxSC7_0yUEdM9Q51E{i$1qC2H;AC}y^BC}bK__MZ55UR5=tvsX zPBdm2M%_3;xDpB~_(`=g6CGPU{` z3uFlm+4mI4E#|(#PK+Nzl&{hQvyttV9+)>`-oUI>J1};){|(}d3=ry!UC)9@yQswo-9|-!FV8IhSp4n9g{CgURcCl?j2c2Rp;L3?0Yi<{^ zzCqN9up^=Y3TS|;F8}WWlU_0PQd!!)K!B5dyKu7di)-C(YmJB7{uWf% zTG26Rd5Jaj&&&_{;#^~a+@kK)7k`3R`GUR}@jrv=@AbtEf2UTDXIXo{}}_>R~>ADyTpJdiF( zgY+*TMG&Lc0#eB8-5>oJld;AE*)Mis$(X+bhKHMvBcu~sdkZvq&Z?G%so+W-Jl`( z@COw%euUr*@2YQHDYcw#;6+tegf?=hrA7nTTLVJ1xHz~s zQvpG`-qG#Xkn1@8(AvE+9{T)fl$@2yaa=;KKZ|7=UyY1XyjC_gSiY1{CoaNvzJ{x> zvH-8sdF|1E2`MN(vxuQk_p?Y5ki?z=D3k>Gs+!EVl!1>3-Xwu{W$bn9b#3Zgso0_J z-yr2Hc?&2a3Vj+9Bjn|u;J4n6|J5%kKDrjzkfo3z-Z(@ss;bCXxiBsucUO{C07Jso^%WobC!r=(1KlD#^dE zlMhz$>y4G4q+@F&HcD*!Iy$}Ph;l-5s0E=4j#4_P_U+jo4^bh6*r0(Sa07%SIDoncK}m>f7P zIB#&>_FheQe|3$t+Ng7>i!>95`K3W3uIlQ#8ZXI<=_DD_s9s5?cu9VlPLf%3BwLTH z*KYT6l_Yk)sw7MLwpR&fspzWjsp#yQBU!0(_1dTANT1#*Kc1k*>2ejFQ*$Jzcl1^r zeU^&OtvQn0JNjv&Wx{rDHWDq}9cyOl&ev#bcH)d3q)jAriZtG4AjFHm*BkOx57B1# z+q%|K@#A`C)!h>N4IO(XW)gZqvkKc~KDUtAVwAAF3EAS_JX0TPKP-ww9I=2WJp>zy zo{79Beb(F(S95@(n&S^J2Rf&*p8d2u~9VE>Y!- zH|3}UI&>se@%X*@{;5(O)|KuO8^cE3H|3k@A@NEdb~tbLxA20rMl7MIHQs${x=N%f za{_WWUMT5N2b9ESE;jpv_LmM~Ir0U_bZ7f50M}9@T2RssePm}ZlI-#ONBOWXx-rA5 zmuTd5F7iN5!S+`@)9wv`p0=;R_Q(% zPah=dgLV!n7fBxs-D1@*BZcl|UP!w{wF|2}?#^5JW@&j-o_6+~WAtz$K{o1MK83+* zAOdmfr{wF&?{J$Vb#V`QXy>}xot-ev*4CQUr%5;Zs?HCU%wN<51hJhVYZI5KgC(tV zip%Z19|cRcRDBe@ZOfY9j66HJ=SwNB1L>5_bt*ThOgZ8XUBZ5Cxp1o>jGR#fg& zXVa|bIW&-tlab{@jyefogr#pn)?KDzS-dK&V2HUI`x5KHneqF~E2{IrsFpxTx-*pv zy-diE%Ve)Z(~3gVcw%yolJYp$;cYT+W~Ipqs54z&?a5f)yYz*^OX%m@r;$wxdX)U# zGopRG&>i%>ttIs;%MvM$3ph*F;|U3r_H(**UZ*&@v4<7mxUP01@7SlWeOCe{k_WBY zQ@cq5hB8_b(05bS?HpK0Sw0*%mRwx*?dC))rv|=hEs0G$v7T-{`7$rfi6$?2oeH)V zZQx1gEhI0bN-_!W@aat|bg>SVJQDggp<(MorJ@wykcHI=BXOl-Z`9NWAyt1kg9@Ou zs+X*U0A+agmQ*cn$G64p*Z>tn7F7qR`>q$PAmQ7%MVYiw$;60G?HWPdixLul?`hru zw*&(8v#%vEN*-RI(g&Xa=~`rx7Dev(;Y>Ra!e?ACtNOOJ*)rJw#!8DeoK%jyAI*vf zrf{n6JeYq5#bA1waIBFM{(ZtJS6aicK6IIGZjJXTXGCW532Al)L{5zW#kUV+xZ{Vj zjYoyQh&MBd6^dIw98Mv^hi-Ic_sy{m4c!t{_!-=`gUeI`ZWwsOb|kOd`L@3^xGh!g zgfe)#+{{~Faa)tX7pd)_4*$I+!Oo3b!jn?c{BLJcU3%KKbF5R^Z`(&9|JH4LjODMH zw{2Ao(?{Dg-as9pI!CF3V8-T9-&K7n&$xO^8p>;i6>p`t`tOHx#xL9pITBrV*t&0o z=|o0=_6556btZl3b-Eoe={M;B^iBv zOnsdjmtiSkEp^}k9SE~Z;_g`$sQ*~?-nJdKnu%W9L1!5*XX5Fd+xA$C@^}w9p?rXF z1Qutuzq7LmzY#1O%D0!;EDaE$FFDB2Q!ri5@3xPyi`OCc`XM?#*C|)Cn^U>Y_MwCT ze!XPWqpR*SppPOU&cKEGy1*iZN=_D^!9qJBz@TfQmPQXw_cE_kqq}A8gVmJNc<6Oz z0D_~swX4U65FoWd#Lw1L-Gk&H^b)$j#Jin+zFe2)rXC4PT4(=7t4Ac7Anv&CT%jLJ z^<$xa)ab`u`Y}~MCg?{%KZff^p?>7+hfhED0lRnw)sHr5i5^JoMqXUp)N}pu;I*T* zQM~un*Y#Jafwx4BeC!=^%9zR2yGkf>@(F2h22Vk-j8t{kg|Qk2$Y-BvtUMT)_smEs zCs1FEat&lEi2F%mCnGMA`9^@w+; zLL;M2UocY$Ov{$i7B$wGXeW=_xG$u*8a}kaOoj8kQ`wh9d{6@sH6-^=S(%#S>1vRkGM$P45p@FC!e}y`(2t__aO+_0Zdofs zHfC~?LA|2lSR|;|RQ%l$8?0@WG{K?!g0(v&0B<`X3qudwHi@r0D(YDcUUk+wk1O;T zwT42f#d5On%kG7+*RaB8>4_{P!y6ShcoVC_l?S9*dKDZ_0Ju;pe-1ZS_-iM9lpF}GU z2*q1(R=$pcujzkBle4vBsg|i#_eZ5Ftd=MtVplo?S19V`3|frgheEG->&78b=Z8b$ zYovVN+&jFAZju#nI6({@?7>kaY8R!~BRtK~5`it~2MKfwasL#ld6H@QbEhD?DS0pUY}8^St_xC^52UN&GegK%CetTk)Aj{f;oQ`> zRg+>pY3Vk^RV?=k;pK4u;YkX+1S+)Pr7>Wod@)T&a;{?NNLTdy zE-mxsw}h}X_}ude=^B`svgArn!0aWDekOBJcXYsK)WLs|(!?u903+aLVTij{A$xR4 zR9vJJL)L!x(KC;AY6EZF70@+*qyW*?uL0o{c~N$J+&}P%Ie*N`{T@al=v;qHsjhZs zb?1{JB#ZGbOk;hm3%SQSp|5ssbG_BWw0~HLSs*K!o`%03pr)aR12PTUU*V=~S8GPm zn%4-8uaQ~nYb@mbIT8ICp;j*ujijL`ZscW{Ec}8-z8>uA?SwuyU~VM9WDj}6^U|9%JwKt$S#&cGQ6pHGjV3VeW|@jM$bKG|1l;& zufqP5!n$*Mnd}L}EVaVbZ&9t=w$q~nRbT4d_Mz2KLt*x4YfU{*XX53G1yd-s%~<|+ z)Sj7-)sc7HZ4+fqZcxY|%gm+d8;QLA=ZeLPE5;nW*vk5%Kl&NYE?I0eZ(fnuCAPYo zVqX#Mv0am;g_^Fu&U-g~Y=3PZO>hz`07jgN1QqeN6>u7C6w0taLNuN-+zM>aQfU7k ztbA$;J+M$^j~3zSv8c#&7D;hE3(+Njeliuq+|A2k-m}SkHf)y`;co5)v$A7t0SM;) zZVaG`KE38|PLdlV*6wycbCD>zBvrRxP8GT|MrBEd~ivi8$CL4%&G|%5}+Cdh?GFoRQ?#lwOAN8A{uS{nZ!XwYcQt z>fNY46&7#Az6=I=o3r})zTF7VrsD>c5);~|M7I6_m0cypF-v@3)*Y88h<^qMeZ~ zx5MZCSdwD*hah*d)a#5n=S~&9OrlqSzC=rqTcV@S*U^?ldmdOWl;|^cbeWF+zC?>& zF}Y2NKEinng%|1Qt0eji9es^NzeTjI_gu9bM3~u2fU51U*?nxIBw00}B&pQi6^mqy zO-{iC#hAU{S3rNlW7QDdrVn{{>nK;`FURZ44KXXlzHk#gC!1AHb>Ks+Ijz;XG9MOE z0;YLnA0RjXLEGkt)eQ25(o!}#hcfL*u4(6eY+F7hTxbzZ+61OBN~>`=bEG;q_*?-4 zmde+}DY)%j+}}w^*vf4Q9VrkA8qeY0)AXKG75w--?QAwnVr`MijaNI*6c2%N#4Npx za->pP0#rh7&>yQimx4@G+?=c$n30QlZM@RSyUTR0W7)^6^@x=V&C2`tnJ~WAl^qvH8@;2FqwbD=;j|X36zkoA31h!Y(Mc5PAXQCL)sYCz=yWT~@N$KcEyy!YFdbo;aWz*63tLUoRB&VsO2BxEK)=^hW)KsCK zwJlR2vO3>b9a+qwfZ0gVYJhOfA5Y)Pz{9}$jWt|o<5}$J!pMs@AZq$2kX64zacSfvZbFW6~&c2*^ISveB zvZeAhx}?v0tSu%spK3~TeO0Fl0k7^CsXS=SZ;(PEE+yMghKhG)&VH3ky|FQhP^(o~ z&d+X^!M4AAmjdQ2bMzFhbBM20-Ad*QK=qg}l!FoCUlJIypHSu39u>fi1#wAWEDJ$lWn}+KT`qeW#;2ybhUWxCtnSh8OZz!`I{Vb$BUIYTidD$oaFne!y!DuN=;#IVXU0PXQk5P3Wr(7sfZ-Ygm^& z*-3yP1RTTlqfkHcd1xx34C7-LfB*psWer;yW?EWk86&S?gLgz~i za#nRaLv>W)inMIhWwKUu&b?HYZ|A%cO6bbZ=~~v;I4;ayA>&5h`P{xF$LDl~Q|*uK z5S-^?R(Dm!!o#Y5eB6hrG>MGG8zN!N|5` z(KyMW#-{o&u$j{382HB!<|}LjW#G{Ez0#7C{^ISRPaj|EGC*dAWB&3+Gk)xp85fzx zulCS1r%>b5W0b%I=p>LkEuB1&JAU641tMZj=gXBkp$2s^> z!^eTlvo3-@OAuSvFEu@MhN9`JG0wySTpk?ri1oq(Fyg~F>kv1^|T03qu=DwXbx zqBE?i-P$@k@^hk}RvkS2lIq*B810$7uI6_VOQ>q%7 z`U9%+`OS~5mNLOpU+TZ)O>ii+l#yd9N!9LU71Dz2O{_*@f=DhoTpF@E+P{VHknpE^ zgrCKURY(W_tUK7KyMQqFy(r~4WBPqh9wXy7v7&#Kx?m)nn?c*Bbo7x*6`jFj6-JLF z`ZM0$pAh{ydLG|9IRW*mScZx`f{%)NYtrLZY_(iSh+$59DfxY=0z3S8eNxd>Z6+wY}2G`_~?JPwxt`teJ{<-Wq{syyrUZP?b_ zzYS^4q@{jD)9Wxi)h6u2yu3}^MCWTU79_^9D%Vt9ELH|Ls>WsoNV72NlydowrP#@m zf>$uDA83$e`h#}CPc&BAqPV#$x9>QLj`3%5zsHEnFBt;j#=63uoy-r`z9?)*MdkZt zjPk7!JCw{-gU*uJ)P6rv$TO9GPHRnR5`OV7(xEm6%2-qFP(Ai7@`|`au+8N%OT-@E z5wTCFASnX)aVfI)67WTAz_k>hK*N;$ENk|Y?O#=;=*D6Yb5jP#HFtl#bCXdgXK2Qn zO>1TL7@^J1h`vsw(|T>&NAcZ$|3Qt}SUiE!1Pv#S;j0##bny*6eZMn-4l!GpKw}Xqt@<5BFhj1M!VLLgMBc~j*U?{*XgRYc+9%Q1 z>S%ka%AFe5uAIej(%C^e*c?9uh6+iOYVV0f1cm2-Mg4HA#1((zFcHN9l7g+ z0mt;}&w9T!z3#LA%1Xjxs(wu1!K7=V1UdG+nom@J88(zK-0y{?tQRZr6f#U6H$$-=@aA8y@WZf?%@*R<8!zmn!qwWT7(T! zv9d~iz+Ll+@Bl{LQ)E)BhA>0B-R6sB#U@#2>h|9IO=9K9`U&K(>`muJoN;VTPgXnA z0_h*_zxCRV4%ORHm! zhIqH#AdPi9I4V*1;sog)5pln?bL%^D7_vq>*R3Padfjt{EJM_Tiv&elpuJ$wV+`!7 zcKQSq*+`IkG1rT=?~$cr}7=2vlO}fBQAF)+Ki2sxTWs9x#jhFf=ySR#-N@3P91xL(GHm1m(b zB)j1cv|wm>1ynyLlH8jqG8itGvJ$-S=NkWc{hPxZF81bbeZ@1@rutZe$jS5TC#_7j z7t~igTOV$cJL5_3&iFcYXPg~9m#9xueZD`~dHqyICLa)#Iql?*%yz+54fkKUKkuc; zX=E^bscMKpRY7xjx#0V9uZz4iRd20@t>|i*Pz-5V4lRpxiBhTx1av=)`#^uL7p!%3 zn6)znJI{=-H(Ab@f0n={|@9qksWxv`emvg7ELQt*x zrZqjkBqjZz;*?szW7V~KQlBn_{hPYd6a=5>Lqhktt}2yE zQg<}bJ>(x!pVnu?1ocHFmsFjPwyJdr*ESbQtDt#jD36?-h!$cex5VoSm6-)!l%3w3 ziy~WEp4U~LoZDfM`>e}bUq6W(y%5&GMMV>w2%CQ1gc3;6?t8A(+oU*6Wy4=2OG!=+a3ImL|O?}e8zVrbfBWg-wYhtl~0m(crXgRvvdq z4D{Ub8j=yhCuaPX)_pLa&cwbqh`DP2IzeJ+B^FVG$zxdxovmY>+8q!_*;WkGvjd+B zBIwnhOF4*r$_U1Hacy*iKfdE=yotS)KH{^&h)3)4Z@n2H;IlP(wOZWa@DFD4mc|UJ zH?OZ%@l)_4-Hn2??GNUV!mgn3Jjam!u_~5AMb;J|y_3ajLqOu^w9Ol@wZ5>iYK2R~ zR&03KnlmD7-7+fTB)&#sY%T7K;Q8V@UY&(C6du9Zp#GBC!q@A31#341PvWcc&&bCb zP5*vH)^Nt)JTq!M5mBe6hViYi5<4WXe;okChb+EFa705A$%ubEy@=N?MchTlnHt(1S@D=$y`aV#5Z!gHcIl!Nv%{$4rTi^ z{w|rF4oT$%3u&IRm+AzE^O~!QoP&9%kDynh%#v4(2d?ZR)y!#&SaSg68DDjO0SEWq zOevpSqn^_iuO6b6hMVZfVG(OeZm=aGbYA{7evcnXbwPR59-kXTy@$FZ&Jtyk#+uR^ zKh$S-j#4DR7|o$<-c`wc$5_c9Okz6-qP zAoV;DzO*ocg9&PkT^y+lj}mt!Lz8Ap6ST;)+^+Y7N)Uodr9Ejl-u_C~ReuItcB+)9Utvp)j=*ryNA6|%J!^PVDr1E|7+<5hCU){Ne+;7vAGxQ04MsJOuM6et zj4vtPlY|aR4F&DbH7t6#od^FnF{!3 z(5jmj$P$yfK^a~BY5@HQ2r@;L@IOV6 z!5Xl2ZomWVOT7Ra7(~q!z;MaP+kEvV+rh*_{W^%(pXyhr%M=vE=d}8&E|o2QeAM@< z&TsK)g51Sg6}+GVthW_+)vueo;y$1+mMfEZ&>uBjsP-rA>(xc0fy8%GpK=InslyeA9TmmCzie zy=UD}fEkp9@um*bzAR$xizHnJBqvH*q^nu^5##ZF80*Nvb{NerpcqWM&CWJUHr@S_ zS+XUT7w-tfa$3rZg!cC4kI|y2{|`dr)kW+DYvt`&fw5pFFZTFCC#%@BPp7_DVXYiXaU0wjk#$@lvnZfY4-Tjto z=C?GUegRa57(g?nna_`u_c5h9dgs+dKcJ&WOFJIb(O=fl>m@p_qtBP;9GdqH515UT;p@^mE~}v&(q2pA8aqAxI5{`#Lv=?C}FZ z>#(&cxMh#{xv6~*B=IFS-Zu-xG3q`O7(4?)AM+jsX`{}p+=`NeGtP?Im%>VL!aq1- zY>pa_&nOrLcZ|jO)Hk9fpWJf}!*MCL`3oZ0wO8hItAQ9N!h;zRNmZaa;uPHxD#+^! zabFX$-i~bhFkJFB(#(4=4AyQEc!RYlqH({&&t;h#28zm8=laOD_o72F9)5Fy7DA@_ zg{+$ghKo0btv7@5!*gd825S%3ko%r%L)Mm%J#e1nMXa9Z4-RF5%_vm*>hFg7wt|%l zT#>)X?pB)|1shgY2vUrk&SRB2uX6ftgC@HVU8<0!Tt`PF`Y_diOHtn49}wNu-QDxC zYkbtj(|26CQin=T*g6Q-md&j+m&;;`Ij-U~0?g36Oa)=_gHj z{1VmDzv$?89;?pM(Fb^U6GV5(M?85&XVodvKzp=`O&eR%QiHBW$o%NO-(0(Q8HIY% z>Lw9*{X>a0^6LNyal+GN0)0A8jvM*fp&xBLxc0HAk*Az@ELcUYV)~8sWVQ0{h|_xh z8ROe9hs_KVub1zWV5`LE3;wOu@%z})rsGRC;a*wavk>{SNAFiFvt_;)bo#@18Dv3< zAEvyL%|>*y+R+(NoEa8xmH8W=-LNp7_?Z8&=%&Pv<;UETO==%VN-jQ1C-smZJL52S z{j#*BBh#2a0`OXtS9jSgs=eq?^h$QHaweKcq=sCF_%~Y4GX(XJH?dLTLac!bu>oZb zJ||`9mgryZgbzF!XJJy(cxO;%BzdGT;(v+YL4!lqw$RY+oYx`X7##9{5-R=#;a!EO zs2?kg#5emR{>>yDaaq`UEj;v~n8ZpR9UR6jSn+O=hlH&^2Z#PS3_>J7BY1DPcrOWX z#5D}-x}Q>J+-c!Sg?Lk=teV9GrH*7@SuBiNUY)hSTqA9Cp zMdd;HlyQ?!vvPY&oiZ0JUumGX2a`ttdV8pNJ3vP(w~uWJEm9xQ3$AbfGu? zbAHNkDQ+#J9B~?<7Q{O%6cPRqKq@f1Sts6T<8xN~IJo9btZxqI$vKuWe;hCKa)R}K zJG|Nnh@Z^ZP+VAw*U20Z+gcG`B&toWc86;;l5+Ojq<5KWuD=K$_Bt>7Xs7wj6TofMqzI=ZJbdrMr5(>ub3a;kO7hL0E%=_W` z_k#!iLg7`Jyq0I&QQ{w0f5#PmcB~+6uydWPGF&YwnbQ_~)Fh3`@oM5`Fe+6Z@Ey~T zjPNru8MAkY9Renhf;sBsvlo7R zg*r+axr)cC`vI3_rIB~H;6g=<|6ND_tVi_Y5`AcxioRP%&+ZW|IovmO^mRIVN{?ts z>OQZdN9gEp^oX7=(T@_{lO72EV&u}=V(mwosc1_SPrB_zpnIAhsj!mJk}2)^gdLCX zxjm3wxQ+AEh#ugD#rUBcj#9K>lKoZ#J}F$n<|_e5$fH{ zp-3*lHBlqU zPk47fIbUJH1|5BGkLYTN{&8ZZ<)P(&D- zwD9~psWl=VA+1SGCKQopW9MdTKmIQ(tZix(nUYOcI)hGSS~hac8rQ6I+QvJjr?bk$ z`iz@bbb9Ixeg}-3H;f>ZTEau#FRvdqAe9sL?Jch_8X$p1jO8~XGUfr_7mhb+{_c1S zd5)G$X*Ci!lM>?4OU2R|lNnOuzNCzCFV^G!Gv3`JY>l8DyLbmJ=JtqwP@><`(J$)g zn|nl8N%R^W{c9Z^=n*YR-N$saltkg@^oYJnqN|DSTHd<(-4oFVx!-#{eee+`_|nBc zvRo+sQKZHm|JYKNOJkAQ=E*}%2k&G~Q>E_wmF0*rbI?v}O3m%wA4W==jQ9ewc5V#Y zW>%POPItg2B#Yin@Zo*>r4*`ZWaZo;u>E5}v!K|6pP{l0#|mVof% zz7$_*)>*^5IB>5mj9p-?>RyvaTF1JAcen6s-hRGzZw*CwZ1O%>L-cPy%jP3hDhB{uek zWbWu<)D+=70oE5$Y`DCo>1TztURchtnV}_3ez9xd)KvJ}kedL-+?_PcJKCtV_NBgr zep*Y0G|$8*h`#gLTJ?@uX_%;gyl+=IHP$7a%@)tpUub**tp=^z0yLgYxHNt+LGH5i zRNovToajGFG%^y2K24%6qCviHeDB`RV2?M1=VA<{3YViz@1l-_s)JFtogylPoXMtI z3Hp`DPehAG-C495VtW`W%9YKWV82`5Pd0N|MeOE`x(5gWsic{rCy_@^ z(OXMhqUc$fJ@60l!<|*<2oW4>kN7R;)Wb)|UY>J7nVq*>G%Yq^Oa;E@EPRUwOa3x@ zbI_)$UHYN1u@PO*Dnk(qAt)!vD z`V-_%rVOG7=;-fA^fn#6f_Jw>NAKsI?j9@Af7a0*5`CtQ-ln6!BGLa(NAH&CBVQ3@ z38lG|&+!{_|3G>@PCvMlqDW5b3zv~mWVUcLphsn#BiP($@>|? zu8}NP1Br&8KXy&H zMMx%F?yhFFzlpX|r1F>+3w)L%z0kzPo2uzZr4mtNjfGW8k-W)U@eGy^t2O;ZXYsN5SLc>E=`G}A; zp7X}>0lOmK8qc&Tu*PR``wG3rTZ=+Q#gULzJ;aU;w`LSrGX~kQQHYPMa@3%1&NZUj zIHTW+jrIupqU4UV%}30GxREVK#2pUslv}!T7KzqqJ)b=l348EM-SnffJj)(Gf;>uV z;c41dvc-5P2F*CF4c!C~tqYny1r)e+0gx8A2kU*(=g*x&A7A0B!H&ZW9tHr3YK zVe75n!M8Ak@jj6}UI`C<7eU+PaaLa3TF;I>;%{Q_EbC!~v3zr+Hc5$vk!1VXK~9sA zZ#aty2-!1=LU#3#a;NBQwo*}Vr&XODw%$uU!qz;5j(A1ofr$S=`&|sNfcy~o0GX{= zULUxvAd&*>CB|bRZ1~JRlvb1~kl(QXaM0fzseBv3VbR&730v<1=%JwXR(R;kyzLC* zTGp%iQzn`ri1;dB6n3^OM7N-XFvMycMRu*}tx2 z)9l^dGh+Sm`x&J9Y_%6W3d}YGa03I-mf$vMd7wHQTllGaklRm|f*FC(1svStcwP1d zR&v_HXyuop*u;pa+k14~p0mStL3rr4ipuST-<%(*U9bBzbv6*mC5(0RYMzKZt_?vvRztJhY7uOj$370ms>=itmN8u%iyQp^s@D zfJDJ!rb0dFVNm?X&czA!2fEcvVD9$GRmcb6zR@iXm;8YH4q^KT1>p;RfK>Pg1<}k~ z+B(;V(1`7;f)gK9KgVHkFRIc@zX<7byt=?QHw)+4g$N;g`V$hZy2TKI&h^3g-2acg z_W+CP>iWgcnNwzf>3s%Jtg-iob%r@0Cj#zbEe)1xMq z7^Be`#fBxu7Gv*5QH;G8=Kl6M!vH4l``!E9|8wv2e{K%!Is5Fg_S$Q&y>?l~SG&Cx&wnp=je!)(B;gAXe#*Epw5LAq zmvTrM^|1xgC-?q#^o1z6?t@DL65P!2ARxMsck#GfEPXZkoD6uAAeTbPS|lV^z*Wtf zenb>>B^|%OYu#0XWr^xjGC!P+ptbo?lvg6YK#=mpk+ilWl!$Hvf<^7{K76P7f{6Ia z#1wFkRwi5lfM9WXI_x4kwd4EJEA9<^(VO;kBMBx|CHQaYWAdj*!Z*hka*XxY`T8mA zi42gg2=mVx|K3H)KVIuLNcleidwF)q-{v3s3Fp8>+#P{S&`T!z3aE-7@0b68SQWae zZ}8{6@@a5#7DoXE+H)1fEC81Rp~h0erjf;862xMPf1V+}es~)%qPLY6GYSD`oJDVv z5YDowF{pM_1?O9{i=EqmPD+-X{!e;c1O4Q4nns*J&foD3FYp%BGZm-|Slv>-SPC=;SABpb34#!T*h+Z1 z{9E`yQSyKut&q04Rv3tLeMBT$1L*Y>V&TvQ3Uo-SSaL*Xu}JiIRdt^-U@t#zC!Mv5 zBfbhp@`I+;WArWDK*Ct;eE)uQ_>DY04!^h$Jss{KF1kPT@_sRxOX|&w;573*7EKmYXY)STnl&IE0?TltfQG`iuRmz3S^2?p(WTd! z0Am+&X))u1P8vqMW-MPDUDEFXI?|)+M^D;L6#_F<0S)RY=%k7E&kBfm`bN@XtLNtr z!h~e)EYU~ZwUCmKuKd7TDiI%yXY^EJ{irTWUr?#P?bA_1_M$5K*rZl^5VlAUJI<#{ z3Hn&T6(+L4{}cjM{N_x8#Ed5GJ9@)YmjM7^PZ_6tpqWMl9fp=zLyA30EQ; zV4n=^ zn9$@WA5G4Z@yQ=1ktWjV)mR}b(d9a!3%O-aq|0(xKoigjQhN5xS z3dRf8uieG+k+z~7vhZ82^PE}l~rux?;A`n?ck$nGfwz#*_i}fK&D2KT6VPJBQv3mZ^DdFLqb_%;4izPgqK17@nCXIjzbn`66YjP*Bz&H|U zVAM?Tz#1QK`C)Wb_dmvr>`K32d6s{~x*{G)(>z`&HuMB7NIg#^&Mp6;u!>C1Vt)Sv zEEt>eV8TQsyon@?p(F3ypN@p1#Dt@K3EwY&xhmlukcr}0n{*qZ;TlsM1wrdyGw^rx z@t43si8lY10L`VM&;dzO6#teC`yi-E^Zz=2#!i@V)SpdHhV%ZZ-X)$+(EByoHSzy* z`VU6J&(PnWdL(@h#gBc1jrt>DtiKic?tibmFJV4{r003NVtMW6|1aa8E~LLAwe)Nh z2109*KAC+(PYRn$i{4m477fMiD~sGprc5rY(U(Sb`k}R0ogTMBb$SKW7!_d)oXVH! z{0+aaK8Yu#6=1{WD8)=8F1vb!vn(VXX4{=OhD4Nt&XtwU?|l0I$QcKP85qTGcapJ~ zc<~bS+4Y2OBY%0Le&mc}&dSZs8AqL!rI963v=dvzV@hHh(s8MOMszW@@|4EX?tN1a zXr_HH*70Z>J6x-l`&V=#?LF=iA@}!@&F{{_Eu-)sJ!!Lequ-=5(Sw}$x|P_r_ogRe z9#j@bwhlo}F|qw+GU2#gu6Is)Fca`6t`cS>V>eEj?D92yI;T7coOpJ-Tvz3IRC1I} z`~z52)i>;sqqbvT4LO+x3aT48%qkjd97?+9US5pwg^#qFDZju1Rc*Jptpyw|5vvHC zq1_Jk9!|2sPKmS8CAqXv;`B;0zBn_qVmMr@;LjN3-OeNEc7Wem0BK)_%eMNIbSH~8 ziz2sH^qx}sbVj_0bwzv3_imSKv1)$86kYM)9f!t#qLsLz5ompDXL&Q z?rH&s36>b951h*1(1`q$E_p8{-b8T;ews|YUxxSJ_b1W1W4ert(GHI3kNtU=&@S4G zsp1Mg)Btd_^5e<7Xsf=vMc;vKpryz~ue;&=SfxOYtSe!slZ)Wzl0`a2tFIEe7j0+) z{|e*VWX;1nsH9W6Pz5@2oS=6%&OIQJ>7!$@%}0X6T5+%^+{m;l5}?XeKmnay&D0xY zg0l!JKq;VLrQ!NkXHxBp=ZZKCw9`d%yC5?3gC(z#Et@21p;#_R7eA9po?>w?Evavq zukvt0xZKl+X!>xJ$U}Bw5Uig1u*%1WKnXO#5{X+Mi*AekPv>@qj`8k}A@|cFZUN4! zAqZBek$}(2I8oT%U80VHXnc1S%qKX$NBG8vb_Z*TV0~IN4V!Si(p`z5Ai>#(ZFI@R zCs3NikRA`&e&bV|AeT@D92bg?M;4tb7H>U{D=LdC=}imar#!7A3URtk0W_>$k0PRQ ze7Kh?2o_fvHQkKEtOylcjPa)_k9f_SYXJ!durU*H7(^vAUO?OHK%b|y97|?y?0-NX z`Ota4a@r>GTn0_Q&C`yrM+8a}c?3<<1T#WL7d;Z`QDm3SgWOSYR|wxg@-qQ-c^XM9 zqBvx21oP5bHWnpO`Y4PEc{{cUcM(4d6N)>$?JN=M$S_5T3)@P|>wp|G?4+s)6}oL8 z1wTH3Y+l)3w53AlhsLhODLX`%4C-gNR7^#Lx#~=>1sq zK}sbyT%@&T+D4Hz_m-~?@)r#$DRP)QQYGw5j`Bg#gaM^8v9t&oe5DA!CFxgKrI`fj zw|LNrynctI&p={&9r33W1pG_OYdOwQ-39I(BhEosS0O zWKptWb=nR@kk0oJs{>SZlDxnHzrdH?R3yHAvC!`uM3(14zWWLhOE^&xI~K1dp~G)! zVt*%s1ZTJsOp8U9C^B{~itWsn37r)PgRA5_i@I8*PBb#22q{?U3yV`d2*uWs;azkI zcL^E|2#xY^=-H-hAcY{)%pz;YaEchoKQ84U8Llp2RK21yk-v*wcd)MVLa_^-%Bb>U z*Au+17DJC5bpx3pRTj6aV0??~vr#&dTq*7VMewLQ#hySG?+19J&o}BxacrQ{S)|6M z<_nQb`kmqu!V~0T!V+f#*;RB!@+#W7kqEi!_6#imWEX)= z#;By3EdG|HO7`v5f=^n_i6Zn-$~gL>4>}gU($^}tpp``ut71~4P(~#Lof#o?MO}#( z=mN7pbB-#1>_emBYDG{C^4aV_LsU%BQ;Yq zo5dKy$BgBJ&}R9R`-NDvnoA(nKBZyG1|n=Q#O)w5rPy*7%WxQ010*BKp#eCX!x%_b znrf!BL@1n+lmI|TH@tNG(drYGaKAVRi1VNRMPA^l1Cn6!u@y6G?m$GtO3~Q4i=?Hi z>Vhjo>Y;Z}rV2|sW_rZIlvIC_TPgjqSbgEtYJTW$5sG6seBdOEi#M5uaX|z0BN;tm zwK-HgQ_gF!dbIt)^Ui?dQ%bQW^fK$jsngEzN8``_NNOa`8a`N&9$6HUKoAJuS1=!o zEudRCC-%0n&VY0(YV^-APjv--w5AP7W$xIx0lFu90S4WZR&XjmN<9Ce&zAh!TL< zl!rNo0vz=dU94JtjKCIeMAl4Q!6MF6{E$ZY3|54nC>Bw|y30uq$;{>G-G8^8?e zO9aZa9R&SSsZo@6^z9;>=XR0JbJ(7zD$FC>!*nH!5RSAxLfKJm<~smLI~uh|jc3iI+Y;C&SM z{%hMlP?R)7;iUzqV=&c-GxPzqZ0a;ZdlE|mD&PdI=+rGj5!QsmgQTz>yB$kNbQ~MJ zL$d(Nh0>`w%Vs!GLrPm>Qp*rvmY4tuQSj31FW~gjPDRuHg#iLv&8XKY9QZ+7hrJ>P!{B}hqd^|dR06kF|LR#*`oyP1}2`1*SbDH98CNj z?B#bM6~*?5aM;Bv{`mv0!~virh9dV3I>S$CW^Y7X!ax#6MYyQsUhxKk^JP-aMM#oZ zz#Sskx)C#FGgSL!6SSa-HV{8UP(;{5d{!t9AU)tN;L)2P$oAOOeYYYsL#7@gNWiA^ z*+9xtp9jgO(XV9A9zuR}nd8WLjkClr zQOzu##`mvH5{EG3`%m3e5EorC?FgVomy{eKMP4%Z2+%+~K!_{l2PB59ZN+VU0V{)* z_zDE4fV*`87;In$j%*y-tRUw%9s;2zCJ^FFN4Ao(69>YDppbvO6P?-y=%R|eH0v%w z6dyY9-+svq!P0*m--;fccXRl$2?r`z0uQN{km5xoq^zAw>JxCDD>Z6UEuCbn;hZ49yfL~Pl_wu9Kxi0uzzdx6-9)Voaj2N`5G zLtKxZ(UI7?6Sr7mYe#G;#MXq^CK6j6Vw+EFMq(p(QCi6dOyta|%4U1)eGw ziW-#Ag@7EHo9E8Y7r_q58J$nnOLM2T?3tOLET)l+FQl55j0yRSJaNQDoXL(YR$A&cyYui-J1b(t}!bZAB=H!hHODo9B%pM*l!hHr00CHw! z<)o%~+;L)HibABY?mfbq6l7+5x+Hs=H5D@k*W|F~1e2CMi9J8_bvH7H2lPnD%Si<> z2ri>@@WDEnvQqLr$+;wVNgD-|J)Gd)vL`9}u@ar6^a$-*fjBeuCsn67^G%FTlN%-Vl3EaY;tZ+ zKHk{{Ba^c-v)%d0s9j;*!w^QQW-WV4wGr`Zz!}gx!r1|jh=Ak{C-F;!pP!nN<<3hk zXf-xDB{j8RB;h)M^f`~Ja+V@Qj?DB7aEpFv1WJJqlgw-qZIu7Z2fnJlr@3QO#)7C> z{^Qf)sF2YCFgmmg?8)eoqo5d0&CdCuwr5LZeF_q{KLF1F45Ru7w zIip3i{~|7{gb^COsxV?qNuDN?S}x_!C)YhGL}b;*I}wGNGE(XRRpkslnk@Gycb3#S zLU_VQ1M^a{^V4(kM&escCEGp5lkBN-6*26W6qh`3fU{p>RQ!OrM5Qbo)js+s!kGkVn?%6hh$IFCWIryTKa@ye#@TZyD6%6 zoO4LBD>|uP-{b`6^Re+xfy9%9GD78~r=w*fRnhN6B1$;56#L7fokYSj*gY&k%!3b? zDnK<*6~p;>F58nMev0uVx95`v!3nK$%bo=gOL^$Tk<>+pQ9g$%c}V!j6P1@UGNShY zCsjojl&?tGXW5G)Rkupe5jzoezBj2BHF#@mRZorZZxs5vu{p!rC1ycXjv^i2*!bSb zvGMVJlM<3+gdxeGpp*+KT@pUgA3^d-%FRz1nVaQ~7@n6Bi@sSxN@iYSVq`lC5}tUV zPn(S9w;gatV^`J7!FnlQyaB_9)sE*&u*x5BYk{qDN4#3@k!ZKk+43GKRn+Ur2gnW;V${;>esFPlhjQ z90q2-r<(9hMu&mwO-UW9b`;%6Q1nYsT~kKpqfZiz4g$u3nb{cpVz8Jy7QL|45u;P` z($KBOkO#DK6MV+_2W*&|`AZxLfrQL4@p%M>3yq$~E%sVs(#D|6@^>&ZFbo?bGM^89 z@w!jC)67{zA%MbSB1bsNW;O zC}Z4NzHS{LNd#*aCQ214hY^{cd?F&EvT}0rsBFS?VtedL$x0oVGXj|8sO+@&}Yg_Lw$ASflvps<1 z9+NA!3}gV}AM}bt-|F!$W)4UXMQVMi{IS`dlraQ}>W)m69BAJTodUnJ4^0a3Vl`ebL-1Ov$y>8;fY2jYrd4QIbW&cx)z zm={FRC<5|L68<%WFI|7K6b98&*P~W8s$9`OB%F;5JJT>(1FOX1$wa(#4~vQ!5-B7n z42X|#5+OqHBlR~W&n*tE@(J`TL>49fFyj4h`PI*NHF&#Lct1aiV5q@)s23u;B!bbP zniJ+ulTFKKT2FozvSqosHiw+Ke2_8^7~9UABX-m9O?Ipv_VG>6*w|44`Q7R zHXtrZ{cDn$?P=;JuHZw|q~yqcuH?u812AwAyE!%dL6@okzR6vnLI%r{j0gF}$wwlr z#0FiQMn*E2`6EJ1!W&^@$ykz7}g1zJh-8U&8WK~npJ9H0waJ#~^wrTXg;B~F+C z%Nk-G^WVMmQqnRp%jaW3spChwMVKY3n(jd(;@N8EG8X@${s0?YyPdH6_Qhh!c@QD*qL|hUU zZ1RjpRX?gm^^X-N+wuqIND~O8zWXFWb)TxHqpvoT3<8T};#D1xOl0{<0n~iy41}}T zf?~coD>GFrg__aw#i_JvFn@`M_EL)H%P*;agGKE~BnEYoRtVJi8-+=~_<_E;2@ib*i+C1nKac-pq?iH5!al@6TiX;<|Hy0~)0u{CfJ+_|0%aDz0vDb1RZaigCr zh#(?OlruIqelXfs7g2-6M)vDH5VIOCgd5<_C1ZfJK_n?305RGB7*i@(vA#+}2*38K zMy90pzM4;@jxB+U>Q2Vgq60wnc4wno>T#2)nvp44g#W|@2!DzUjGkxaa8ag;V~!@G zM;ggHbQVx*pdz(x+LY=~`eKl>v1HaRU+S7kQ+SdH7?u2*^!Z|&q2eGSGdr1NIWxQ3 zN7T=V@d;2V7#UU&gcuksv+=))9g8?bL+n+CxIqUi8oX*fB#Z)vEWs*-nF=!lW)=*I zfV<@=1q?ZXq7Y^(%nX=WFqDkM{Pz#b@p45#U|^6^rPgS5I=#VYG?~n1i^XcQ*@Htu z>(mXaSHD5SMvWRj*Q9B)<}F&Hr`o1%yY?MAcIw6`<*%S<}YNi z0G6lZ$X@{N!3aVgRg{|2P+Cey=_vzcq)e2VvQSoBC2FUFsSqlZszcSK!l-&weX0S~ zkZMFVrk67@3m3N;MpN~cp9)T>k$g$^f`M|r5x)a%q6p#Bu< zO{xf#pH00>&80q|7Em8ipHQDuUr|e_Z>g2kYU)R7164|GqjpkzsQuI->L_)RI!paQ zU7@a1cd3U|CB@JRT1D$=3mrm3<^G?a6y^sND#vPX zulJtc_4-r4wbJXidLQ_$k88MAfx^2w+T-dZYC@=dS{3mTEIx34s5Kz{JL}PEkF!s1 z0(&v?l}9%pJ@utt4efL_4%ePm+pBZ&usUotSmeV0K^DCJ%~PFCKS^tcs!psLR;>`A zgYUu0xvJ;y6RYyA{a*LjAMwg#+^Zrzk00L#ZqipZl2@y(kDpc(q8iD{YHQ6@s-S|% zHLNv5`0dsHey9I47OeEGdLC7h72V?Vpz@)gz|}S2UbXc}Wi^9V`U~+vb+Ld?tAKeQ z`)zlttsrDo!rsUJ#Gce}t@ii&Q}8~lVtNv}MhHIyf3fRjDe{IYM zxgV@@Ojt6iRaElw$k_==1ELoU@6t7J>9Gwu)dzWY-DfSfm;%2YYfac<@7cnU^mgyS z#!C;qUEjW>RcFJDMfHB|-OH%R%iE_6IM=^P&?`R-4AnM#bItQb!`!caF(-O`+T?{f zVSN)K(!WaW)3eEy!loSqzPnjsSB&V>-2QINmu)QzosBaWweL_jzc3?S8GO_`SSKGW z^lp*YUbD{9x~V$*hczbM=7^TI^lcj~dh?JW@4erwRm-h=ny0KONNU_*RgdR7?ig%0 zH7{S#d+PfoCxy3b)4tT*;N!zN&$r6yKBw+C$1j-lIk~UJC9U!{9+TIk8NK!H z{y^KvAn*ImZE4dcT>8N^EPb+l zJKfj&H(6{0X4Y-EH2BNLE&gx~?z(tDzP;P3Ufo{!zT1~WW9Bz$V)D%1U;nw~tu@*; z^-s5Lxu%t_-Wqtb?xbtv42#JRDYO*sX~G2Lx8J1aPY-Sskl!uNVQQVx zxy7-7P8}zobG#6>r%6+bJ-kzR?pm&C<1Y`@sc)b5fhRER&F2gqPulaaGQVzs^NLJE zkBaFVrfk2-yQq2lA$1$L(vv!`OX^~>y)mrWkc^~)KpK?zgKaxLGJh)%W_b(rX|JCz!My2<{aWT{e9F>0lke7VCI^q12-}igHu+qaG zc(0xlt*fV9t2}wdJ0Gt7-rRM6`}bm4`p1Xf+azRR;oA4_d#|1mt#R2$yjL%ZR@(j8 zds7Oqr1<8Os}kHso~^epK++%xjWdz&N&)sRdgQ$(#wtu7e#v`qsRZGJC*B)UfR)p4 zd#{`oT@xl9^lm;Q1)wEgeB7(H`rQf(w>S9nbm{s}7rnEf=aiP)PkyuF#KI>hX`%JI z`{sUi@>B2WLVE5^@5wVFI%`X=JUw;7TLxhLQ&->b z=XUQd1hBmL*{vn(?_)7$A-&_C_llI{$nS1?FX4(w1ZXjN=hHo#L@Pb@`s3sKyyM8e7tz_- z{y$c04u!_%Wg%-!qZ$m>g@S^vs6nJiRxzXo* z@e2#@Z}MAj6#A|7n`rr@Bo6gN%O+Vn5A_F-9R9=aF6*I+bsJACy0P3lq45vpi`QOQ z=3QUdqt(pg^S-;W#CxQW&b|1kY~%fp0sPC67oHqE>|F+M&&7RO{>}Gyzk@5?;l#b| zWe-olI=;`w+iOZ6orKled-C!5OK$%_0{n3H;qe<{vCMt{+>;}Fyo8xUvXf%nKESPBcjUViUM#U4Z|ENtyL z>^=CKXr;$qefrz)qP1k;p(i_ci50S0!lE0W{wOg_HBs+WTd!4HiNFwtX?T;dA`e5x zdz{ZszW<%Uwxhp3G^^lb3?HCW1PFrf#@BY6{pU7VCoPth`l<+S3kRUEZa*iIz=HG%)E znYI7M^{f5Ig1R;T&_%BGh=pC_2gA}@f4!*Mf6Oxv`^-}dI6i8C7Ol0RQvtQ1_oAKw z&pZR3{r@}sXX){5exA**#Ff>*&(h}~c(p0`EPbA(=l?3bo`v^c#eX*Zv*}k(Ztm`F zy5Fn4_%IIXeZJTH56Sc6M&q*HXJ0p7>$U4v%xgG5XcMaVzj+FKsm|=`1y9GA`9_C4 zw~^!frR^Q~bg0hsf!jdGz~MvT?sm|>Wx+4sF){FU_!l}R{xTWv(;WQu>5lGkGaV;O zW;vFuddtC;zU^SvzKghX9Q3R2I|7@0;5c^ZL&sdt0!J@yp`&cZM~J`3@$HCD0OM1K zxxwdv^M&KcsxJZSD+gPDG2kt6=w4e2nBO?=efBNjE_1jxEC=irjK z%_iVb>KGon8F*}VD8_C9E?XVzc5MYd+Z;iL?Z9cfWBh)L z1^Vm)j=OO`-7moN7sqdE9$nQy%+ezg4q{G=0%&u=u_W{l(B}`w{?b1{ql=C;sTV<~i;isO5@>bF!F+NF^t$Aj*1a4wD|axz zmxFGX9WzE=2JJ388ZcKtzblT@?_U88uQ+xzsQ?`-9GBNtfR?xI}oI^ur5i?X@vP`15?^10_&@##I3(LF~m!+n&~eaFv}@1v~l zJKEj6kMerp_~hjWD69y%T_dWiDFciijUQG?#`u z1DlL-_UN?GiTdHxbid#%KEp-?cD6=v#ugFIEJs9-PDv4mGhdBB{g3GVaAt(O&ifIE zM|=`deCC^ocCW8R*sT$xP5Ti3M8r#N%Ms^J#EuloRd)gJ`s%FGRnfuVDx70;QB;^K zXmn#&?}sg1ue{mbC9l)fb#tS`b$CQ?S3$jguHrKTU8lZ&(bewtVXnl1nXbUjxvs|b zN4rLwCb%+YOm@iv-*ky4ie0GHogmlBQvpHr^2 zf1U+Sf4COUxeUDibmd3h1a5a-hrADf-xH(-wd6pV&?%Y~Y(03v++HCxZ5AlR*H;SD zg4IHqNh=t1dcmzS3O@y!1w(*U$WYjY9~B{jEU=Ccp$rp7Y3d6L3=M^4*2coJI!%NR z8Z{F#Tec9wI<*qk_i7__>eEhmC#i$5Bc+pYJiCjqeSBA8Msatc?t-2|(Nc%7^`{77 z@2`UJ)!8Va@7-u&Z9re)dYw3-qC>p!ZQuSvyVOKs?6@SMaL!;MYT5I`&K)lb@(V)+ zih4y@88S?;cTE$z3`rM)MrR0bzyGSRy6B6Lx$uN4URku8{NF`$DU0^Mp={ z4~41q=YyULgu8?PC7AOU3U9pik$AW$PA|d|VC&G@(PeI?$g=t;B5XzFi6k_wg z5)AKrEd(!LEV%b95pGm01--u&%9<_{3^B`vk1|#W88cQ2uYLWU@Z*kELa)o;gZ@7V zZ1XijMC@AO=aD}Oqh_xYUR}9fSa9$sL4I!o%44JOPPa|MvX@H*e)4AFgD9u{WwJtBnXA4U0LNB9;TSyORBP#RAOTf3hYmb=dgd*3=M)LVNF<#}F6 z4*Emr+wr21k$g#5TU0J|`~I?U{nQoVw}7iC-#>*8uUr$pExs-cS#v{ZcmAf(Q*&Dw z+wG3<$MCx-?|VXQ>3t#U+5;gs_>r(P`mxY|)DuDe`BUM~{gpy>Pw>BIBhrJ6w}_UE z=+_)DU@B;bC}@Wu9bl%y%zz>KwoNcwVRpd$0z)1a#sMS1RKcl=Pdzgps|(##%|EZa z_FwJM%dDBTM=#_0)f~GJyMlV)t!)%=tNvT8uvXME7)ULyVakn*6*Y|!1Fo7zjuBYR zzuKY8jb~cXR88|tYKksp6jjqeUP31CfZTl_2J7BFp8n~wh&O!eg0&9f_Sfe|uO5Mi zKg;cLh4k<6+~~FCZj+a0Z~mj#D>0p)v#2<~9?jjaYcso6A)}Z8U2yYm@#%wlwhA)_ z@~k|_RIhcf!I>{ab!Zf#S1UD!(8e8mznGmmAfio!I##o-Zo{^&#I*dZmt!66S~RKO zv}Jo|T=K|KuMK}GLFnG4Q+SWa{zEhJMtgEzO&Kzrj-TCDEvL3 z@6gxia{4@dl0Hfwr1#Lf=&kf7dOiIE{T;oO{+j-b{+OOmzfZqM&!%V6Z_4?=rFo29ZXwk6Ev4v zT1f}eyl>q7n0f%s<}K<5^(VBP<UZiOwGW!m-Oz__N6p!U%kqAr z)>CVsDP2Xapq5ih@%J_L1@#%Vi29iN7d0PR)%U46(67Ety+svMGpXs+H0WIm@%IKb zjv5PHYykyTJ(UCP>DGKzsWV^&<5=w7G+*MCf%Bs5sQ(K2!|Vn~J1d z(EK_ue(ynbgEqJ`^uisWA#Mw8aVzMJn?r-#1iIvg&??uX!k}dig}&Ja&9fOgXals- zTIi)!kP?9yw96?TwT~eaCa}}+;Y8o|aFa{}ysOPYK={w*J^26kO(LC0{a-eO6o2>l zxMT(Ws%(_(IQY6y)}5Kge9t^(;@J1uZLFHpvpv`s**Dqm*puvIwlNpZrE!zFZ@Hr! z%h%`Qc#6|-jkpe6KW-?O51(b+2JRqtj(frd@%8vNypvDh)A<5^HvbX-J->y&&R6nA zc>{S5d8~Yx{5APTejEQQ{~Ldr|AW8A-{BQFgH z8pJ5oN~1DV*+AJ{8KLZ}?5})DIZQc1`I>T?vRFAsIbZpOa;frrsphE`s#dDjs5Ys#tM;o7tInt{ zs;D47NE2iV3JYo+)HA*gYIHE3a`{CP0AL^cFJx_r!rPKK>4CFMOmO6r<|&sshq1^p!{69M7c$|Q+Ysn zM0s9$S$RwOK&e#eRl%xysurqts%|Q$>PO{9;ycsz#|Ms-~$vRDG=aTD45|qiUmShw4|=AF2w~9n~Whrw&pZ)pm6& zbq941wM*SkJy1PVovI$Mo~$lbzoY(_`cw5%^-A?N^=|cV>SO9Z)D`MG>PPC9>h|jH z>Iik5I#KabGmlAE;^^Kx9&wwV7Iv z_H|IENV`b;rFOY?wRRIIvlo=Pti7&%psmyf=ro{A9bIQ#4_%ZlRySBTRF|&H(iQ67 z)Xmn-)h*I}3CgV2m20nQ?`xlG6*{%fq6^ivMGOaG^hba+BD`Zx4b^t1Hu>X+(Q z>euNv>38e*>yPQr=8W@@yKGA=rU!ng&U#c(D@6-RTzoNgPf2jBB z0}Wb(%~03S#n98x+Yo0MVtCmw+%VEG$uQmUw&8ulCx)*KD-1sv_81NtP8iM^{xsY+ zJTb_OW@Cu4k+He4ld-!o(%9FSW_;C{Zyal!YMg0&&-kJ7TjMI@PsYv0J;sB^6UKAK zCpwuvNUzg}=)Yxh^?mgN^)Kk%`Vo4M{&oF(`VaM=>c7^n(*LO6tlyzOp+Bdu z(BITQ(aQ`$2A!dap_QStp@$*b(9bZ~Fx2pxVYH#p@TTD%!#u+x!|tDOSZ~;B*kw3mIBvLLxMHX@utt^9V60^eWu?{XHAz(H%#|TO--#$T}(Yq zF{XIa5Yx-1Jj9rU81Ev+Cy24hwB5AVbjWnZbkTI(bk`JM)|jp4I_9S4*5)qep5`R; zi{>=*tL6gpIP+BVO!G(P&&}VOSDAk{Z#C~RA2eSz-!eZo(-x&gZwa>4vvjm{vj~C zzP2p0Y_{yM?6(}YoU@c$Zd&eJ)K;T4)Y`z>%G$x&!|JjQwhpzXTeGaAt#4T0w9c}A zVO?td-n!1Z&AQwAoAsFWn)QzLsg<#*ZAM$Dt%2>I`u|V;|EK={zgz#;7&jQV8-Fn# zHl8$IG+xD`V&0@NnM`4(#*mC1P5n#*O+!torfieP^oD7QX`X4J=}Xf$rZuJwkc_{W z&YLcqZkZmK7;}JG56RfV+|Jz1>@>%k2S75Wm|r&+nv2Y{&GXHR%!|#-&0EYn%?Hd! z%;(LQAsHW-bIqg76V21iZ=2sYe{BB3{G)lJd58H|^HK9@NXBbsxkY6$TS6?)Sz1~; zS-M*iEQ2h`7PlqWG76G$n&n@XPc2I=D=j}kGVX?C{KHaVxnp@`;jBTBjCN~#Yq&MS z8f{IqK5rdn&9IKQPPP_X-?9G7`Y9yiO6vv770YeQLknvSv>L27YfHrFju>%>@e*Q; zvre+kw7zX!VEx3p#Ja+|)w;`i(0bH*!Ft7d+xpO|wPAk5*2vbz*2&h(7HNClmTb$g zW!uKuCfa7$-m-mV`_}e@?I&BAZIA7D+X>qZ+dZ4t#@V%Yv%Rjpk$s`r~L2zO4o58b#=LRnh zULL$Q_~+oA!Fz*`1fL3iV6C*uZ7Q49R>$_7t)upQ04YH-!hTC#&qinNnb8R2l zKDRBmt+xGa+iE*vJ7v3M`_uNoR%w&lRrZGVX7={>aJyjdV^6d{Zy#yTw~x0^wwKu7 zv;WKfseQe@)V|BU&wku~)_%o)!_Ec=1{;EH!3~3(1-B0l4_;|sW8Y-oZr^V|Y(Hba zXn%yI>;b`=V0&;_aMR${!O_9}f(Hi=4bBM84jvu+M({hq^MV%ze;K?ocunx8;O)UD zgU<(F4ZaopG?)odhUh~YhqMUk7}6~yDkL@}DdfcvPsr;bQ$mVD=7h`-`7C5{$cB(D zA-{wi2ss&YKICf1t&m0`%|kkbbPb6N=^HXID??HbxYba3b^q3NNog^ms_41F_ne(0jm#i7eX*M)8h z-5I(!v^?}$=>5>Ap^7@{I+i-2b=ubHT*px-s!snpkEsFNTk=MVzs(g(*jxq zyhnd6JI`I`l!`<09rD-ZQ{~(E6gq|7!wi=z6_5Gp{8jD*M(#3ZAk&f`BYTaz!`GF+ zEpNweW-IA??0W7wE}rqSl)ROq3me0g)6KZ|nMS;k%V*5;Bm4>e6t|c@!-UAMaP8$Y z0v0nB{8V`+JAyvLUS_|OzpLmUP>=tS`B?7c56UjH$^2Gk3v+?{gb$N{ESt%Vld0K8 z{HIJ2KMivY^Z3c!pRz5qTju1x?Q)ZZKFtdTt@dkyB|C;Z@ z=oPzIC$ou}!L?_evWfgju0MZQ_7Phq+sa&EbC^%KhVlzs8sC*aB^xSxB0D8p$sgpu zW`pH1T#|f9z%XVK<`)O?R>eH-6?p_#qPW0MV-lGixS{N_;tg&$@-bae93W#%>{_N1 z+mri>{TKHfYvImg9;YXJSoSXKVfwST*|7*4&aGi)vWc>NTo$)cR>=?I0u(>-X4x_3 zA-hGsQ@Mwu*wI{Tei*YJIIfYclmE87g zoSS21M`aH7InK=wQ>F2b*~gewn!qe)UQql-f6X6Mm=x#vTbOwoDx=wh>~Q8?_7Z=H zJHaKeSJ?BiuFM*CB0H7q$Jn?p1Me~Q_*SxT@YN_zt1|MNSvCI)o6USnuVI|5RgNY_ zW8`--VSGb*K2ypZ;c4b4PA{*gXcpj>>A42XMCK)KlFY(=!@tje&fB>Fb`5=-y~j4^ zw=j#@^?WJ6jNK_Ol^v3C>?HOBHl7WY*X1kN#^BQznflBh>@UoB>_l!7e}kLJPe7Sp zWJfb0Y;WGdMRF<31n@x^X3ti$-DL{U=^^J}-{<6T%l~YEP{10F?=i=%ewf-Oh2|i(lE(SaG$d#W(j+cn<&qeb>xQ0IZ1OqaT?}% zW}_@cQOvbsynG!lhW|+M2UE^WVy(;`b|$Nr&*YXd2ftuSx5(aOWbAnEBX$v+$jsr!1{gred}ak_X1cOH*`rK1_80DVb_V;Hc5;UlyD=Nt zL0uv{%U@S~!8DaEW`9QQ3BsR~31R{j*V#(hW440Rup1aX&trBpfGd^VriXDyxJ<6A zysO;EeiBf@?UOZ?eaakQLKQ3IJGqtIL)jPdt^q&DUSW!uwfviW50OBHTQ%Wzz^UPF{>=&5@fge5_vA4 z8n8-s3Z)Rrm9fX!iA*@Qov8xy!OMgv@~ptd_Bp`9|^u%o;kMje{hepq?yW&1%_V`9tm?^A&TK zjfZsMQHQ)-H%7^_vSFx0gIHe9%a^h96mouttQCC(@h8jX$>uQ`%sglk$#bLEII>VH zBF-V|(F_&|gs-{QfD(5B#w@<{R>w&}WqyeX=oLwwcz z!D>$)n-qP|UzWU*gAB+5eF7~2h6EsMX9;357$Xc>1dE#?MBOZpHw#1jsuUJDtWi9s zvF0g_OKu*B8>YR`OWGiRP0HWvQ+tWa(Ux8JxnGplt=;bJ0609q`t*|zrFY>)>Ai?` zh~Ar?NZ*b?$I4I4%?|#0pttB=<40$*g{trqfFBM&5lJ^IS|sZ>NkJOoJu3p2K*5mb zdB>h#$aB?~ZlUx(ljB=QSK(VnchtAO?qJn>qh+XPf28HljS`&lUP3dVMLkjmdzt8BmpAGTK|KdZ{>HY%#U%Bbir>???5v=@0neNj!E?K$cqRRNv!9dXaCjFv-Zt%v@)4&4wM?Y4Ahx(D>!eW3FmM88B2gC;zW z9!F22i|BXg59vkFo3Eg8#5sgTArTl5DuqO_{LMqWtJZxuU>9Jj)_)YjJ{4vL%ztP7 zNF7kwfR*pTptug@V8E{usRhBVfDT%Gh#(^Z%_of|N9ngQ%EyQj48zW89i*dCgu;p% zY?ed<2o^>Gql9t52r$twu`q=&Q(?qo5&=>?DX~TZ&#wRd%lAL~oBr9~^w0jL|7Z6% zVT0j+e*QV%;Ggpiy#JhUAXSoo&Nukye1m_^H~8m#ga6a#8|-jab?IyN^T}CV#JzQu zC*FUz|F(v=IHy8}BIKzWj*#IAv6HzOG8a=9hDgz*xC0A2*}B7heGya?b$051ZN z``vJzAq)c}hta^)h3N$|5e5PN!z0HmDW0lrhtF
Haae{WMkbu2ND$OcwDOZolS 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 auGG8QV)#`#TdP1~n=3_pR!KfB`+opHE)mlJ diff --git a/src/SDL2/Xcode/Frameworks/webp.framework/webp b/src/SDL2/Xcode/Frameworks/webp.framework/webp deleted file mode 100755 index 56b1e59cc3d6858016c8e6fc0b2af08aa17a556c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730072 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�?!_lQ2qD{0=9pRQ#4G3`%g;| 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≷C#ge55^qSO^u+kJtaG^m2?BZI+Z!Q+^D7 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

6b7`8(s7i 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
Haae{WMkbu2ND$OcwDOZolS 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 auGG8QV)#`#TdP1~n=3_pR!KfB`+opHE)mlJ diff --git a/src/SDL2/Xcode/Info-Framework.plist b/src/SDL2/Xcode/Info-Framework.plist deleted file mode 100644 index 9332f7f0c..000000000 --- a/src/SDL2/Xcode/Info-Framework.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - SDL2_image - CFBundleIdentifier - org.libsdl.SDL2-image - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - SDL2_image - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.0.0 - CFBundleVersion - 2.0.0 - - diff --git a/src/SDL2/Xcode/SDL_image.xcodeproj/project.pbxproj b/src/SDL2/Xcode/SDL_image.xcodeproj/project.pbxproj deleted file mode 100755 index 6b5c366ac..000000000 --- a/src/SDL2/Xcode/SDL_image.xcodeproj/project.pbxproj +++ /dev/null @@ -1,753 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 007288A80F0DA79800C302A9 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007288A60F0DA79800C302A9 /* ApplicationServices.framework */; }; - AA579DF2161C07E6005F809B /* IMG_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE2161C07E6005F809B /* IMG_bmp.c */; }; - AA579DF3161C07E7005F809B /* IMG_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE2161C07E6005F809B /* IMG_bmp.c */; }; - AA579DF4161C07E7005F809B /* IMG_gif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE3161C07E6005F809B /* IMG_gif.c */; }; - AA579DF5161C07E7005F809B /* IMG_gif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE3161C07E6005F809B /* IMG_gif.c */; }; - AA579DF6161C07E7005F809B /* IMG_ImageIO.m in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE4161C07E6005F809B /* IMG_ImageIO.m */; }; - AA579DF7161C07E7005F809B /* IMG_ImageIO.m in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE4161C07E6005F809B /* IMG_ImageIO.m */; }; - AA579DF8161C07E7005F809B /* IMG_jpg.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE5161C07E6005F809B /* IMG_jpg.c */; }; - AA579DF9161C07E7005F809B /* IMG_jpg.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE5161C07E6005F809B /* IMG_jpg.c */; }; - AA579DFA161C07E7005F809B /* IMG_lbm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE6161C07E6005F809B /* IMG_lbm.c */; }; - AA579DFB161C07E7005F809B /* IMG_lbm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE6161C07E6005F809B /* IMG_lbm.c */; }; - AA579DFC161C07E7005F809B /* IMG_pcx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE7161C07E6005F809B /* IMG_pcx.c */; }; - AA579DFD161C07E7005F809B /* IMG_pcx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE7161C07E6005F809B /* IMG_pcx.c */; }; - AA579DFE161C07E7005F809B /* IMG_png.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE8161C07E6005F809B /* IMG_png.c */; }; - AA579DFF161C07E7005F809B /* IMG_png.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE8161C07E6005F809B /* IMG_png.c */; }; - AA579E00161C07E7005F809B /* IMG_pnm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE9161C07E6005F809B /* IMG_pnm.c */; }; - AA579E01161C07E7005F809B /* IMG_pnm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DE9161C07E6005F809B /* IMG_pnm.c */; }; - AA579E02161C07E7005F809B /* IMG_tga.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEA161C07E6005F809B /* IMG_tga.c */; }; - AA579E03161C07E7005F809B /* IMG_tga.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEA161C07E6005F809B /* IMG_tga.c */; }; - AA579E04161C07E7005F809B /* IMG_tif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEB161C07E6005F809B /* IMG_tif.c */; }; - AA579E05161C07E7005F809B /* IMG_tif.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEB161C07E6005F809B /* IMG_tif.c */; }; - AA579E06161C07E7005F809B /* IMG_webp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEC161C07E6005F809B /* IMG_webp.c */; }; - AA579E07161C07E7005F809B /* IMG_webp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEC161C07E6005F809B /* IMG_webp.c */; }; - AA579E08161C07E7005F809B /* IMG_xcf.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DED161C07E6005F809B /* IMG_xcf.c */; }; - AA579E09161C07E7005F809B /* IMG_xcf.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DED161C07E6005F809B /* IMG_xcf.c */; }; - AA579E0A161C07E7005F809B /* IMG_xpm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEE161C07E6005F809B /* IMG_xpm.c */; }; - AA579E0B161C07E7005F809B /* IMG_xpm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEE161C07E6005F809B /* IMG_xpm.c */; }; - AA579E0C161C07E7005F809B /* IMG_xv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEF161C07E6005F809B /* IMG_xv.c */; }; - AA579E0D161C07E7005F809B /* IMG_xv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DEF161C07E6005F809B /* IMG_xv.c */; }; - AA579E0E161C07E7005F809B /* IMG_xxx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DF0161C07E6005F809B /* IMG_xxx.c */; }; - AA579E0F161C07E7005F809B /* IMG_xxx.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DF0161C07E6005F809B /* IMG_xxx.c */; }; - AA579E10161C07E7005F809B /* IMG.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DF1161C07E6005F809B /* IMG.c */; }; - AA579E11161C07E7005F809B /* IMG.c in Sources */ = {isa = PBXBuildFile; fileRef = AA579DF1161C07E6005F809B /* IMG.c */; }; - AADBAC88175C6AAB004F8ED2 /* webp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = AA9EE77514B27A62008773C0 /* webp.framework */; }; - AADBAC89175C6B4C004F8ED2 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007288A60F0DA79800C302A9 /* ApplicationServices.framework */; }; - AADBAC8A175C6B4F004F8ED2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61F85449145A19BC002CA294 /* Foundation.framework */; }; - BE1FA71A07AF4C44004B6283 /* SDL_image.h in Headers */ = {isa = PBXBuildFile; fileRef = 1014BAEA010A4B677F000001 /* SDL_image.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BE1FA76307AF7335004B6283 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE1FA76207AF7335004B6283 /* SDL2.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - BE1FA74C07AF4C45004B6283 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BE1FA71807AF4C44004B6283; - remoteInfo = Framework; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - AA9EE77214B27810008773C0 /* Copy Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - AADBAC88175C6AAB004F8ED2 /* webp.framework in Copy Frameworks */, - ); - name = "Copy Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 007288A60F0DA79800C302A9 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - 1014BAEA010A4B677F000001 /* SDL_image.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_image.h; path = ../SDL_image.h; sourceTree = SOURCE_ROOT; }; - 61F85449145A19BC002CA294 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - AA579DE2161C07E6005F809B /* IMG_bmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_bmp.c; path = ../IMG_bmp.c; sourceTree = ""; }; - AA579DE3161C07E6005F809B /* IMG_gif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_gif.c; path = ../IMG_gif.c; sourceTree = ""; }; - AA579DE4161C07E6005F809B /* IMG_ImageIO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IMG_ImageIO.m; path = ../IMG_ImageIO.m; sourceTree = ""; }; - AA579DE5161C07E6005F809B /* IMG_jpg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_jpg.c; path = ../IMG_jpg.c; sourceTree = ""; }; - AA579DE6161C07E6005F809B /* IMG_lbm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_lbm.c; path = ../IMG_lbm.c; sourceTree = ""; }; - AA579DE7161C07E6005F809B /* IMG_pcx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_pcx.c; path = ../IMG_pcx.c; sourceTree = ""; }; - AA579DE8161C07E6005F809B /* IMG_png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_png.c; path = ../IMG_png.c; sourceTree = ""; }; - AA579DE9161C07E6005F809B /* IMG_pnm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_pnm.c; path = ../IMG_pnm.c; sourceTree = ""; }; - AA579DEA161C07E6005F809B /* IMG_tga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_tga.c; path = ../IMG_tga.c; sourceTree = ""; }; - AA579DEB161C07E6005F809B /* IMG_tif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_tif.c; path = ../IMG_tif.c; sourceTree = ""; }; - AA579DEC161C07E6005F809B /* IMG_webp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_webp.c; path = ../IMG_webp.c; sourceTree = ""; }; - AA579DED161C07E6005F809B /* IMG_xcf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xcf.c; path = ../IMG_xcf.c; sourceTree = ""; }; - AA579DEE161C07E6005F809B /* IMG_xpm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xpm.c; path = ../IMG_xpm.c; sourceTree = ""; }; - AA579DEF161C07E6005F809B /* IMG_xv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xv.c; path = ../IMG_xv.c; sourceTree = ""; }; - AA579DF0161C07E6005F809B /* IMG_xxx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_xxx.c; path = ../IMG_xxx.c; sourceTree = ""; }; - AA579DF1161C07E6005F809B /* IMG.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG.c; path = ../IMG.c; sourceTree = ""; }; - AA9EE77514B27A62008773C0 /* webp.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = webp.framework; path = Frameworks/webp.framework; sourceTree = ""; }; - BE1FA72D07AF4C44004B6283 /* Info-Framework.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Framework.plist"; sourceTree = ""; }; - BE1FA72E07AF4C45004B6283 /* SDL2_image.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2_image.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BE1FA74107AF4C45004B6283 /* libSDL2_image.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2_image.a; sourceTree = BUILT_PRODUCTS_DIR; }; - BE1FA74507AF4C45004B6283 /* Create DMG */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Create DMG"; sourceTree = BUILT_PRODUCTS_DIR; }; - BE1FA76207AF7335004B6283 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; - F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; - F59C710400D5CB5801000001 /* Welcome.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Welcome.txt; sourceTree = ""; }; - F59C710600D5CB5801000001 /* SDL_image.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL_image.info; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BE1FA72A07AF4C44004B6283 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AADBAC89175C6B4C004F8ED2 /* ApplicationServices.framework in Frameworks */, - AADBAC8A175C6B4F004F8ED2 /* Foundation.framework in Frameworks */, - BE1FA76307AF7335004B6283 /* SDL2.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE1FA73F07AF4C45004B6283 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 007288A80F0DA79800C302A9 /* ApplicationServices.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0153844A006D81B07F000001 /* Public Headers */ = { - isa = PBXGroup; - children = ( - 1014BAEA010A4B677F000001 /* SDL_image.h */, - ); - name = "Public Headers"; - sourceTree = ""; - }; - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - 089C1665FE841158C02AAC07 /* Resources */, - BE1FA72E07AF4C45004B6283 /* SDL2_image.framework */, - BE1FA74107AF4C45004B6283 /* libSDL2_image.a */, - BE1FA74507AF4C45004B6283 /* Create DMG */, - ); - name = Products; - sourceTree = ""; - }; - 0867D691FE84028FC02AAC07 /* SDL_imageFramework */ = { - isa = PBXGroup; - children = ( - F59C70FC00D5CB5801000001 /* pkg-support */, - 0153844A006D81B07F000001 /* Public Headers */, - 08FB77ACFE841707C02AAC07 /* Library Source */, - BE1FA76107AF72F5004B6283 /* Frameworks */, - 034768DDFF38A45A11DB9C8B /* Products */, - BE1FA72D07AF4C44004B6283 /* Info-Framework.plist */, - ); - name = SDL_imageFramework; - sourceTree = ""; - }; - 089C1665FE841158C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - ); - name = Resources; - sourceTree = ""; - }; - 08FB77ACFE841707C02AAC07 /* Library Source */ = { - isa = PBXGroup; - children = ( - AA579DE2161C07E6005F809B /* IMG_bmp.c */, - AA579DE3161C07E6005F809B /* IMG_gif.c */, - AA579DE4161C07E6005F809B /* IMG_ImageIO.m */, - AA579DE5161C07E6005F809B /* IMG_jpg.c */, - AA579DE6161C07E6005F809B /* IMG_lbm.c */, - AA579DE7161C07E6005F809B /* IMG_pcx.c */, - AA579DE8161C07E6005F809B /* IMG_png.c */, - AA579DE9161C07E6005F809B /* IMG_pnm.c */, - AA579DEA161C07E6005F809B /* IMG_tga.c */, - AA579DEB161C07E6005F809B /* IMG_tif.c */, - AA579DEC161C07E6005F809B /* IMG_webp.c */, - AA579DED161C07E6005F809B /* IMG_xcf.c */, - AA579DEE161C07E6005F809B /* IMG_xpm.c */, - AA579DEF161C07E6005F809B /* IMG_xv.c */, - AA579DF0161C07E6005F809B /* IMG_xxx.c */, - AA579DF1161C07E6005F809B /* IMG.c */, - ); - name = "Library Source"; - sourceTree = ""; - }; - BE1FA76007AF72B1004B6283 /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 007288A60F0DA79800C302A9 /* ApplicationServices.framework */, - 61F85449145A19BC002CA294 /* Foundation.framework */, - BE1FA76207AF7335004B6283 /* SDL2.framework */, - AA9EE77514B27A62008773C0 /* webp.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - BE1FA76107AF72F5004B6283 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BE1FA76007AF72B1004B6283 /* Linked Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; - F59C70FC00D5CB5801000001 /* pkg-support */ = { - isa = PBXGroup; - children = ( - F59C710100D5CB5801000001 /* resources */, - F59C710600D5CB5801000001 /* SDL_image.info */, - ); - path = "pkg-support"; - sourceTree = SOURCE_ROOT; - }; - F59C710100D5CB5801000001 /* resources */ = { - isa = PBXGroup; - children = ( - F59C710300D5CB5801000001 /* ReadMe.txt */, - F59C710400D5CB5801000001 /* Welcome.txt */, - ); - path = resources; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - BE1FA71907AF4C44004B6283 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - BE1FA71A07AF4C44004B6283 /* SDL_image.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE1FA73007AF4C45004B6283 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - BE1FA71807AF4C44004B6283 /* Framework */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00B7E3AA097EB73D00826121 /* Build configuration list for PBXNativeTarget "Framework" */; - buildPhases = ( - BE1FA71907AF4C44004B6283 /* Headers */, - BE1FA71B07AF4C44004B6283 /* Resources */, - BE1FA71C07AF4C44004B6283 /* Sources */, - BE1FA72A07AF4C44004B6283 /* Frameworks */, - BE1FA72B07AF4C44004B6283 /* Rez */, - AA9EE77214B27810008773C0 /* Copy Frameworks */, - AA9EE77314B2782A008773C0 /* Create Frameworks symlink */, - AA9EE77414B27854008773C0 /* Convert SDL includes to SDL Framework includes */, - AA5C3FDD17A8C97A00D6C8A1 /* Sign Frameworks */, - ); - buildRules = ( - ); - comments = "Installed into ~/Library/Frameworks/SDL_image.framework\n\nAdd -framework SDL_image to your linker flags\nAdd ~/Library/Frameworks/SDL_image.framework/Headers to your header search path\nAdd ~/Library/Frameworks to your library search path"; - dependencies = ( - ); - name = Framework; - productInstallPath = "@executable_path/../Frameworks"; - productName = SDL_image; - productReference = BE1FA72E07AF4C45004B6283 /* SDL2_image.framework */; - productType = "com.apple.product-type.framework"; - }; - BE1FA72F07AF4C45004B6283 /* Static Library */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00B7E3AE097EB73D00826121 /* Build configuration list for PBXNativeTarget "Static Library" */; - buildPhases = ( - BE1FA73007AF4C45004B6283 /* Headers */, - BE1FA73107AF4C45004B6283 /* Sources */, - BE1FA73F07AF4C45004B6283 /* Frameworks */, - BE1FA74007AF4C45004B6283 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Static Library"; - productInstallPath = /usr/local/lib; - productName = "Static Library"; - productReference = BE1FA74107AF4C45004B6283 /* libSDL2_image.a */; - productType = "com.apple.product-type.library.static"; - }; - BE1FA74207AF4C45004B6283 /* Create DMG */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00B7E3B2097EB73D00826121 /* Build configuration list for PBXNativeTarget "Create DMG" */; - buildPhases = ( - BE1FA74407AF4C45004B6283 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - BE1FA74D07AF4C45004B6283 /* PBXTargetDependency */, - ); - name = "Create DMG"; - productInstallPath = /usr/local/bin; - productName = "Standard Package"; - productReference = BE1FA74507AF4C45004B6283 /* Create DMG */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0420; - }; - buildConfigurationList = 00B7E3B6097EB73D00826121 /* Build configuration list for PBXProject "SDL_image" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 0867D691FE84028FC02AAC07 /* SDL_imageFramework */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ..; - targets = ( - BE1FA71807AF4C44004B6283 /* Framework */, - BE1FA72F07AF4C45004B6283 /* Static Library */, - BE1FA74207AF4C45004B6283 /* Create DMG */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BE1FA71B07AF4C44004B6283 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - BE1FA72B07AF4C44004B6283 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE1FA74007AF4C45004B6283 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - AA5C3FDD17A8C97A00D6C8A1 /* Sign Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Sign Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ \"$USER\" = \"slouken\" ]; then\n CODE_SIGN_IDENTITY=\"Mac Developer: Sam Lantinga (84TP7N5TA4)\" pkg-support/codesign-frameworks.sh || exit 1\nfi"; - }; - AA9EE77314B2782A008773C0 /* Create Frameworks symlink */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Create Frameworks symlink"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cd $SYMROOT/$CONFIGURATION/$FULL_PRODUCT_NAME\nif ! [ -L Frameworks ]; then\n rm -f Frameworks\n ln -s Versions/Current/Frameworks Frameworks\nfi"; - }; - AA9EE77414B27854008773C0 /* Convert SDL includes to SDL Framework includes */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Convert SDL includes to SDL Framework includes"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cd $SYMROOT/$CONFIGURATION/$PUBLIC_HEADERS_FOLDER_PATH\nHEADER=SDL_image.h\nsed 's,#include \"\\(.*\\)\",#include ,' <$HEADER >$HEADER.new\nmv $HEADER.new $HEADER"; - }; - BE1FA74407AF4C45004B6283 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# clean up the framework, remove headers, extra files\nPRODUCT_NAME=SDL2_image\nmkdir -p build/dmg-tmp\n`xcode-select -print-path`/Tools/CpMac -r $TARGET_BUILD_DIR/$PRODUCT_NAME.framework build/dmg-tmp/\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nrm -rf build/dmg-tmp/.DS_Store\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname $PRODUCT_NAME -srcfolder build/dmg-tmp build/$PRODUCT_NAME.dmg\n\n# clean up\nrm -rf build/dmg-tmp"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BE1FA71C07AF4C44004B6283 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA579DF2161C07E6005F809B /* IMG_bmp.c in Sources */, - AA579DF4161C07E7005F809B /* IMG_gif.c in Sources */, - AA579DF6161C07E7005F809B /* IMG_ImageIO.m in Sources */, - AA579DF8161C07E7005F809B /* IMG_jpg.c in Sources */, - AA579DFA161C07E7005F809B /* IMG_lbm.c in Sources */, - AA579DFC161C07E7005F809B /* IMG_pcx.c in Sources */, - AA579DFE161C07E7005F809B /* IMG_png.c in Sources */, - AA579E00161C07E7005F809B /* IMG_pnm.c in Sources */, - AA579E02161C07E7005F809B /* IMG_tga.c in Sources */, - AA579E04161C07E7005F809B /* IMG_tif.c in Sources */, - AA579E06161C07E7005F809B /* IMG_webp.c in Sources */, - AA579E08161C07E7005F809B /* IMG_xcf.c in Sources */, - AA579E0A161C07E7005F809B /* IMG_xpm.c in Sources */, - AA579E0C161C07E7005F809B /* IMG_xv.c in Sources */, - AA579E0E161C07E7005F809B /* IMG_xxx.c in Sources */, - AA579E10161C07E7005F809B /* IMG.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE1FA73107AF4C45004B6283 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA579DF3161C07E7005F809B /* IMG_bmp.c in Sources */, - AA579DF5161C07E7005F809B /* IMG_gif.c in Sources */, - AA579DF7161C07E7005F809B /* IMG_ImageIO.m in Sources */, - AA579DF9161C07E7005F809B /* IMG_jpg.c in Sources */, - AA579DFB161C07E7005F809B /* IMG_lbm.c in Sources */, - AA579DFD161C07E7005F809B /* IMG_pcx.c in Sources */, - AA579DFF161C07E7005F809B /* IMG_png.c in Sources */, - AA579E01161C07E7005F809B /* IMG_pnm.c in Sources */, - AA579E03161C07E7005F809B /* IMG_tga.c in Sources */, - AA579E05161C07E7005F809B /* IMG_tif.c in Sources */, - AA579E07161C07E7005F809B /* IMG_webp.c in Sources */, - AA579E09161C07E7005F809B /* IMG_xcf.c in Sources */, - AA579E0B161C07E7005F809B /* IMG_xpm.c in Sources */, - AA579E0D161C07E7005F809B /* IMG_xv.c in Sources */, - AA579E0F161C07E7005F809B /* IMG_xxx.c in Sources */, - AA579E11161C07E7005F809B /* IMG.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - BE1FA74D07AF4C45004B6283 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BE1FA71807AF4C44004B6283 /* Framework */; - targetProxy = BE1FA74C07AF4C45004B6283 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 007288110F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED)", - "$(HOME)/Library/Frameworks", - /Library/Frameworks, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED = "\"$(SRCROOT)/Frameworks\""; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_WEBP, - LOAD_XPM, - LOAD_XV, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = ( - "$(HEADER_SEARCH_PATHS_QUOTED)", - "$(HOME)/Library/Frameworks/SDL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - HEADER_SEARCH_PATHS_QUOTED = "\"$(SRCROOT)/Frameworks/webp.framework/Headers\""; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRODUCT_NAME = SDL2_image; - SDKROOT = macosx; - USER_HEADER_SEARCH_PATHS = "$(HEADER_SEARCH_PATHS_QUOTED) $(HOME)/Library/Frameworks/SDL2.framework/Headers /Library/Frameworks/SDL2.framework/Headers"; - }; - name = Debug; - }; - 007288120F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Frameworks\"", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Info-Framework.plist"; - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-weak_framework", - webp, - ); - WRAPPER_EXTENSION = framework; - }; - name = Debug; - }; - 007288130F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_WEBP, - LOAD_XPM, - LOAD_XV, - ); - HEADER_SEARCH_PATHS = ( - /Library/Frameworks/SDL.framework/Headers, - "~/Library/Frameworks/SDL.framework/Headers", - ); - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 007288140F0DA5BA00C302A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "Create DMG"; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - ZERO_LINK = YES; - }; - name = Debug; - }; - 007288150F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - DEPLOYMENT_POSTPROCESSING = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED)", - "$(HOME)/Library/Frameworks", - /Library/Frameworks, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED = "\"$(SRCROOT)/Frameworks\""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_WEBP, - LOAD_XPM, - LOAD_XV, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = ( - "$(HEADER_SEARCH_PATHS_QUOTED)", - "$(HOME)/Library/Frameworks/SDL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - HEADER_SEARCH_PATHS_QUOTED = "\"$(SRCROOT)/Frameworks/webp.framework/Headers\""; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRODUCT_NAME = SDL2_image; - SDKROOT = macosx; - SEPARATE_STRIP = YES; - STRIP_STYLE = "non-global"; - USER_HEADER_SEARCH_PATHS = "$(HEADER_SEARCH_PATHS_QUOTED) $(HOME)/Library/Frameworks/SDL2.framework/Headers /Library/Frameworks/SDL2.framework/Headers"; - }; - name = Release; - }; - 007288160F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Frameworks\"", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Info-Framework.plist"; - INSTALL_PATH = "@rpath"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-weak_framework", - webp, - ); - WRAPPER_EXTENSION = framework; - }; - name = Release; - }; - 007288170F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - LOAD_BMP, - LOAD_GIF, - LOAD_JPG, - LOAD_LBM, - LOAD_PCX, - LOAD_PNG, - LOAD_PNM, - LOAD_TGA, - LOAD_TIF, - LOAD_WEBP, - LOAD_XPM, - LOAD_XV, - ); - HEADER_SEARCH_PATHS = ( - /Library/Frameworks/SDL.framework/Headers, - "~/Library/Frameworks/SDL.framework/Headers", - ); - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 007288180F0DA5C400C302A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "Create DMG"; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 00B7E3AA097EB73D00826121 /* Build configuration list for PBXNativeTarget "Framework" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288160F0DA5C400C302A9 /* Release */, - 007288120F0DA5BA00C302A9 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 00B7E3AE097EB73D00826121 /* Build configuration list for PBXNativeTarget "Static Library" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288170F0DA5C400C302A9 /* Release */, - 007288130F0DA5BA00C302A9 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 00B7E3B2097EB73D00826121 /* Build configuration list for PBXNativeTarget "Create DMG" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288180F0DA5C400C302A9 /* Release */, - 007288140F0DA5BA00C302A9 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 00B7E3B6097EB73D00826121 /* Build configuration list for PBXProject "SDL_image" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 007288150F0DA5C400C302A9 /* Release */, - 007288110F0DA5BA00C302A9 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/src/SDL2/Xcode/package b/src/SDL2/Xcode/package deleted file mode 100755 index 6e6b5707c..000000000 --- a/src/SDL2/Xcode/package +++ /dev/null @@ -1,272 +0,0 @@ -#! /bin/csh -ef - -set prog = `/usr/bin/basename $0` -set usage = "Usage: $prog [-f] root-dir info-file [tiff-file] [-d dest-dir] [-r resource-dir] [-traditional | -gnutar]" -set noglob - -if (-x /usr/bin/mkbom) then - set mkbom=/usr/bin/mkbom - set lsbom=/usr/bin/lsbom -else - set mkbom=/usr/etc/mkbom - set lsbom=/usr/etc/lsbom -endif - -if (-x /usr/bin/awk) then - set awk=/usr/bin/awk -else - set awk=/bin/awk -endif - -set gnutar=/usr/bin/gnutar -set tar=/usr/bin/tar -set pax=/bin/pax - -# gather parameters -if ($#argv == 0) then - echo $usage - exit(1) -endif - -while ( $#argv > 0 ) - switch ( $argv[1] ) - case -d: - if ( $?destDir ) then - echo ${prog}: dest-dir parameter already set to ${destDir}. - echo $usage - exit(1) - else if ( $#argv < 2 ) then - echo ${prog}: -d option requires destination directory. - echo $usage - exit(1) - else - set destDir = $argv[2] - shift; shift - breaksw - endif - case -f: - if ( $?rootDir ) then - echo ${prog}: root-dir parameter already set to ${rootDir}. - echo $usage - exit(1) - else if ( $#argv < 2 ) then - echo ${prog}: -f option requires package root directory. - echo $usage - exit(1) - else - set rootDir = $argv[2] - set fflag - shift; shift - breaksw - endif - case -r: - if ( $?resDir ) then - echo ${prog}: resource-dir parameter already set to ${resDir}. - echo $usage - exit(1) - else if ( $#argv < 2 ) then - echo ${prog}: -r option requires package resource directory. - echo $usage - exit(1) - else - set resDir = $argv[2] - shift; shift - breaksw - endif - case -traditional: - set usetar - unset usegnutar - unset usepax - breaksw - case -gnutar: - set usegnutar - unset usepax - unset usetar - case -B: - # We got long file names, better use bigtar instead - #set archiver = /NextAdmin/Installer.app/Resources/installer_bigtar - echo 2>&1 ${prog}: -B flag is no longer relevant. - shift - breaksw - case -*: - echo ${prog}: Unknown option: $argv[1] - echo $usage - exit(1) - case *.info: - if ( $?info ) then - echo ${prog}: info-file parameter already set to ${info}. - echo $usage - exit(1) - else - set info = "$argv[1]" - shift - breaksw - endif - case *.tiff: - if ( $?tiff ) then - echo ${prog}: tiff-file parameter already set to ${tiff}. - echo $usage - exit(1) - else - set tiff = "$argv[1]" - shift - breaksw - endif - default: - if ( $?rootDir ) then - echo ${prog}: unrecognized parameter: $argv[1] - echo $usage - exit(1) - else - set rootDir = "$argv[1]" - shift - breaksw - endif - endsw -end - -# check for mandatory parameters -if ( ! $?rootDir ) then - echo ${prog}: missing root-dir parameter. - echo $usage - exit(1) -else if ( ! $?info) then - echo ${prog}: missing info-file parameter. - echo $usage - exit(1) -endif - -# destDir gets default value if unset on command line -if ( $?destDir ) then - /bin/mkdir -p $destDir -else - set destDir = . -endif - -# derive the root name for the package from the root name of the info file -set root = `/usr/bin/basename $info .info` - -# create package directory -set pkg = ${destDir}/${root}.pkg -echo Generating Installer package $pkg ... -if ( -e $pkg ) /bin/rm -rf $pkg -/bin/mkdir -p -m 755 $pkg - -# (gnu)tar/pax and compress root directory to package archive -echo -n " creating package archive ... " -if ( $?fflag ) then - set pkgTop = ${rootDir:t} - set parent = ${rootDir:h} - if ( "$parent" == "$pkgTop" ) set parent = "." -else - set parent = $rootDir - set pkgTop = . -endif -if ( $?usetar ) then - set pkgArchive = $pkg/$root.tar.Z - (cd $parent; $tar -w $pkgTop) | /usr/bin/compress -f -c > $pkgArchive -else if ( $?usegnutar ) then - set pkgArchive = $pkg/$root.tar.gz - (cd $parent; $gnutar zcf $pkgArchive $pkgTop) -else - set pkgArchive = $pkg/$root.pax.gz - (cd $parent; $pax -w -z -x cpio $pkgTop) > $pkgArchive -endif -/bin/chmod 444 $pkgArchive -echo done. - -# copy info file to package -set pkgInfo = $pkg/$root.info -echo -n " copying ${info:t} ... " -/bin/cp $info $pkgInfo -/bin/chmod 444 $pkgInfo -echo done. - -# copy tiff file to package -if ( $?tiff ) then - set pkgTiff = $pkg/$root.tiff - echo -n " copying ${tiff:t} ... " - /bin/cp $tiff $pkgTiff - /bin/chmod 444 $pkgTiff - echo done. -endif - -# copy resources to package -if ( $?resDir ) then - echo -n " copying ${resDir:t} ... " - - # don't want to see push/pop output - pushd $resDir > /dev/null - # get lists of resources. We'll want to change - # permissions on just these things later. - set directoriesInResDir = `find . -type d` - set filesInResDir = `find . -type f` - popd > /dev/null - - # copy the resource directory contents into the package directory - foreach resFile (`ls $resDir`) - cp -r $resDir/$resFile $pkg - end - - pushd $pkg > /dev/null - # Change all directories to +r+x, except the package - # directory itself - foreach resFileItem ($directoriesInResDir) - if ( $resFileItem != "." ) then - chmod 555 $resFileItem - endif - end - # change all flat files to read only - foreach resFileItem ($filesInResDir) - chmod 444 $resFileItem - end - popd > /dev/null - - echo done. -endif - -# generate bom file -set pkgBom = $pkg/$root.bom -echo -n " generating bom file ... " -/bin/rm -f $pkgBom -if ( $?fflag ) then - $mkbom $parent $pkgBom >& /dev/null -else - $mkbom $rootDir $pkgBom >& /dev/null -endif -/bin/chmod 444 $pkgArchive -echo done. - -# generate sizes file -set pkgSizes = $pkg/$root.sizes -echo -n " generating sizes file ... " - -# compute number of files in package -set numFiles = `$lsbom -s $pkgBom | /usr/bin/wc -l` - -# compute package size when compressed -@ compressedSize = `/usr/bin/du -k -s $pkg | $awk '{print $1}'` -@ compressedSize += 3 # add 1KB each for sizes, location, status files - -@ infoSize = `/bin/ls -s $pkgInfo | $awk '{print $1}'` -@ bomSize = `/bin/ls -s $pkgBom | $awk '{print $1}'` -if ( $?tiff ) then - @ tiffSize = `/bin/ls -s $pkgTiff | $awk '{print $1}'` -else - @ tiffSize = 0 -endif - -@ installedSize = `/usr/bin/du -k -s $rootDir | $awk '{print $1}'` -@ installedSize += $infoSize + $bomSize + $tiffSize + 3 - -# echo size parameters to sizes file -echo NumFiles $numFiles > $pkgSizes -echo InstalledSize $installedSize >> $pkgSizes -echo CompressedSize $compressedSize >> $pkgSizes -echo done. -echo " ... finished generating $pkg." - -exit(0) - -# end package - diff --git a/src/SDL2/Xcode/pkg-support/SDL_image.info b/src/SDL2/Xcode/pkg-support/SDL_image.info deleted file mode 100644 index fa02a8f64..000000000 --- a/src/SDL2/Xcode/pkg-support/SDL_image.info +++ /dev/null @@ -1,15 +0,0 @@ -Title SDL_image 1.2.4 -Version 1 -Description SDL_image Library for Mac OS X (http://www.libsdl.org/projects/SDL_image) -DefaultLocation /Library/Frameworks -Diskname (null) -DeleteWarning -NeedsAuthorization NO -DisableStop NO -UseUserMask NO -Application NO -Relocatable YES -Required NO -InstallOnly NO -RequiresReboot NO -InstallFat NO diff --git a/src/SDL2/Xcode/pkg-support/codesign-frameworks.sh b/src/SDL2/Xcode/pkg-support/codesign-frameworks.sh deleted file mode 100755 index 16dea2519..000000000 --- a/src/SDL2/Xcode/pkg-support/codesign-frameworks.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh - -# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY! - -# Verify that $CODE_SIGN_IDENTITY is set -if [ -z "$CODE_SIGN_IDENTITY" ] ; then - echo "CODE_SIGN_IDENTITY needs to be non-empty for codesigning frameworks!" - - if [ "$CONFIGURATION" = "Release" ] ; then - exit 1 - else - # Codesigning is optional for non-release builds. - exit 0 - fi -fi - -SAVEIFS=$IFS -IFS=$(echo -en "\n\b") - -FRAMEWORK_DIR="${TARGET_BUILD_DIR}" - -# Loop through all frameworks -FRAMEWORKS=`find "${FRAMEWORK_DIR}" -type d -name "*.framework" | sed -e "s/\(.*\)/\1\/Versions\/A\//"` -RESULT=$? -if [[ $RESULT != 0 ]] ; then - exit 1 -fi - -echo "Found:" -echo "${FRAMEWORKS}" - -for FRAMEWORK in $FRAMEWORKS; -do - echo "Signing '${FRAMEWORK}'" - `codesign -f -v -s "${CODE_SIGN_IDENTITY}" "${FRAMEWORK}"` - RESULT=$? - if [[ $RESULT != 0 ]] ; then - exit 1 - fi -done - -# restore $IFS -IFS=$SAVEIFS diff --git a/src/SDL2/Xcode/pkg-support/mkpackage.sh b/src/SDL2/Xcode/pkg-support/mkpackage.sh deleted file mode 100755 index 8bd9e3179..000000000 --- a/src/SDL2/Xcode/pkg-support/mkpackage.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -# Generic script to create a package with Project Builder in mind -# There should only be one version of this script for all projects! - -FRAMEWORK="$1" -VARIANT="$2" - -PACKAGE="$FRAMEWORK" -PACKAGE_RESOURCES="pkg-support/resources" - -echo "Building package for $FRAMEWORK.framework" -echo "Will fetch resources from $PACKAGE_RESOURCES" -echo "Will create the package $PACKAGE.pkg" - -# create a copy of the framework -mkdir -p build/pkg-tmp -/Developer/Tools/CpMac -r "build/$FRAMEWORK.framework" build/pkg-tmp/ - -./package build/pkg-tmp "pkg-support/$PACKAGE.info" -d build -r "$PACKAGE_RESOURCES" - -# remove temporary files -rm -rf build/pkg-tmp - -# compress -(cd build; tar -zcvf "$PACKAGE.pkg.tar.gz" "$PACKAGE.pkg") - diff --git a/src/SDL2/Xcode/pkg-support/resources/ReadMe.txt b/src/SDL2/Xcode/pkg-support/resources/ReadMe.txt deleted file mode 100644 index 73686f785..000000000 --- a/src/SDL2/Xcode/pkg-support/resources/ReadMe.txt +++ /dev/null @@ -1,26 +0,0 @@ -SDL_image is an example portable image loading library for use with SDL. - -The source code is available from: http://www.libsdl.org/projects/SDL_image - -This library is distributed under the terms of the zlib license: http://www.zlib.net/zlib_license.html - -This packages contains the SDL2_image.framework for OS X. Conforming with Apple guidelines, this framework contains both the SDL runtime component and development header files. - -Requirements: -You must have the SDL2.framework installed. - -To Install: -Copy the SDL2_image.framework to /Library/Frameworks - -You may alternatively install it in /Library/Frameworks if your access privileges are not high enough. (Be aware that the Xcode templates we provide in the SDL Developer Extras package may require some adjustment for your system if you do this.) - - - - -(Partial) History of PB/Xcode projects: -2009-09-21 - Updated for 64-bit (Snow Leopard) Universal Binaries. - Switched to 10.4 minimum requirement. - Switched to ImageIO backend for distribution. - Static libraries of libpng and libjpeg are no longer maintained and may eventually be removed. - -2006-01-31 - First entry in history. Updated for Universal Binaries. Static libraries of libpng and libjpeg have been brought up-to-date and built as Universal. diff --git a/src/SDL2/Xcode/pkg-support/resources/Welcome.txt b/src/SDL2/Xcode/pkg-support/resources/Welcome.txt deleted file mode 100644 index 8993c91fd..000000000 --- a/src/SDL2/Xcode/pkg-support/resources/Welcome.txt +++ /dev/null @@ -1,3 +0,0 @@ -This package installs the SDL_image library into /Library/Frameworks. You can also install it in -/Library/Frameworks if your access privileges are not high enough. - diff --git a/src/SDL2/Xcode/showimage/English.lproj/InfoPlist.strings b/src/SDL2/Xcode/showimage/English.lproj/InfoPlist.strings deleted file mode 100644 index 1a9590d86d74085eebd038fe84c0e03852722da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmbV|OAoJZ2|qqyv+^0;-`d_zvh6oGpbZ{-BuY2J|IGmEbJ!*y^gSBWMqt zF9-e|)u_o^l&cQ9MlEA@bq|LlME zGHz@fhh&lXTjD=Sr;d6Rb)ylR9y^~jVlqfFjdi9=X4cD}!=_JmJLZALDca*aOOwn} LcxIZl`BD1;kMmi6 diff --git a/src/SDL2/Xcode/showimage/Info-showimage__Upgraded_.plist b/src/SDL2/Xcode/showimage/Info-showimage__Upgraded_.plist deleted file mode 100644 index c98d6e2ec..000000000 --- a/src/SDL2/Xcode/showimage/Info-showimage__Upgraded_.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - showimage - CFBundleIconFile - - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 0.1 - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/src/SDL2/Xcode/showimage/SDLMain.h b/src/SDL2/Xcode/showimage/SDLMain.h deleted file mode 100644 index c56d90cbe..000000000 --- a/src/SDL2/Xcode/showimage/SDLMain.h +++ /dev/null @@ -1,16 +0,0 @@ -/* SDLMain.m - main entry point for our Cocoa-ized SDL app - Initial Version: Darrell Walisser - Non-NIB-Code & other changes: Max Horn - - Feel free to customize this file to suit your needs -*/ - -#ifndef _SDLMain_h_ -#define _SDLMain_h_ - -#import - -@interface SDLMain : NSObject -@end - -#endif /* _SDLMain_h_ */ diff --git a/src/SDL2/Xcode/showimage/SDLMain.m b/src/SDL2/Xcode/showimage/SDLMain.m deleted file mode 100644 index 6a2247b15..000000000 --- a/src/SDL2/Xcode/showimage/SDLMain.m +++ /dev/null @@ -1,383 +0,0 @@ -/* SDLMain.m - main entry point for our Cocoa-ized SDL app - Initial Version: Darrell Walisser - Non-NIB-Code & other changes: Max Horn - - Feel free to customize this file to suit your needs -*/ - -#include -#include "SDLMain.h" -#include /* for MAXPATHLEN */ -#include - -/* For some reaon, Apple removed setAppleMenu from the headers in 10.4, - but the method still is there and works. To avoid warnings, we declare - it ourselves here. */ -@interface NSApplication(SDL_Missing_Methods) -- (void)setAppleMenu:(NSMenu *)menu; -@end - -/* Use this flag to determine whether we use SDLMain.nib or not */ -#define SDL_USE_NIB_FILE 0 - -/* Use this flag to determine whether we use CPS (docking) or not */ -#define SDL_USE_CPS 1 -#ifdef SDL_USE_CPS -/* Portions of CPS.h */ -typedef struct CPSProcessSerNum -{ - UInt32 lo; - UInt32 hi; -} CPSProcessSerNum; - -extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn); -extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5); -extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn); - -#endif /* SDL_USE_CPS */ - -static int gArgc; -static char **gArgv; -static BOOL gFinderLaunch; -static BOOL gCalledAppMainline = FALSE; - -static NSString *getApplicationName(void) -{ - const NSDictionary *dict; - NSString *appName = 0; - - /* Determine the application name */ - dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle()); - if (dict) - appName = [dict objectForKey: @"CFBundleName"]; - - if (![appName length]) - appName = [[NSProcessInfo processInfo] processName]; - - return appName; -} - -#if SDL_USE_NIB_FILE -/* A helper category for NSString */ -@interface NSString (ReplaceSubString) -- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString; -@end -#endif - -@interface SDLApplication : NSApplication -@end - -@implementation SDLApplication -/* Invoked from the Quit menu item */ -- (void)terminate:(id)sender -{ - /* Post a SDL_QUIT event */ - SDL_Event event; - event.type = SDL_QUIT; - SDL_PushEvent(&event); -} -@end - -/* The main class of the application, the application's delegate */ -@implementation SDLMain - -/* Set the working directory to the .app's parent directory */ -- (void) setupWorkingDirectory:(BOOL)shouldChdir -{ - if (shouldChdir) - { - char parentdir[MAXPATHLEN]; - CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle()); - CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url); - if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) { - chdir(parentdir); /* chdir to the binary app's parent */ - } - CFRelease(url); - CFRelease(url2); - } -} - -#if SDL_USE_NIB_FILE - -/* Fix menu to contain the real app name instead of "SDL App" */ -- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName -{ - NSRange aRange; - NSEnumerator *enumerator; - NSMenuItem *menuItem; - - aRange = [[aMenu title] rangeOfString:@"SDL App"]; - if (aRange.length != 0) - [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]]; - - enumerator = [[aMenu itemArray] objectEnumerator]; - while ((menuItem = [enumerator nextObject])) - { - aRange = [[menuItem title] rangeOfString:@"SDL App"]; - if (aRange.length != 0) - [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]]; - if ([menuItem hasSubmenu]) - [self fixMenu:[menuItem submenu] withAppName:appName]; - } - [ aMenu sizeToFit ]; -} - -#else - -static void setApplicationMenu(void) -{ - /* warning: this code is very odd */ - NSMenu *appleMenu; - NSMenuItem *menuItem; - NSString *title; - NSString *appName; - - appName = getApplicationName(); - appleMenu = [[NSMenu alloc] initWithTitle:@""]; - - /* Add menu items */ - title = [@"About " stringByAppendingString:appName]; - [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; - - [appleMenu addItem:[NSMenuItem separatorItem]]; - - title = [@"Hide " stringByAppendingString:appName]; - [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"]; - - menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"]; - [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; - - [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""]; - - [appleMenu addItem:[NSMenuItem separatorItem]]; - - title = [@"Quit " stringByAppendingString:appName]; - [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"]; - - - /* Put menu into the menubar */ - menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; - [menuItem setSubmenu:appleMenu]; - [[NSApp mainMenu] addItem:menuItem]; - - /* Tell the application object that this is now the application menu */ - [NSApp setAppleMenu:appleMenu]; - - /* Finally give up our references to the objects */ - [appleMenu release]; - [menuItem release]; -} - -/* Create a window menu */ -static void setupWindowMenu(void) -{ - NSMenu *windowMenu; - NSMenuItem *windowMenuItem; - NSMenuItem *menuItem; - - windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; - - /* "Minimize" item */ - menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"]; - [windowMenu addItem:menuItem]; - [menuItem release]; - - /* Put menu into the menubar */ - windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""]; - [windowMenuItem setSubmenu:windowMenu]; - [[NSApp mainMenu] addItem:windowMenuItem]; - - /* Tell the application object that this is now the window menu */ - [NSApp setWindowsMenu:windowMenu]; - - /* Finally give up our references to the objects */ - [windowMenu release]; - [windowMenuItem release]; -} - -/* Replacement for NSApplicationMain */ -static void CustomApplicationMain (int argc, char **argv) -{ - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - SDLMain *sdlMain; - - /* Ensure the application object is initialised */ - [SDLApplication sharedApplication]; - -#ifdef SDL_USE_CPS - { - CPSProcessSerNum PSN; - /* Tell the dock about us */ - if (!CPSGetCurrentProcess(&PSN)) - if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103)) - if (!CPSSetFrontProcess(&PSN)) - [SDLApplication sharedApplication]; - } -#endif /* SDL_USE_CPS */ - - /* Set up the menubar */ - [NSApp setMainMenu:[[NSMenu alloc] init]]; - setApplicationMenu(); - setupWindowMenu(); - - /* Create SDLMain and make it the app delegate */ - sdlMain = [[SDLMain alloc] init]; - [NSApp setDelegate:sdlMain]; - - /* Start the main event loop */ - [NSApp run]; - - [sdlMain release]; - [pool release]; -} - -#endif - - -/* - * Catch document open requests...this lets us notice files when the app - * was launched by double-clicking a document, or when a document was - * dragged/dropped on the app's icon. You need to have a - * CFBundleDocumentsType section in your Info.plist to get this message, - * apparently. - * - * Files are added to gArgv, so to the app, they'll look like command line - * arguments. Previously, apps launched from the finder had nothing but - * an argv[0]. - * - * This message may be received multiple times to open several docs on launch. - * - * This message is ignored once the app's mainline has been called. - */ -- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename -{ - const char *temparg; - size_t arglen; - char *arg; - char **newargv; - - if (!gFinderLaunch) /* MacOS is passing command line args. */ - return FALSE; - - if (gCalledAppMainline) /* app has started, ignore this document. */ - return FALSE; - - temparg = [filename UTF8String]; - arglen = SDL_strlen(temparg) + 1; - arg = (char *) SDL_malloc(arglen); - if (arg == NULL) - return FALSE; - - newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2)); - if (newargv == NULL) - { - SDL_free(arg); - return FALSE; - } - gArgv = newargv; - - SDL_strlcpy(arg, temparg, arglen); - gArgv[gArgc++] = arg; - gArgv[gArgc] = NULL; - return TRUE; -} - - -/* Called when the internal event loop has just started running */ -- (void) applicationDidFinishLaunching: (NSNotification *) note -{ - int status; - - /* Set the working directory to the .app's parent directory */ - [self setupWorkingDirectory:gFinderLaunch]; - -#if SDL_USE_NIB_FILE - /* Set the main menu to contain the real app name instead of "SDL App" */ - [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()]; -#endif - - /* Hand off to main application code */ - gCalledAppMainline = TRUE; - status = SDL_main (gArgc, gArgv); - - /* We're done, thank you for playing */ - exit(status); -} -@end - - -@implementation NSString (ReplaceSubString) - -- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString -{ - unsigned int bufferSize; - unsigned int selfLen = [self length]; - unsigned int aStringLen = [aString length]; - unichar *buffer; - NSRange localRange; - NSString *result; - - bufferSize = selfLen + aStringLen - aRange.length; - buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar)); - - /* Get first part into buffer */ - localRange.location = 0; - localRange.length = aRange.location; - [self getCharacters:buffer range:localRange]; - - /* Get middle part into buffer */ - localRange.location = 0; - localRange.length = aStringLen; - [aString getCharacters:(buffer+aRange.location) range:localRange]; - - /* Get last part into buffer */ - localRange.location = aRange.location + aRange.length; - localRange.length = selfLen - localRange.location; - [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange]; - - /* Build output string */ - result = [NSString stringWithCharacters:buffer length:bufferSize]; - - NSDeallocateMemoryPages(buffer, bufferSize); - - return result; -} - -@end - - - -#ifdef main -# undef main -#endif - - -/* Main entry point to executable - should *not* be SDL_main! */ -int main (int argc, char **argv) -{ - /* Copy the arguments into a global variable */ - /* This is passed if we are launched by double-clicking */ - if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) { - gArgv = (char **) SDL_malloc(sizeof (char *) * 2); - gArgv[0] = argv[0]; - gArgv[1] = NULL; - gArgc = 1; - gFinderLaunch = YES; - } else { - int i; - gArgc = argc; - gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1)); - for (i = 0; i <= argc; i++) - gArgv[i] = argv[i]; - gFinderLaunch = NO; - } - -#if SDL_USE_NIB_FILE - [SDLApplication poseAsClass:[NSApplication class]]; - NSApplicationMain (argc, argv); -#else - CustomApplicationMain (argc, argv); -#endif - return 0; -} - diff --git a/src/SDL2/Xcode/showimage/showimage.xcodeproj/project.pbxproj b/src/SDL2/Xcode/showimage/showimage.xcodeproj/project.pbxproj deleted file mode 100644 index 88f79b004..000000000 --- a/src/SDL2/Xcode/showimage/showimage.xcodeproj/project.pbxproj +++ /dev/null @@ -1,340 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - BE1FA82C07AF9002004B6283 /* SDLMain.h in Headers */ = {isa = PBXBuildFile; fileRef = F5A47A9D01A0482F01D3D55B /* SDLMain.h */; }; - BE1FA82E07AF9002004B6283 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; - BE1FA83007AF9002004B6283 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = F5A47A9E01A0483001D3D55B /* SDLMain.m */; }; - BE1FA83107AF9002004B6283 /* showimage.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A068FF01CD8555012F876B /* showimage.c */; }; - BE1FA83307AF9002004B6283 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; - BE1FA83407AF9002004B6283 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE1FA82007AF8F33004B6283 /* SDL.framework */; }; - BE1FA83507AF9002004B6283 /* SDL_image.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE1FA82207AF8F44004B6283 /* SDL_image.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - BE1FA82007AF8F33004B6283 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = ""; }; - BE1FA82207AF8F44004B6283 /* SDL_image.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_image.framework; path = /Library/Frameworks/SDL_image.framework; sourceTree = ""; }; - BE1FA83607AF9002004B6283 /* Info-showimage__Upgraded_.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-showimage__Upgraded_.plist"; sourceTree = ""; }; - BE1FA83707AF9002004B6283 /* showimage.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = showimage.app; sourceTree = BUILT_PRODUCTS_DIR; }; - F5A068FF01CD8555012F876B /* showimage.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = showimage.c; path = ../../showimage.c; sourceTree = SOURCE_ROOT; }; - F5A47A9D01A0482F01D3D55B /* SDLMain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = SOURCE_ROOT; }; - F5A47A9E01A0483001D3D55B /* SDLMain.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BE1FA83207AF9002004B6283 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BE1FA83307AF9002004B6283 /* Cocoa.framework in Frameworks */, - BE1FA83407AF9002004B6283 /* SDL.framework in Frameworks */, - BE1FA83507AF9002004B6283 /* SDL_image.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - F5A47A9D01A0482F01D3D55B /* SDLMain.h */, - F5A47A9E01A0483001D3D55B /* SDLMain.m */, - ); - name = Classes; - sourceTree = ""; - }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - BE1FA82207AF8F44004B6283 /* SDL_image.framework */, - BE1FA82007AF8F33004B6283 /* SDL.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - BE1FA83707AF9002004B6283 /* showimage.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* SDL App */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - BE1FA83607AF9002004B6283 /* Info-showimage__Upgraded_.plist */, - ); - name = "SDL App"; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - F5A068FF01CD8555012F876B /* showimage.c */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - BE1FA82B07AF9002004B6283 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - BE1FA82C07AF9002004B6283 /* SDLMain.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - BE1FA82A07AF9002004B6283 /* showimage */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00B7E55F097EF9A500826121 /* Build configuration list for PBXNativeTarget "showimage" */; - buildPhases = ( - BE1FA82B07AF9002004B6283 /* Headers */, - BE1FA82D07AF9002004B6283 /* Resources */, - BE1FA82F07AF9002004B6283 /* Sources */, - BE1FA83207AF9002004B6283 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = showimage; - productInstallPath = "$(HOME)/Applications"; - productName = "SDL App"; - productReference = BE1FA83707AF9002004B6283 /* showimage.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0420; - }; - buildConfigurationList = 00B7E563097EF9A500826121 /* Build configuration list for PBXProject "showimage" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* SDL App */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - BE1FA82A07AF9002004B6283 /* showimage */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BE1FA82D07AF9002004B6283 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE1FA82E07AF9002004B6283 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BE1FA82F07AF9002004B6283 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE1FA83007AF9002004B6283 /* SDLMain.m in Sources */, - BE1FA83107AF9002004B6283 /* showimage.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C165DFE840E0CC02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 00B7E560097EF9A500826121 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks", - /Library/Frameworks, - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - HEADER_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks/SDL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - INFOPLIST_FILE = "Info-showimage__Upgraded_.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ""; - PRODUCT_NAME = showimage; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Development; - }; - 00B7E561097EF9A500826121 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks", - /Library/Frameworks, - ); - HEADER_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks/SDL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - INFOPLIST_FILE = "Info-showimage__Upgraded_.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ""; - PRODUCT_NAME = showimage; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Deployment; - }; - 00B7E562097EF9A500826121 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks", - /Library/Frameworks, - ); - HEADER_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks/SDL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - INFOPLIST_FILE = "Info-showimage__Upgraded_.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ""; - PRODUCT_NAME = showimage; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Default; - }; - 00B7E564097EF9A500826121 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 00B7E565097EF9A500826121 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 00B7E566097EF9A500826121 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Default; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 00B7E55F097EF9A500826121 /* Build configuration list for PBXNativeTarget "showimage" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00B7E560097EF9A500826121 /* Development */, - 00B7E561097EF9A500826121 /* Deployment */, - 00B7E562097EF9A500826121 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - 00B7E563097EF9A500826121 /* Build configuration list for PBXProject "showimage" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00B7E564097EF9A500826121 /* Development */, - 00B7E565097EF9A500826121 /* Deployment */, - 00B7E566097EF9A500826121 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/src/SDL2/acinclude/libtool.m4 b/src/SDL2/acinclude/libtool.m4 index b64223e2e..c444a5ed0 100644 --- a/src/SDL2/acinclude/libtool.m4 +++ b/src/SDL2/acinclude/libtool.m4 @@ -1,9 +1,10 @@ ############################################################################## -# Based on libtool-2.2.6a +# Based on libtool-2.4.2 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -12,7 +13,8 @@ m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -39,7 +41,7 @@ m4_define([_LT_COPYING], [dnl # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) -# serial 56 LT_INIT +# serial 57 LT_INIT # LT_PREREQ(VERSION) @@ -68,6 +70,7 @@ esac # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl @@ -84,6 +87,8 @@ AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) @@ -120,7 +125,7 @@ m4_defun([_LT_CC_BASENAME], *) break;; esac done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) @@ -140,6 +145,11 @@ m4_defun([_LT_FILEUTILS_DEFAULTS], m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl @@ -162,10 +172,13 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our @@ -181,7 +194,6 @@ fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH case $host_os in aix3*) @@ -195,23 +207,6 @@ aix3*) ;; esac -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - # Global variables: ofile=libtool can_build_shared=yes @@ -252,6 +247,28 @@ _LT_CONFIG_COMMANDS ])# _LT_SETUP +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' @@ -410,7 +427,7 @@ m4_define([_lt_decl_all_varnames], # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS @@ -420,7 +437,7 @@ m4_define([_LT_CONFIG_STATUS_DECLARE], # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) @@ -519,12 +536,20 @@ LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -535,9 +560,9 @@ done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -545,16 +570,38 @@ for var in lt_decl_all_varnames([[ \ esac done -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; -esac - _LT_OUTPUT_LIBTOOL_INIT ]) +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# `#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test $lt_write_fail = 0 && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- @@ -564,20 +611,11 @@ _LT_OUTPUT_LIBTOOL_INIT AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 +lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo @@ -603,7 +641,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." @@ -648,15 +686,13 @@ chmod +x "$CONFIG_LT" # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi +lt_cl_success=: +test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT @@ -719,15 +755,12 @@ _LT_EOF # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) + _LT_PROG_REPLACE_SHELLFNS - mv -f "$cfgfile" "$ofile" || + mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], @@ -772,6 +805,7 @@ AC_DEFUN([LT_LANG], m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], @@ -793,6 +827,31 @@ m4_defun([_LT_LANG], ])# _LT_LANG +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], @@ -823,6 +882,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ], m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) @@ -833,11 +896,13 @@ AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER @@ -923,7 +988,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -931,6 +1002,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ rm -rf libconftest.dylib* rm -f conftest.* fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no @@ -942,6 +1014,34 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; @@ -969,7 +1069,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi - if test "$DSYMUTIL" != ":"; then + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= @@ -979,8 +1079,8 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ ]) -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ @@ -989,7 +1089,13 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' + if test "$lt_cv_ld_force_load" = "yes"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in @@ -997,7 +1103,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo + output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" @@ -1013,203 +1119,142 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], fi ]) -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + # _LT_PROG_ECHO_BACKSLASH # ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script which will find a shell with a builtin +# printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' fi -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi +case "$ECHO" in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) -AC_SUBST(lt_ECHO) -]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[ --with-sysroot[=DIR] Search for dependent libraries within DIR + (or the compiler's sysroot if not specified).], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and in which our libraries should be installed.])]) + # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], @@ -1238,7 +1283,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in @@ -1331,14 +1376,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -1356,14 +1414,47 @@ need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) +[_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: @@ -1382,18 +1473,27 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE @@ -1418,15 +1518,15 @@ AC_CACHE_CHECK([$1], [$2], -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes @@ -1466,7 +1566,7 @@ AC_CACHE_CHECK([$1], [$2], if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes @@ -1529,9 +1629,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - beos*) - # On BeOS, this test takes a really really long time. - # So we just punt and use a minimum line length of 8192. + mint*) + # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; @@ -1560,6 +1659,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -1599,8 +1703,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` @@ -1651,7 +1755,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" +[#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -1692,7 +1796,13 @@ else # endif #endif -void fnord() { int i=42;} +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); @@ -1701,7 +1811,11 @@ int main () if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } /* dlclose (self); */ } else @@ -1877,16 +1991,16 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes @@ -2045,6 +2159,7 @@ m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ @@ -2053,16 +2168,23 @@ if test "$GCC" = yes; then darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -2075,7 +2197,7 @@ if test "$GCC" = yes; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; @@ -2095,7 +2217,13 @@ BEGIN {RS=" "; FS="/|\n";} { if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) @@ -2121,7 +2249,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -2130,7 +2258,7 @@ aix3*) ;; aix[[4-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -2183,7 +2311,7 @@ amigaos*) m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; @@ -2195,7 +2323,7 @@ beos*) ;; bsdi[[45]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -2214,8 +2342,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + case $GCC,$cc_basename in + yes,*) + # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ @@ -2237,37 +2366,84 @@ cygwin* | mingw* | pw32* | cegcc*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' #soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix #soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' soname_spec='`echo ${libname} | $SED -e 's/^lib//'`${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' ;; *) + # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' ;; esac - dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; @@ -2288,7 +2464,7 @@ m4_if([$1], [],[ ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -2296,10 +2472,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -2307,7 +2479,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[[123]]*) objformat=aout ;; + freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -2325,7 +2497,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) @@ -2345,12 +2517,26 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -2396,12 +2582,14 @@ hpux9* | hpux10* | hpux11*) soname_spec='${libname}${release}${shared_ext}$major' ;; esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 ;; interix[[3-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -2417,7 +2605,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -2454,9 +2642,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2464,16 +2652,21 @@ linux* | k*bsd*-gnu) finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install @@ -2482,7 +2675,7 @@ linux* | k*bsd*-gnu) # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -2514,7 +2707,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -2583,7 +2776,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2608,7 +2801,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -2632,7 +2825,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -2663,7 +2856,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2673,7 +2866,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -2715,6 +2908,8 @@ _LT_DECL([], [library_names_spec], [1], The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], @@ -2827,6 +3022,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], @@ -2948,6 +3144,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' @@ -2956,8 +3157,8 @@ case $host_os in fi ;; esac -_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl -_LT_DECL([], [reload_cmds], [2])dnl +_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl +_LT_TAGDECL([], [reload_cmds], [2])dnl ])# _LT_CMD_RELOAD @@ -3002,25 +3203,27 @@ bsdi[[45]]*) cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='func_win32_libid' + lt_cv_deplibs_check_method=pass_all ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else + # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi lt_cv_deplibs_check_method=pass_all ;; -cegcc) +cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' @@ -3050,6 +3253,10 @@ gnu*) lt_cv_deplibs_check_method=pass_all ;; +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in @@ -3058,11 +3265,11 @@ hpux10.20* | hpux11*) lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac @@ -3083,8 +3290,8 @@ irix5* | irix6* | nonstopux*) lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -3162,6 +3369,21 @@ tpf*) ;; esac ]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -3169,7 +3391,11 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD @@ -3226,7 +3452,19 @@ if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" @@ -3239,13 +3477,13 @@ _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -3260,15 +3498,76 @@ dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' -# LT_LIB_M -# -------- -# check for math library +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# LT_LIB_M +# -------- +# check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) @@ -3296,7 +3595,12 @@ m4_defun([_LT_COMPILER_NO_RTTI], _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, @@ -3313,6 +3617,7 @@ _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl @@ -3380,8 +3685,8 @@ esac lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -3405,6 +3710,7 @@ for ac_symprfx in "" "_"; do # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -3417,6 +3723,7 @@ for ac_symprfx in "" "_"; do else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -3438,7 +3745,7 @@ _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -3450,6 +3757,18 @@ _LT_EOF if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + #ifdef __cplusplus extern "C" { #endif @@ -3461,7 +3780,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ -const struct { +LT@&t@_DLSYM_CONST struct { const char *name; void *address; } @@ -3487,15 +3806,15 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi @@ -3528,6 +3847,13 @@ else AC_MSG_RESULT(ok) fi +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], @@ -3538,6 +3864,8 @@ _LT_DECL([global_symbol_to_c_name_address], _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS @@ -3549,7 +3877,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= -AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then @@ -3600,6 +3927,11 @@ m4_if([$1], [CXX], [ # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. @@ -3649,6 +3981,12 @@ m4_if([$1], [CXX], [ ;; esac ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; dgux*) case $cc_basename in ec++*) @@ -3705,7 +4043,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler @@ -3738,8 +4076,8 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' @@ -3801,7 +4139,7 @@ m4_if([$1], [CXX], [ ;; solaris*) case $cc_basename in - CC*) + CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -3905,6 +4243,12 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag @@ -3947,6 +4291,15 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in @@ -3989,7 +4342,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -4010,7 +4363,13 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' @@ -4022,25 +4381,40 @@ m4_if([$1], [CXX], [ # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; @@ -4072,7 +4446,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in - f77* | f90* | f95*) + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; @@ -4129,9 +4503,11 @@ case $host_os in _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. @@ -4150,6 +4526,8 @@ fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # @@ -4170,6 +4548,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl @@ -4178,27 +4557,37 @@ m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; + ;; cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; + ;; esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= @@ -4213,7 +4602,6 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -4261,7 +4649,33 @@ dnl Note also adjust exclude_expsyms for C++ above. esac _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' @@ -4279,6 +4693,7 @@ dnl Note also adjust exclude_expsyms for C++ above. fi supports_anon_versioning=no case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... @@ -4294,11 +4709,12 @@ dnl Note also adjust exclude_expsyms for C++ above. _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 -*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. _LT_EOF fi @@ -4334,10 +4750,12 @@ _LT_EOF # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -4355,6 +4773,11 @@ _LT_EOF fi ;; + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -4370,7 +4793,7 @@ _LT_EOF _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - gnu* | linux* | tpf* | k*bsd*-gnu) + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in @@ -4380,15 +4803,16 @@ _LT_EOF if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then - tmp_addflag= + tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -4399,13 +4823,17 @@ _LT_EOF lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 @@ -4421,17 +4849,16 @@ _LT_EOF fi case $cc_basename in - xlf*) + xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -4445,8 +4872,8 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -4464,8 +4891,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4511,8 +4938,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4552,8 +4979,10 @@ _LT_EOF else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi @@ -4640,9 +5069,9 @@ _LT_EOF _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. - _LT_SYS_MODULE_PATH_AIX + _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' @@ -4651,14 +5080,19 @@ _LT_EOF else # Determine the default libpath from the value encoded in an # empty executable. - _LT_SYS_MODULE_PATH_AIX + _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' @@ -4690,20 +5124,64 @@ _LT_EOF # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac ;; darwin* | rhapsody*) @@ -4716,10 +5194,6 @@ _LT_EOF _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -4732,7 +5206,7 @@ _LT_EOF ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes @@ -4741,7 +5215,7 @@ _LT_EOF # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -4749,7 +5223,7 @@ _LT_EOF hpux9*) if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi @@ -4764,14 +5238,13 @@ _LT_EOF ;; hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes @@ -4783,16 +5256,16 @@ _LT_EOF ;; hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then + if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else @@ -4804,7 +5277,14 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi @@ -4832,19 +5312,34 @@ _LT_EOF irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS="$save_LDFLAGS"]) + if test "$lt_cv_irix_exported_symbol" = yes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' @@ -4906,17 +5401,17 @@ _LT_EOF _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' @@ -4926,13 +5421,13 @@ _LT_EOF osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -4945,9 +5440,9 @@ _LT_EOF _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) @@ -5123,36 +5618,38 @@ x|xyes) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi @@ -5189,9 +5686,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1], _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], @@ -5217,8 +5711,6 @@ _LT_TAGDECL([], [inherit_rpath], [0], to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], @@ -5229,6 +5721,8 @@ _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented @@ -5322,37 +5816,22 @@ CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no @@ -5364,7 +5843,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -5374,6 +5852,8 @@ _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no @@ -5405,6 +5885,7 @@ if test "$_lt_caught_CXX_error" != yes; then # Allow CC to be a program name with arguments. lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX @@ -5422,6 +5903,7 @@ if test "$_lt_caught_CXX_error" != yes; then fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) @@ -5443,8 +5925,8 @@ if test "$_lt_caught_CXX_error" != yes; then # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' @@ -5476,7 +5958,7 @@ if test "$_lt_caught_CXX_error" != yes; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no @@ -5585,10 +6067,10 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. - _LT_SYS_MODULE_PATH_AIX + _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' @@ -5597,14 +6079,19 @@ if test "$_lt_caught_CXX_error" != yes; then else # Determine the default libpath from the value encoded in an # empty executable. - _LT_SYS_MODULE_PATH_AIX + _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. @@ -5634,28 +6121,75 @@ if test "$_lt_caught_CXX_error" != yes; then ;; cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; @@ -5678,7 +6212,7 @@ if test "$_lt_caught_CXX_error" != yes; then esac ;; - freebsd[[12]]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no @@ -5697,6 +6231,11 @@ if test "$_lt_caught_CXX_error" != yes; then gnu*) ;; + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: @@ -5721,11 +6260,11 @@ if test "$_lt_caught_CXX_error" != yes; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no @@ -5786,7 +6325,7 @@ if test "$_lt_caught_CXX_error" != yes; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then @@ -5796,10 +6335,10 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi @@ -5829,7 +6368,7 @@ if test "$_lt_caught_CXX_error" != yes; then case $cc_basename in CC*) # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -5840,9 +6379,9 @@ if test "$_lt_caught_CXX_error" != yes; then *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes @@ -5853,7 +6392,7 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(inherit_rpath, $1)=yes ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -5871,7 +6410,7 @@ if test "$_lt_caught_CXX_error" != yes; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' @@ -5908,26 +6447,26 @@ if test "$_lt_caught_CXX_error" != yes; then pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; - *) # Version 6 will use weak symbols + *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; @@ -5935,7 +6474,7 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ @@ -5954,9 +6493,9 @@ if test "$_lt_caught_CXX_error" != yes; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; - xl*) + xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' @@ -5976,13 +6515,13 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. - output_verbose_link_cmd='echo' + output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is @@ -6051,7 +6590,7 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi - output_verbose_link_cmd=echo + output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -6086,15 +6625,15 @@ if test "$_lt_caught_CXX_error" != yes; then case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; @@ -6110,17 +6649,17 @@ if test "$_lt_caught_CXX_error" != yes; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac @@ -6130,7 +6669,7 @@ if test "$_lt_caught_CXX_error" != yes; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support @@ -6166,7 +6705,7 @@ if test "$_lt_caught_CXX_error" != yes; then solaris*) case $cc_basename in - CC*) + CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -6187,7 +6726,7 @@ if test "$_lt_caught_CXX_error" != yes; then esac _LT_TAGVAR(link_all_deplibs, $1)=yes - output_verbose_link_cmd='echo' + output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is @@ -6207,14 +6746,14 @@ if test "$_lt_caught_CXX_error" != yes; then if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. @@ -6225,7 +6764,7 @@ if test "$_lt_caught_CXX_error" != yes; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' @@ -6279,6 +6818,10 @@ if test "$_lt_caught_CXX_error" != yes; then CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' @@ -6334,6 +6877,7 @@ if test "$_lt_caught_CXX_error" != yes; then fi # test -n "$compiler" CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC @@ -6348,6 +6892,29 @@ AC_LANG_POP ])# _LT_LANG_CXX_CONFIG +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose @@ -6356,6 +6923,7 @@ AC_LANG_POP # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= @@ -6405,7 +6973,20 @@ public class foo { } }; _LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF ]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then @@ -6417,7 +6998,7 @@ if AC_TRY_EVAL(ac_compile); then pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do - case $p in + case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. @@ -6426,13 +7007,22 @@ if AC_TRY_EVAL(ac_compile); then test $p = "-R"; then prev=$p continue - else - prev= fi + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) + case ${prev} in + -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. @@ -6452,8 +7042,10 @@ if AC_TRY_EVAL(ac_compile); then _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi + prev= ;; + *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. @@ -6489,6 +7081,7 @@ else fi $RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], @@ -6525,7 +7118,7 @@ linux*) solaris*) case $cc_basename in - CC*) + CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as @@ -6569,32 +7162,16 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1], ])# _LT_SYS_HIDDEN_LIBDEPS -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= @@ -6604,7 +7181,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -6613,6 +7189,8 @@ _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no @@ -6652,7 +7230,9 @@ if test "$_lt_disable_F77" != yes; then # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} + CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) @@ -6706,38 +7286,24 @@ if test "$_lt_disable_F77" != yes; then GCC=$lt_save_GCC CC="$lt_save_CC" + CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= @@ -6747,7 +7313,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -6756,6 +7321,8 @@ _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no @@ -6795,7 +7362,9 @@ if test "$_lt_disable_FC" != yes; then # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} + CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu @@ -6851,7 +7420,8 @@ if test "$_lt_disable_FC" != yes; then fi # test -n "$compiler" GCC=$lt_save_GCC - CC="$lt_save_CC" + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP @@ -6888,10 +7458,12 @@ _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. -lt_save_CC="$CC" +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" @@ -6901,6 +7473,8 @@ _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -6920,10 +7494,82 @@ fi AC_LANG_RESTORE GCC=$lt_save_GCC -CC="$lt_save_CC" +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler @@ -6955,9 +7601,11 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" +lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} +CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) @@ -6970,7 +7618,8 @@ fi GCC=$lt_save_GCC AC_LANG_RESTORE -CC="$lt_save_CC" +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG @@ -6990,6 +7639,13 @@ dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], @@ -7029,6 +7685,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) # _LT_DECL_SED # ------------ @@ -7122,8 +7787,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES], # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes @@ -7162,209 +7827,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) +# ------------------------------------------------------ +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. +m4_defun([_LT_PROG_FUNCTION_REPLACE], +[dnl { +sed -e '/^$1 ()$/,/^} # $1 /c\ +$1 ()\ +{\ +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: +]) -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} +# _LT_PROG_REPLACE_SHELLFNS +# ------------------------- +# Replace existing portable implementations of several shell functions with +# equivalent extended shell implementations where those features are available.. +m4_defun([_LT_PROG_REPLACE_SHELLFNS], +[if test x"$xsi_shell" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}"]) -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"}]) -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl + func_split_long_opt_name=${1%%=*} + func_split_long_opt_arg=${1#*=}]) -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac]) -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) +fi -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} +if test x"$lt_shell_append" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl + func_quote_for_eval "${2}" +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) -_LT_EOF -esac + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" +if test x"$_lt_function_replace_fail" = x":"; then + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) +fi +]) -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine which file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac ;; - esac + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac ]) - +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/src/SDL2/acinclude/ltoptions.m4 b/src/SDL2/acinclude/ltoptions.m4 index d4df67919..5d9acd8e2 100644 --- a/src/SDL2/acinclude/ltoptions.m4 +++ b/src/SDL2/acinclude/ltoptions.m4 @@ -1,14 +1,14 @@ -############################################################################## # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, +# Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 6 ltoptions.m4 +# serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) @@ -126,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) @@ -134,13 +134,13 @@ case $host in esac test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl +_LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], @@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) @@ -367,4 +382,3 @@ LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) - diff --git a/src/SDL2/acinclude/ltsugar.m4 b/src/SDL2/acinclude/ltsugar.m4 index 02a939d81..9000a057d 100644 --- a/src/SDL2/acinclude/ltsugar.m4 +++ b/src/SDL2/acinclude/ltsugar.m4 @@ -1,4 +1,3 @@ -############################################################################## # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. @@ -122,4 +121,3 @@ m4_define([lt_dict_filter], lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) - diff --git a/src/SDL2/acinclude/ltversion.m4 b/src/SDL2/acinclude/ltversion.m4 index 83a83f20a..07a8602d4 100644 --- a/src/SDL2/acinclude/ltversion.m4 +++ b/src/SDL2/acinclude/ltversion.m4 @@ -1,4 +1,3 @@ -############################################################################## # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. @@ -8,18 +7,17 @@ # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# Generated from ltversion.in. +# @configure_input@ -# serial 3012 ltversion.m4 +# serial 3337 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.2.6]) -m4_define([LT_PACKAGE_REVISION], [1.3012]) +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6' -macro_revision='1.3012' +[macro_version='2.4.2' +macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) - diff --git a/src/SDL2/acinclude/lt~obsolete.m4 b/src/SDL2/acinclude/lt~obsolete.m4 index 3b2acd4d0..c573da90c 100644 --- a/src/SDL2/acinclude/lt~obsolete.m4 +++ b/src/SDL2/acinclude/lt~obsolete.m4 @@ -1,14 +1,13 @@ -############################################################################## # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 4 lt~obsolete.m4 +# serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # @@ -78,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) @@ -91,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/src/SDL2/acinclude/pkg.m4 b/src/SDL2/acinclude/pkg.m4 deleted file mode 100644 index 0048a3fa0..000000000 --- a/src/SDL2/acinclude/pkg.m4 +++ /dev/null @@ -1,157 +0,0 @@ -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES diff --git a/src/SDL2/acinclude/sdl2.m4 b/src/SDL2/acinclude/sdl2.m4 deleted file mode 100644 index a03b2d270..000000000 --- a/src/SDL2/acinclude/sdl2.m4 +++ /dev/null @@ -1,202 +0,0 @@ -# Configure paths for SDL -# Sam Lantinga 9/21/99 -# stolen from Manish Singh -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -# serial 1 - -dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS -dnl -AC_DEFUN([AM_PATH_SDL2], -[dnl -dnl Get the cflags and libraries from the sdl2-config script -dnl -AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], - sdl_prefix="$withval", sdl_prefix="") -AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], - sdl_exec_prefix="$withval", sdl_exec_prefix="") -AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], - , enable_sdltest=yes) - - min_sdl_version=ifelse([$1], ,2.0.0,$1) - - if test "x$sdl_prefix$sdl_exec_prefix" = x ; then - PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], - [sdl_pc=yes], - [sdl_pc=no]) - else - sdl_pc=no - if test x$sdl_exec_prefix != x ; then - sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config - fi - fi - fi - - if test "x$sdl_pc" = xyes ; then - no_sdl="" - SDL2_CONFIG="pkg-config sdl2" - else - as_save_PATH="$PATH" - if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - fi - AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) - PATH="$as_save_PATH" - AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) - no_sdl="" - - if test "$SDL2_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` - - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" -dnl -dnl Now check if the installed SDL is sufficiently new. (Also sanity -dnl checks the results of sdl2-config to some extent -dnl - rm -f conf.sdltest - AC_TRY_RUN([ -#include -#include -#include -#include "SDL.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } - - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - fi - if test "x$no_sdl" = x ; then - ifelse([$2], , :, [$2]) - else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - AC_TRY_LINK([ -#include -#include "SDL.h" - -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(SDL_CFLAGS) - AC_SUBST(SDL_LIBS) - rm -f conf.sdltest -]) diff --git a/src/SDL2/autogen.sh b/src/SDL2/autogen.sh index c4ec5b494..649d7b31e 100755 --- a/src/SDL2/autogen.sh +++ b/src/SDL2/autogen.sh @@ -1,8 +1,19 @@ #!/bin/sh # -aclocal -I acinclude -automake --foreign --include-deps --add-missing --copy -autoconf +echo "Generating build information using autoconf" +echo "This may take a while ..." -#./configure $* +# Regenerate configuration files +cat acinclude/* >aclocal.m4 +found=false +for autoconf in autoconf autoconf259 autoconf-2.59 +do if which $autoconf >/dev/null 2>&1; then $autoconf && found=true; break; fi +done +if test x$found = xfalse; then + echo "Couldn't find autoconf, aborting" + exit 1 +fi +(cd test; sh autogen.sh) + +# Run configure for this platform echo "Now you are ready to run ./configure" diff --git a/src/SDL2/configure b/src/SDL2/configure index 996820a7f..ba2489430 100755 --- a/src/SDL2/configure +++ b/src/SDL2/configure @@ -196,6 +196,14 @@ test -x / || exit 1" as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes @@ -553,155 +561,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -# Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -$* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - test -n "$DJDIR" || exec 7<&0 &1 @@ -768,66 +629,50 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -IMG_LIBS -LIBWEBP_LIBS -LIBWEBP_CFLAGS -LIBPNG_LIBS -LIBPNG_CFLAGS -SDL2_CONFIG +ac_subst_vars='LTLIBOBJS +EXTRA_LDFLAGS +BUILD_LDFLAGS +EXTRA_CFLAGS +BUILD_CFLAGS +SDLTEST_OBJECTS +SDLMAIN_OBJECTS +VERSION_OBJECTS +OBJECTS +INCLUDE +ac_aux_dir +ENABLE_STATIC_FALSE +ENABLE_STATIC_TRUE +ENABLE_SHARED_FALSE +ENABLE_SHARED_TRUE +SDL_RLD_FLAGS +SDL_STATIC_LIBS SDL_LIBS SDL_CFLAGS +DIRECTFBCONFIG +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +ARTSCONFIG PKG_CONFIG -SDL_VERSION -USE_VERSION_RC_FALSE -USE_VERSION_RC_TRUE -USE_IMAGEIO_FALSE -USE_IMAGEIO_TRUE +ESD_LIBS +ESD_CFLAGS +ESD_CONFIG +ALSA_LIBS +ALSA_CFLAGS +POW_LIB +LIBOBJS +ALLOCA WINDRES -am__fastdepOBJC_FALSE -am__fastdepOBJC_TRUE -OBJCDEPMODE -ac_ct_OBJC -OBJCFLAGS -OBJC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -am__untar -am__tar -AMTAR -am__leading_dot SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -PACKAGE -CYGPATH_W -am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX LT_AGE LT_REVISION LT_CURRENT @@ -838,9 +683,11 @@ OTOOL LIPO NMEDIT DSYMUTIL -lt_ECHO +MANIFEST_TOOL +AWK RANLIB STRIP +ac_ct_AR AR LN_S NM @@ -870,12 +717,12 @@ LIBTOOL OBJDUMP DLLTOOL AS -VERSION -BINARY_AGE -INTERFACE_AGE -MICRO_VERSION -MINOR_VERSION -MAJOR_VERSION +SDL_VERSION +SDL_BINARY_AGE +SDL_INTERFACE_AGE +SDL_MICRO_VERSION +SDL_MINOR_VERSION +SDL_MAJOR_VERSION target_alias host_alias build_alias @@ -922,30 +769,82 @@ enable_static with_pic enable_fast_install with_gnu_ld +with_sysroot enable_libtool_lock +enable_assertions enable_dependency_tracking -enable_silent_rules -enable_imageio -with_sdl_prefix -with_sdl_exec_prefix -enable_sdltest -enable_bmp -enable_gif -enable_jpg -enable_jpg_shared -enable_lbm -enable_pcx -enable_png -enable_png_shared -enable_pnm -enable_tga -enable_tif -enable_tif_shared -enable_xcf -enable_xpm -enable_xv -enable_webp -enable_webp_shared +enable_libc +enable_gcc_atomics +enable_atomic +enable_audio +enable_video +enable_render +enable_events +enable_joystick +enable_haptic +enable_power +enable_filesystem +enable_threads +enable_timers +enable_file +enable_loadso +enable_cpuinfo +enable_assembly +enable_ssemath +enable_mmx +enable_3dnow +enable_sse +enable_sse2 +enable_altivec +enable_oss +enable_alsa +with_alsa_prefix +with_alsa_inc_prefix +enable_alsatest +enable_alsa_shared +enable_esd +with_esd_prefix +with_esd_exec_prefix +enable_esdtest +enable_esd_shared +enable_pulseaudio +enable_pulseaudio_shared +enable_arts +enable_arts_shared +enable_nas +enable_nas_shared +enable_sndio +enable_sndio_shared +enable_diskaudio +enable_dummyaudio +enable_video_x11 +with_x +enable_x11_shared +enable_video_x11_xcursor +enable_video_x11_xinerama +enable_video_x11_xinput +enable_video_x11_xrandr +enable_video_x11_scrnsaver +enable_video_x11_xshape +enable_video_x11_vm +enable_video_cocoa +enable_video_directfb +enable_directfb_shared +enable_fusionsound +enable_fusionsound_shared +enable_video_dummy +enable_video_opengl +enable_video_opengles +enable_libudev +enable_dbus +enable_input_tslib +enable_pthreads +enable_pthread_sem +enable_directx +enable_sdl_dlopen +enable_clock_gettime +enable_rpath +enable_render_d3d ' ac_precious_vars='build_alias host_alias @@ -956,15 +855,11 @@ LDFLAGS LIBS CPPFLAGS CPP -OBJC -OBJCFLAGS -PKG_CONFIG -SDL_CFLAGS -SDL_LIBS -LIBPNG_CFLAGS -LIBPNG_LIBS -LIBWEBP_CFLAGS -LIBWEBP_LIBS' +CXX +CXXFLAGS +CCC +CXXCPP +XMKMF' # Initialize some variables set by options. @@ -1562,10 +1457,9 @@ _ACEOF cat <<\_ACEOF -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] @@ -1586,41 +1480,113 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --enable-assertions Enable internal sanity checks + (auto/disabled/release/enabled/paranoid) + [[default=auto]] --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-imageio use native Mac OS X frameworks for loading images - [default=yes] - --disable-sdltest Do not try to compile and run a test SDL program - --enable-bmp support loading BMP/ICO/CUR images [default=yes] - --enable-gif support loading GIF images [default=yes] - --enable-jpg support loading JPG images [default=yes] - --enable-jpg-shared dynamically load JPG support [[default=yes]] - --enable-lbm support loading LBM images [default=yes] - --enable-pcx support loading PCX images [default=yes] - --enable-png support loading PNG images [default=yes] - --enable-png-shared dynamically load PNG support [[default=yes]] - --enable-pnm support loading PNM images [default=yes] - --enable-tga support loading TGA images [default=yes] - --enable-tif support loading TIFF images [default=yes] - --enable-tif-shared dynamically load TIFF support [[default=yes]] - --enable-xcf support loading XCF images [default=yes] - --enable-xpm support loading XPM images [default=yes] - --enable-xv support loading XV images [default=yes] - --enable-webp support loading WEBP images [default=yes] - --enable-webp-shared dynamically load WEBP support [[default=yes]] + Use gcc -MMD -MT dependency tracking [[default=yes]] + --enable-libc Use the system C library [[default=yes]] + --enable-gcc-atomics Use gcc builtin atomics [[default=yes]] + --enable-atomic Enable the atomic operations subsystem + [[default=yes]] + --enable-audio Enable the audio subsystem [[default=yes]] + --enable-video Enable the video subsystem [[default=yes]] + --enable-render Enable the render subsystem [[default=yes]] + --enable-events Enable the events subsystem [[default=yes]] + --enable-joystick Enable the joystick subsystem [[default=yes]] + --enable-haptic Enable the haptic (force feedback) subsystem + [[default=yes]] + --enable-power Enable the power subsystem [[default=yes]] + --enable-filesystem Enable the filesystem subsystem [[default=yes]] + --enable-threads Enable the threading subsystem [[default=yes]] + --enable-timers Enable the timer subsystem [[default=yes]] + --enable-file Enable the file subsystem [[default=yes]] + --enable-loadso Enable the shared object loading subsystem + [[default=yes]] + --enable-cpuinfo Enable the cpuinfo subsystem [[default=yes]] + --enable-atomic Enable the atomic operations [[default=yes]] + --enable-assembly Enable assembly routines [[default=yes]] + --enable-ssemath Allow GCC to use SSE floating point math + [[default=no]] + --enable-mmx use MMX assembly routines [[default=yes]] + --enable-3dnow use 3DNow! assembly routines [[default=yes]] + --enable-sse use SSE assembly routines [[default=yes]] + --enable-sse2 use SSE2 assembly routines [[default=no]] + --enable-altivec use Altivec assembly routines [[default=yes]] + --enable-oss support the OSS audio API [[default=maybe]] + --enable-alsa support the ALSA audio API [[default=yes]] + --disable-alsatest Do not try to compile and run a test Alsa program + --enable-alsa-shared dynamically load ALSA audio support [[default=yes]] + --enable-esd support the Enlightened Sound Daemon [[default=yes]] + --disable-esdtest Do not try to compile and run a test ESD program + --enable-esd-shared dynamically load ESD audio support [[default=yes]] + --enable-pulseaudio use PulseAudio [[default=yes]] + --enable-pulseaudio-shared + dynamically load PulseAudio support [[default=yes]] + --enable-arts support the Analog Real Time Synthesizer + [[default=yes]] + --enable-arts-shared dynamically load aRts audio support [[default=yes]] + --enable-nas support the NAS audio API [[default=yes]] + --enable-nas-shared dynamically load NAS audio support [[default=yes]] + --enable-sndio support the sndio audio API [[default=yes]] + --enable-sndio-shared dynamically load sndio audio support [[default=yes]] + --enable-diskaudio support the disk writer audio driver [[default=yes]] + --enable-dummyaudio support the dummy audio driver [[default=yes]] + --enable-video-x11 use X11 video driver [[default=yes]] + --enable-x11-shared dynamically load X11 support [[default=maybe]] + --enable-video-x11-xcursor + enable X11 Xcursor support [[default=yes]] + --enable-video-x11-xinerama + enable X11 Xinerama support [[default=yes]] + --enable-video-x11-xinput + enable X11 XInput extension for manymouse, tablets, + etc [[default=yes]] + --enable-video-x11-xrandr + enable X11 Xrandr extension for fullscreen + [[default=yes]] + --enable-video-x11-scrnsaver + enable X11 screensaver extension [[default=yes]] + --enable-video-x11-xshape + enable X11 XShape support [[default=yes]] + --enable-video-x11-vm use X11 VM extension for fullscreen [[default=yes]] + --enable-video-cocoa use Cocoa video driver [[default=yes]] + --enable-video-directfb use DirectFB video driver [[default=no]] + --enable-directfb-shared + dynamically load directfb support [[default=yes]] + --enable-fusionsound use FusionSound audio driver [[default=no]] + --enable-fusionsound-shared + dynamically load fusionsound audio support + [[default=yes]] + --enable-video-dummy use dummy video driver [[default=yes]] + --enable-video-opengl include OpenGL support [[default=yes]] + --enable-video-opengles include OpenGL ES support [[default=yes]] + --enable-libudev enable libudev support [[default=yes]] + --enable-dbus enable D-Bus support [[default=yes]] + --enable-input-tslib use the Touchscreen library for input + [[default=yes]] + --enable-pthreads use POSIX threads for multi-threading + [[default=yes]] + --enable-pthread-sem use pthread semaphores [[default=yes]] + --enable-directx use DirectX for Windows audio/video [[default=yes]] + --enable-sdl-dlopen use dlopen for shared object loading [[default=yes]] + --enable-clock_gettime use clock_gettime() instead of gettimeofday() on + UNIX [[default=yes]] + --enable-rpath use an rpath when linking SDL [[default=yes]] + --enable-render-d3d enable the Direct3D render driver [[default=yes]] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sdl-prefix=PFX Prefix where SDL is installed (optional) - --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) + --with-sysroot=DIR Search for dependent libraries within DIR + (or the compiler's sysroot if not specified). + --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional) + --with-alsa-inc-prefix=PFX Prefix where include libraries are (optional) + --with-esd-prefix=PFX Prefix where ESD is installed (optional) + --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional) + --with-x use the X Window System Some influential environment variables: CC C compiler command @@ -1631,18 +1597,10 @@ Some influential environment variables: CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor - OBJC Objective C compiler command - OBJCFLAGS Objective C compiler flags - PKG_CONFIG path to pkg-config utility - SDL_CFLAGS C compiler flags for SDL, overriding pkg-config - SDL_LIBS linker flags for SDL, overriding pkg-config - LIBPNG_CFLAGS - C compiler flags for LIBPNG, overriding pkg-config - LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config - LIBWEBP_CFLAGS - C compiler flags for LIBWEBP, overriding pkg-config - LIBWEBP_LIBS - linker flags for LIBWEBP, overriding pkg-config + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1985,10 +1943,10 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_objc_try_compile LINENO -# ----------------------------- +# ac_fn_cxx_try_compile LINENO +# ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_objc_try_compile () +ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext @@ -2008,7 +1966,7 @@ $as_echo "$ac_try_echo"; } >&5 fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { - test -z "$ac_objc_werror_flag" || + test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 @@ -2021,7 +1979,90 @@ fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_objc_try_compile +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- @@ -2109,6 +2150,117 @@ fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_member cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. @@ -2461,22 +2613,57 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_config_headers="$ac_config_headers include/SDL_config.h" + +ac_aux_dir= +for ac_dir in build-scripts "$srcdir"/build-scripts; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-scripts \"$srcdir\"/build-scripts" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +orig_CFLAGS="$CFLAGS" +# # Making releases: -# MICRO_VERSION += 1; -# INTERFACE_AGE += 1; -# BINARY_AGE += 1; -# if any functions have been added, set INTERFACE_AGE to 0. +# Edit include/SDL_version.h and change the version, then: +# SDL_MICRO_VERSION += 1; +# SDL_INTERFACE_AGE += 1; +# SDL_BINARY_AGE += 1; +# if any functions have been added, set SDL_INTERFACE_AGE to 0. # if backwards compatibility has been broken, -# set BINARY_AGE and INTERFACE_AGE to 0. - -MAJOR_VERSION=2 -MINOR_VERSION=0 -MICRO_VERSION=0 -INTERFACE_AGE=0 -BINARY_AGE=0 -VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION +# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0. +# +SDL_MAJOR_VERSION=2 +SDL_MINOR_VERSION=0 +SDL_MICRO_VERSION=1 +SDL_INTERFACE_AGE=0 +SDL_BINARY_AGE=1 +SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION @@ -2494,8 +2681,8 @@ esac -macro_version='2.2.6' -macro_revision='1.3012' +macro_version='2.4.2' +macro_revision='1.3337' @@ -2511,35 +2698,6 @@ macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 @@ -2611,6 +2769,75 @@ IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case "$ECHO" in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3865,8 +4092,11 @@ if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 @@ -3910,7 +4140,7 @@ fi fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" + for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -3965,6 +4195,15 @@ esac fi fi + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" @@ -3984,13 +4223,13 @@ if ${lt_cv_nm_interface+:} false; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:3987: $ac_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:3990: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:3993: output\"" >&5) + (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -4047,9 +4286,8 @@ else lt_cv_sys_max_cmd_len=8192; ;; - beos*) - # On BeOS, this test takes a really really long time. - # So we just punt and use a minimum line length of 8192. + mint*) + # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; @@ -4078,6 +4316,11 @@ else lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -4117,8 +4360,8 @@ else # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` @@ -4160,8 +4403,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes @@ -4210,6 +4453,80 @@ esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : @@ -4226,6 +4543,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' @@ -4379,25 +4701,27 @@ bsdi[45]*) cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='func_win32_libid' + lt_cv_deplibs_check_method=pass_all ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else + # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi lt_cv_deplibs_check_method=pass_all ;; -cegcc) +cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' @@ -4427,6 +4751,10 @@ gnu*) lt_cv_deplibs_check_method=pass_all ;; +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in @@ -4435,11 +4763,11 @@ hpux10.20* | hpux11*) lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac @@ -4460,8 +4788,8 @@ irix5* | irix6* | nonstopux*) lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -4542,6 +4870,21 @@ esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -4557,16 +4900,26 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : +if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -4575,7 +4928,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4585,10 +4938,10 @@ IFS=$as_save_IFS fi fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -4596,17 +4949,17 @@ fi fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -4615,7 +4968,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" + ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4625,17 +4978,17 @@ IFS=$as_save_IFS fi fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_AR" = x; then - AR="false" + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) @@ -4643,17 +4996,51 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - AR=$ac_ct_AR + DLLTOOL=$ac_ct_DLLTOOL fi else - AR="$ac_cv_prog_AR" + DLLTOOL="$ac_cv_prog_DLLTOOL" fi -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -4663,15 +5050,17 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -4680,7 +5069,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4690,28 +5079,32 @@ IFS=$as_save_IFS fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + test -n "$AR" && break + done fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -4720,7 +5113,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" + ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4730,17 +5123,21 @@ IFS=$as_save_IFS fi fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" else case $cross_compiling:$ac_tool_warned in yes:) @@ -4748,21 +5145,182 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - STRIP=$ac_ct_STRIP + AR=$ac_ct_AR fi -else - STRIP="$ac_cv_prog_STRIP" fi -test -z "$STRIP" && STRIP=: +: ${AR=ar} +: ${AR_FLAGS=cru} -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } @@ -4868,15 +5426,26 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + @@ -4893,6 +5462,49 @@ fi +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + + @@ -4984,8 +5596,8 @@ esac lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -5009,6 +5621,7 @@ for ac_symprfx in "" "_"; do # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -5021,6 +5634,7 @@ for ac_symprfx in "" "_"; do else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -5046,8 +5660,8 @@ _LT_EOF test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then @@ -5062,6 +5676,18 @@ _LT_EOF if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + #ifdef __cplusplus extern "C" { #endif @@ -5073,7 +5699,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ -const struct { +LT_DLSYM_CONST struct { const char *name; void *address; } @@ -5099,8 +5725,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 @@ -5110,8 +5736,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi @@ -5148,6 +5774,21 @@ else $as_echo "ok" >&6; } fi +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + @@ -5166,6 +5807,39 @@ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 +$as_echo "${with_sysroot}" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + @@ -5201,7 +5875,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5204 "configure"' > conftest.$ac_ext + echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5336,7 +6010,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -5347,7 +6021,20 @@ sparc*-*solaris*) case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -5363,19 +6050,16 @@ esac need_locks="$enable_libtool_lock" - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -5384,7 +6068,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5394,10 +6078,10 @@ IFS=$as_save_IFS fi fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -5405,17 +6089,17 @@ fi fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -5424,7 +6108,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5434,17 +6118,17 @@ IFS=$as_save_IFS fi fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) @@ -5452,17 +6136,137 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - DSYMUTIL=$ac_ct_DSYMUTIL + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else @@ -5870,7 +6674,13 @@ else $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -5881,6 +6691,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : @@ -5913,6 +6724,41 @@ rm -f core conftest.err conftest.$ac_objext \ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; @@ -5940,7 +6786,7 @@ $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi - if test "$DSYMUTIL" != ":"; then + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= @@ -6230,11 +7076,13 @@ done + + # Set options enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 @@ -6603,7 +7451,22 @@ fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else pic_mode=default fi @@ -6680,6 +7543,11 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + test -z "$LN_S" && LN_S="ln -s" @@ -6729,19 +7597,6 @@ _ACEOF - - - - - - - - - - - - - case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some @@ -6754,23 +7609,6 @@ aix3*) ;; esac -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - # Global variables: ofile=libtool can_build_shared=yes @@ -6799,7 +7637,7 @@ for cc_temp in $compiler""; do *) break;; esac done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it @@ -7008,7 +7846,12 @@ if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } @@ -7028,15 +7871,15 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7031: $lt_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7035: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes @@ -7065,8 +7908,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' @@ -7114,6 +7955,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-fno-common' ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag @@ -7156,6 +8003,15 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-fPIC' ;; esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in @@ -7197,7 +8053,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_static='-non_shared' ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -7218,7 +8074,13 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' @@ -7230,25 +8092,40 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' ;; esac ;; @@ -7280,7 +8157,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in - f77* | f90* | f95*) + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; @@ -7337,13 +8214,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. @@ -7367,15 +8248,15 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7370: $lt_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7374: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes @@ -7404,6 +8285,11 @@ fi + + + + + # # Check to make sure the static flag actually works. # @@ -7423,7 +8309,7 @@ else if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes @@ -7472,16 +8358,16 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7475: $lt_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7479: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes @@ -7527,16 +8413,16 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7530: $lt_compile\"" >&5) + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7534: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes @@ -7602,7 +8488,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported @@ -7649,7 +8534,33 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie esac ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' @@ -7667,6 +8578,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie fi supports_anon_versioning=no case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... @@ -7682,11 +8594,12 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ld_shlibs=no cat <<_LT_EOF 1>&2 -*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. _LT_EOF fi @@ -7722,10 +8635,12 @@ _LT_EOF # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -7743,6 +8658,11 @@ _LT_EOF fi ;; + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no @@ -7758,7 +8678,7 @@ _LT_EOF archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; - gnu* | linux* | tpf* | k*bsd*-gnu) + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in @@ -7768,15 +8688,16 @@ _LT_EOF if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then - tmp_addflag= + tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -7787,13 +8708,17 @@ _LT_EOF lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 @@ -7809,17 +8734,16 @@ _LT_EOF fi case $cc_basename in - xlf*) + xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -7833,8 +8757,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -7852,8 +8776,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -7899,8 +8823,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -7940,8 +8864,10 @@ _LT_EOF else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi @@ -8028,7 +8954,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8041,25 +8973,32 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' @@ -8068,7 +9007,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8081,30 +9026,42 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' @@ -8136,20 +9093,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac ;; darwin* | rhapsody*) @@ -8159,7 +9160,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in @@ -8167,7 +9173,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo + output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" @@ -8185,10 +9191,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_shlibpath_var=no ;; - freebsd1*) - ld_shlibs=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -8201,7 +9203,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -8210,7 +9212,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no @@ -8218,7 +9220,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi @@ -8233,14 +9235,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes @@ -8252,16 +9253,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then + if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else @@ -8273,7 +9274,46 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test x"$lt_cv_prog_compiler__b" = xyes; then + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + ;; esac fi @@ -8301,26 +9341,39 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int foo(void) {} +int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test "$lt_cv_irix_exported_symbol" = yes; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' @@ -8382,17 +9435,17 @@ rm -f core conftest.err conftest.$ac_objext \ hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' @@ -8402,13 +9455,13 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' @@ -8421,9 +9474,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) @@ -8611,44 +9664,50 @@ x|xyes) # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi @@ -8806,11 +9865,6 @@ esac - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } @@ -8819,16 +9873,23 @@ if test "$GCC" = yes; then darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -8841,7 +9902,7 @@ if test "$GCC" = yes; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; @@ -8861,7 +9922,13 @@ BEGIN {RS=" "; FS="/|\n";} { if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi @@ -8887,7 +9954,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -8896,7 +9963,7 @@ aix3*) ;; aix[4-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -8949,7 +10016,7 @@ amigaos*) m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; @@ -8961,7 +10028,7 @@ beos*) ;; bsdi[45]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -8980,8 +10047,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + case $GCC,$cc_basename in + yes,*) + # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ @@ -9003,37 +10071,84 @@ cygwin* | mingw* | pw32* | cegcc*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' #soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix #soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' soname_spec='`echo ${libname} | $SED -e 's/^lib//'`${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' ;; *) + # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' ;; esac - dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; @@ -9054,7 +10169,7 @@ darwin* | rhapsody*) ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -9062,10 +10177,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -9073,7 +10184,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -9091,7 +10202,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -9111,12 +10222,26 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -9162,12 +10287,14 @@ hpux9* | hpux10* | hpux11*) soname_spec='${libname}${release}${shared_ext}$major' ;; esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 ;; interix[3-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -9183,7 +10310,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -9220,9 +10347,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -9230,12 +10357,17 @@ linux* | k*bsd*-gnu) finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9248,13 +10380,17 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - shlibpath_overrides_runpath=yes + lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install @@ -9263,7 +10399,7 @@ rm -f core conftest.err conftest.$ac_objext \ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -9295,7 +10431,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -9364,7 +10500,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -9389,7 +10525,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -9413,7 +10549,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -9444,7 +10580,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -9454,7 +10590,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -9566,6 +10702,11 @@ fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= @@ -9896,7 +11037,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 9899 "configure" +#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9937,7 +11078,13 @@ else # endif #endif -void fnord() { int i=42;} +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); @@ -9946,7 +11093,11 @@ int main () if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } /* dlclose (self); */ } else @@ -9992,7 +11143,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 9995 "configure" +#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10033,7 +11184,13 @@ else # endif #endif -void fnord() { int i=42;} +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); @@ -10042,7 +11199,11 @@ int main () if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } /* dlclose (self); */ } else @@ -10211,6 +11372,8 @@ CC="$lt_save_CC" + + ac_config_commands="$ac_config_commands libtool" @@ -10220,10 +11383,10 @@ CC="$lt_save_CC" -LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION -LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE` -LT_REVISION=$INTERFACE_AGE -LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE` +LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION +LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE` +LT_REVISION=$SDL_INTERFACE_AGE +LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE` @@ -10232,222 +11395,115 @@ LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE` -am__api_version='1.13' -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done IFS=$as_save_IFS -rm -rf conftest.one conftest.two conftest.dir - fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" fi -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10456,7 +11512,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" + ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10466,29 +11522,30 @@ IFS=$as_save_IFS fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + fi fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else + ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -10496,7 +11553,11 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10504,88 +11565,88 @@ done done IFS=$as_save_IFS +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi fi fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done IFS=$as_save_IFS fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -for ac_prog in gawk mawk nawk awk + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10594,7 +11655,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" + ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10604,925 +11665,8605 @@ IFS=$as_save_IFS fi fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$AWK" && break + test -n "$ac_ct_CC" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" + CC=$ac_ct_CC + fi fi -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ fi -rmdir .tst 2>/dev/null - -DEPDIR="${am__leading_dot}deps" -ac_config_commands="$ac_config_commands depfiles" +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf + + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec_CXX='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + gnu*) + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + #soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shared_ext}' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + #soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo ${libname} | $SED -e 's/^lib//'`${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_WINDRES+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$WINDRES"; then + ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_WINDRES="${ac_tool_prefix}windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +WINDRES=$ac_cv_prog_WINDRES +if test -n "$WINDRES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 +$as_echo "$WINDRES" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WINDRES"; then + ac_ct_WINDRES=$WINDRES + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_WINDRES+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_WINDRES"; then + ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_WINDRES="windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES +if test -n "$ac_ct_WINDRES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5 +$as_echo "$ac_ct_WINDRES" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_WINDRES" = x; then + WINDRES=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WINDRES=$ac_ct_WINDRES + fi +else + WINDRES="$ac_cv_prog_WINDRES" +fi + + +case "$host" in + *-*-mingw32*) + # Except on msys, where make can't handle full pathnames (bug 1972) + ;; + *) + srcdir=`cd $srcdir && pwd` + ;; +esac + +INCLUDE="-I$srcdir/include" +if test x$srcdir != x.; then + INCLUDE="-Iinclude $INCLUDE" +elif test -d .hg; then + as_fn_error $? " +*** When building from Mercurial you should configure and build in a + separate directory so you don't clobber SDL_config.h, SDL_revision.h +" "$LINENO" 5 +fi +BASE_CFLAGS="" +BASE_LDFLAGS="" +case "$host" in + *-*-cygwin*) + # We build SDL on cygwin without the UNIX emulation layer + save_CFLAGS="$CFLAGS" + have_no_cygwin=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -mno-cygwin option" >&5 +$as_echo_n "checking for GCC -mno-cygwin option... " >&6; } + CFLAGS="$save_CFLAGS -mno-cygwin" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_no_cygwin=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_no_cygwin" >&5 +$as_echo "$have_no_cygwin" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_no_cygwin = xyes; then + BASE_CFLAGS="-mno-cygwin" + BASE_LDFLAGS="-mno-cygwin" + fi + BASE_CFLAGS="$BASE_CFLAGS -I/usr/include/mingw" + ;; +esac +# Uncomment the following line if you want to force SDL and applications +# built with it to be compiled for a particular architecture. +#AX_GCC_ARCHFLAG([no], [BASE_CFLAGS="$BASE_CFLAGS $ax_cv_gcc_archflag]") +BUILD_CFLAGS="$CFLAGS $CPPFLAGS -DUSING_GENERATED_CONFIG_H" +# The default optimization for SDL is -O3 (Bug #31) +if test "x$orig_CFLAGS" = x; then + BUILD_CFLAGS=`echo $BUILD_CFLAGS | sed 's/-O2/-O3/'` +fi +EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS" +BUILD_LDFLAGS="$LDFLAGS" +EXTRA_LDFLAGS="$BASE_LDFLAGS" +## These are common directories to find software packages +#for path in /usr/freeware /usr/pkg /usr/X11R6 /usr/local; do +# if test -d $path/include; then +# EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include" +# fi +# if test -d $path/lib; then +# EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib" +# fi +#done +SDL_CFLAGS="$BASE_CFLAGS" +SDL_LIBS="-lSDL2 $BASE_LDFLAGS" +CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS" +CFLAGS="$CFLAGS $EXTRA_CFLAGS" +LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS" + +base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'` + +find_lib() +{ + gcc_bin_path=`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'` + gcc_lib_path=`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'` + env_lib_path=`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'` + if test "$cross_compiling" = yes; then + host_lib_path="" + else + host_lib_path="/usr/$base_libdir /usr/local/$base_libdir" + fi + for path in $gcc_bin_path $gcc_lib_path $env_lib_path $host_lib_path; do + lib=`ls -- $path/$1 2>/dev/null | sed -e '/\.so\..*\./d' -e 's,.*/,,' | sort | tail -1` + if test x$lib != x; then + echo $lib + return + fi + done +} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "#define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 +$as_echo_n "checking for working volatile... " >&6; } +if ${ac_cv_c_volatile+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +volatile int x; +int * volatile y = (int *) 0; +return !x && !y; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_volatile=yes +else + ac_cv_c_volatile=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 +$as_echo "$ac_cv_c_volatile" >&6; } +if test $ac_cv_c_volatile = no; then + +$as_echo "#define volatile /**/" >>confdefs.h + +fi + + +# Check whether --enable-assertions was given. +if test "${enable_assertions+set}" = set; then : + enableval=$enable_assertions; +else + enable_assertions=auto +fi + +case "$enable_assertions" in + auto) # Use optimization settings to determine assertion level + ;; + disabled) + +$as_echo "#define SDL_DEFAULT_ASSERT_LEVEL 0" >>confdefs.h + + ;; + release) + +$as_echo "#define SDL_DEFAULT_ASSERT_LEVEL 1" >>confdefs.h + + ;; + enabled) + +$as_echo "#define SDL_DEFAULT_ASSERT_LEVEL 2" >>confdefs.h + + ;; + paranoid) + +$as_echo "#define SDL_DEFAULT_ASSERT_LEVEL 3" >>confdefs.h + + ;; + *) + as_fn_error $? "*** unknown assertion level. stop." "$LINENO" 5 + ;; +esac + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +else + enable_dependency_tracking=yes +fi + +if test x$enable_dependency_tracking = xyes; then + have_gcc_mmd_mt=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -MMD -MT option" >&5 +$as_echo_n "checking for GCC -MMD -MT option... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if !defined(__GNUC__) || __GNUC__ < 3 + #error Dependency tracking requires GCC 3.0 or newer + #endif + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_mmd_mt=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_mmd_mt" >&5 +$as_echo "$have_gcc_mmd_mt" >&6; } + + if test x$have_gcc_mmd_mt = xyes; then + DEPENDENCY_TRACKING_OPTIONS="-MMD -MT \$@" + fi +fi + +# Actually this doesn't work on OpenBSD and BeOS +#AC_MSG_CHECKING(for linker option --no-undefined) +#have_no_undefined=no +#save_LDFLAGS="$LDFLAGS" +#LDFLAGS="$LDFLAGS -Wl,--no-undefined" +#AC_TRY_LINK([ +#],[ +#],[ +#have_no_undefined=yes +#EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,--no-undefined" +#]) +#LDFLAGS="$save_LDFLAGS" +#AC_MSG_RESULT($have_no_undefined) + +# Check whether --enable-libc was given. +if test "${enable_libc+set}" = set; then : + enableval=$enable_libc; +else + enable_libc=yes +fi + +if test x$enable_libc = xyes; then + +$as_echo "#define HAVE_LIBC 1" >>confdefs.h + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + + for ac_header in sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for M_PI in math.h" >&5 +$as_echo_n "checking for M_PI in math.h... " >&6; } +if ${ac_cv_define_M_PI+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef M_PI +YES_IS_DEFINED +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then : + ac_cv_define_M_PI=yes +else + ac_cv_define_M_PI=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_define_M_PI" >&5 +$as_echo "$ac_cv_define_M_PI" >&6; } + if test "$ac_cv_define_M_PI" = "yes" ; then + +$as_echo "#define HAVE_M_PI /**/" >>confdefs.h + + fi + + + case "$host" in + *-*-cygwin* | *-*-mingw32*) + ;; + *) + # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if ${ac_cv_working_alloca_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_working_alloca_h=yes +else + ac_cv_working_alloca_h=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if ${ac_cv_func_alloca_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +void *alloca (size_t); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_alloca_works=yes +else + ac_cv_func_alloca_works=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } + +if test $ac_cv_func_alloca_works = yes; then + +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +$as_echo "#define C_ALLOCA 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if ${ac_cv_os_cray+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then : + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if ${ac_cv_c_stack_direction+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction (int *addr, int depth) +{ + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; +} + +int +main (int argc, char **argv) +{ + return find_stack_direction (0, argc + !argv + 20) < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_stack_direction=1 +else + ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 +$as_echo_n "checking for working memcmp... " >&6; } +if ${ac_cv_func_memcmp_working+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_memcmp_working=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Some versions of memcmp are not 8-bit clean. */ + char c0 = '\100', c1 = '\200', c2 = '\201'; + if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) + return 1; + + /* The Next x86 OpenStep bug shows up only when comparing 16 bytes + or more and with at least one buffer not starting on a 4-byte boundary. + William Lewis provided this test program. */ + { + char foo[21]; + char bar[21]; + int i; + for (i = 0; i < 4; i++) + { + char *a = foo + i; + char *b = bar + i; + strcpy (a, "--------01111111"); + strcpy (b, "--------10000000"); + if (memcmp (a, b, 16) >= 0) + return 1; + } + return 0; + } + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_memcmp_working=yes +else + ac_cv_func_memcmp_working=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_memcmp_working" >&5 +$as_echo "$ac_cv_func_memcmp_working" >&6; } +test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in + *" memcmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" + ;; +esac + + + if test x$ac_cv_func_memcmp_working = xyes; then + +$as_echo "#define HAVE_MEMCMP 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5 +$as_echo_n "checking for working strtod... " >&6; } +if ${ac_cv_func_strtod+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_strtod=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +$ac_includes_default +#ifndef strtod +double strtod (); +#endif +int +main() +{ + { + /* Some versions of Linux strtod mis-parse strings with leading '+'. */ + char *string = " +69"; + char *term; + double value; + value = strtod (string, &term); + if (value != 69 || term != (string + 4)) + return 1; + } + + { + /* Under Solaris 2.4, strtod returns the wrong value for the + terminating character under some conditions. */ + char *string = "NaN"; + char *term; + strtod (string, &term); + if (term != string && *(term - 1) == 0) + return 1; + } + return 0; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strtod=yes +else + ac_cv_func_strtod=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strtod" >&5 +$as_echo "$ac_cv_func_strtod" >&6; } +if test $ac_cv_func_strtod = no; then + case " $LIBOBJS " in + *" strtod.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strtod.$ac_objext" + ;; +esac + +ac_fn_c_check_func "$LINENO" "pow" "ac_cv_func_pow" +if test "x$ac_cv_func_pow" = xyes; then : + +fi + +if test $ac_cv_func_pow = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 +$as_echo_n "checking for pow in -lm... " >&6; } +if ${ac_cv_lib_m_pow+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pow (); +int +main () +{ +return pow (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_pow=yes +else + ac_cv_lib_m_pow=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 +$as_echo "$ac_cv_lib_m_pow" >&6; } +if test "x$ac_cv_lib_m_pow" = xyes; then : + POW_LIB=-lm +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5 +$as_echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;} +fi + +fi + +fi + + if test x$ac_cv_func_strtod = xyes; then + +$as_echo "#define HAVE_STRTOD 1" >>confdefs.h + + fi + ac_fn_c_check_func "$LINENO" "mprotect" "ac_cv_func_mprotect" +if test "x$ac_cv_func_mprotect" = xyes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + +$as_echo "#define HAVE_MPROTECT 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + for ac_func in malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 +$as_echo_n "checking for pow in -lm... " >&6; } +if ${ac_cv_lib_m_pow+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pow (); +int +main () +{ +return pow (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_pow=yes +else + ac_cv_lib_m_pow=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 +$as_echo "$ac_cv_lib_m_pow" >&6; } +if test "x$ac_cv_lib_m_pow" = xyes; then : + LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm" +fi + + for ac_func in atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv_open in -liconv" >&5 +$as_echo_n "checking for iconv_open in -liconv... " >&6; } +if ${ac_cv_lib_iconv_iconv_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-liconv $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char iconv_open (); +int +main () +{ +return iconv_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_iconv_iconv_open=yes +else + ac_cv_lib_iconv_iconv_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_iconv_open" >&5 +$as_echo "$ac_cv_lib_iconv_iconv_open" >&6; } +if test "x$ac_cv_lib_iconv_iconv_open" = xyes; then : + LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv" +fi + + for ac_func in iconv +do : + ac_fn_c_check_func "$LINENO" "iconv" "ac_cv_func_iconv" +if test "x$ac_cv_func_iconv" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ICONV 1 +_ACEOF + +fi +done + + + ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include +" +if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes; then : + $as_echo "#define HAVE_SA_SIGACTION 1" >>confdefs.h + +fi + +fi + + +# Check whether --enable-gcc-atomics was given. +if test "${enable_gcc_atomics+set}" = set; then : + enableval=$enable_gcc_atomics; +else + enable_gcc_atomics=yes +fi + +if test x$enable_gcc_atomics = xyes; then + have_gcc_atomics=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC builtin atomic operations" >&5 +$as_echo_n "checking for GCC builtin atomic operations... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ + + int a; + void *x, *y, *z; + __sync_lock_test_and_set(&a, 4); + __sync_lock_test_and_set(&x, y); + __sync_fetch_and_add(&a, 1); + __sync_bool_compare_and_swap(&a, 5, 10); + __sync_bool_compare_and_swap(&x, y, z); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_gcc_atomics=yes + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_atomics" >&5 +$as_echo "$have_gcc_atomics" >&6; } + + if test x$have_gcc_atomics = xyes; then + +$as_echo "#define HAVE_GCC_ATOMICS 1" >>confdefs.h + + else + # See if we have the minimum operation needed for GCC atomics + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ + + int a; + __sync_lock_test_and_set(&a, 1); + __sync_lock_release(&a); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_gcc_sync_lock_test_and_set=yes + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test x$have_gcc_sync_lock_test_and_set = xyes; then + +$as_echo "#define HAVE_GCC_SYNC_LOCK_TEST_AND_SET 1" >>confdefs.h + + fi + fi +fi + +# Standard C sources +SOURCES="$SOURCES $srcdir/src/*.c" +SOURCES="$SOURCES $srcdir/src/atomic/*.c" +SOURCES="$SOURCES $srcdir/src/audio/*.c" +SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c" +SOURCES="$SOURCES $srcdir/src/events/*.c" +SOURCES="$SOURCES $srcdir/src/file/*.c" +SOURCES="$SOURCES $srcdir/src/haptic/*.c" +SOURCES="$SOURCES $srcdir/src/joystick/*.c" +SOURCES="$SOURCES $srcdir/src/libm/*.c" +SOURCES="$SOURCES $srcdir/src/power/*.c" +#SOURCES="$SOURCES $srcdir/src/filesystem/*.c" +SOURCES="$SOURCES $srcdir/src/render/*.c" +SOURCES="$SOURCES $srcdir/src/render/*/*.c" +SOURCES="$SOURCES $srcdir/src/stdlib/*.c" +SOURCES="$SOURCES $srcdir/src/thread/*.c" +SOURCES="$SOURCES $srcdir/src/timer/*.c" +SOURCES="$SOURCES $srcdir/src/video/*.c" + + +# Check whether --enable-atomic was given. +if test "${enable_atomic+set}" = set; then : + enableval=$enable_atomic; +else + enable_atomic=yes +fi + +if test x$enable_atomic != xyes; then + +$as_echo "#define SDL_ATOMIC_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-audio was given. +if test "${enable_audio+set}" = set; then : + enableval=$enable_audio; +else + enable_audio=yes +fi + +if test x$enable_audio != xyes; then + +$as_echo "#define SDL_AUDIO_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-video was given. +if test "${enable_video+set}" = set; then : + enableval=$enable_video; +else + enable_video=yes +fi + +if test x$enable_video != xyes; then + +$as_echo "#define SDL_VIDEO_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-render was given. +if test "${enable_render+set}" = set; then : + enableval=$enable_render; +else + enable_render=yes +fi + +if test x$enable_render != xyes; then + +$as_echo "#define SDL_RENDER_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-events was given. +if test "${enable_events+set}" = set; then : + enableval=$enable_events; +else + enable_events=yes +fi + +if test x$enable_events != xyes; then + +$as_echo "#define SDL_EVENTS_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-joystick was given. +if test "${enable_joystick+set}" = set; then : + enableval=$enable_joystick; +else + enable_joystick=yes +fi + +if test x$enable_joystick != xyes; then + +$as_echo "#define SDL_JOYSTICK_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-haptic was given. +if test "${enable_haptic+set}" = set; then : + enableval=$enable_haptic; +else + enable_haptic=yes +fi + +if test x$enable_haptic != xyes; then + +$as_echo "#define SDL_HAPTIC_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-power was given. +if test "${enable_power+set}" = set; then : + enableval=$enable_power; +else + enable_power=yes +fi + +if test x$enable_power != xyes; then + +$as_echo "#define SDL_POWER_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-filesystem was given. +if test "${enable_filesystem+set}" = set; then : + enableval=$enable_filesystem; +else + enable_filesystem=yes +fi + +if test x$enable_filesystem != xyes; then + +$as_echo "#define SDL_FILESYSTEM_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-threads was given. +if test "${enable_threads+set}" = set; then : + enableval=$enable_threads; +else + enable_threads=yes +fi + +if test x$enable_threads != xyes; then + +$as_echo "#define SDL_THREADS_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-timers was given. +if test "${enable_timers+set}" = set; then : + enableval=$enable_timers; +else + enable_timers=yes +fi + +if test x$enable_timers != xyes; then + +$as_echo "#define SDL_TIMERS_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-file was given. +if test "${enable_file+set}" = set; then : + enableval=$enable_file; +else + enable_file=yes +fi + +if test x$enable_file != xyes; then + +$as_echo "#define SDL_FILE_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-loadso was given. +if test "${enable_loadso+set}" = set; then : + enableval=$enable_loadso; +else + enable_loadso=yes +fi + +if test x$enable_loadso != xyes; then + +$as_echo "#define SDL_LOADSO_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-cpuinfo was given. +if test "${enable_cpuinfo+set}" = set; then : + enableval=$enable_cpuinfo; +else + enable_cpuinfo=yes +fi + +if test x$enable_cpuinfo != xyes; then + +$as_echo "#define SDL_CPUINFO_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-atomic was given. +if test "${enable_atomic+set}" = set; then : + enableval=$enable_atomic; +else + enable_atomic=yes +fi + +if test x$enable_atomic != xyes; then + +$as_echo "#define SDL_ATOMIC_DISABLED 1" >>confdefs.h + +fi +# Check whether --enable-assembly was given. +if test "${enable_assembly+set}" = set; then : + enableval=$enable_assembly; +else + enable_assembly=yes +fi + +if test x$enable_assembly = xyes; then + +$as_echo "#define SDL_ASSEMBLY_ROUTINES 1" >>confdefs.h + + + # Make sure that we don't generate floating point code that would + # cause illegal instruction exceptions on older processors + case "$host" in + *-*-darwin*) + # Don't need to worry about Apple hardware, it's all SSE capable + default_ssemath=yes + ;; + *64-*-*) + # x86 64-bit architectures all have SSE instructions + default_ssemath=yes + ;; + *) + default_ssemath=no + ;; + esac + # Check whether --enable-ssemath was given. +if test "${enable_ssemath+set}" = set; then : + enableval=$enable_ssemath; +else + enable_ssemath=$default_ssemath +fi + + if test x$enable_ssemath = xno; then + if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387" + fi + fi + + # Check whether --enable-mmx was given. +if test "${enable_mmx+set}" = set; then : + enableval=$enable_mmx; +else + enable_mmx=yes +fi + + if test x$enable_mmx = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_mmx=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -mmmx option" >&5 +$as_echo_n "checking for GCC -mmmx option... " >&6; } + mmx_CFLAGS="-mmmx" + CFLAGS="$save_CFLAGS $mmx_CFLAGS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __MMX__ + #error Assembler CPP flag not enabled + #endif + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_mmx=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_mmx" >&5 +$as_echo "$have_gcc_mmx" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_mmx = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $mmx_CFLAGS" + fi + fi + + # Check whether --enable-3dnow was given. +if test "${enable_3dnow+set}" = set; then : + enableval=$enable_3dnow; +else + enable_3dnow=yes +fi + + if test x$enable_3dnow = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_3dnow=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -m3dnow option" >&5 +$as_echo_n "checking for GCC -m3dnow option... " >&6; } + amd3dnow_CFLAGS="-m3dnow" + CFLAGS="$save_CFLAGS $amd3dnow_CFLAGS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #ifndef __3dNOW__ + #error Assembler CPP flag not enabled + #endif + +int +main () +{ + + void *p = 0; + _m_prefetch(p); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_gcc_3dnow=yes + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_3dnow" >&5 +$as_echo "$have_gcc_3dnow" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_3dnow = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $amd3dnow_CFLAGS" + fi + fi + + # Check whether --enable-sse was given. +if test "${enable_sse+set}" = set; then : + enableval=$enable_sse; +else + enable_sse=yes +fi + + if test x$enable_sse = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_sse=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -msse option" >&5 +$as_echo_n "checking for GCC -msse option... " >&6; } + sse_CFLAGS="-msse" + CFLAGS="$save_CFLAGS $sse_CFLAGS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __SSE__ + #error Assembler CPP flag not enabled + #endif + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_sse=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_sse" >&5 +$as_echo "$have_gcc_sse" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_sse = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $sse_CFLAGS" + fi + fi + + # Check whether --enable-sse2 was given. +if test "${enable_sse2+set}" = set; then : + enableval=$enable_sse2; +else + enable_sse2=$default_ssemath +fi + + if test x$enable_sse2 = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_sse2=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -msse2 option" >&5 +$as_echo_n "checking for GCC -msse2 option... " >&6; } + sse2_CFLAGS="-msse2" + CFLAGS="$save_CFLAGS $sse2_CFLAGS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __SSE2__ + #error Assembler CPP flag not enabled + #endif + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_sse2=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_sse2" >&5 +$as_echo "$have_gcc_sse2" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_sse2 = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $sse2_CFLAGS" + fi + fi + + # Check whether --enable-altivec was given. +if test "${enable_altivec+set}" = set; then : + enableval=$enable_altivec; +else + enable_altivec=yes +fi + + if test x$enable_altivec = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_altivec=no + have_altivec_h_hdr=no + altivec_CFLAGS="-maltivec" + CFLAGS="$save_CFLAGS $altivec_CFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Altivec with GCC altivec.h and -maltivec option" >&5 +$as_echo_n "checking for Altivec with GCC altivec.h and -maltivec option... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + vector unsigned int vzero() { + return vec_splat_u32(0); + } + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_altivec=yes + have_altivec_h_hdr=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_altivec" >&5 +$as_echo "$have_gcc_altivec" >&6; } + + if test x$have_gcc_altivec = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Altivec with GCC -maltivec option" >&5 +$as_echo_n "checking for Altivec with GCC -maltivec option... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + vector unsigned int vzero() { + return vec_splat_u32(0); + } + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_altivec=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_altivec" >&5 +$as_echo "$have_gcc_altivec" >&6; } + fi + + if test x$have_gcc_altivec = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Altivec with GCC altivec.h and -faltivec option" >&5 +$as_echo_n "checking for Altivec with GCC altivec.h and -faltivec option... " >&6; } + altivec_CFLAGS="-faltivec" + CFLAGS="$save_CFLAGS $altivec_CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + vector unsigned int vzero() { + return vec_splat_u32(0); + } + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_altivec=yes + have_altivec_h_hdr=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_altivec" >&5 +$as_echo "$have_gcc_altivec" >&6; } + fi + + if test x$have_gcc_altivec = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Altivec with GCC -faltivec option" >&5 +$as_echo_n "checking for Altivec with GCC -faltivec option... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + vector unsigned int vzero() { + return vec_splat_u32(0); + } + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_altivec=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_altivec" >&5 +$as_echo "$have_gcc_altivec" >&6; } + fi + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_altivec = xyes; then + +$as_echo "#define SDL_ALTIVEC_BLITTERS 1" >>confdefs.h + + if test x$have_altivec_h_hdr = xyes; then + +$as_echo "#define HAVE_ALTIVEC_H 1" >>confdefs.h + + fi + EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS" + fi + fi +fi + +CheckOSS() +{ + # Check whether --enable-oss was given. +if test "${enable_oss+set}" = set; then : + enableval=$enable_oss; +else + enable_oss=maybe +fi + + + # OpenBSD "has" OSS, but it's not really for app use. They want you to + # use sndio instead. So on there, we default to disabled. You can force + # it on if you really want, though. + if test x$enable_oss = xmaybe; then + enable_oss=yes + case "$host" in + *-*-openbsd*) + enable_oss=no;; + esac + fi + + if test x$enable_audio = xyes -a x$enable_oss = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSS audio support" >&5 +$as_echo_n "checking for OSS audio support... " >&6; } + have_oss=no + if test x$have_oss != xyes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + int arg = SNDCTL_DSP_SETFRAGMENT; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_oss=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test x$have_oss != xyes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + int arg = SNDCTL_DSP_SETFRAGMENT; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_oss=yes + +$as_echo "#define SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_oss" >&5 +$as_echo "$have_oss" >&6; } + if test x$have_oss = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_OSS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c" + have_audio=yes + + # We may need to link with ossaudio emulation library + case "$host" in + *-*-openbsd*|*-*-netbsd*) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lossaudio";; + esac + fi + fi +} + +CheckALSA() +{ + # Check whether --enable-alsa was given. +if test "${enable_alsa+set}" = set; then : + enableval=$enable_alsa; +else + enable_alsa=yes +fi + + if test x$enable_audio = xyes -a x$enable_alsa = xyes; then + alsa_save_CFLAGS="$CFLAGS" +alsa_save_LDFLAGS="$LDFLAGS" +alsa_save_LIBS="$LIBS" +alsa_found=yes + + +# Check whether --with-alsa-prefix was given. +if test "${with_alsa_prefix+set}" = set; then : + withval=$with_alsa_prefix; alsa_prefix="$withval" +else + alsa_prefix="" +fi + + + +# Check whether --with-alsa-inc-prefix was given. +if test "${with_alsa_inc_prefix+set}" = set; then : + withval=$with_alsa_inc_prefix; alsa_inc_prefix="$withval" +else + alsa_inc_prefix="" +fi + + +# Check whether --enable-alsatest was given. +if test "${enable_alsatest+set}" = set; then : + enableval=$enable_alsatest; enable_alsatest="$enableval" +else + enable_alsatest=yes +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA CFLAGS" >&5 +$as_echo_n "checking for ALSA CFLAGS... " >&6; } +if test "$alsa_inc_prefix" != "" ; then + ALSA_CFLAGS="$ALSA_CFLAGS -I$alsa_inc_prefix" + CFLAGS="$CFLAGS -I$alsa_inc_prefix" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_CFLAGS" >&5 +$as_echo "$ALSA_CFLAGS" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA LDFLAGS" >&5 +$as_echo_n "checking for ALSA LDFLAGS... " >&6; } +if test "$alsa_prefix" != "" ; then + ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix" + LDFLAGS="$LDFLAGS $ALSA_LIBS" +fi + +ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" +LIBS=`echo $LIBS | sed 's/-lm//'` +LIBS=`echo $LIBS | sed 's/-ldl//'` +LIBS=`echo $LIBS | sed 's/-lpthread//'` +LIBS=`echo $LIBS | sed 's/ //'` +LIBS="$ALSA_LIBS $LIBS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_LIBS" >&5 +$as_echo "$ALSA_LIBS" >&6; } + +min_alsa_version=0.9.0 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libasound headers version >= $min_alsa_version" >&5 +$as_echo_n "checking for libasound headers version >= $min_alsa_version... " >&6; } +no_alsa="" + alsa_min_major_version=`echo $min_alsa_version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + alsa_min_minor_version=`echo $min_alsa_version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + alsa_min_micro_version=`echo $min_alsa_version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +int +main () +{ + +/* ensure backward compatibility */ +#if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR) +#define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR +#endif +#if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR) +#define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR +#endif +#if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR) +#define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR +#endif + +# if(SND_LIB_MAJOR > $alsa_min_major_version) + exit(0); +# else +# if(SND_LIB_MAJOR < $alsa_min_major_version) +# error not present +# endif + +# if(SND_LIB_MINOR > $alsa_min_minor_version) + exit(0); +# else +# if(SND_LIB_MINOR < $alsa_min_minor_version) +# error not present +# endif + +# if(SND_LIB_SUBMINOR < $alsa_min_micro_version) +# error not present +# endif +# endif +# endif +exit(0); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found." >&5 +$as_echo "found." >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not present." >&5 +$as_echo "not present." >&6; } + + alsa_found=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test "x$enable_alsatest" = "xyes"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for snd_ctl_open in -lasound" >&5 +$as_echo_n "checking for snd_ctl_open in -lasound... " >&6; } +if ${ac_cv_lib_asound_snd_ctl_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lasound $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char snd_ctl_open (); +int +main () +{ +return snd_ctl_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_asound_snd_ctl_open=yes +else + ac_cv_lib_asound_snd_ctl_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_asound_snd_ctl_open" >&5 +$as_echo "$ac_cv_lib_asound_snd_ctl_open" >&6; } +if test "x$ac_cv_lib_asound_snd_ctl_open" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBASOUND 1 +_ACEOF + + LIBS="-lasound $LIBS" + +else + + alsa_found=no + +fi + +fi + +if test "x$alsa_found" = "xyes" ; then + have_alsa=yes + LIBS=`echo $LIBS | sed 's/-lasound//g'` + LIBS=`echo $LIBS | sed 's/ //'` + LIBS="-lasound $LIBS" +fi +if test "x$alsa_found" = "xno" ; then + have_alsa=no + CFLAGS="$alsa_save_CFLAGS" + LDFLAGS="$alsa_save_LDFLAGS" + LIBS="$alsa_save_LIBS" + ALSA_CFLAGS="" + ALSA_LIBS="" +fi + + + + + # Restore all flags from before the ALSA detection runs + CFLAGS="$alsa_save_CFLAGS" + LDFLAGS="$alsa_save_LDFLAGS" + LIBS="$alsa_save_LIBS" + if test x$have_alsa = xyes; then + # Check whether --enable-alsa-shared was given. +if test "${enable_alsa_shared+set}" = set; then : + enableval=$enable_alsa_shared; +else + enable_alsa_shared=yes +fi + + alsa_lib=`find_lib "libasound.so.*" "$ALSA_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + +$as_echo "#define SDL_AUDIO_DRIVER_ALSA 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_alsa_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic ALSA loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic ALSA loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then + echo "-- dynamic libasound -> $alsa_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "$alsa_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS" + fi + have_audio=yes + fi + fi +} + +CheckESD() +{ + # Check whether --enable-esd was given. +if test "${enable_esd+set}" = set; then : + enableval=$enable_esd; +else + enable_esd=yes +fi + + if test x$enable_audio = xyes -a x$enable_esd = xyes; then + +# Check whether --with-esd-prefix was given. +if test "${with_esd_prefix+set}" = set; then : + withval=$with_esd_prefix; esd_prefix="$withval" +else + esd_prefix="" +fi + + +# Check whether --with-esd-exec-prefix was given. +if test "${with_esd_exec_prefix+set}" = set; then : + withval=$with_esd_exec_prefix; esd_exec_prefix="$withval" +else + esd_exec_prefix="" +fi + +# Check whether --enable-esdtest was given. +if test "${enable_esdtest+set}" = set; then : + enableval=$enable_esdtest; +else + enable_esdtest=yes +fi + + + if test x$esd_exec_prefix != x ; then + esd_args="$esd_args --exec-prefix=$esd_exec_prefix" + if test x${ESD_CONFIG+set} != xset ; then + ESD_CONFIG=$esd_exec_prefix/bin/esd-config + fi + fi + if test x$esd_prefix != x ; then + esd_args="$esd_args --prefix=$esd_prefix" + if test x${ESD_CONFIG+set} != xset ; then + ESD_CONFIG=$esd_prefix/bin/esd-config + fi + fi + + # Extract the first word of "esd-config", so it can be a program name with args. +set dummy esd-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ESD_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ESD_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ESD_CONFIG="$ESD_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ESD_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_ESD_CONFIG" && ac_cv_path_ESD_CONFIG="no" + ;; +esac +fi +ESD_CONFIG=$ac_cv_path_ESD_CONFIG +if test -n "$ESD_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESD_CONFIG" >&5 +$as_echo "$ESD_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + min_esd_version=0.2.8 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESD - version >= $min_esd_version" >&5 +$as_echo_n "checking for ESD - version >= $min_esd_version... " >&6; } + no_esd="" + if test "$ESD_CONFIG" = "no" ; then + no_esd=yes + else + ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags` + ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs` + + esd_major_version=`$ESD_CONFIG $esd_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + esd_minor_version=`$ESD_CONFIG $esd_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + if test "x$enable_esdtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $ESD_CFLAGS" + LIBS="$LIBS $ESD_LIBS" + rm -f conf.esdtest + if test "$cross_compiling" = yes; then : + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.esdtest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_esd_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_esd_version"); + exit(1); + } + + if (($esd_major_version > major) || + (($esd_major_version == major) && ($esd_minor_version > minor)) || + (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version); + printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n"); + printf("*** to point to the correct copy of esd-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + no_esd=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_esd" = x ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_esd=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + if test "$ESD_CONFIG" = "no" ; then + echo "*** The esd-config script installed by ESD could not be found" + echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the ESD_CONFIG environment variable to the" + echo "*** full path to esd-config." + else + if test -f conf.esdtest ; then + : + else + echo "*** Could not run ESD test program, checking why..." + CFLAGS="$CFLAGS $ESD_CFLAGS" + LIBS="$LIBS $ESD_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding ESD or finding the wrong" + echo "*** version of ESD. If it is not finding ESD, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means ESD was incorrectly installed" + echo "*** or that you have moved ESD since it was installed. In the latter case, you" + echo "*** may want to edit the esd-config script: $ESD_CONFIG" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + ESD_CFLAGS="" + ESD_LIBS="" + have_esd=no + fi + + + rm -f conf.esdtest + + if test x$have_esd = xyes; then + # Check whether --enable-esd-shared was given. +if test "${enable_esd_shared+set}" = set; then : + enableval=$enable_esd_shared; +else + enable_esd_shared=yes +fi + + esd_lib=`find_lib "libesd.so.*" "$ESD_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + +$as_echo "#define SDL_AUDIO_DRIVER_ESD 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/esd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_esd_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic ESD loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic ESD loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_esd_shared = xyes && test x$esd_lib != x; then + echo "-- dynamic libesd -> $esd_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_ESD_DYNAMIC "$esd_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS" + fi + have_audio=yes + fi + fi +} + +CheckPulseAudio() +{ + # Check whether --enable-pulseaudio was given. +if test "${enable_pulseaudio+set}" = set; then : + enableval=$enable_pulseaudio; +else + enable_pulseaudio=yes +fi + + if test x$enable_audio = xyes -a x$enable_pulseaudio = xyes; then + audio_pulseaudio=no + + PULSEAUDIO_REQUIRED_VERSION=0.9 + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PulseAudio $PULSEAUDIO_REQUIRED_VERSION support" >&5 +$as_echo_n "checking for PulseAudio $PULSEAUDIO_REQUIRED_VERSION support... " >&6; } + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSEAUDIO_REQUIRED_VERSION libpulse-simple; then + PULSEAUDIO_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple` + PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse-simple` + audio_pulseaudio=yes + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $audio_pulseaudio" >&5 +$as_echo "$audio_pulseaudio" >&6; } + + if test x$audio_pulseaudio = xyes; then + # Check whether --enable-pulseaudio-shared was given. +if test "${enable_pulseaudio_shared+set}" = set; then : + enableval=$enable_pulseaudio_shared; +else + enable_pulseaudio_shared=yes +fi + + pulseaudio_lib=`find_lib "libpulse-simple.so.*" "$PULSEAUDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + +$as_echo "#define SDL_AUDIO_DRIVER_PULSEAUDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/pulseaudio/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSEAUDIO_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_pulseaudio_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic PulseAudio loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic PulseAudio loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_pulseaudio_shared = xyes && test x$pulseaudio_lib != x; then + echo "-- dynamic libpulse-simple -> $pulseaudio_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC "$pulseaudio_lib" +_ACEOF + + + case "$host" in + # On Solaris, pulseaudio must be linked deferred explicitly + # to prevent undefined symbol failures. + *-*-solaris*) + PULSEAUDIO_LIBS=`echo $PULSEAUDIO_LIBS | sed 's/\-l/-Wl,-l/g'` + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-zdeferred $PULSEAUDIO_LIBS -Wl,-znodeferred" + esac + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PULSEAUDIO_LIBS" + fi + have_audio=yes + fi + fi +} + +CheckARTSC() +{ + # Check whether --enable-arts was given. +if test "${enable_arts+set}" = set; then : + enableval=$enable_arts; +else + enable_arts=yes +fi + + if test x$enable_audio = xyes -a x$enable_arts = xyes; then + # Extract the first word of "artsc-config", so it can be a program name with args. +set dummy artsc-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ARTSCONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ARTSCONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ARTSCONFIG="$ARTSCONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ARTSCONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ARTSCONFIG=$ac_cv_path_ARTSCONFIG +if test -n "$ARTSCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARTSCONFIG" >&5 +$as_echo "$ARTSCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then + : # arts isn't installed + else + ARTS_CFLAGS=`$ARTSCONFIG --cflags` + ARTS_LIBS=`$ARTSCONFIG --libs` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for aRts development environment" >&5 +$as_echo_n "checking for aRts development environment... " >&6; } + audio_arts=no + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $ARTS_CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + arts_stream_t stream; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + audio_arts=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$save_CFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $audio_arts" >&5 +$as_echo "$audio_arts" >&6; } + if test x$audio_arts = xyes; then + # Check whether --enable-arts-shared was given. +if test "${enable_arts_shared+set}" = set; then : + enableval=$enable_arts_shared; +else + enable_arts_shared=yes +fi + + arts_lib=`find_lib "libartsc.so.*" "$ARTS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + +$as_echo "#define SDL_AUDIO_DRIVER_ARTS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/arts/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_arts_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic ARTS loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic ARTS loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_arts_shared = xyes && test x$arts_lib != x; then + echo "-- dynamic libartsc -> $arts_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_ARTS_DYNAMIC "$arts_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS" + fi + have_audio=yes + fi + fi + fi +} + +CheckNAS() +{ + # Check whether --enable-nas was given. +if test "${enable_nas+set}" = set; then : + enableval=$enable_nas; +else + enable_nas=yes +fi + + if test x$enable_audio = xyes -a x$enable_nas = xyes; then + ac_fn_c_check_header_mongrel "$LINENO" "audio/audiolib.h" "ac_cv_header_audio_audiolib_h" "$ac_includes_default" +if test "x$ac_cv_header_audio_audiolib_h" = xyes; then : + have_nas_hdr=yes +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AuOpenServer in -laudio" >&5 +$as_echo_n "checking for AuOpenServer in -laudio... " >&6; } +if ${ac_cv_lib_audio_AuOpenServer+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-laudio $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char AuOpenServer (); +int +main () +{ +return AuOpenServer (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_audio_AuOpenServer=yes +else + ac_cv_lib_audio_AuOpenServer=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_audio_AuOpenServer" >&5 +$as_echo "$ac_cv_lib_audio_AuOpenServer" >&6; } +if test "x$ac_cv_lib_audio_AuOpenServer" = xyes; then : + have_nas_lib=yes +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NAS audio support" >&5 +$as_echo_n "checking for NAS audio support... " >&6; } + have_nas=no + + if test x$have_nas_hdr = xyes -a x$have_nas_lib = xyes; then + have_nas=yes + NAS_LIBS="-laudio" + + elif test -r /usr/X11R6/include/audio/audiolib.h; then + have_nas=yes + NAS_CFLAGS="-I/usr/X11R6/include/" + NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt" + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_nas" >&5 +$as_echo "$have_nas" >&6; } + + if test x$have_nas = xyes; then + # Check whether --enable-nas-shared was given. +if test "${enable_nas_shared+set}" = set; then : + enableval=$enable_nas_shared; +else + enable_nas_shared=yes +fi + + nas_lib=`find_lib "libaudio.so.*" "$NAS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + if test x$have_loadso != xyes && \ + test x$enable_nas_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic NAS loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic NAS loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_nas_shared = xyes && test x$nas_lib != x; then + echo "-- dynamic libaudio -> $nas_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_NAS_DYNAMIC "$nas_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS" + fi + + +$as_echo "#define SDL_AUDIO_DRIVER_NAS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/nas/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS" + have_audio=yes + fi + fi +} + +CheckSNDIO() +{ + # Check whether --enable-sndio was given. +if test "${enable_sndio+set}" = set; then : + enableval=$enable_sndio; +else + enable_sndio=yes +fi + + if test x$enable_audio = xyes -a x$enable_sndio = xyes; then + ac_fn_c_check_header_mongrel "$LINENO" "sndio.h" "ac_cv_header_sndio_h" "$ac_includes_default" +if test "x$ac_cv_header_sndio_h" = xyes; then : + have_sndio_hdr=yes +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sio_open in -lsndio" >&5 +$as_echo_n "checking for sio_open in -lsndio... " >&6; } +if ${ac_cv_lib_sndio_sio_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsndio $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sio_open (); +int +main () +{ +return sio_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sndio_sio_open=yes +else + ac_cv_lib_sndio_sio_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sndio_sio_open" >&5 +$as_echo "$ac_cv_lib_sndio_sio_open" >&6; } +if test "x$ac_cv_lib_sndio_sio_open" = xyes; then : + have_sndio_lib=yes +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sndio audio support" >&5 +$as_echo_n "checking for sndio audio support... " >&6; } + have_sndio=no + + if test x$have_sndio_hdr = xyes -a x$have_sndio_lib = xyes; then + have_sndio=yes + SNDIO_LIBS="-lsndio" + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sndio" >&5 +$as_echo "$have_sndio" >&6; } + + if test x$have_sndio = xyes; then + # Check whether --enable-sndio-shared was given. +if test "${enable_sndio_shared+set}" = set; then : + enableval=$enable_sndio_shared; +else + enable_sndio_shared=yes +fi + + sndio_lib=`find_lib "libsndio.so.*" "$SNDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'` + + if test x$have_loadso != xyes && \ + test x$enable_sndio_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic sndio loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic sndio loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_sndio_shared = xyes && test x$sndio_lib != x; then + echo "-- dynamic libsndio -> $sndio_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_SNDIO_DYNAMIC "$sndio_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SNDIO_LIBS" + fi + + +$as_echo "#define SDL_AUDIO_DRIVER_SNDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/sndio/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $SNDIO_CFLAGS" + have_audio=yes + fi + fi +} + +CheckDiskAudio() +{ + # Check whether --enable-diskaudio was given. +if test "${enable_diskaudio+set}" = set; then : + enableval=$enable_diskaudio; +else + enable_diskaudio=yes +fi + + if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_DISK 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/disk/*.c" + fi +} + +CheckDummyAudio() +{ + # Check whether --enable-dummyaudio was given. +if test "${enable_dummyaudio+set}" = set; then : + enableval=$enable_dummyaudio; +else + enable_dummyaudio=yes +fi + + if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_DUMMY 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c" + fi +} + +CheckVisibilityHidden() +{ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5 +$as_echo_n "checking for GCC -fvisibility=hidden option... " >&6; } + have_gcc_fvisibility=no + + visibility_CFLAGS="-fvisibility=hidden" + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS $visibility_CFLAGS -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if !defined(__GNUC__) || __GNUC__ < 4 + #error SDL only uses visibility attributes in GCC 4 or newer + #endif + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_fvisibility=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_fvisibility" >&5 +$as_echo "$have_gcc_fvisibility" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_fvisibility = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS" + fi +} + +CheckStackBoundary() +{ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -mpreferred-stack-boundary option" >&5 +$as_echo_n "checking for GCC -mpreferred-stack-boundary option... " >&6; } + have_gcc_preferred_stack_boundary=no + + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -mpreferred-stack-boundary=2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + int x = 0; + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_preferred_stack_boundary=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_preferred_stack_boundary" >&5 +$as_echo "$have_gcc_preferred_stack_boundary" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_preferred_stack_boundary = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2" + fi +} + + +CheckWarnAll() +{ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wall option" >&5 +$as_echo_n "checking for GCC -Wall option... " >&6; } + have_gcc_Wall=no + + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -Wall" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + int x = 0; + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_gcc_Wall=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_Wall" >&5 +$as_echo "$have_gcc_Wall" >&6; } + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_Wall = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -Wall" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for necessary GCC -Wno-multichar option" >&5 +$as_echo_n "checking for necessary GCC -Wno-multichar option... " >&6; } + need_gcc_Wno_multichar=no + case "$host" in + *-*-beos* | *-*-haiku*) + need_gcc_Wno_multichar=yes + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $need_gcc_Wno_multichar" >&5 +$as_echo "$need_gcc_Wno_multichar" >&6; } + if test x$need_gcc_Wno_multichar = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-multichar" + fi + fi +} + + +CheckX11() +{ + + + # Check whether --enable-video-x11 was given. +if test "${enable_video_x11+set}" = set; then : + enableval=$enable_video_x11; +else + enable_video_x11=yes +fi + + if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then + case "$host" in + *-*-darwin*) + # This isn't necessary for X11, but fixes GLX detection + if test "x$x_includes" = xNONE && \ + test "x$x_libraries" = xNONE && \ + test -d /usr/X11R6/include && \ + test -d /usr/X11R6/lib; then + x_includes="/usr/X11R6/include" + x_libraries="/usr/X11R6/lib" + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } + + +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + case $x_includes,$x_libraries in #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( + *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : + $as_echo_n "(cached) " >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -f -r conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + cat >Imakefile <<'_ACEOF' +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ac_x_includes= ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /usr/lib64 | /lib | /lib64) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -f -r conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R7/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R7 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R7/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R7 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. + # First, try using that file with no special directory specified. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # We can compile using X headers with no special include directory. +ac_x_includes= +else + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Xlib.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.i conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +XrmInitialize () + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac +fi +;; #( + *) have_x=yes;; + esac + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } +fi + + if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" +else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDisplay (); +int +main () +{ +return XOpenDisplay (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dnet_dnet_ntoa=yes +else + ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = xyes; then : +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf + if test $ac_cv_func_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostbyname=yes +else + ac_cv_lib_nsl_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if ${ac_cv_lib_bsd_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_bsd_gethostbyname=yes +else + ac_cv_lib_bsd_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = xyes; then : -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' + + if test $ac_cv_func_connect = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if ${ac_cv_lib_socket_connect+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_socket_connect=yes else - AMDEP_TRUE='#' - AMDEP_FALSE= + ac_cv_lib_socket_connect=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = xyes; then : + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + # Guillermo Gomez says -lposix is necessary on A/UX. + ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = xyes; then : -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; fi -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : + if test $ac_cv_func_remove = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if ${ac_cv_lib_posix_remove+:} false; then : $as_echo_n "(cached) " >&6 else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes else - am_cv_make_support_nested_variables=no + ac_cv_lib_posix_remove=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = xyes; then : + +fi + + if test $ac_cv_func_shmat = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if ${ac_cv_lib_ipc_shmat+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ipc_shmat=yes else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY + ac_cv_lib_ipc_shmat=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi -AM_BACKSLASH='\' -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char IceConnectionNumber (); +int +main () +{ +return IceConnectionNumber (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ICE_IceConnectionNumber=yes +else + ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then : + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + + if test x$have_x = xyes; then + # Only allow dynamically loaded X11 if the X11 function pointers + # will not end up in the global namespace, which causes problems + # with other libraries calling X11 functions. + x11_symbols_private=$have_gcc_fvisibility + + # Check whether --enable-x11-shared was given. +if test "${enable_x11_shared+set}" = set; then : + enableval=$enable_x11_shared; +else + enable_x11_shared=maybe +fi + + + case "$host" in + *-*-darwin*) + x11_symbols_private=yes + x11_lib='/usr/X11R6/lib/libX11.6.dylib' + x11ext_lib='/usr/X11R6/lib/libXext.6.dylib' + xcursor_lib='/usr/X11R6/lib/libXcursor.1.dylib' + xinerama_lib='/usr/X11R6/lib/libXinerama.1.dylib' + xinput_lib='/usr/X11R6/lib/libXi.6.dylib' + xrandr_lib='/usr/X11R6/lib/libXrandr.2.dylib' + xrender_lib='/usr/X11R6/lib/libXrender.1.dylib' + xss_lib='/usr/X11R6/lib/libXss.1.dylib' + xvidmode_lib='/usr/X11R6/lib/libXxf86vm.1.dylib' + ;; + *-*-openbsd*) + x11_lib='libX11.so' + x11ext_lib='libXext.so' + xcursor_lib='libXcursor.so' + xinerama_lib='libXinerama.so' + xinput_lib='libXi.so' + xrandr_lib='libXrandr.so' + xrender_lib='libXrender.so' + xss_lib='libXss.so' + xvidmode_lib='libXxf86vm.so' + ;; + *) + x11_lib=`find_lib "libX11.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + x11ext_lib=`find_lib "libXext.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xcursor_lib=`find_lib "libXcursor.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xinerama_lib=`find_lib "libXinerama.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xinput_lib=`find_lib "libXi.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xrandr_lib=`find_lib "libXrandr.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xrender_lib=`find_lib "libXrender.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xss_lib=`find_lib "libXss.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + xvidmode_lib=`find_lib "libXxf86vm.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'` + ;; + esac + + if test x$ac_cv_func_shmat != xyes; then + X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY" + fi + CFLAGS="$CFLAGS $X_CFLAGS" + LDFLAGS="$LDFLAGS $X_LIBS" -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xext.h" "ac_cv_header_X11_extensions_Xext_h" "#include + #include + +" +if test "x$ac_cv_header_X11_extensions_Xext_h" = xyes; then : + have_xext_h_hdr=yes +else + have_xext_h_hdr=no fi -# Define the identity of the package. + if test x$have_xext_h_hdr != xyes; then + as_fn_error $? " +*** Missing Xext.h, maybe you need to install the libxext-dev package? + " "$LINENO" 5 + fi + + +$as_echo "#define SDL_VIDEO_DRIVER_X11 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/video/x11/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS" - PACKAGE=SDL2_image - VERSION=$VERSION + # Needed so SDL applications can include SDL_syswm.h + SDL_CFLAGS="$SDL_CFLAGS $X_CFLAGS" + + if test x$enable_x11_shared = xmaybe; then + enable_x11_shared=$x11_symbols_private + fi + if test x$have_loadso != xyes && \ + test x$enable_x11_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic X11 loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic X11 loading" >&2;} + enable_x11_shared=no + fi + if test x$x11_symbols_private != xyes && \ + test x$enable_x11_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading" >&5 +$as_echo "$as_me: WARNING: You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading" >&2;} + enable_x11_shared=no + fi + if test x$have_loadso = xyes && \ + test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then + echo "-- dynamic libX11 -> $x11_lib" + echo "-- dynamic libX11ext -> $x11ext_lib" cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC "$x11_lib" _ACEOF cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "$x11ext_lib" +_ACEOF + + else + enable_x11_shared=no + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext" + fi + have_video=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for const parameter to XextAddDisplay" >&5 +$as_echo_n "checking for const parameter to XextAddDisplay... " >&6; } + have_const_param_XextAddDisplay=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + #include + #include + extern XExtDisplayInfo* XextAddDisplay(XExtensionInfo* a,Display* b,_Xconst char* c,XExtensionHooks* d,int e,XPointer f); + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_const_param_XextAddDisplay=yes + $as_echo "#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_const_param_XextAddDisplay" >&5 +$as_echo "$have_const_param_XextAddDisplay" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for const parameter to _XData32" >&5 +$as_echo_n "checking for const parameter to _XData32... " >&6; } + have_const_param_xdata32=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len); + +int +main () +{ + + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_const_param_xdata32=yes + $as_echo "#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_const_param_xdata32" >&5 +$as_echo "$have_const_param_xdata32" >&6; } -# Some tools Automake needs. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XGenericEvent" >&5 +$as_echo_n "checking for XGenericEvent... " >&6; } + have_XGenericEvent=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} +Display *display; +XEvent event; +XGenericEventCookie *cookie = &event.xcookie; +XNextEvent(display, &event); +XGetEventData(display, cookie); +XFreeEventData(display, cookie); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + have_XGenericEvent=yes + $as_echo "#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1" >>confdefs.h -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_XGenericEvent" >&5 +$as_echo "$have_XGenericEvent" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XkbKeycodeToKeysym in -lX11" >&5 +$as_echo_n "checking for XkbKeycodeToKeysym in -lX11... " >&6; } +if ${ac_cv_lib_X11_XkbKeycodeToKeysym+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lX11 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XkbKeycodeToKeysym (); +int +main () +{ +return XkbKeycodeToKeysym (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_X11_XkbKeycodeToKeysym=yes +else + ac_cv_lib_X11_XkbKeycodeToKeysym=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XkbKeycodeToKeysym" >&5 +$as_echo "$ac_cv_lib_X11_XkbKeycodeToKeysym" >&6; } +if test "x$ac_cv_lib_X11_XkbKeycodeToKeysym" = xyes; then : +$as_echo "#define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1" >>confdefs.h -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +fi -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' + # Check whether --enable-video-x11-xcursor was given. +if test "${enable_video_x11_xcursor+set}" = set; then : + enableval=$enable_video_x11_xcursor; +else + enable_video_x11_xcursor=yes +fi -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + if test x$enable_video_x11_xcursor = xyes; then + definitely_enable_video_x11_xcursor=no + ac_fn_c_check_header_compile "$LINENO" "X11/Xcursor/Xcursor.h" "ac_cv_header_X11_Xcursor_Xcursor_h" "#include +" +if test "x$ac_cv_header_X11_Xcursor_Xcursor_h" = xyes; then : + have_xcursor_h_hdr=yes +else + have_xcursor_h_hdr=no +fi + if test x$have_xcursor_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xcursor_lib != x ; then + echo "-- dynamic libXcursor -> $xcursor_lib" -depcc="$CC" am_compiler_list= +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR "$xcursor_lib" +_ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : + definitely_enable_video_x11_xcursor=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XcursorImageCreate in -lXcursor" >&5 +$as_echo_n "checking for XcursorImageCreate in -lXcursor... " >&6; } +if ${ac_cv_lib_Xcursor_XcursorImageCreate+:} false; then : $as_echo_n "(cached) " >&6 else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXcursor $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - cd .. - rm -rf conftest.dir +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XcursorImageCreate (); +int +main () +{ +return XcursorImageCreate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xcursor_XcursorImageCreate=yes else - am_cv_CC_dependencies_compiler_type=none + ac_cv_lib_Xcursor_XcursorImageCreate=no fi - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xcursor_XcursorImageCreate" >&5 +$as_echo "$ac_cv_lib_Xcursor_XcursorImageCreate" >&6; } +if test "x$ac_cv_lib_Xcursor_XcursorImageCreate" = xyes; then : + have_xcursor_lib=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' + if test x$have_xcursor_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXcursor" + definitely_enable_video_x11_xcursor=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xcursor = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_X11_XCURSOR 1" >>confdefs.h + + fi + # Check whether --enable-video-x11-xinerama was given. +if test "${enable_video_x11_xinerama+set}" = set; then : + enableval=$enable_video_x11_xinerama; else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= + enable_video_x11_xinerama=yes fi + if test x$enable_video_x11_xinerama = xyes; then + definitely_enable_video_x11_xinerama=no + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xinerama.h" "ac_cv_header_X11_extensions_Xinerama_h" "#include +" +if test "x$ac_cv_header_X11_extensions_Xinerama_h" = xyes; then : + have_xinerama_h_hdr=yes +else + have_xinerama_h_hdr=no +fi + if test x$have_xinerama_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xinerama_lib != x ; then + echo "-- dynamic libXinerama -> $xinerama_lib" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA "$xinerama_lib" +_ACEOF + + definitely_enable_video_x11_xinerama=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XineramaQueryExtension in -lXinerama" >&5 +$as_echo_n "checking for XineramaQueryExtension in -lXinerama... " >&6; } +if ${ac_cv_lib_Xinerama_XineramaQueryExtension+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXinerama $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XineramaQueryExtension (); +int +main () +{ +return XineramaQueryExtension (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xinerama_XineramaQueryExtension=yes +else + ac_cv_lib_Xinerama_XineramaQueryExtension=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xinerama_XineramaQueryExtension" >&5 +$as_echo "$ac_cv_lib_Xinerama_XineramaQueryExtension" >&6; } +if test "x$ac_cv_lib_Xinerama_XineramaQueryExtension" = xyes; then : + have_xinerama_lib=yes fi + if test x$have_xinerama_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXinerama" + definitely_enable_video_x11_xinerama=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xinerama = xyes; then -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +$as_echo "#define SDL_VIDEO_DRIVER_X11_XINERAMA 1" >>confdefs.h -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + fi + # Check whether --enable-video-x11-xinput was given. +if test "${enable_video_x11_xinput+set}" = set; then : + enableval=$enable_video_x11_xinput; else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + enable_video_x11_xinput=yes fi - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi + if test x$enable_video_x11_xinput = xyes; then + definitely_enable_video_x11_xinput=no + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/XInput2.h" "ac_cv_header_X11_extensions_XInput2_h" "#include + +" +if test "x$ac_cv_header_X11_extensions_XInput2_h" = xyes; then : + have_xinput_h_hdr=yes else - CC="$ac_cv_prog_CC" + have_xinput_h_hdr=no fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + if test x$have_xinput_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xinput_lib != x ; then + echo "-- dynamic libXi -> $xinput_lib" +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "$xinput_lib" +_ACEOF - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : + definitely_enable_video_x11_xinput=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XOpenDevice in -lXi" >&5 +$as_echo_n "checking for XOpenDevice in -lXi... " >&6; } +if ${ac_cv_lib_Xi_XOpenDevice+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDevice (); +int +main () +{ +return XOpenDevice (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xi_XOpenDevice=yes +else + ac_cv_lib_Xi_XOpenDevice=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xi_XOpenDevice" >&5 +$as_echo "$ac_cv_lib_Xi_XOpenDevice" >&6; } +if test "x$ac_cv_lib_Xi_XOpenDevice" = xyes; then : + have_xinput_lib=yes fi + if test x$have_xinput_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXi" + definitely_enable_video_x11_xinput=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xinput = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_X11_XINPUT2 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xinput2 multitouch" >&5 +$as_echo_n "checking for xinput2 multitouch... " >&6; } + have_xinput2_multitouch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + #include + +int +main () +{ + +int event_type = XI_TouchBegin; +XITouchClassInfo *t; +Status +XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) +{ + return (Status)0; +} + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_xinput2_multitouch=yes + $as_echo "#define SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1" >>confdefs.h -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_xinput2_multitouch" >&5 +$as_echo "$have_xinput2_multitouch" >&6; } + fi + # Check whether --enable-video-x11-xrandr was given. +if test "${enable_video_x11_xrandr+set}" = set; then : + enableval=$enable_video_x11_xrandr; else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + enable_video_x11_xrandr=yes fi + if test x$enable_video_x11_xrandr = xyes; then + definitely_enable_video_x11_xrandr=no + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "#include - test -n "$CC" && break - done +" +if test "x$ac_cv_header_X11_extensions_Xrandr_h" = xyes; then : + have_xrandr_h_hdr=yes +else + have_xrandr_h_hdr=no fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : + + + if test x$have_xrandr_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then + echo "-- dynamic libXrandr -> $xrandr_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "$xrandr_lib" +_ACEOF + + definitely_enable_video_x11_xrandr=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRQueryExtension in -lXrandr" >&5 +$as_echo_n "checking for XRRQueryExtension in -lXrandr... " >&6; } +if ${ac_cv_lib_Xrandr_XRRQueryExtension+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXrandr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XRRQueryExtension (); +int +main () +{ +return XRRQueryExtension (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xrandr_XRRQueryExtension=yes +else + ac_cv_lib_Xrandr_XRRQueryExtension=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 +$as_echo "$ac_cv_lib_Xrandr_XRRQueryExtension" >&6; } +if test "x$ac_cv_lib_Xrandr_XRRQueryExtension" = xyes; then : + have_xrandr_lib=yes fi + if test x$have_xrandr_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr" + definitely_enable_video_x11_xrandr=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xrandr = xyes; then - test -n "$ac_ct_CC" && break -done +$as_echo "#define SDL_VIDEO_DRIVER_X11_XRANDR 1" >>confdefs.h - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi + fi + # Check whether --enable-video-x11-scrnsaver was given. +if test "${enable_video_x11_scrnsaver+set}" = set; then : + enableval=$enable_video_x11_scrnsaver; +else + enable_video_x11_scrnsaver=yes fi + if test x$enable_video_x11_scrnsaver = xyes; then + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/scrnsaver.h" "ac_cv_header_X11_extensions_scrnsaver_h" "#include + +" +if test "x$ac_cv_header_X11_extensions_scrnsaver_h" = xyes; then : + have_scrnsaver_h_hdr=yes +else + have_scrnsaver_h_hdr=no fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } + if test x$have_scrnsaver_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xss_lib != x ; then + echo "-- dynamic libXss -> $xss_lib" -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "$xss_lib" +_ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : + definitely_enable_video_x11_scrnsaver=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverSuspend in -lXss" >&5 +$as_echo_n "checking for XScreenSaverSuspend in -lXss... " >&6; } +if ${ac_cv_lib_Xss_XScreenSaverSuspend+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXss $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XScreenSaverSuspend (); int main () { -#ifndef __GNUC__ - choke me -#endif - +return XScreenSaverSuspend (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xss_XScreenSaverSuspend=yes else - ac_compiler_gnu=no + ac_cv_lib_Xss_XScreenSaverSuspend=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xss_XScreenSaverSuspend" >&5 +$as_echo "$ac_cv_lib_Xss_XScreenSaverSuspend" >&6; } +if test "x$ac_cv_lib_Xss_XScreenSaverSuspend" = xyes; then : + have_xss_lib=yes +fi + + if test x$have_xss_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXss" + definitely_enable_video_x11_scrnsaver=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_scrnsaver = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1" >>confdefs.h + fi + # Check whether --enable-video-x11-xshape was given. +if test "${enable_video_x11_xshape+set}" = set; then : + enableval=$enable_video_x11_xshape; +else + enable_video_x11_xshape=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes + + if test x$enable_video_x11_xshape = xyes; then + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/shape.h" "ac_cv_header_X11_extensions_shape_h" "#include + +" +if test "x$ac_cv_header_X11_extensions_shape_h" = xyes; then : + have_shape_h_hdr=yes else - GCC= + have_shape_h_hdr=no fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : + + + if test x$have_shape_h_hdr = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_X11_XSHAPE 1" >>confdefs.h + + fi + fi + # Check whether --enable-video-x11-vm was given. +if test "${enable_video_x11_vm+set}" = set; then : + enableval=$enable_video_x11_vm; +else + enable_video_x11_vm=yes +fi + + if test x$enable_video_x11_vm = xyes; then + definitely_enable_video_x11_vm=no + ac_fn_c_check_header_compile "$LINENO" "X11/extensions/xf86vmode.h" "ac_cv_header_X11_extensions_xf86vmode_h" "#include + +" +if test "x$ac_cv_header_X11_extensions_xf86vmode_h" = xyes; then : + have_vm_h_hdr=yes +else + have_vm_h_hdr=no +fi + + + if test x$have_vm_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xvidmode_lib != x ; then + echo "-- dynamic libXxf86vm -> $xvidmode_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE "$xvidmode_lib" +_ACEOF + + definitely_enable_video_x11_vm=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XF86VidModeQueryVersion in -lXxf86vm" >&5 +$as_echo_n "checking for XF86VidModeQueryVersion in -lXxf86vm... " >&6; } +if ${ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion+:} false; then : $as_echo_n "(cached) " >&6 else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lXxf86vm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XF86VidModeQueryVersion (); int main () { - +return XF86VidModeQueryVersion (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion=yes else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion" >&5 +$as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion" >&6; } +if test "x$ac_cv_lib_Xxf86vm_XF86VidModeQueryVersion" = xyes; then : + have_vm_lib=yes +fi -int -main () + if test x$have_vm_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXxf86vm" + definitely_enable_video_x11_vm=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_vm = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_X11_XVIDMODE 1" >>confdefs.h + + fi + fi + fi +} + +CheckBWINDOW() { + if test x$enable_video = xyes; then - ; - return 0; +$as_echo "#define SDL_VIDEO_DRIVER_BWINDOW 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc" + have_video=yes + fi } -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +CheckCOCOA() +{ + # Check whether --enable-video-cocoa was given. +if test "${enable_video_cocoa+set}" = set; then : + enableval=$enable_video_cocoa; else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + enable_video_cocoa=yes +fi + + if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -x objective-c" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cocoa framework" >&5 +$as_echo_n "checking for Cocoa framework... " >&6; } + have_cocoa=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #import + int main () { + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + have_cocoa=yes + fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_cocoa" >&5 +$as_echo "$have_cocoa" >&6; } + CFLAGS="$save_CFLAGS" + if test x$have_cocoa = xyes; then -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +$as_echo "#define SDL_VIDEO_DRIVER_COCOA 1" >>confdefs.h -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + SOURCES="$SOURCES $srcdir/src/video/cocoa/*.m" + have_video=yes + fi + fi +} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () +CheckDirectFB() { -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg + # Check whether --enable-video-directfb was given. +if test "${enable_video_directfb+set}" = set; then : + enableval=$enable_video_directfb; +else + enable_video_directfb=no fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; + if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then + video_directfb=no + + DIRECTFB_REQUIRED_VERSION=1.0.0 + for ac_prog in directfb-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_DIRECTFBCONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $DIRECTFBCONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_DIRECTFBCONFIG="$DIRECTFBCONFIG" # Let the user override the test with a path. + ;; *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$prefix/bin:$PATH" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_DIRECTFBCONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + ;; +esac +fi +DIRECTFBCONFIG=$ac_cv_path_DIRECTFBCONFIG +if test -n "$DIRECTFBCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIRECTFBCONFIG" >&5 +$as_echo "$DIRECTFBCONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=m -ac_cpp='$OBJCPP $CPPFLAGS' -ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_objc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in gcc objcc objc cc CC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 + test -n "$DIRECTFBCONFIG" && break +done +test -n "$DIRECTFBCONFIG" || DIRECTFBCONFIG="no" + + if test x$DIRECTFBCONFIG = xno; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJC+:} false; then : +if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$OBJC"; then - ac_cv_prog_OBJC="$OBJC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJC="$ac_tool_prefix$ac_prog" + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -11530,43 +20271,143 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac fi -fi -OBJC=$ac_cv_prog_OBJC -if test -n "$OBJC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJC" >&5 -$as_echo "$OBJC" >&6; } +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$OBJC" && break - done -fi -if test -z "$OBJC"; then - ac_ct_OBJC=$OBJC - for ac_prog in gcc objcc objc cc CC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then + DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb` + DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb` + DIRECTFB_PREFIX=`$PKG_CONFIG --variable=prefix directfb` + video_directfb=yes + fi + fi + else + set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'` + NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` + set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'` + HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` + if test $HAVE_VERSION -ge $NEED_VERSION; then + DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags` + DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs` + DIRECTFB_PREFIX=`$DIRECTFBCONFIG --prefix` + video_directfb=yes + fi + fi + if test x$video_directfb = xyes; then + # SuSE 11.1 installs directfb-config without directfb-devel + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS" + ac_fn_c_check_header_mongrel "$LINENO" "directfb.h" "ac_cv_header_directfb_h" "$ac_includes_default" +if test "x$ac_cv_header_directfb_h" = xyes; then : + have_directfb_hdr=yes +else + have_directfb_hdr=no +fi + + + CPPFLAGS="$save_CPPFLAGS" + video_directfb=$have_directfb_hdr + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DirectFB $DIRECTFB_REQUIRED_VERSION support" >&5 +$as_echo_n "checking for DirectFB $DIRECTFB_REQUIRED_VERSION support... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_directfb" >&5 +$as_echo "$video_directfb" >&6; } + + if test x$video_directfb = xyes; then + # Check whether --enable-directfb-shared was given. +if test "${enable_directfb_shared+set}" = set; then : + enableval=$enable_directfb_shared; +else + enable_directfb_shared=yes +fi + + + +$as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for directfb dynamic loading support" >&5 +$as_echo_n "checking for directfb dynamic loading support... " >&6; } + directfb_shared=no + directfb_lib=`find_lib "libdirectfb.so.*" "$DIRECTFB_LIBS"` + # | sed 's/.*\/\(.*\)/\1/; q'`] +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"directfb $directfb_lib\"" >&5 +$as_echo "$as_me: WARNING: \"directfb $directfb_lib\"" >&2;} + if test x$have_loadso != xyes && \ + test x$enable_directfb_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic directfb loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic directfb loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_directfb_shared = xyes && test x$directfb_lib != x; then + directfb_shared=yes + echo "-- $directfb_lib_spec -> $directfb_lib" + +cat >>confdefs.h <<_ACEOF +#define SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC "$directfb_lib" +_ACEOF + + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $directfb_shared" >&5 +$as_echo "$directfb_shared" >&6; } + have_video=yes + fi + fi +} + +CheckFusionSound() +{ + # Check whether --enable-fusionsound was given. +if test "${enable_fusionsound+set}" = set; then : + enableval=$enable_fusionsound; +else + enable_fusionsound=no +fi + + if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then + fusionsound=no + + FUSIONSOUND_REQUIRED_VERSION=1.1.1 + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJC+:} false; then : +if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OBJC"; then - ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJC="$ac_prog" + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -11574,507 +20415,422 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac fi -fi -ac_ct_OBJC=$ac_cv_prog_ac_ct_OBJC -if test -n "$ac_ct_OBJC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJC" >&5 -$as_echo "$ac_ct_OBJC" >&6; } +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$ac_ct_OBJC" && break -done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support" >&5 +$as_echo_n "checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support... " >&6; } + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then + FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound` + FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound` + fusionsound=yes + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound" >&5 +$as_echo "$fusionsound" >&6; } - if test "x$ac_ct_OBJC" = x; then - OBJC="gcc" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJC=$ac_ct_OBJC - fi + if test x$fusionsound = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_FUSIONSOUND 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS" + + # Check whether --enable-fusionsound-shared was given. +if test "${enable_fusionsound_shared+set}" = set; then : + enableval=$enable_fusionsound_shared; +else + enable_fusionsound_shared=yes fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Objective C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + fusionsound_shared=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound dynamic loading support" >&5 +$as_echo_n "checking for FusionSound dynamic loading support... " >&6; } + if test x$have_loadso != xyes && \ + test x$enable_fusionsound_shared = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&5 +$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&2;} + fi + if test x$have_loadso = xyes && \ + test x$enable_fusionsound_shared = xyes; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5 -$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } -if ${ac_cv_objc_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 +cat >>confdefs.h <<_ACEOF +#define SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC "libfusionsound.so" +_ACEOF + + fusionsound_shared=yes + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound_shared" >&5 +$as_echo "$fusionsound_shared" >&6; } + + have_audio=yes + fi + fi +} + +CheckDummyVideo() +{ + # Check whether --enable-video-dummy was given. +if test "${enable_video_dummy+set}" = set; then : + enableval=$enable_video_dummy; else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + enable_video_dummy=yes +fi + + if test x$enable_video_dummy = xyes; then + +$as_echo "#define SDL_VIDEO_DRIVER_DUMMY 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/video/dummy/*.c" + have_video=yes + fi +} + +# Check whether --enable-video-opengl was given. +if test "${enable_video_opengl+set}" = set; then : + enableval=$enable_video_opengl; +else + enable_video_opengl=yes +fi + + +CheckOpenGLX11() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL (GLX) support" >&5 +$as_echo_n "checking for OpenGL (GLX) support... " >&6; } + video_opengl=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include + #include + int main () { -#ifndef __GNUC__ - choke me -#endif + ; return 0; } _ACEOF -if ac_fn_objc_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no +if ac_fn_c_try_compile "$LINENO"; then : + + video_opengl=yes + fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_objc_compiler_gnu=$ac_compiler_gnu + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengl" >&5 +$as_echo "$video_opengl" >&6; } + if test x$video_opengl = xyes; then -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objc_compiler_gnu" >&5 -$as_echo "$ac_cv_objc_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GOBJC=yes +$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_OPENGL_GLX 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_RENDER_OGL 1" >>confdefs.h + + fi + fi +} + +# Check whether --enable-video-opengles was given. +if test "${enable_video_opengles+set}" = set; then : + enableval=$enable_video_opengles; else - GOBJC= + enable_video_opengles=yes fi -ac_test_OBJCFLAGS=${OBJCFLAGS+set} -ac_save_OBJCFLAGS=$OBJCFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5 -$as_echo_n "checking whether $OBJC accepts -g... " >&6; } -if ${ac_cv_prog_objc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_objc_werror_flag=$ac_objc_werror_flag - ac_objc_werror_flag=yes - ac_cv_prog_objc_g=no - OBJCFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + +CheckOpenGLESX11() +{ + if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL support" >&5 +$as_echo_n "checking for EGL support... " >&6; } + video_opengl_egl=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include + int main () { + ; return 0; } _ACEOF -if ac_fn_objc_try_compile "$LINENO"; then : - ac_cv_prog_objc_g=yes -else - OBJCFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if ac_fn_c_try_compile "$LINENO"; then : + + video_opengl_egl=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengl_egl" >&5 +$as_echo "$video_opengl_egl" >&6; } + if test x$video_opengl_egl = xyes; then + +$as_echo "#define SDL_VIDEO_OPENGL_EGL 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v1 headers" >&5 +$as_echo_n "checking for OpenGL ES v1 headers... " >&6; } + video_opengles_v1=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include + #include + int main () { + ; return 0; } _ACEOF -if ac_fn_objc_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO"; then : -else - ac_objc_werror_flag=$ac_save_objc_werror_flag - OBJCFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + video_opengles_v1=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v1" >&5 +$as_echo "$video_opengles_v1" >&6; } + if test x$video_opengles_v1 = xyes; then + +$as_echo "#define SDL_VIDEO_OPENGL_ES 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_RENDER_OGL_ES 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v2 headers" >&5 +$as_echo_n "checking for OpenGL ES v2 headers... " >&6; } + video_opengles_v2=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include + #include + int main () { + ; return 0; } _ACEOF -if ac_fn_objc_try_compile "$LINENO"; then : - ac_cv_prog_objc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if ac_fn_c_try_compile "$LINENO"; then : + + video_opengles_v2=yes + fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_objc_werror_flag=$ac_save_objc_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_objc_g" >&5 -$as_echo "$ac_cv_prog_objc_g" >&6; } -if test "$ac_test_OBJCFLAGS" = set; then - OBJCFLAGS=$ac_save_OBJCFLAGS -elif test $ac_cv_prog_objc_g = yes; then - if test "$GOBJC" = yes; then - OBJCFLAGS="-g -O2" - else - OBJCFLAGS="-g" - fi -else - if test "$GOBJC" = yes; then - OBJCFLAGS="-O2" - else - OBJCFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v2" >&5 +$as_echo "$video_opengles_v2" >&6; } + if test x$video_opengles_v2 = xyes; then -depcc="$OBJC" am_compiler_list='gcc3 gcc' +$as_echo "#define SDL_VIDEO_OPENGL_ES2 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_OBJC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - am_cv_OBJC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false +$as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h + fi + fi +} + +CheckWINDOWSGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + +$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_OPENGL_WGL 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_RENDER_OGL 1" >>confdefs.h - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_OBJC_dependencies_compiler_type=$depmode - break - fi fi - done +} - cd .. - rm -rf conftest.dir -else - am_cv_OBJC_dependencies_compiler_type=none -fi +CheckBeGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_OBJC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; } -OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type +$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then - am__fastdepOBJC_TRUE= - am__fastdepOBJC_FALSE='#' -else - am__fastdepOBJC_TRUE='#' - am__fastdepOBJC_FALSE= -fi +$as_echo "#define SDL_VIDEO_OPENGL_BGL 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done +$as_echo "#define SDL_VIDEO_RENDER_OGL 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL" + fi +} -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac +CheckMacGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + +$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_OPENGL_CGL 1" >>confdefs.h + + +$as_echo "#define SDL_VIDEO_RENDER_OGL 1" >>confdefs.h + + case "$host" in + *-*-darwin*) + if test x$enable_video_cocoa = xyes; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL" + fi + esac + fi +} + +CheckInputEvents() +{ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux 2.4 unified input interface" >&5 +$as_echo_n "checking for Linux 2.4 unified input interface... " >&6; } + use_input_events=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + #ifndef EVIOCGNAME + #error EVIOCGNAME() ioctl not available + #endif -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' + ; + return 0; +} _ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi +if ac_fn_c_try_compile "$LINENO"; then : -if test -z "$host_alias"; then - hostaliaswindres= -else - hostaliaswindres="$host_alias-windres" -fi -for ac_prog in windres $hostaliaswindres $host_os-windres -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_WINDRES+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$WINDRES"; then - ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_WINDRES="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + use_input_events=yes fi -fi -WINDRES=$ac_cv_prog_WINDRES -if test -n "$WINDRES"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 -$as_echo "$WINDRES" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_input_events" >&5 +$as_echo "$use_input_events" >&6; } + if test x$use_input_events = xyes; then +$as_echo "#define SDL_INPUT_LINUXEV 1" >>confdefs.h - test -n "$WINDRES" && break -done + fi +} +CheckInputKD() +{ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux kd.h" >&5 +$as_echo_n "checking for Linux kd.h... " >&6; } + use_input_kd=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + struct kbentry kbe; + kbe.kb_table = KG_CTRL; + ioctl(0, KDGKBENT, &kbe); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + use_input_kd=yes -case "$host" in - *-*-beos*) - ac_default_prefix=/boot/develop/tools/gnupro - ;; - *-*-cygwin* | *-*-mingw32*) - if test "$build" != "$host"; then # cross-compiling - # Default cross-compile location - ac_default_prefix=/usr/local/cross-tools/i386-mingw32 - else - # Look for the location of the tools and install there - if test "$BUILD_PREFIX" != ""; then - ac_default_prefix=$BUILD_PREFIX - fi - fi - if test x$WINDRES != x; then - use_version_rc=true - fi - ;; - *-*-darwin*) - # Check whether --enable-imageio was given. -if test "${enable_imageio+set}" = set; then : - enableval=$enable_imageio; -else - enable_imageio=yes fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_input_kd" >&5 +$as_echo "$use_input_kd" >&6; } + if test x$use_input_kd = xyes; then - if test x$enable_imageio = xyes; then - IMG_LIBS="-Wl,-framework,ApplicationServices $IMG_LIBS" - else - CFLAGS="$CFLAGS -DSDL_IMAGE_USE_COMMON_BACKEND" - fi - ;; -esac - if test x$enable_imageio = xyes; then - USE_IMAGEIO_TRUE= - USE_IMAGEIO_FALSE='#' +$as_echo "#define SDL_INPUT_LINUXKD 1" >>confdefs.h + + fi +} + +CheckLibUDev() +{ + # Check whether --enable-libudev was given. +if test "${enable_libudev+set}" = set; then : + enableval=$enable_libudev; else - USE_IMAGEIO_TRUE='#' - USE_IMAGEIO_FALSE= + enable_libudev=yes fi - if test x$use_version_rc = xtrue; then - USE_VERSION_RC_TRUE= - USE_VERSION_RC_FALSE='#' + if test x$enable_libudev = xyes; then + ac_fn_c_check_header_mongrel "$LINENO" "libudev.h" "ac_cv_header_libudev_h" "$ac_includes_default" +if test "x$ac_cv_header_libudev_h" = xyes; then : + have_libudev_h_hdr=yes else - USE_VERSION_RC_TRUE='#' - USE_VERSION_RC_FALSE= + have_libudev_h_hdr=no fi -base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'` + if test x$have_libudev_h_hdr = xyes; then + +$as_echo "#define HAVE_LIBUDEV_H 1" >>confdefs.h -find_lib() -{ - gcc_bin_path=`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'` - gcc_lib_path=`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'` - env_lib_path=`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'` - if test "$cross_compiling" = yes; then - host_lib_path="" - else - host_lib_path="/usr/$base_libdir /usr/local/$base_libdir" - fi - for path in $gcc_bin_path $gcc_lib_path $env_lib_path $host_lib_path; do - lib=`ls -- $path/$1 2>/dev/null | sed -e '/\.so\..*\./d' -e 's,.*/,,' | sort | tail -1` - if test x$lib != x; then - echo $lib - return fi - done + fi } -SDL_VERSION=2.0.0 - - +CheckDBus() +{ + # Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then : + enableval=$enable_dbus; +else + enable_dbus=yes +fi -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 + if test x$enable_dbus = xyes; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : @@ -12100,6 +20856,7 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi @@ -12113,562 +20870,644 @@ $as_echo "no" >&6; } fi + if test x$PKG_CONFIG != xno; then + DBUS_CFLAGS=`$PKG_CONFIG --cflags dbus-1` + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS $DBUS_CFLAGS" + ac_fn_c_check_header_mongrel "$LINENO" "dbus/dbus.h" "ac_cv_header_dbus_dbus_h" "$ac_includes_default" +if test "x$ac_cv_header_dbus_dbus_h" = xyes; then : + have_dbus_dbus_h_hdr=yes +else + have_dbus_dbus_h_hdr=no fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 + + + CFLAGS="$save_CFLAGS" + if test x$have_dbus_dbus_h_hdr = xyes; then + +$as_echo "#define HAVE_DBUS_DBUS_H 1" >>confdefs.h + + EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS" + fi + fi + fi +} + +CheckTslib() +{ + # Check whether --enable-input-tslib was given. +if test "${enable_input_tslib+set}" = set; then : + enableval=$enable_input_tslib; else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + enable_input_tslib=yes +fi + + if test x$enable_input_tslib = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Touchscreen library support" >&5 +$as_echo_n "checking for Touchscreen library support... " >&6; } + enable_input_tslib=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include "tslib.h" + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + enable_input_tslib=yes - ;; -esac fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_input_tslib" >&5 +$as_echo "$enable_input_tslib" >&6; } + if test x$enable_input_tslib = xyes; then + +$as_echo "#define SDL_INPUT_TSLIB 1" >>confdefs.h + + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts" + fi + fi +} + +CheckPTHREAD() +{ + # Check whether --enable-pthreads was given. +if test "${enable_pthreads+set}" = set; then : + enableval=$enable_pthreads; +else + enable_pthreads=yes +fi + + # Check whether --enable-pthread-sem was given. +if test "${enable_pthread_sem+set}" = set; then : + enableval=$enable_pthread_sem; +else + enable_pthread_sem=yes +fi + + case "$host" in + *-*-linux*|*-*-uclinux*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread" + ;; + *-*-bsdi*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="" + ;; + *-*-darwin*) + pthread_cflags="-D_THREAD_SAFE" +# causes Carbon.p complaints? +# pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + ;; + *-*-freebsd*|*-*-dragonfly*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="-pthread" + ;; + *-*-netbsd*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="-lpthread" + ;; + *-*-openbsd*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-pthread" + ;; + *-*-solaris2.9) + # From Solaris 9+, posix4's preferred name is rt. + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread -lrt" + ;; + *-*-solaris2.10) + # Solaris 10+ merged pthread into libc. + pthread_cflags="-D_REENTRANT" + pthread_lib="-lrt" + ;; + *-*-solaris*) + # Solaris 11+ merged rt into libc. + pthread_cflags="-D_REENTRANT" + pthread_lib="" + ;; + *-*-sysv5*) + pthread_cflags="-D_REENTRANT -Kthread" + pthread_lib="" + ;; + *-*-aix*) + pthread_cflags="-D_REENTRANT -mthreads" + pthread_lib="-lpthread" + ;; + *-*-hpux11*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-L/usr/lib -lpthread" + ;; + *) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread" + ;; + esac + if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then + # Save the original compiler flags and libraries + ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS" + # Add the pthread compiler flags and libraries + CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib" + # Check to see if we have pthread support on this system + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthreads" >&5 +$as_echo_n "checking for pthreads... " >&6; } + use_pthreads=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + pthread_attr_t type; + pthread_attr_init(&type); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + use_pthreads=yes + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pthreads" >&5 +$as_echo "$use_pthreads" >&6; } + # Restore the compiler flags and libraries + CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs" + + # Do futher testing if we have pthread support... + if test x$use_pthreads = xyes; then + +$as_echo "#define SDL_THREAD_PTHREAD 1" >>confdefs.h + + EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib" + SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags" + SDL_LIBS="$SDL_LIBS $pthread_lib" + + # Save the original compiler flags and libraries + ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS" + # Add the pthread compiler flags and libraries + CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib" + + # Check to see if recursive mutexes are available + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recursive mutexes" >&5 +$as_echo_n "checking for recursive mutexes... " >&6; } + has_recursive_mutexes=no + if test x$has_recursive_mutexes = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + has_recursive_mutexes=yes + +$as_echo "#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1" >>confdefs.h + + fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test x$has_recursive_mutexes = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + pthread_mutexattr_t attr; + pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + has_recursive_mutexes=yes + +$as_echo "#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1" >>confdefs.h - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_recursive_mutexes" >&5 +$as_echo "$has_recursive_mutexes" >&6; } + + # Check to see if pthread semaphore support is missing + if test x$enable_pthread_sem = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread semaphores" >&5 +$as_echo_n "checking for pthread semaphores... " >&6; } + have_pthread_sem=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi + #include + #include -# Check whether --with-sdl-prefix was given. -if test "${with_sdl_prefix+set}" = set; then : - withval=$with_sdl_prefix; sdl_prefix="$withval" -else - sdl_prefix="" -fi +int +main () +{ -# Check whether --with-sdl-exec-prefix was given. -if test "${with_sdl_exec_prefix+set}" = set; then : - withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" -else - sdl_exec_prefix="" -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_pthread_sem=yes -# Check whether --enable-sdltest was given. -if test "${enable_sdltest+set}" = set; then : - enableval=$enable_sdltest; -else - enable_sdltest=yes fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread_sem" >&5 +$as_echo "$have_pthread_sem" >&6; } + fi + if test x$have_pthread_sem = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_timedwait" >&5 +$as_echo_n "checking for sem_timedwait... " >&6; } + have_sem_timedwait=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include + #include - min_sdl_version=$SDL_VERSION +int +main () +{ - if test "x$sdl_prefix$sdl_exec_prefix" = x ; then + sem_timedwait(NULL, NULL); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_sem_timedwait=yes + $as_echo "#define HAVE_SEM_TIMEDWAIT 1" >>confdefs.h -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 -$as_echo_n "checking for SDL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_CFLAGS"; then - pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl2 >= $min_sdl_version" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_LIBS"; then - pkg_cv_SDL_LIBS="$SDL_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl2 >= $min_sdl_version" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sem_timedwait" >&5 +$as_echo "$have_sem_timedwait" >&6; } + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_spin_trylock" >&5 +$as_echo_n "checking for pthread_spin_trylock... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_spin_trylock (); +int +main () +{ +return pthread_spin_trylock (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : -if test $pkg_failed = yes; then + has_pthread_spin_trylock=yes -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl2 >= $min_sdl_version"` - else - SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl2 >= $min_sdl_version"` - fi - # Put the nasty error message in config.log where it belongs - echo "$SDL_PKG_ERRORS" >&5 +$as_echo "#define HAVE_PTHREAD_SPINLOCK 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - sdl_pc=no -elif test $pkg_failed = untried; then - sdl_pc=no -else - SDL_CFLAGS=$pkg_cv_SDL_CFLAGS - SDL_LIBS=$pkg_cv_SDL_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - sdl_pc=yes -fi - else - sdl_pc=no - if test x$sdl_exec_prefix != x ; then - sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config - fi - fi - fi - if test "x$sdl_pc" = xyes ; then - no_sdl="" - SDL2_CONFIG="pkg-config sdl2" - else - as_save_PATH="$PATH" - if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - fi - # Extract the first word of "sdl2-config", so it can be a program name with args. -set dummy sdl2-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SDL2_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 else - case $SDL2_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SDL2_CONFIG="$SDL2_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SDL2_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - test -z "$ac_cv_path_SDL2_CONFIG" && ac_cv_path_SDL2_CONFIG="no" - ;; -esac + has_pthread_spin_trylock=no + fi -SDL2_CONFIG=$ac_cv_path_SDL2_CONFIG -if test -n "$SDL2_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL2_CONFIG" >&5 -$as_echo "$SDL2_CONFIG" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_pthread_spin_trylock" >&5 +$as_echo "$has_pthread_spin_trylock" >&6; } + + ac_fn_c_check_header_compile "$LINENO" "pthread_np.h" "ac_cv_header_pthread_np_h" " #include +" +if test "x$ac_cv_header_pthread_np_h" = xyes; then : + have_pthread_np_h=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + have_pthread_np_h=no fi - PATH="$as_save_PATH" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL - version >= $min_sdl_version" >&5 -$as_echo_n "checking for SDL - version >= $min_sdl_version... " >&6; } - no_sdl="" + if test x$have_pthread_np_h = xyes; then - if test "$SDL2_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` - - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - rm -f conf.sdltest - if test "$cross_compiling" = yes; then : - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +$as_echo "#define HAVE_PTHREAD_NP_H 1" >>confdefs.h -#include -#include -#include -#include "SDL.h" + fi -char* -my_strdup (char *str) + # Check to see if pthread naming is available + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_setname_np" >&5 +$as_echo_n "checking for pthread_setname_np... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_setname_np (); +int +main () { - char *new_str; +return pthread_setname_np (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; + has_pthread_setname_np=yes - return new_str; -} +$as_echo "#define HAVE_PTHREAD_SETNAME_NP 1" >>confdefs.h -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } +else - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } + has_pthread_setname_np=no - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_pthread_setname_np" >&5 +$as_echo "$has_pthread_setname_np" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_set_name_np" >&5 +$as_echo_n "checking for pthread_set_name_np... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_set_name_np (); +int +main () +{ +return pthread_set_name_np (); + ; + return 0; +} _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_link "$LINENO"; then : + + has_pthread_set_name_np=yes + +$as_echo "#define HAVE_PTHREAD_SET_NAME_NP 1" >>confdefs.h + else - no_sdl=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + + has_pthread_set_name_np=no + fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_pthread_set_name_np" >&5 +$as_echo "$has_pthread_set_name_np" >&6; } - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + # Restore the compiler flags and libraries + CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs" + + # Basic thread creation functions + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c" + + # Semaphores + # We can fake these with mutexes and condition variables if necessary + if test x$have_pthread_sem = xyes; then + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c" + else + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c" + fi + + # Mutexes + # We can fake these with semaphores if necessary + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c" + + # Condition variables + # We can fake these with semaphores and mutexes if necessary + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c" + + # Thread local storage + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systls.c" + + have_threads=yes + fi fi - fi - if test "x$no_sdl" = x ; then - : - else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +} -#include -#include "SDL.h" +CheckWINDOWS() +{ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Windows compiler" >&5 +$as_echo_n "checking Windows compiler... " >&6; } + have_win32_gcc=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main + #include int main () { - return 0; + + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - as_fn_error $? "*** SDL version $SDL_VERSION not found!" "$LINENO" 5 +if ac_fn_c_try_compile "$LINENO"; then : - fi + have_win32_gcc=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_win32_gcc" >&5 +$as_echo "$have_win32_gcc" >&6; } + if test x$have_win32_gcc != xyes; then + as_fn_error $? " +*** Your compiler ($CC) does not produce Windows executables! + " "$LINENO" 5 + fi - rm -f conf.sdltest + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Windows CE" >&5 +$as_echo_n "checking Windows CE... " >&6; } + have_wince=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS $SDL_LIBS" -saved_LIBS="$LIBS" +#if !defined(_WIN32_WCE) && !defined(__MINGW32CE__) +#error This is not Windows CE +#endif -# Check whether --enable-bmp was given. -if test "${enable_bmp+set}" = set; then : - enableval=$enable_bmp; -else - enable_bmp=yes -fi +int +main () +{ -# Check whether --enable-gif was given. -if test "${enable_gif+set}" = set; then : - enableval=$enable_gif; -else - enable_gif=yes -fi -# Check whether --enable-jpg was given. -if test "${enable_jpg+set}" = set; then : - enableval=$enable_jpg; -else - enable_jpg=yes -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -# Check whether --enable-jpg-shared was given. -if test "${enable_jpg_shared+set}" = set; then : - enableval=$enable_jpg_shared; -else - enable_jpg_shared=yes -fi + have_wince=yes + as_fn_error $? " +*** Sorry, Windows CE is no longer supported. + " "$LINENO" 5 -# Check whether --enable-lbm was given. -if test "${enable_lbm+set}" = set; then : - enableval=$enable_lbm; -else - enable_lbm=yes fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_wince" >&5 +$as_echo "$have_wince" >&6; } -# Check whether --enable-pcx was given. -if test "${enable_pcx+set}" = set; then : - enableval=$enable_pcx; -else - enable_pcx=yes -fi + # This fixes Windows stack alignment with newer GCC + CheckStackBoundary +} -# Check whether --enable-png was given. -if test "${enable_png+set}" = set; then : - enableval=$enable_png; +CheckDIRECTX() +{ + # Check whether --enable-directx was given. +if test "${enable_directx+set}" = set; then : + enableval=$enable_directx; else - enable_png=yes + enable_directx=yes fi -# Check whether --enable-png-shared was given. -if test "${enable_png_shared+set}" = set; then : - enableval=$enable_png_shared; -else - enable_png_shared=yes + if test x$enable_directx = xyes; then + ac_fn_c_check_header_mongrel "$LINENO" "d3d9.h" "ac_cv_header_d3d9_h" "$ac_includes_default" +if test "x$ac_cv_header_d3d9_h" = xyes; then : + have_d3d=yes fi -# Check whether --enable-pnm was given. -if test "${enable_pnm+set}" = set; then : - enableval=$enable_pnm; -else - enable_pnm=yes -fi -# Check whether --enable-tga was given. -if test "${enable_tga+set}" = set; then : - enableval=$enable_tga; -else - enable_tga=yes + ac_fn_c_check_header_mongrel "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default" +if test "x$ac_cv_header_ddraw_h" = xyes; then : + have_ddraw=yes fi -# Check whether --enable-tif was given. -if test "${enable_tif+set}" = set; then : - enableval=$enable_tif; -else - enable_tif=yes -fi -# Check whether --enable-tif-shared was given. -if test "${enable_tif_shared+set}" = set; then : - enableval=$enable_tif_shared; -else - enable_tif_shared=yes + ac_fn_c_check_header_mongrel "$LINENO" "dsound.h" "ac_cv_header_dsound_h" "$ac_includes_default" +if test "x$ac_cv_header_dsound_h" = xyes; then : + have_dsound=yes fi -# Check whether --enable-xcf was given. -if test "${enable_xcf+set}" = set; then : - enableval=$enable_xcf; -else - enable_xcf=yes -fi -# Check whether --enable-xpm was given. -if test "${enable_xpm+set}" = set; then : - enableval=$enable_xpm; -else - enable_xpm=yes + ac_fn_c_check_header_mongrel "$LINENO" "dinput.h" "ac_cv_header_dinput_h" "$ac_includes_default" +if test "x$ac_cv_header_dinput_h" = xyes; then : + have_dinput=yes fi -# Check whether --enable-xv was given. -if test "${enable_xv+set}" = set; then : - enableval=$enable_xv; -else - enable_xv=yes -fi -# Check whether --enable-webp was given. -if test "${enable_webp+set}" = set; then : - enableval=$enable_webp; -else - enable_webp=yes + ac_fn_c_check_header_mongrel "$LINENO" "xaudio2.h" "ac_cv_header_xaudio2_h" "$ac_includes_default" +if test "x$ac_cv_header_xaudio2_h" = xyes; then : + have_xaudio2=yes fi -# Check whether --enable-webp-shared was given. -if test "${enable_webp_shared+set}" = set; then : - enableval=$enable_webp_shared; + + + # FIXME: latest Cygwin finds dinput headers, but we die on other win32 headers. + # FIXME: ...so force it off for now. + case "$host" in + *-*-cygwin*) + have_dinput=false + ;; + esac + fi +} + +CheckDLOPEN() +{ + # Check whether --enable-sdl-dlopen was given. +if test "${enable_sdl_dlopen+set}" = set; then : + enableval=$enable_sdl_dlopen; else - enable_webp_shared=yes + enable_sdl_dlopen=yes fi + if test x$enable_sdl_dlopen = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen" >&5 +$as_echo_n "checking for dlopen... " >&6; } + have_dlopen=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ImageIO support" >&5 -$as_echo_n "checking for ImageIO support... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_imageio" >&5 -$as_echo "$enable_imageio" >&6; } + #include -if (test x$enable_jpg = xyes || test x$enable_tif = xyes) && test x$enable_imageio != xyes; then - ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default" -if test "x$ac_cv_header_jpeglib_h" = xyes; then : - have_jpg_hdr=yes -fi +int +main () +{ + + void *handle = dlopen("", RTLD_NOW); + const char *loaderror = (char *) dlerror(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_dlopen=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_dlopen" >&5 +$as_echo "$have_dlopen" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_CreateDecompress in -ljpeg" >&5 -$as_echo_n "checking for jpeg_CreateDecompress in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_jpeg_CreateDecompress+:} false; then : + if test x$have_dlopen = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lc" >&5 +$as_echo_n "checking for dlopen in -lc... " >&6; } +if ${ac_cv_lib_c_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-ljpeg $LIBS" +LIBS="-lc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12678,134 +21517,75 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char jpeg_CreateDecompress (); +char dlopen (); int main () { -return jpeg_CreateDecompress (); +return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_jpeg_jpeg_CreateDecompress=yes + ac_cv_lib_c_dlopen=yes else - ac_cv_lib_jpeg_jpeg_CreateDecompress=no + ac_cv_lib_c_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5 -$as_echo "$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6; } -if test "x$ac_cv_lib_jpeg_jpeg_CreateDecompress" = xyes; then : - have_jpg_lib=yes -fi - - if test x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then - if test x$enable_jpg = xyes; then - $as_echo "#define LOAD_JPG 1" >>confdefs.h - - fi - LIBS="-ljpeg $LIBS" - - case "$host" in - *-*-darwin*) - jpg_lib=`find_lib libjpeg.dylib` - ;; - *-*-cygwin* | *-*-mingw32*) - jpg_lib=`find_lib "libjpeg*.dll"` - ;; - *) - jpg_lib=`find_lib "libjpeg[0-9]*.so.*"` - if test x$jpg_lib = x; then - jpg_lib=`find_lib "libjpeg.so.*"` - fi - ;; - esac - elif test x$enable_jpg = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Unable to find JPEG library (http://www.ijg.org/)" >&5 -$as_echo "$as_me: WARNING: *** Unable to find JPEG library (http://www.ijg.org/)" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: JPG image loading disabled" >&5 -$as_echo "$as_me: WARNING: JPG image loading disabled" >&2;} - fi -fi - -if test x$enable_png = xyes -a x$enable_imageio != xyes; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBPNG" >&5 -$as_echo_n "checking for LIBPNG... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPNG_CFLAGS"; then - pkg_cv_LIBPNG_CFLAGS="$LIBPNG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPNG_LIBS"; then - pkg_cv_LIBPNG_LIBS="$LIBPNG_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_dlopen" >&5 +$as_echo "$ac_cv_lib_c_dlopen" >&6; } +if test "x$ac_cv_lib_c_dlopen" = xyes; then : + EXTRA_LDFLAGS="$EXTRA_LDFLAGS" else - pkg_failed=yes -fi - fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes else - _pkg_short_errors_supported=no + ac_cv_lib_dl_dlopen=no fi - if test $_pkg_short_errors_supported = yes; then - LIBPNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng"` - else - LIBPNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBPNG_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" -if test "x$ac_cv_header_png_h" = xyes; then : - have_png_hdr=yes +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_create_read_struct in -lpng" >&5 -$as_echo_n "checking for png_create_read_struct in -lpng... " >&6; } -if ${ac_cv_lib_png_png_create_read_struct+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lltdl" >&5 +$as_echo_n "checking for dlopen in -lltdl... " >&6; } +if ${ac_cv_lib_ltdl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng -lz $LIBS" +LIBS="-lltdl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12815,45 +21595,55 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char png_create_read_struct (); +char dlopen (); int main () { -return png_create_read_struct (); +return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_png_png_create_read_struct=yes + ac_cv_lib_ltdl_dlopen=yes else - ac_cv_lib_png_png_create_read_struct=no + ac_cv_lib_ltdl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_create_read_struct" >&5 -$as_echo "$ac_cv_lib_png_png_create_read_struct" >&6; } -if test "x$ac_cv_lib_png_png_create_read_struct" = xyes; then : - have_png_lib=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ltdl_dlopen" >&5 +$as_echo "$ac_cv_lib_ltdl_dlopen" >&6; } +if test "x$ac_cv_lib_ltdl_dlopen" = xyes; then : + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl" fi +fi -elif test $pkg_failed = untried; then - ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" -if test "x$ac_cv_header_png_h" = xyes; then : - have_png_hdr=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_create_read_struct in -lpng" >&5 -$as_echo_n "checking for png_create_read_struct in -lpng... " >&6; } -if ${ac_cv_lib_png_png_create_read_struct+:} false; then : +$as_echo "#define SDL_LOADSO_DLOPEN 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" + have_loadso=yes + fi + fi +} + +CheckUSBHID() +{ + case "$host" in + *-*-*bsd*) + if test x$enable_joystick = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusbhid" >&5 +$as_echo_n "checking for hid_init in -lusbhid... " >&6; } +if ${ac_cv_lib_usbhid_hid_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng -lz $LIBS" +LIBS="-lusbhid $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12863,81 +21653,64 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char png_create_read_struct (); +char hid_init (); int main () { -return png_create_read_struct (); +return hid_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_png_png_create_read_struct=yes + ac_cv_lib_usbhid_hid_init=yes else - ac_cv_lib_png_png_create_read_struct=no + ac_cv_lib_usbhid_hid_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_create_read_struct" >&5 -$as_echo "$ac_cv_lib_png_png_create_read_struct" >&6; } -if test "x$ac_cv_lib_png_png_create_read_struct" = xyes; then : - have_png_lib=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usbhid_hid_init" >&5 +$as_echo "$ac_cv_lib_usbhid_hid_init" >&6; } +if test "x$ac_cv_lib_usbhid_hid_init" = xyes; then : + have_libusbhid=yes fi + if test x$have_libusbhid = xyes; then + ac_fn_c_check_header_mongrel "$LINENO" "usbhid.h" "ac_cv_header_usbhid_h" "$ac_includes_default" +if test "x$ac_cv_header_usbhid_h" = xyes; then : + USB_CFLAGS="-DHAVE_USBHID_H" +fi -else - LIBPNG_CFLAGS=$pkg_cv_LIBPNG_CFLAGS - LIBPNG_LIBS=$pkg_cv_LIBPNG_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_png_hdr=yes - CFLAGS="$LIBPNG_CFLAGS $CFLAGS" - have_png_lib=yes + ac_fn_c_check_header_mongrel "$LINENO" "libusbhid.h" "ac_cv_header_libusbhid_h" "$ac_includes_default" +if test "x$ac_cv_header_libusbhid_h" = xyes; then : + USB_CFLAGS="-DHAVE_LIBUSBHID_H" fi - if test x$have_png_hdr = xyes -a x$have_png_lib = xyes; then - $as_echo "#define LOAD_PNG 1" >>confdefs.h - case "$host" in - *-*-darwin*) - png_lib=`find_lib libpng.dylib` - ;; - *-*-cygwin* | *-*-mingw32*) - png_lib=`find_lib "libpng*.dll"` - ;; - *) - png_lib=`find_lib "libpng[0-9]*.so.*"` - if test x$png_lib = x; then - png_lib=`find_lib "libpng.so.*"` - fi - ;; - esac - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)" >&5 -$as_echo "$as_me: WARNING: *** Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PNG image loading disabled" >&5 -$as_echo "$as_me: WARNING: PNG image loading disabled" >&2;} - fi + USB_LIBS="$USB_LIBS -lusbhid" + else + ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_usb_h" = xyes; then : + USB_CFLAGS="-DHAVE_USB_H" fi -if test x$enable_tif = xyes -a x$enable_imageio != xyes; then - ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" -if test "x$ac_cv_header_tiffio_h" = xyes; then : - have_tif_hdr=yes + + ac_fn_c_check_header_mongrel "$LINENO" "libusb.h" "ac_cv_header_libusb_h" "$ac_includes_default" +if test "x$ac_cv_header_libusb_h" = xyes; then : + USB_CFLAGS="-DHAVE_LIBUSB_H" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFClientOpen in -ltiff" >&5 -$as_echo_n "checking for TIFFClientOpen in -ltiff... " >&6; } -if ${ac_cv_lib_tiff_TIFFClientOpen+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusb" >&5 +$as_echo_n "checking for hid_init in -lusb... " >&6; } +if ${ac_cv_lib_usb_hid_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-ltiff -lz $LIBS" +LIBS="-lusb $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12947,131 +21720,241 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char TIFFClientOpen (); +char hid_init (); int main () { -return TIFFClientOpen (); +return hid_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_tiff_TIFFClientOpen=yes + ac_cv_lib_usb_hid_init=yes else - ac_cv_lib_tiff_TIFFClientOpen=no + ac_cv_lib_usb_hid_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFClientOpen" >&5 -$as_echo "$ac_cv_lib_tiff_TIFFClientOpen" >&6; } -if test "x$ac_cv_lib_tiff_TIFFClientOpen" = xyes; then : - have_tif_lib=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_hid_init" >&5 +$as_echo "$ac_cv_lib_usb_hid_init" >&6; } +if test "x$ac_cv_lib_usb_hid_init" = xyes; then : + USB_LIBS="$USB_LIBS -lusb" fi - if test x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then - $as_echo "#define LOAD_TIF 1" >>confdefs.h + fi + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $USB_CFLAGS" - case "$host" in - *-*-darwin*) - tif_lib=`find_lib libtiff.dylib` - ;; - *-*-cygwin* | *-*-mingw32*) - tif_lib=`find_lib "libtiff-*.dll"` - ;; - *) - tif_lib=`find_lib "libtiff[0-9]*.so.*"` - if test x$tif_lib = x; then - tif_lib=`find_lib "libtiff.so.*"` - fi - ;; - esac - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Unable to find Tiff library (http://www.remotesensing.org/libtiff/)" >&5 -$as_echo "$as_me: WARNING: *** Unable to find Tiff library (http://www.remotesensing.org/libtiff/)" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: TIF image loading disabled" >&5 -$as_echo "$as_me: WARNING: TIF image loading disabled" >&2;} - fi -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usbhid" >&5 +$as_echo_n "checking for usbhid... " >&6; } + have_usbhid=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + # include + # include + #else + # include + # include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif -if test x$enable_webp = xyes; then +int +main () +{ -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBWEBP" >&5 -$as_echo_n "checking for LIBWEBP... " >&6; } + struct report_desc *repdesc; + struct usb_ctl_report *repbuf; + hid_kind_t hidkind; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_usbhid=yes -if test -n "$PKG_CONFIG"; then - if test -n "$LIBWEBP_CFLAGS"; then - pkg_cv_LIBWEBP_CFLAGS="$LIBWEBP_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libwebp") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBWEBP_CFLAGS=`$PKG_CONFIG --cflags "libwebp" 2>/dev/null` -else - pkg_failed=yes fi - fi -else - pkg_failed=untried +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid" >&5 +$as_echo "$have_usbhid" >&6; } + + if test x$have_usbhid = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucr_data member of usb_ctl_report" >&5 +$as_echo_n "checking for ucr_data member of usb_ctl_report... " >&6; } + have_usbhid_ucr_data=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + # include + # include + #else + # include + # include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif + +int +main () +{ + + struct usb_ctl_report buf; + if (buf.ucr_data) { } + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_usbhid_ucr_data=yes + fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBWEBP_LIBS"; then - pkg_cv_LIBWEBP_LIBS="$LIBWEBP_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libwebp") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBWEBP_LIBS=`$PKG_CONFIG --libs "libwebp" 2>/dev/null` -else - pkg_failed=yes +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test x$have_usbhid_ucr_data = xyes; then + USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_ucr_data" >&5 +$as_echo "$have_usbhid_ucr_data" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for new usbhid API" >&5 +$as_echo_n "checking for new usbhid API... " >&6; } + have_usbhid_new=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + #include + #include + #else + #include + #include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif + +int +main () +{ + + report_desc_t d; + hid_start_parse(d, 1, 1); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_usbhid_new=yes + fi - fi -else - pkg_failed=untried +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test x$have_usbhid_new = xyes; then + USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_new" >&5 +$as_echo "$have_usbhid_new" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct joystick in machine/joystick.h" >&5 +$as_echo_n "checking for struct joystick in machine/joystick.h... " >&6; } + have_machine_joystick=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + struct joystick t; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + have_machine_joystick=yes + fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test x$have_machine_joystick = xyes; then +$as_echo "#define SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H 1" >>confdefs.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_machine_joystick" >&5 +$as_echo "$have_machine_joystick" >&6; } -if test $pkg_failed = yes; then -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBWEBP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libwebp"` - else - LIBWEBP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libwebp"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBWEBP_PKG_ERRORS" >&5 +$as_echo "#define SDL_JOYSTICK_USBHID 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "webp/decode.h" "ac_cv_header_webp_decode_h" "$ac_includes_default" -if test "x$ac_cv_header_webp_decode_h" = xyes; then : - have_webp_hdr=yes -fi + SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS" + have_joystick=yes + fi + CFLAGS="$save_CFLAGS" + fi + ;; + esac +} +CheckClockGettime() +{ + # Check whether --enable-clock_gettime was given. +if test "${enable_clock_gettime+set}" = set; then : + enableval=$enable_clock_gettime; +else + enable_clock_gettime=yes +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WebPGetDecoderVersion in -lwebp" >&5 -$as_echo_n "checking for WebPGetDecoderVersion in -lwebp... " >&6; } -if ${ac_cv_lib_webp_WebPGetDecoderVersion+:} false; then : + if test x$enable_clock_gettime = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 +$as_echo_n "checking for clock_gettime in -lrt... " >&6; } +if ${ac_cv_lib_rt_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lwebp -lm $LIBS" +LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13081,45 +21964,43 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char WebPGetDecoderVersion (); +char clock_gettime (); int main () { -return WebPGetDecoderVersion (); +return clock_gettime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_webp_WebPGetDecoderVersion=yes + ac_cv_lib_rt_clock_gettime=yes else - ac_cv_lib_webp_WebPGetDecoderVersion=no + ac_cv_lib_rt_clock_gettime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_webp_WebPGetDecoderVersion" >&5 -$as_echo "$ac_cv_lib_webp_WebPGetDecoderVersion" >&6; } -if test "x$ac_cv_lib_webp_WebPGetDecoderVersion" = xyes; then : - have_webp_lib=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 +$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } +if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : + have_clock_gettime=yes fi + if test x$have_clock_gettime = xyes; then -elif test $pkg_failed = untried; then - ac_fn_c_check_header_mongrel "$LINENO" "webp/decode.h" "ac_cv_header_webp_decode_h" "$ac_includes_default" -if test "x$ac_cv_header_webp_decode_h" = xyes; then : - have_webp_hdr=yes -fi - +$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WebPGetDecoderVersion in -lwebp" >&5 -$as_echo_n "checking for WebPGetDecoderVersion in -lwebp... " >&6; } -if ${ac_cv_lib_webp_WebPGetDecoderVersion+:} false; then : + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lc" >&5 +$as_echo_n "checking for clock_gettime in -lc... " >&6; } +if ${ac_cv_lib_c_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lwebp -lm $LIBS" +LIBS="-lc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13129,171 +22010,770 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char WebPGetDecoderVersion (); +char clock_gettime (); int main () { -return WebPGetDecoderVersion (); +return clock_gettime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_webp_WebPGetDecoderVersion=yes + ac_cv_lib_c_clock_gettime=yes else - ac_cv_lib_webp_WebPGetDecoderVersion=no + ac_cv_lib_c_clock_gettime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_webp_WebPGetDecoderVersion" >&5 -$as_echo "$ac_cv_lib_webp_WebPGetDecoderVersion" >&6; } -if test "x$ac_cv_lib_webp_WebPGetDecoderVersion" = xyes; then : - have_webp_lib=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_clock_gettime" >&5 +$as_echo "$ac_cv_lib_c_clock_gettime" >&6; } +if test "x$ac_cv_lib_c_clock_gettime" = xyes; then : + have_clock_gettime=yes fi + if test x$have_clock_gettime = xyes; then -else - LIBWEBP_CFLAGS=$pkg_cv_LIBWEBP_CFLAGS - LIBWEBP_LIBS=$pkg_cv_LIBWEBP_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_webp_hdr=yes - CFLAGS="$LIBWEBP_CFLAGS $CFLAGS" - have_webp_lib=yes +$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + + EXTRA_LDFLAGS="$EXTRA_LDFLAGS" + fi + fi + fi +} + +CheckLinuxVersion() +{ + ac_fn_c_check_header_mongrel "$LINENO" "linux/version.h" "ac_cv_header_linux_version_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_version_h" = xyes; then : + have_linux_version_h=yes +fi + + + if test x$have_linux_version_h = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H" + fi +} +CheckRPATH() +{ + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; +else + enable_rpath=yes fi - if test x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then - $as_echo "#define LOAD_WEBP 1" >>confdefs.h +} +case "$host" in + *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*) case "$host" in - *-*-darwin*) - webp_lib=`find_lib libwebp.dylib` - ;; - *-*-cygwin* | *-*-mingw32*) - webp_lib=`find_lib "libwebp*.dll"` - ;; - *) - webp_lib=`find_lib "libwebp[0-9]*.so.*"` - if test x$webp_lib = x; then - webp_lib=`find_lib "libwebp.so.*"` + *-raspberry-linux*) + # Raspberry Pi + ARCH=linux + RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" + RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host" + CFLAGS="$CFLAGS $RPI_CFLAGS" + SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS" + EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS" + SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS" + + if test x$enable_video = xyes; then + SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c" + $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h fi ;; + *-*-linux*) ARCH=linux ;; + *-*-uclinux*) ARCH=linux ;; + *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;; + *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;; + *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;; + *-*-gnu*) ARCH=gnu ;; # must be last of the gnu variants + *-*-bsdi*) ARCH=bsdi ;; + *-*-freebsd*) ARCH=freebsd ;; + *-*-dragonfly*) ARCH=freebsd ;; + *-*-netbsd*) ARCH=netbsd ;; + *-*-openbsd*) ARCH=openbsd ;; + *-*-sysv5*) ARCH=sysv5 ;; + *-*-solaris*) ARCH=solaris ;; + *-*-hpux*) ARCH=hpux ;; + *-*-aix*) ARCH=aix ;; + *-*-minix*) ARCH=minix ;; esac - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Unable to find WEBP library (http://code.google.com/intl/en-US/speed/webp/index.html)" >&5 -$as_echo "$as_me: WARNING: *** Unable to find WEBP library (http://code.google.com/intl/en-US/speed/webp/index.html)" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: WEBP Pimage loading disabled" >&5 -$as_echo "$as_me: WARNING: WEBP Pimage loading disabled" >&2;} - fi -fi + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckOSS + CheckALSA + CheckPulseAudio + CheckARTSC + CheckESD + CheckNAS + CheckSNDIO + CheckX11 + CheckDirectFB + CheckFusionSound + CheckOpenGLX11 + CheckOpenGLESX11 + CheckLibUDev + CheckDBus + CheckInputEvents + CheckInputKD + CheckTslib + CheckUSBHID + CheckPTHREAD + CheckClockGettime + CheckLinuxVersion + CheckRPATH + # Set up files for the audio library + if test x$enable_audio = xyes; then + case $ARCH in + sysv5|solaris|hpux) + +$as_echo "#define SDL_AUDIO_DRIVER_SUNAUDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/sun/*.c" + have_audio=yes + ;; + netbsd) # Don't use this on OpenBSD, it's busted. + +$as_echo "#define SDL_AUDIO_DRIVER_BSD 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c" + have_audio=yes + ;; + aix) + +$as_echo "#define SDL_AUDIO_DRIVER_PAUDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c" + have_audio=yes + ;; + esac + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + case $ARCH in + linux) -if test x$enable_bmp = xyes; then - $as_echo "#define LOAD_BMP 1" >>confdefs.h +$as_echo "#define SDL_JOYSTICK_LINUX 1" >>confdefs.h -fi + SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c" + have_joystick=yes + ;; + esac + fi + # Set up files for the haptic library + if test x$enable_haptic = xyes; then + if test x$use_input_events = xyes; then + case $ARCH in + linux) + +$as_echo "#define SDL_HAPTIC_LINUX 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/haptic/linux/*.c" + have_haptic=yes + ;; + esac + fi + fi + # Set up files for the power library + if test x$enable_power = xyes; then + case $ARCH in + linux) -if test x$enable_gif = xyes; then - $as_echo "#define LOAD_GIF 1" >>confdefs.h +$as_echo "#define SDL_POWER_LINUX 1" >>confdefs.h -fi + SOURCES="$SOURCES $srcdir/src/power/linux/*.c" + have_power=yes + ;; + esac + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then -if test x$enable_lbm = xyes; then - $as_echo "#define LOAD_LBM 1" >>confdefs.h +$as_echo "#define SDL_FILESYSTEM_UNIX 1" >>confdefs.h -fi + SOURCES="$SOURCES $srcdir/src/filesystem/unix/*.c" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then -if test x$enable_pcx = xyes; then - $as_echo "#define LOAD_PCX 1" >>confdefs.h +$as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h -fi + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up files for udev hotplugging support + if test x$enable_libudev = xyes && test x$have_libudev_h_hdr = xyes; then + SOURCES="$SOURCES $srcdir/src/core/linux/SDL_udev.c" + fi + # Set up files for evdev input + if test x$use_input_events = xyes; then + SOURCES="$SOURCES $srcdir/src/input/evdev/*.c" + fi + ;; + *-*-cygwin* | *-*-mingw32*) + ARCH=win32 + if test "$build" != "$host"; then # cross-compiling + # Default cross-compile location + ac_default_prefix=/usr/local/cross-tools/$host + else + # Look for the location of the tools and install there + if test "$BUILD_PREFIX" != ""; then + ac_default_prefix=$BUILD_PREFIX + fi + fi + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckWINDOWS + CheckWINDOWSGL + CheckDIRECTX -if test x$enable_pnm = xyes; then - $as_echo "#define LOAD_PNM 1" >>confdefs.h + # Set up the core platform files + SOURCES="$SOURCES $srcdir/src/core/windows/*.c" -fi + # Set up files for the video library + if test x$enable_video = xyes; then -if test x$enable_tga = xyes; then - $as_echo "#define LOAD_TGA 1" >>confdefs.h +$as_echo "#define SDL_VIDEO_DRIVER_WINDOWS 1" >>confdefs.h + SOURCES="$SOURCES $srcdir/src/video/windows/*.c" + have_video=yes + # Check whether --enable-render-d3d was given. +if test "${enable_render_d3d+set}" = set; then : + enableval=$enable_render_d3d; +else + enable_render_d3d=yes fi -if test x$enable_xcf = xyes; then - $as_echo "#define LOAD_XCF 1" >>confdefs.h + if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then + +$as_echo "#define SDL_VIDEO_RENDER_D3D 1" >>confdefs.h + + fi + fi + # Set up files for the audio library + if test x$enable_audio = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_WINMM 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/winmm/*.c" + if test x$have_dsound = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_DSOUND 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/directsound/*.c" + fi + if test x$have_xaudio2 = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_XAUDIO2 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c" + fi + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + if test x$have_dinput = xyes; then + +$as_echo "#define SDL_JOYSTICK_DINPUT 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_dxjoystick.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldinput8 -ldxguid -ldxerr8" + else + +$as_echo "#define SDL_JOYSTICK_WINMM 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_mmjoystick.c" + fi + have_joystick=yes + fi + if test x$enable_haptic = xyes; then + if test x$have_dinput = xyes; then + +$as_echo "#define SDL_HAPTIC_DINPUT 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/haptic/windows/SDL_syshaptic.c" + have_haptic=yes + fi + fi + if test x$enable_power = xyes; then + +$as_echo "#define SDL_POWER_WINDOWS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/power/windows/SDL_syspower.c" + have_power=yes + fi + if test x$enable_filesystem = xyes; then + +$as_echo "#define SDL_FILESYSTEM_WINDOWS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/filesystem/windows/SDL_sysfilesystem.c" + have_filesystem=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + +$as_echo "#define SDL_THREAD_WINDOWS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/thread/windows/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" + have_threads=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + +$as_echo "#define SDL_TIMER_WINDOWS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/timer/windows/*.c" + have_timers=yes + fi + # Set up files for the shared object loading library + if test x$enable_loadso = xyes; then + +$as_echo "#define SDL_LOADSO_WINDOWS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/loadso/windows/*.c" + have_loadso=yes + fi + # Set up the system libraries we need + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid -XCClinker -static-libgcc" + # The Windows platform requires special setup + VERSION_SOURCES="$srcdir/src/main/windows/*.rc" + SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c" + SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" + SDL_LIBS="-lSDL2main $SDL_LIBS -mwindows" + + # Check to see if this is a mingw or cygwin build + have_mingw32= + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmingw32" >&5 +$as_echo_n "checking for main in -lmingw32... " >&6; } +if ${ac_cv_lib_mingw32_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmingw32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_mingw32_main=yes +else + ac_cv_lib_mingw32_main=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mingw32_main" >&5 +$as_echo "$ac_cv_lib_mingw32_main" >&6; } +if test "x$ac_cv_lib_mingw32_main" = xyes; then : + have_mingw32=yes +fi + + if test x$have_mingw32 = xyes; then + SDL_LIBS="-lmingw32 $SDL_LIBS" + else + SDL_LIBS="-lcygwin $SDL_LIBS" + fi + ;; + *-*-beos* | *-*-haiku*) + ARCH=beos + ac_default_prefix=/boot/common + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckBWINDOW + CheckBeGL + # Set up files for the audio library + if test x$enable_audio = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_BEOSAUDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + +$as_echo "#define SDL_JOYSTICK_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc" + have_joystick=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + +$as_echo "#define SDL_THREAD_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/thread/beos/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" + have_threads=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + +$as_echo "#define SDL_TIMER_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/timer/beos/*.c" + have_timers=yes + fi + # Set up files for the shared object loading library + if test x$enable_loadso = xyes; then + +$as_echo "#define SDL_LOADSO_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" + have_loadso=yes + fi + # Set up files for the system power library + if test x$enable_power = xyes; then + +$as_echo "#define SDL_POWER_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/power/beos/*.c" + have_power=yes + fi + # Set up files for the system filesystem library + if test x$enable_filesystem = xyes; then + +$as_echo "#define SDL_FILESYSTEM_BEOS 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/filesystem/beos/*.cc" + have_filesystem=yes + fi + # The BeOS platform requires special setup. + SOURCES="$srcdir/src/main/beos/*.cc $SOURCES" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding" + ;; + arm*-apple-darwin*) + # iOS - We are not writing anything to confdefs.h because you have to replace + # SDL_config.h for SDL_config_iphoneos.h anyway + ARCH=ios + + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckCOCOA + CheckPTHREAD + + + # Set up files for the audio library + if test x$enable_audio = xyes; then + SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m" + have_joystick=yes + fi + # Set up files for the haptic library + #if test x$enable_haptic = xyes; then + # SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c" + # have_haptic=yes + # EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback" + #fi + # Set up files for the power library + if test x$enable_power = xyes; then + SOURCES="$SOURCES $srcdir/src/power/uikit/*.m" + have_power=yes + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then + SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up additional files for the file library + if test x$enable_file = xyes; then + SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m" + fi + # The iOS platform requires special setup. + SOURCES="$SOURCES $srcdir/src/video/uikit/*.m" + EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm -liconv -lobjc" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreGraphics" + ;; + *-*-darwin* ) + # This could be either full "Mac OS X", or plain "Darwin" which is + # just the OS X kernel sans upper layers like Carbon and Cocoa. + # Next line is broken, and a few files below require Mac OS X (full) + ARCH=macosx + + # Mac OS X builds with both the Carbon and OSX APIs at the moment + EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX" + + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckCOCOA + CheckX11 + CheckMacGL + CheckOpenGLX11 + CheckPTHREAD + + # Good optimization on Mac OS X, yes... + EXTRA_CFLAGS="$EXTRA_CFLAGS -falign-loops=16" + + # Need this or things might misbuild on a G3. + EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL" + + # Set up files for the audio library + if test x$enable_audio = xyes; then + +$as_echo "#define SDL_AUDIO_DRIVER_COREAUDIO 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + +$as_echo "#define SDL_JOYSTICK_IOKIT 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c" + have_joystick=yes + fi + # Set up files for the haptic library + if test x$enable_haptic = xyes; then -if test x$enable_xpm = xyes; then - $as_echo "#define LOAD_XPM 1" >>confdefs.h +$as_echo "#define SDL_HAPTIC_IOKIT 1" >>confdefs.h + SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c" + have_haptic=yes + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback" + fi + # Set up files for the power library + if test x$enable_power = xyes; then + +$as_echo "#define SDL_POWER_MACOSX 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/power/macosx/*.c" + have_power=yes + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then + +$as_echo "#define SDL_FILESYSTEM_COCOA 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + +$as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h + + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up additional files for the file library + if test x$enable_file = xyes; then + SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m" + fi + # The Mac OS X platform requires special setup. + EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit" + # If audio is used, add the AudioUnit framework + if test x$enable_audio = xyes; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit" + fi + ;; + *) + as_fn_error $? " +*** Unsupported host: Please add to configure.in + " "$LINENO" 5 + ;; +esac + +CheckWarnAll + +# Verify that we have all the platform specific files we need + +if test x$have_joystick != xyes; then + if test x$enable_joystick = xyes; then + +$as_echo "#define SDL_JOYSTICK_DISABLED 1" >>confdefs.h + + fi + SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c" fi +if test x$have_haptic != xyes; then + if test x$enable_haptic = xyes; then -if test x$enable_xv = xyes; then - $as_echo "#define LOAD_XV 1" >>confdefs.h +$as_echo "#define SDL_HAPTIC_DISABLED 1" >>confdefs.h + fi + SOURCES="$SOURCES $srcdir/src/haptic/dummy/*.c" fi +if test x$have_threads != xyes; then + if test x$enable_threads = xyes; then -if test x$enable_webp = xyes -a x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then - if test x$enable_webp_shared = xyes && test x$webp_lib != x; then - echo "-- dynamic libwebp -> $webp_lib" - cat >>confdefs.h <<_ACEOF -#define LOAD_WEBP_DYNAMIC "$webp_lib" -_ACEOF +$as_echo "#define SDL_THREADS_DISABLED 1" >>confdefs.h - else - IMG_LIBS="-lwebp $IMG_LIBS" fi + SOURCES="$SOURCES $srcdir/src/thread/generic/*.c" fi +if test x$have_timers != xyes; then + if test x$enable_timers = xyes; then -if test x$enable_tif = xyes -a x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then - if test x$enable_tif_shared = xyes && test x$tif_lib != x; then - echo "-- dynamic libtiff -> $tif_lib" - cat >>confdefs.h <<_ACEOF -#define LOAD_TIF_DYNAMIC "$tif_lib" -_ACEOF +$as_echo "#define SDL_TIMERS_DISABLED 1" >>confdefs.h - else - if test x$have_libjpeg = xyes; then - # Disable dynamic jpeg since we're linking it explicitly - jpg_lib='' - fi - IMG_LIBS="-ltiff -lz $IMG_LIBS" fi + SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c" fi -if test x$enable_jpg = xyes -a x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then - if test x$enable_jpg_shared = xyes && test x$jpg_lib != x; then - echo "-- dynamic libjpeg -> $jpg_lib" - cat >>confdefs.h <<_ACEOF -#define LOAD_JPG_DYNAMIC "$jpg_lib" -_ACEOF +if test x$have_filesystem != xyes; then + if test x$enable_filesystem = xyes; then + +$as_echo "#define SDL_FILESYSTEM_DISABLED 1" >>confdefs.h - else - IMG_LIBS="-ljpeg $IMG_LIBS" fi + SOURCES="$SOURCES $srcdir/src/filesystem/dummy/*.c" fi -if test x$enable_png = xyes -a x$have_png_hdr = xyes -a x$have_png_lib = xyes; then - if test x$enable_png_shared = xyes && test x$png_lib != x; then - echo "-- dynamic libpng -> $png_lib" - cat >>confdefs.h <<_ACEOF -#define LOAD_PNG_DYNAMIC "$png_lib" -_ACEOF +if test x$have_loadso != xyes; then + if test x$enable_loadso = xyes; then + +$as_echo "#define SDL_LOADSO_DISABLED 1" >>confdefs.h - else - IMG_LIBS="-lpng -lz $IMG_LIBS" fi + SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c" +fi +if test x$SDLMAIN_SOURCES = x; then + SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c" +fi +SDLTEST_SOURCES="$srcdir/src/test/*.c" + +OBJECTS=`echo $SOURCES` +DEPENDS=`echo $SOURCES | tr ' ' '\n'` +for EXT in asm cc m c S; do + OBJECTS=`echo "$OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.'$EXT',$(objects)/\1.lo,g'` + DEPENDS=`echo "$DEPENDS" | sed "s,^\\([^ ]*\\)/\\([^ ]*\\)\\.$EXT\\$,\\\\ +\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` +done + +VERSION_OBJECTS=`echo $VERSION_SOURCES` +VERSION_DEPENDS=`echo $VERSION_SOURCES` +VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.rc,$(objects)/\1.o,g'` +VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.rc,\\\\ +\\$(objects)/\\2.o: \\1/\\2.rc\\\\ + \\$(WINDRES) \\$< \\$@,g"` + +SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` +SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES` +SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.o,g'` +SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.c,\\\\ +\\$(objects)/\\2.o: \\1/\\2.c\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + +SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES` +SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES` +SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.o,g'` +SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.c,\\\\ +\\$(objects)/\\2.o: \\1/\\2.c\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + +# Set runtime shared library paths as needed + +if test "x$enable_rpath" = "xyes"; then + if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then + SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}" + fi + if test $ARCH = solaris; then + SDL_RLD_FLAGS="-R\${libdir}" + fi +else + SDL_RLD_FLAGS="" +fi + +SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS" + + + + + +if test x$enable_shared = xyes; then + ENABLE_SHARED_TRUE= + ENABLE_SHARED_FALSE="#" +else + ENABLE_SHARED_TRUE="#" + ENABLE_SHARED_FALSE= +fi +if test x$enable_static = xyes; then + ENABLE_STATIC_TRUE= + ENABLE_STATIC_FALSE="#" +else + ENABLE_STATIC_TRUE="#" + ENABLE_STATIC_FALSE= fi -LIBS="$saved_LIBS" -OBJCFLAGS=$CFLAGS -# Finally create all the generated files -ac_config_files="$ac_config_files Makefile SDL2_image.spec SDL2_image.pc" + + + + + + + + + + + +cat >Makefile.rules <<__EOF__ + +# Build rules for objects +-include \$(OBJECTS:.lo=.d) + +# Special dependency for SDL.c, since it depends on SDL_revision.h +$srcdir/src/SDL.c: update-revision +$DEPENDS +$VERSION_DEPENDS +$SDLMAIN_DEPENDS +$SDLTEST_DEPENDS +__EOF__ + +ac_config_files="$ac_config_files Makefile:Makefile.in:Makefile.rules sdl2-config SDL2.spec sdl2.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -13385,43 +22865,7 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - +DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= @@ -13440,42 +22884,6 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_IMAGEIO_TRUE}" && test -z "${USE_IMAGEIO_FALSE}"; then - as_fn_error $? "conditional \"USE_IMAGEIO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_VERSION_RC_TRUE}" && test -z "${USE_VERSION_RC_FALSE}"; then - as_fn_error $? "conditional \"USE_VERSION_RC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -13891,11 +23299,15 @@ case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" +config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF @@ -13917,10 +23329,15 @@ Usage: $0 [OPTION]... [TAG]... --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE Configuration files: $config_files +Configuration headers: +$config_headers + Configuration commands: $config_commands @@ -13941,7 +23358,6 @@ gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF @@ -13987,7 +23403,18 @@ do esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) @@ -14047,133 +23474,212 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + # Quote evaled strings. -for var in SED \ +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ GREP \ EGREP \ FGREP \ @@ -14185,8 +23691,12 @@ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ +archiver_list_spec \ STRIP \ RANLIB \ CC \ @@ -14196,14 +23706,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ +nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ lt_prog_compiler_pic \ +lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ +MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ @@ -14217,9 +23727,7 @@ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ -fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ @@ -14227,12 +23735,44 @@ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ +install_override_mode \ finish_eval \ old_striplib \ -striplib; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -14254,14 +23794,26 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ +postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +sys_lib_dlsearch_path_spec \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -14269,12 +23821,6 @@ sys_lib_dlsearch_path_spec; do esac done -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' @@ -14294,7 +23840,8 @@ fi -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + _ACEOF @@ -14304,11 +23851,12 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in + "include/SDL_config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/SDL_config.h" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "SDL2_image.spec") CONFIG_FILES="$CONFIG_FILES SDL2_image.spec" ;; - "SDL2_image.pc") CONFIG_FILES="$CONFIG_FILES SDL2_image.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:Makefile.in:Makefile.rules" ;; + "sdl2-config") CONFIG_FILES="$CONFIG_FILES sdl2-config" ;; + "SDL2.spec") CONFIG_FILES="$CONFIG_FILES SDL2.spec" ;; + "sdl2.pc") CONFIG_FILES="$CONFIG_FILES sdl2.pc" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -14321,6 +23869,7 @@ done # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi @@ -14509,8 +24058,116 @@ fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + -eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do @@ -14648,11 +24305,6 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -14707,7 +24359,6 @@ s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ @@ -14729,7 +24380,30 @@ which seems to be undefined. Please make sure it is defined" >&2;} esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} @@ -14759,7 +24433,8 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -14787,7 +24462,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # The names of the tagged configurations supported by this script. -available_tags="" +available_tags="CXX " # ### BEGIN LIBTOOL CONFIG @@ -14796,13 +24471,13 @@ macro_version=$macro_version macro_revision=$macro_revision # Assembler program. -AS=$AS +AS=$lt_AS # DLL creation program. -DLLTOOL=$DLLTOOL +DLLTOOL=$lt_DLLTOOL # Object dumper program. -OBJDUMP=$OBJDUMP +OBJDUMP=$lt_OBJDUMP # Whether or not to build shared libraries. build_libtool_libs=$enable_shared @@ -14816,6 +24491,15 @@ pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + # The host system. host_alias=$host_alias host=$host @@ -14865,20 +24549,36 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == "file_magic". +# Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + # The archiver. AR=$lt_AR + +# Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + # A symbol stripping program. STRIP=$lt_STRIP @@ -14887,6 +24587,9 @@ RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + # A C compiler. LTCC=$lt_CC @@ -14905,14 +24608,14 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix -# The name of the directory that contains temporary libtool files. -objdir=$objdir +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL +# The root where to search for dependent libraries,and in which our libraries should be installed. +lt_sysroot=$lt_sysroot -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO +# The name of the directory that contains temporary libtool files. +objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD @@ -14920,6 +24623,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL @@ -14976,6 +24682,9 @@ library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds @@ -15015,6 +24724,10 @@ striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds @@ -15027,12 +24740,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static @@ -15082,10 +24795,6 @@ no_undefined_flag=$lt_no_undefined_flag # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator @@ -15119,9 +24828,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols @@ -15137,12 +24843,29 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + # ### END LIBTOOL CONFIG _LT_EOF @@ -15169,308 +24892,325 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + if test x"$xsi_shell" = xyes; then + sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ +func_dirname ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_basename ()$/,/^} # func_basename /c\ +func_basename ()\ +{\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ +func_dirname_and_basename ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ +func_stripname ()\ +{\ +\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ +\ # positional parameters, so assign one to ordinary parameter first.\ +\ func_stripname_result=${3}\ +\ func_stripname_result=${func_stripname_result#"${1}"}\ +\ func_stripname_result=${func_stripname_result%"${2}"}\ +} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ +func_split_long_opt ()\ +{\ +\ func_split_long_opt_name=${1%%=*}\ +\ func_split_long_opt_arg=${1#*=}\ +} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ +func_split_short_opt ()\ +{\ +\ func_split_short_opt_arg=${1#??}\ +\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ +} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ +func_lo2o ()\ +{\ +\ case ${1} in\ +\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ +\ *) func_lo2o_result=${1} ;;\ +\ esac\ +} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_xform ()$/,/^} # func_xform /c\ +func_xform ()\ +{\ + func_xform_result=${1%.*}.lo\ +} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_arith ()$/,/^} # func_arith /c\ +func_arith ()\ +{\ + func_arith_result=$(( $* ))\ +} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_len ()$/,/^} # func_len /c\ +func_len ()\ +{\ + func_len_result=${#1}\ +} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + +fi + +if test x"$lt_shell_append" = xyes; then + sed -e '/^func_append ()$/,/^} # func_append /c\ +func_append ()\ +{\ + eval "${1}+=\\${2}"\ +} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ +func_append_quoted ()\ +{\ +\ func_quote_for_eval "${2}"\ +\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ +} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 +$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} +fi + + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} + cat <<_LT_EOF >> "$ofile" -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} +# ### BEGIN LIBTOOL TAG CONFIG: CXX -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} +# The linker used to build libraries. +LD=$lt_LD_CXX -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} +# A language specific compiler. +CC=$lt_compiler_CXX -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX -_LT_EOF -esac +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX -_LT_EOF - ;; - esac +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF - ;; - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} ;; esac @@ -15510,3 +25250,4 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi +chmod a+x sdl2-config diff --git a/src/SDL2/configure.in b/src/SDL2/configure.in index e0d7aa559..5c56f0080 100644 --- a/src/SDL2/configure.in +++ b/src/SDL2/configure.in @@ -1,37 +1,45 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(README.txt) +AC_CONFIG_HEADER(include/SDL_config.h) +AC_CONFIG_AUX_DIR(build-scripts) +AC_CONFIG_MACRO_DIR([acinclude]) -dnl Set various version strings - taken gratefully from the GTk sources +dnl Save the CFLAGS to see whether they were passed in or generated +orig_CFLAGS="$CFLAGS" +dnl Set various version strings - taken gratefully from the GTk sources +# # Making releases: -# MICRO_VERSION += 1; -# INTERFACE_AGE += 1; -# BINARY_AGE += 1; -# if any functions have been added, set INTERFACE_AGE to 0. +# Edit include/SDL_version.h and change the version, then: +# SDL_MICRO_VERSION += 1; +# SDL_INTERFACE_AGE += 1; +# SDL_BINARY_AGE += 1; +# if any functions have been added, set SDL_INTERFACE_AGE to 0. # if backwards compatibility has been broken, -# set BINARY_AGE and INTERFACE_AGE to 0. - -MAJOR_VERSION=2 -MINOR_VERSION=0 -MICRO_VERSION=0 -INTERFACE_AGE=0 -BINARY_AGE=0 -VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION - -AC_SUBST(MAJOR_VERSION) -AC_SUBST(MINOR_VERSION) -AC_SUBST(MICRO_VERSION) -AC_SUBST(INTERFACE_AGE) -AC_SUBST(BINARY_AGE) -AC_SUBST(VERSION) +# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0. +# +SDL_MAJOR_VERSION=2 +SDL_MINOR_VERSION=0 +SDL_MICRO_VERSION=1 +SDL_INTERFACE_AGE=0 +SDL_BINARY_AGE=1 +SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION + +AC_SUBST(SDL_MAJOR_VERSION) +AC_SUBST(SDL_MINOR_VERSION) +AC_SUBST(SDL_MICRO_VERSION) +AC_SUBST(SDL_INTERFACE_AGE) +AC_SUBST(SDL_BINARY_AGE) +AC_SUBST(SDL_VERSION) # libtool versioning LT_INIT([win32-dll]) -LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION -LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE` -LT_REVISION=$INTERFACE_AGE -LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE` +LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION +LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE` +LT_REVISION=$SDL_INTERFACE_AGE +LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE` +m4_pattern_allow([^LT_]) AC_SUBST(LT_RELEASE) AC_SUBST(LT_CURRENT) @@ -39,55 +47,86 @@ AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) dnl Detect the canonical build and host environments -AC_CANONICAL_HOST - -dnl Setup for automake -AM_INIT_AUTOMAKE(SDL2_image, $VERSION) +dnl AC_CANONICAL_HOST dnl Check for tools AC_PROG_LIBTOOL AC_PROG_CC -AC_PROG_OBJC -AC_C_INLINE +AC_PROG_CXX AC_PROG_INSTALL AC_PROG_MAKE_SET -if test -z "$host_alias"; then - hostaliaswindres= -else - hostaliaswindres="$host_alias-windres" -fi -AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres]) +AC_CHECK_TOOL(WINDRES, [windres], [:]) +dnl Make sure that srcdir is a full pathname case "$host" in - *-*-beos*) - ac_default_prefix=/boot/develop/tools/gnupro + *-*-mingw32*) + # Except on msys, where make can't handle full pathnames (bug 1972) ;; - *-*-cygwin* | *-*-mingw32*) - if test "$build" != "$host"; then # cross-compiling - # Default cross-compile location - ac_default_prefix=/usr/local/cross-tools/i386-mingw32 - else - # Look for the location of the tools and install there - if test "$BUILD_PREFIX" != ""; then - ac_default_prefix=$BUILD_PREFIX - fi - fi - if test x$WINDRES != x; then - use_version_rc=true - fi + *) + srcdir=`cd $srcdir && pwd` ;; - *-*-darwin*) - AC_ARG_ENABLE([imageio], [AC_HELP_STRING([--enable-imageio], [use native Mac OS X frameworks for loading images [default=yes]])], - [], [enable_imageio=yes]) - if test x$enable_imageio = xyes; then - IMG_LIBS="-Wl,-framework,ApplicationServices $IMG_LIBS" - else - CFLAGS="$CFLAGS -DSDL_IMAGE_USE_COMMON_BACKEND" +esac + +dnl Set up the compiler and linker flags +INCLUDE="-I$srcdir/include" +if test x$srcdir != x.; then + INCLUDE="-Iinclude $INCLUDE" +elif test -d .hg; then + AC_MSG_ERROR([ +*** When building from Mercurial you should configure and build in a + separate directory so you don't clobber SDL_config.h, SDL_revision.h +]) +fi +BASE_CFLAGS="" +BASE_LDFLAGS="" +case "$host" in + *-*-cygwin*) + # We build SDL on cygwin without the UNIX emulation layer + save_CFLAGS="$CFLAGS" + have_no_cygwin=no + AC_MSG_CHECKING(for GCC -mno-cygwin option) + CFLAGS="$save_CFLAGS -mno-cygwin" + + AC_TRY_COMPILE([ + ],[ + ],[ + have_no_cygwin=yes + ]) + AC_MSG_RESULT($have_no_cygwin) + CFLAGS="$save_CFLAGS" + + if test x$have_no_cygwin = xyes; then + BASE_CFLAGS="-mno-cygwin" + BASE_LDFLAGS="-mno-cygwin" fi + BASE_CFLAGS="$BASE_CFLAGS -I/usr/include/mingw" ;; esac -AM_CONDITIONAL(USE_IMAGEIO, test x$enable_imageio = xyes) -AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) +# Uncomment the following line if you want to force SDL and applications +# built with it to be compiled for a particular architecture. +#AX_GCC_ARCHFLAG([no], [BASE_CFLAGS="$BASE_CFLAGS $ax_cv_gcc_archflag]") +BUILD_CFLAGS="$CFLAGS $CPPFLAGS -DUSING_GENERATED_CONFIG_H" +# The default optimization for SDL is -O3 (Bug #31) +if test "x$orig_CFLAGS" = x; then + BUILD_CFLAGS=`echo $BUILD_CFLAGS | sed 's/-O2/-O3/'` +fi +EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS" +BUILD_LDFLAGS="$LDFLAGS" +EXTRA_LDFLAGS="$BASE_LDFLAGS" +## These are common directories to find software packages +#for path in /usr/freeware /usr/pkg /usr/X11R6 /usr/local; do +# if test -d $path/include; then +# EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include" +# fi +# if test -d $path/lib; then +# EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib" +# fi +#done +SDL_CFLAGS="$BASE_CFLAGS" +SDL_LIBS="-lSDL2 $BASE_LDFLAGS" +CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS" +CFLAGS="$CFLAGS $EXTRA_CFLAGS" +LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS" dnl set this to use on systems that use lib64 instead of lib base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'` @@ -112,260 +151,2814 @@ find_lib() done } -dnl Check for SDL -SDL_VERSION=2.0.0 -AC_SUBST(SDL_VERSION) -AM_PATH_SDL2($SDL_VERSION, - :, - AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) -) -CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS $SDL_LIBS" -saved_LIBS="$LIBS" - -dnl Check command-line options -AC_ARG_ENABLE([bmp], [AC_HELP_STRING([--enable-bmp], [support loading BMP/ICO/CUR images [default=yes]])], - [], [enable_bmp=yes]) -AC_ARG_ENABLE([gif], [AC_HELP_STRING([--enable-gif], [support loading GIF images [default=yes]])], - [], [enable_gif=yes]) -AC_ARG_ENABLE([jpg], [AC_HELP_STRING([--enable-jpg], [support loading JPG images [default=yes]])], - [], [enable_jpg=yes]) -AC_ARG_ENABLE([jpg-shared], AC_HELP_STRING([--enable-jpg-shared], [dynamically load JPG support [[default=yes]]]), - [], [enable_jpg_shared=yes]) -AC_ARG_ENABLE([lbm], [AC_HELP_STRING([--enable-lbm], [support loading LBM images [default=yes]])], - [], [enable_lbm=yes]) -AC_ARG_ENABLE([pcx], [AC_HELP_STRING([--enable-pcx], [support loading PCX images [default=yes]])], - [], [enable_pcx=yes]) -AC_ARG_ENABLE([png], [AC_HELP_STRING([--enable-png], [support loading PNG images [default=yes]])], - [], [enable_png=yes]) -AC_ARG_ENABLE([png-shared], AC_HELP_STRING([--enable-png-shared], [dynamically load PNG support [[default=yes]]]), - [], [enable_png_shared=yes]) -AC_ARG_ENABLE([pnm], [AC_HELP_STRING([--enable-pnm], [support loading PNM images [default=yes]])], - [], [enable_pnm=yes]) -AC_ARG_ENABLE([tga], [AC_HELP_STRING([--enable-tga], [support loading TGA images [default=yes]])], - [], [enable_tga=yes]) -AC_ARG_ENABLE([tif], [AC_HELP_STRING([--enable-tif], [support loading TIFF images [default=yes]])], - [], [enable_tif=yes]) -AC_ARG_ENABLE([tif-shared], AC_HELP_STRING([--enable-tif-shared], [dynamically load TIFF support [[default=yes]]]), - [], [enable_tif_shared=yes]) -AC_ARG_ENABLE([xcf], [AC_HELP_STRING([--enable-xcf], [support loading XCF images [default=yes]])], - [], [enable_xcf=yes]) -AC_ARG_ENABLE([xpm], [AC_HELP_STRING([--enable-xpm], [support loading XPM images [default=yes]])], - [], [enable_xpm=yes]) -AC_ARG_ENABLE([xv], [AC_HELP_STRING([--enable-xv], [support loading XV images [default=yes]])], - [], [enable_xv=yes]) -AC_ARG_ENABLE([webp], [AC_HELP_STRING([--enable-webp], [support loading WEBP images [default=yes]])], - [], [enable_webp=yes]) -AC_ARG_ENABLE([webp-shared], AC_HELP_STRING([--enable-webp-shared], [dynamically load WEBP support [[default=yes]]]), - [], [enable_webp_shared=yes]) - -dnl Show a message when we use ImageIO support so it's not a surprise -AC_MSG_CHECKING([for ImageIO support]) -AC_MSG_RESULT($enable_imageio) - -if (test x$enable_jpg = xyes || test x$enable_tif = xyes) && test x$enable_imageio != xyes; then - AC_CHECK_HEADER([jpeglib.h], [have_jpg_hdr=yes]) - AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [have_jpg_lib=yes]) - if test x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then - if test x$enable_jpg = xyes; then - AC_DEFINE([LOAD_JPG]) - fi - LIBS="-ljpeg $LIBS" +dnl Check for compiler characteristics +AC_C_CONST +AC_C_INLINE +AC_C_VOLATILE - case "$host" in - *-*-darwin*) - jpg_lib=[`find_lib libjpeg.dylib`] - ;; - *-*-cygwin* | *-*-mingw32*) - jpg_lib=[`find_lib "libjpeg*.dll"`] - ;; - *) - jpg_lib=[`find_lib "libjpeg[0-9]*.so.*"`] - if test x$jpg_lib = x; then - jpg_lib=[`find_lib "libjpeg.so.*"`] - fi - ;; - esac - elif test x$enable_jpg = xyes; then - AC_MSG_WARN([*** Unable to find JPEG library (http://www.ijg.org/)]) - AC_MSG_WARN([JPG image loading disabled]) +dnl See whether we want assertions for debugging/sanity checking SDL itself. +AC_ARG_ENABLE(assertions, +AC_HELP_STRING([--enable-assertions], + [Enable internal sanity checks (auto/disabled/release/enabled/paranoid) [[default=auto]]]), + , enable_assertions=auto) +case "$enable_assertions" in + auto) # Use optimization settings to determine assertion level + ;; + disabled) + AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 0, [ ]) + ;; + release) + AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 1, [ ]) + ;; + enabled) + AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 2, [ ]) + ;; + paranoid) + AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 3, [ ]) + ;; + *) + AC_MSG_ERROR([*** unknown assertion level. stop.]) + ;; +esac + +dnl See whether we can use gcc style dependency tracking +AC_ARG_ENABLE(dependency-tracking, +AC_HELP_STRING([--enable-dependency-tracking], + [Use gcc -MMD -MT dependency tracking [[default=yes]]]), + , enable_dependency_tracking=yes) +if test x$enable_dependency_tracking = xyes; then + have_gcc_mmd_mt=no + AC_MSG_CHECKING(for GCC -MMD -MT option) + AC_TRY_COMPILE([ + #if !defined(__GNUC__) || __GNUC__ < 3 + #error Dependency tracking requires GCC 3.0 or newer + #endif + ],[ + ],[ + have_gcc_mmd_mt=yes + ]) + AC_MSG_RESULT($have_gcc_mmd_mt) + + if test x$have_gcc_mmd_mt = xyes; then + DEPENDENCY_TRACKING_OPTIONS="-MMD -MT \$@" fi fi -if test x$enable_png = xyes -a x$enable_imageio != xyes; then - PKG_CHECK_MODULES([LIBPNG], [libpng], [dnl - have_png_hdr=yes - CFLAGS="$LIBPNG_CFLAGS $CFLAGS" - have_png_lib=yes - ], [dnl - AC_CHECK_HEADER([png.h], [have_png_hdr=yes]) - AC_CHECK_LIB([png], [png_create_read_struct], [have_png_lib=yes], [], [-lz]) - ]) - if test x$have_png_hdr = xyes -a x$have_png_lib = xyes; then - AC_DEFINE([LOAD_PNG]) +# Actually this doesn't work on OpenBSD and BeOS +#AC_MSG_CHECKING(for linker option --no-undefined) +#have_no_undefined=no +#save_LDFLAGS="$LDFLAGS" +#LDFLAGS="$LDFLAGS -Wl,--no-undefined" +#AC_TRY_LINK([ +#],[ +#],[ +#have_no_undefined=yes +#EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,--no-undefined" +#]) +#LDFLAGS="$save_LDFLAGS" +#AC_MSG_RESULT($have_no_undefined) - case "$host" in - *-*-darwin*) - png_lib=[`find_lib libpng.dylib`] - ;; - *-*-cygwin* | *-*-mingw32*) - png_lib=[`find_lib "libpng*.dll"`] - ;; - *) - png_lib=[`find_lib "libpng[0-9]*.so.*"`] - if test x$png_lib = x; then - png_lib=[`find_lib "libpng.so.*"`] - fi - ;; - esac - else - AC_MSG_WARN([*** Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)]) - AC_MSG_WARN([PNG image loading disabled]) +dnl See whether we are allowed to use the system C library +AC_ARG_ENABLE(libc, +AC_HELP_STRING([--enable-libc], [Use the system C library [[default=yes]]]), + , enable_libc=yes) +if test x$enable_libc = xyes; then + AC_DEFINE(HAVE_LIBC, 1, [ ]) + + dnl Check for C library headers + AC_HEADER_STDC + AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h) + + dnl Check for typedefs, structures, etc. + AC_TYPE_SIZE_T + + dnl Check for defines + AC_CHECK_DEFINE(M_PI, math.h) + + dnl Checks for library functions. + case "$host" in + *-*-cygwin* | *-*-mingw32*) + ;; + *) + AC_FUNC_ALLOCA + ;; + esac + + AC_FUNC_MEMCMP + if test x$ac_cv_func_memcmp_working = xyes; then + AC_DEFINE(HAVE_MEMCMP, 1, [ ]) + fi + AC_FUNC_STRTOD + if test x$ac_cv_func_strtod = xyes; then + AC_DEFINE(HAVE_STRTOD, 1, [ ]) fi + AC_CHECK_FUNC(mprotect, + AC_TRY_COMPILE([ + #include + #include + ],[ + ],[ + AC_DEFINE(HAVE_MPROTECT, 1, [ ]) + ]), + ) + AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname) + + AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"]) + AC_CHECK_FUNCS(atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt) + + AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"]) + AC_CHECK_FUNCS(iconv) + + AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE(HAVE_SA_SIGACTION)], ,[#include ]) fi -if test x$enable_tif = xyes -a x$enable_imageio != xyes; then - AC_CHECK_HEADER([tiffio.h], [have_tif_hdr=yes]) - AC_CHECK_LIB([tiff], [TIFFClientOpen], [have_tif_lib=yes], [], [-lz]) - if test x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then - AC_DEFINE([LOAD_TIF]) +dnl AC_CHECK_SIZEOF(void*) - case "$host" in - *-*-darwin*) - tif_lib=[`find_lib libtiff.dylib`] - ;; - *-*-cygwin* | *-*-mingw32*) - tif_lib=[`find_lib "libtiff-*.dll"`] - ;; - *) - tif_lib=[`find_lib "libtiff[0-9]*.so.*"`] - if test x$tif_lib = x; then - tif_lib=[`find_lib "libtiff.so.*"`] - fi - ;; - esac +dnl See whether we can use gcc atomic operations on this architecture +AC_ARG_ENABLE(gcc-atomics, +AC_HELP_STRING([--enable-gcc-atomics], + [Use gcc builtin atomics [[default=yes]]]), + , enable_gcc_atomics=yes) +if test x$enable_gcc_atomics = xyes; then + have_gcc_atomics=no + AC_MSG_CHECKING(for GCC builtin atomic operations) + AC_TRY_LINK([ + ],[ + int a; + void *x, *y, *z; + __sync_lock_test_and_set(&a, 4); + __sync_lock_test_and_set(&x, y); + __sync_fetch_and_add(&a, 1); + __sync_bool_compare_and_swap(&a, 5, 10); + __sync_bool_compare_and_swap(&x, y, z); + ],[ + have_gcc_atomics=yes + ]) + AC_MSG_RESULT($have_gcc_atomics) + + if test x$have_gcc_atomics = xyes; then + AC_DEFINE(HAVE_GCC_ATOMICS, 1, [ ]) else - AC_MSG_WARN([*** Unable to find Tiff library (http://www.remotesensing.org/libtiff/)]) - AC_MSG_WARN([TIF image loading disabled]) + # See if we have the minimum operation needed for GCC atomics + AC_TRY_LINK([ + ],[ + int a; + __sync_lock_test_and_set(&a, 1); + __sync_lock_release(&a); + ],[ + have_gcc_sync_lock_test_and_set=yes + ]) + if test x$have_gcc_sync_lock_test_and_set = xyes; then + AC_DEFINE(HAVE_GCC_SYNC_LOCK_TEST_AND_SET, 1, [ ]) + fi + fi +fi + +# Standard C sources +SOURCES="$SOURCES $srcdir/src/*.c" +SOURCES="$SOURCES $srcdir/src/atomic/*.c" +SOURCES="$SOURCES $srcdir/src/audio/*.c" +SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c" +SOURCES="$SOURCES $srcdir/src/events/*.c" +SOURCES="$SOURCES $srcdir/src/file/*.c" +SOURCES="$SOURCES $srcdir/src/haptic/*.c" +SOURCES="$SOURCES $srcdir/src/joystick/*.c" +SOURCES="$SOURCES $srcdir/src/libm/*.c" +SOURCES="$SOURCES $srcdir/src/power/*.c" +#SOURCES="$SOURCES $srcdir/src/filesystem/*.c" +SOURCES="$SOURCES $srcdir/src/render/*.c" +SOURCES="$SOURCES $srcdir/src/render/*/*.c" +SOURCES="$SOURCES $srcdir/src/stdlib/*.c" +SOURCES="$SOURCES $srcdir/src/thread/*.c" +SOURCES="$SOURCES $srcdir/src/timer/*.c" +SOURCES="$SOURCES $srcdir/src/video/*.c" + +dnl Enable/disable various subsystems of the SDL library + +AC_ARG_ENABLE(atomic, +AC_HELP_STRING([--enable-atomic], [Enable the atomic operations subsystem [[default=yes]]]), + , enable_atomic=yes) +if test x$enable_atomic != xyes; then + AC_DEFINE(SDL_ATOMIC_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(audio, +AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [[default=yes]]]), + , enable_audio=yes) +if test x$enable_audio != xyes; then + AC_DEFINE(SDL_AUDIO_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(video, +AC_HELP_STRING([--enable-video], [Enable the video subsystem [[default=yes]]]), + , enable_video=yes) +if test x$enable_video != xyes; then + AC_DEFINE(SDL_VIDEO_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(render, +AC_HELP_STRING([--enable-render], [Enable the render subsystem [[default=yes]]]), + , enable_render=yes) +if test x$enable_render != xyes; then + AC_DEFINE(SDL_RENDER_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(events, +AC_HELP_STRING([--enable-events], [Enable the events subsystem [[default=yes]]]), + , enable_events=yes) +if test x$enable_events != xyes; then + AC_DEFINE(SDL_EVENTS_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(joystick, +AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes]]]), + , enable_joystick=yes) +if test x$enable_joystick != xyes; then + AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(haptic, +AC_HELP_STRING([--enable-haptic], [Enable the haptic (force feedback) subsystem [[default=yes]]]), + , enable_haptic=yes) +if test x$enable_haptic != xyes; then + AC_DEFINE(SDL_HAPTIC_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(power, +AC_HELP_STRING([--enable-power], [Enable the power subsystem [[default=yes]]]), + , enable_power=yes) +if test x$enable_power != xyes; then + AC_DEFINE(SDL_POWER_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(filesystem, +AC_HELP_STRING([--enable-filesystem], [Enable the filesystem subsystem [[default=yes]]]), + , enable_filesystem=yes) +if test x$enable_filesystem != xyes; then + AC_DEFINE(SDL_FILESYSTEM_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(threads, +AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]), + , enable_threads=yes) +if test x$enable_threads != xyes; then + AC_DEFINE(SDL_THREADS_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(timers, +AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [[default=yes]]]), + , enable_timers=yes) +if test x$enable_timers != xyes; then + AC_DEFINE(SDL_TIMERS_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(file, +AC_HELP_STRING([--enable-file], [Enable the file subsystem [[default=yes]]]), + , enable_file=yes) +if test x$enable_file != xyes; then + AC_DEFINE(SDL_FILE_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(loadso, +AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [[default=yes]]]), + , enable_loadso=yes) +if test x$enable_loadso != xyes; then + AC_DEFINE(SDL_LOADSO_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(cpuinfo, +AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [[default=yes]]]), + , enable_cpuinfo=yes) +if test x$enable_cpuinfo != xyes; then + AC_DEFINE(SDL_CPUINFO_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(atomic, +AC_HELP_STRING([--enable-atomic], [Enable the atomic operations [[default=yes]]]), + , enable_atomic=yes) +if test x$enable_atomic != xyes; then + AC_DEFINE(SDL_ATOMIC_DISABLED, 1, [ ]) +fi +AC_ARG_ENABLE(assembly, +AC_HELP_STRING([--enable-assembly], [Enable assembly routines [[default=yes]]]), + , enable_assembly=yes) +if test x$enable_assembly = xyes; then + AC_DEFINE(SDL_ASSEMBLY_ROUTINES, 1, [ ]) + + # Make sure that we don't generate floating point code that would + # cause illegal instruction exceptions on older processors + case "$host" in + *-*-darwin*) + # Don't need to worry about Apple hardware, it's all SSE capable + default_ssemath=yes + ;; + *64-*-*) + # x86 64-bit architectures all have SSE instructions + default_ssemath=yes + ;; + *) + default_ssemath=no + ;; + esac + AC_ARG_ENABLE(ssemath, +AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=no]]]), + , enable_ssemath=$default_ssemath) + if test x$enable_ssemath = xno; then + if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387" + fi + fi + + dnl Check for various instruction support + AC_ARG_ENABLE(mmx, +AC_HELP_STRING([--enable-mmx], [use MMX assembly routines [[default=yes]]]), + , enable_mmx=yes) + if test x$enable_mmx = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_mmx=no + AC_MSG_CHECKING(for GCC -mmmx option) + mmx_CFLAGS="-mmmx" + CFLAGS="$save_CFLAGS $mmx_CFLAGS" + + AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __MMX__ + #error Assembler CPP flag not enabled + #endif + ],[ + ],[ + have_gcc_mmx=yes + ]) + AC_MSG_RESULT($have_gcc_mmx) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_mmx = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $mmx_CFLAGS" + fi + fi + + AC_ARG_ENABLE(3dnow, +AC_HELP_STRING([--enable-3dnow], [use 3DNow! assembly routines [[default=yes]]]), + , enable_3dnow=yes) + if test x$enable_3dnow = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_3dnow=no + AC_MSG_CHECKING(for GCC -m3dnow option) + amd3dnow_CFLAGS="-m3dnow" + CFLAGS="$save_CFLAGS $amd3dnow_CFLAGS" + + AC_TRY_LINK([ + #include + #ifndef __3dNOW__ + #error Assembler CPP flag not enabled + #endif + ],[ + void *p = 0; + _m_prefetch(p); + ],[ + have_gcc_3dnow=yes + ]) + AC_MSG_RESULT($have_gcc_3dnow) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_3dnow = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $amd3dnow_CFLAGS" + fi + fi + + AC_ARG_ENABLE(sse, +AC_HELP_STRING([--enable-sse], [use SSE assembly routines [[default=yes]]]), + , enable_sse=yes) + if test x$enable_sse = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_sse=no + AC_MSG_CHECKING(for GCC -msse option) + sse_CFLAGS="-msse" + CFLAGS="$save_CFLAGS $sse_CFLAGS" + + AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __SSE__ + #error Assembler CPP flag not enabled + #endif + ],[ + ],[ + have_gcc_sse=yes + ]) + AC_MSG_RESULT($have_gcc_sse) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_sse = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $sse_CFLAGS" + fi + fi + + AC_ARG_ENABLE(sse2, +AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=no]]]), + , enable_sse2=$default_ssemath) + if test x$enable_sse2 = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_sse2=no + AC_MSG_CHECKING(for GCC -msse2 option) + sse2_CFLAGS="-msse2" + CFLAGS="$save_CFLAGS $sse2_CFLAGS" + + AC_TRY_COMPILE([ + #ifdef __MINGW32__ + #include <_mingw.h> + #ifdef __MINGW64_VERSION_MAJOR + #include + #else + #include + #endif + #else + #include + #endif + #ifndef __SSE2__ + #error Assembler CPP flag not enabled + #endif + ],[ + ],[ + have_gcc_sse2=yes + ]) + AC_MSG_RESULT($have_gcc_sse2) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_sse2 = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $sse2_CFLAGS" + fi + fi + + AC_ARG_ENABLE(altivec, +AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]), + , enable_altivec=yes) + if test x$enable_altivec = xyes; then + save_CFLAGS="$CFLAGS" + have_gcc_altivec=no + have_altivec_h_hdr=no + altivec_CFLAGS="-maltivec" + CFLAGS="$save_CFLAGS $altivec_CFLAGS" + + AC_MSG_CHECKING(for Altivec with GCC altivec.h and -maltivec option) + AC_TRY_COMPILE([ + #include + vector unsigned int vzero() { + return vec_splat_u32(0); + } + ],[ + ],[ + have_gcc_altivec=yes + have_altivec_h_hdr=yes + ]) + AC_MSG_RESULT($have_gcc_altivec) + + if test x$have_gcc_altivec = xno; then + AC_MSG_CHECKING(for Altivec with GCC -maltivec option) + AC_TRY_COMPILE([ + vector unsigned int vzero() { + return vec_splat_u32(0); + } + ],[ + ],[ + have_gcc_altivec=yes + ]) + AC_MSG_RESULT($have_gcc_altivec) + fi + + if test x$have_gcc_altivec = xno; then + AC_MSG_CHECKING(for Altivec with GCC altivec.h and -faltivec option) + altivec_CFLAGS="-faltivec" + CFLAGS="$save_CFLAGS $altivec_CFLAGS" + AC_TRY_COMPILE([ + #include + vector unsigned int vzero() { + return vec_splat_u32(0); + } + ],[ + ],[ + have_gcc_altivec=yes + have_altivec_h_hdr=yes + ]) + AC_MSG_RESULT($have_gcc_altivec) + fi + + if test x$have_gcc_altivec = xno; then + AC_MSG_CHECKING(for Altivec with GCC -faltivec option) + AC_TRY_COMPILE([ + vector unsigned int vzero() { + return vec_splat_u32(0); + } + ],[ + ],[ + have_gcc_altivec=yes + ]) + AC_MSG_RESULT($have_gcc_altivec) + fi + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_altivec = xyes; then + AC_DEFINE(SDL_ALTIVEC_BLITTERS, 1, [ ]) + if test x$have_altivec_h_hdr = xyes; then + AC_DEFINE(HAVE_ALTIVEC_H, 1, [ ]) + fi + EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS" + fi fi fi -if test x$enable_webp = xyes; then - PKG_CHECK_MODULES([LIBWEBP], [libwebp], [dnl - have_webp_hdr=yes - CFLAGS="$LIBWEBP_CFLAGS $CFLAGS" - have_webp_lib=yes - ], [dnl - AC_CHECK_HEADER([webp/decode.h], [have_webp_hdr=yes]) - AC_CHECK_LIB([webp], [WebPGetDecoderVersion], [have_webp_lib=yes], [], [-lm]) - ]) - if test x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then - AC_DEFINE([LOAD_WEBP]) +dnl See if the OSS audio interface is supported +CheckOSS() +{ + AC_ARG_ENABLE(oss, +AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=maybe]]]), + , enable_oss=maybe) + # OpenBSD "has" OSS, but it's not really for app use. They want you to + # use sndio instead. So on there, we default to disabled. You can force + # it on if you really want, though. + if test x$enable_oss = xmaybe; then + enable_oss=yes case "$host" in - *-*-darwin*) - webp_lib=[`find_lib libwebp.dylib`] - ;; - *-*-cygwin* | *-*-mingw32*) - webp_lib=[`find_lib "libwebp*.dll"`] - ;; - *) - webp_lib=[`find_lib "libwebp[0-9]*.so.*"`] - if test x$webp_lib = x; then - webp_lib=[`find_lib "libwebp.so.*"`] - fi - ;; + *-*-openbsd*) + enable_oss=no;; esac - else - AC_MSG_WARN([*** Unable to find WEBP library (http://code.google.com/intl/en-US/speed/webp/index.html)]) - AC_MSG_WARN([WEBP Pimage loading disabled]) fi -fi -if test x$enable_bmp = xyes; then - AC_DEFINE([LOAD_BMP]) -fi + if test x$enable_audio = xyes -a x$enable_oss = xyes; then + AC_MSG_CHECKING(for OSS audio support) + have_oss=no + if test x$have_oss != xyes; then + AC_TRY_COMPILE([ + #include + ],[ + int arg = SNDCTL_DSP_SETFRAGMENT; + ],[ + have_oss=yes + ]) + fi + if test x$have_oss != xyes; then + AC_TRY_COMPILE([ + #include + ],[ + int arg = SNDCTL_DSP_SETFRAGMENT; + ],[ + have_oss=yes + AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H, 1, [ ]) + ]) + fi + AC_MSG_RESULT($have_oss) + if test x$have_oss = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_OSS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c" + have_audio=yes -if test x$enable_gif = xyes; then - AC_DEFINE([LOAD_GIF]) -fi + # We may need to link with ossaudio emulation library + case "$host" in + *-*-openbsd*|*-*-netbsd*) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lossaudio";; + esac + fi + fi +} -if test x$enable_lbm = xyes; then - AC_DEFINE([LOAD_LBM]) -fi +dnl See if the ALSA audio interface is supported +CheckALSA() +{ + AC_ARG_ENABLE(alsa, +AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]), + , enable_alsa=yes) + if test x$enable_audio = xyes -a x$enable_alsa = xyes; then + AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no) + # Restore all flags from before the ALSA detection runs + CFLAGS="$alsa_save_CFLAGS" + LDFLAGS="$alsa_save_LDFLAGS" + LIBS="$alsa_save_LIBS" + if test x$have_alsa = xyes; then + AC_ARG_ENABLE(alsa-shared, +AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]), + , enable_alsa_shared=yes) + alsa_lib=[`find_lib "libasound.so.*" "$ALSA_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] -if test x$enable_pcx = xyes; then - AC_DEFINE([LOAD_PCX]) -fi + AC_DEFINE(SDL_AUDIO_DRIVER_ALSA, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_alsa_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then + echo "-- dynamic libasound -> $alsa_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS" + fi + have_audio=yes + fi + fi +} -if test x$enable_pnm = xyes; then - AC_DEFINE([LOAD_PNM]) -fi +dnl Find the ESD includes and libraries +CheckESD() +{ + AC_ARG_ENABLE(esd, +AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [[default=yes]]]), + , enable_esd=yes) + if test x$enable_audio = xyes -a x$enable_esd = xyes; then + AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no) + if test x$have_esd = xyes; then + AC_ARG_ENABLE(esd-shared, +AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]), + , enable_esd_shared=yes) + esd_lib=[`find_lib "libesd.so.*" "$ESD_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] -if test x$enable_tga = xyes; then - AC_DEFINE([LOAD_TGA]) -fi + AC_DEFINE(SDL_AUDIO_DRIVER_ESD, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/esd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_esd_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ESD loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_esd_shared = xyes && test x$esd_lib != x; then + echo "-- dynamic libesd -> $esd_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS" + fi + have_audio=yes + fi + fi +} -if test x$enable_xcf = xyes; then - AC_DEFINE([LOAD_XCF]) -fi +dnl Find PulseAudio +CheckPulseAudio() +{ + AC_ARG_ENABLE(pulseaudio, +AC_HELP_STRING([--enable-pulseaudio], [use PulseAudio [[default=yes]]]), + , enable_pulseaudio=yes) + if test x$enable_audio = xyes -a x$enable_pulseaudio = xyes; then + audio_pulseaudio=no -if test x$enable_xpm = xyes; then - AC_DEFINE([LOAD_XPM]) -fi + PULSEAUDIO_REQUIRED_VERSION=0.9 -if test x$enable_xv = xyes; then - AC_DEFINE([LOAD_XV]) -fi + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + AC_MSG_CHECKING(for PulseAudio $PULSEAUDIO_REQUIRED_VERSION support) + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSEAUDIO_REQUIRED_VERSION libpulse-simple; then + PULSEAUDIO_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple` + PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse-simple` + audio_pulseaudio=yes + fi + fi + AC_MSG_RESULT($audio_pulseaudio) -if test x$enable_webp = xyes -a x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then - if test x$enable_webp_shared = xyes && test x$webp_lib != x; then - echo "-- dynamic libwebp -> $webp_lib" - AC_DEFINE_UNQUOTED(LOAD_WEBP_DYNAMIC, "$webp_lib") - else - IMG_LIBS="-lwebp $IMG_LIBS" + if test x$audio_pulseaudio = xyes; then + AC_ARG_ENABLE(pulseaudio-shared, +AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]), + , enable_pulseaudio_shared=yes) + pulseaudio_lib=[`find_lib "libpulse-simple.so.*" "$PULSEAUDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + + AC_DEFINE(SDL_AUDIO_DRIVER_PULSEAUDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/pulseaudio/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSEAUDIO_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_pulseaudio_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic PulseAudio loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_pulseaudio_shared = xyes && test x$pulseaudio_lib != x; then + echo "-- dynamic libpulse-simple -> $pulseaudio_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC, "$pulseaudio_lib", [ ]) + + case "$host" in + # On Solaris, pulseaudio must be linked deferred explicitly + # to prevent undefined symbol failures. + *-*-solaris*) + PULSEAUDIO_LIBS=`echo $PULSEAUDIO_LIBS | sed 's/\-l/-Wl,-l/g'` + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-zdeferred $PULSEAUDIO_LIBS -Wl,-znodeferred" + esac + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PULSEAUDIO_LIBS" + fi + have_audio=yes + fi fi -fi +} -if test x$enable_tif = xyes -a x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then - if test x$enable_tif_shared = xyes && test x$tif_lib != x; then - echo "-- dynamic libtiff -> $tif_lib" - AC_DEFINE_UNQUOTED(LOAD_TIF_DYNAMIC, "$tif_lib") - else - if test x$have_libjpeg = xyes; then - # Disable dynamic jpeg since we're linking it explicitly - jpg_lib='' +CheckARTSC() +{ + AC_ARG_ENABLE(arts, +AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [[default=yes]]]), + , enable_arts=yes) + if test x$enable_audio = xyes -a x$enable_arts = xyes; then + AC_PATH_PROG(ARTSCONFIG, artsc-config) + if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then + : # arts isn't installed + else + ARTS_CFLAGS=`$ARTSCONFIG --cflags` + ARTS_LIBS=`$ARTSCONFIG --libs` + AC_MSG_CHECKING(for aRts development environment) + audio_arts=no + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $ARTS_CFLAGS" + AC_TRY_COMPILE([ + #include + ],[ + arts_stream_t stream; + ],[ + audio_arts=yes + ]) + CFLAGS="$save_CFLAGS" + AC_MSG_RESULT($audio_arts) + if test x$audio_arts = xyes; then + AC_ARG_ENABLE(arts-shared, +AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]), + , enable_arts_shared=yes) + arts_lib=[`find_lib "libartsc.so.*" "$ARTS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + + AC_DEFINE(SDL_AUDIO_DRIVER_ARTS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/arts/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS" + if test x$have_loadso != xyes && \ + test x$enable_arts_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ARTS loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_arts_shared = xyes && test x$arts_lib != x; then + echo "-- dynamic libartsc -> $arts_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS" + fi + have_audio=yes + fi fi - IMG_LIBS="-ltiff -lz $IMG_LIBS" fi -fi -if test x$enable_jpg = xyes -a x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then - if test x$enable_jpg_shared = xyes && test x$jpg_lib != x; then - echo "-- dynamic libjpeg -> $jpg_lib" - AC_DEFINE_UNQUOTED(LOAD_JPG_DYNAMIC, "$jpg_lib") - else - IMG_LIBS="-ljpeg $IMG_LIBS" +} + +dnl See if the NAS audio interface is supported +CheckNAS() +{ + AC_ARG_ENABLE(nas, +AC_HELP_STRING([--enable-nas], [support the NAS audio API [[default=yes]]]), + , enable_nas=yes) + if test x$enable_audio = xyes -a x$enable_nas = xyes; then + AC_CHECK_HEADER(audio/audiolib.h, have_nas_hdr=yes) + AC_CHECK_LIB(audio, AuOpenServer, have_nas_lib=yes) + + AC_MSG_CHECKING(for NAS audio support) + have_nas=no + + if test x$have_nas_hdr = xyes -a x$have_nas_lib = xyes; then + have_nas=yes + NAS_LIBS="-laudio" + + elif test -r /usr/X11R6/include/audio/audiolib.h; then + have_nas=yes + NAS_CFLAGS="-I/usr/X11R6/include/" + NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt" + + fi + + AC_MSG_RESULT($have_nas) + + if test x$have_nas = xyes; then + AC_ARG_ENABLE(nas-shared, +AC_HELP_STRING([--enable-nas-shared], [dynamically load NAS audio support [[default=yes]]]), + , enable_nas_shared=yes) + nas_lib=[`find_lib "libaudio.so.*" "$NAS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + + if test x$have_loadso != xyes && \ + test x$enable_nas_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic NAS loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_nas_shared = xyes && test x$nas_lib != x; then + echo "-- dynamic libaudio -> $nas_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_NAS_DYNAMIC, "$nas_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS" + fi + + AC_DEFINE(SDL_AUDIO_DRIVER_NAS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/nas/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS" + have_audio=yes + fi fi -fi -if test x$enable_png = xyes -a x$have_png_hdr = xyes -a x$have_png_lib = xyes; then - if test x$enable_png_shared = xyes && test x$png_lib != x; then - echo "-- dynamic libpng -> $png_lib" - AC_DEFINE_UNQUOTED(LOAD_PNG_DYNAMIC, "$png_lib") - else - IMG_LIBS="-lpng -lz $IMG_LIBS" +} + +dnl See if the sndio audio interface is supported +CheckSNDIO() +{ + AC_ARG_ENABLE(sndio, +AC_HELP_STRING([--enable-sndio], [support the sndio audio API [[default=yes]]]), + , enable_sndio=yes) + if test x$enable_audio = xyes -a x$enable_sndio = xyes; then + AC_CHECK_HEADER(sndio.h, have_sndio_hdr=yes) + AC_CHECK_LIB(sndio, sio_open, have_sndio_lib=yes) + + AC_MSG_CHECKING(for sndio audio support) + have_sndio=no + + if test x$have_sndio_hdr = xyes -a x$have_sndio_lib = xyes; then + have_sndio=yes + SNDIO_LIBS="-lsndio" + fi + + AC_MSG_RESULT($have_sndio) + + if test x$have_sndio = xyes; then + AC_ARG_ENABLE(sndio-shared, +AC_HELP_STRING([--enable-sndio-shared], [dynamically load sndio audio support [[default=yes]]]), + , enable_sndio_shared=yes) + sndio_lib=[`find_lib "libsndio.so.*" "$SNDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] + + if test x$have_loadso != xyes && \ + test x$enable_sndio_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic sndio loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_sndio_shared = xyes && test x$sndio_lib != x; then + echo "-- dynamic libsndio -> $sndio_lib" + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_SNDIO_DYNAMIC, "$sndio_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SNDIO_LIBS" + fi + + AC_DEFINE(SDL_AUDIO_DRIVER_SNDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/sndio/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $SNDIO_CFLAGS" + have_audio=yes + fi fi -fi +} + +dnl rcg07142001 See if the user wants the disk writer audio driver... +CheckDiskAudio() +{ + AC_ARG_ENABLE(diskaudio, +AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [[default=yes]]]), + , enable_diskaudio=yes) + if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_DISK, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/disk/*.c" + fi +} + +dnl rcg03142006 See if the user wants the dummy audio driver... +CheckDummyAudio() +{ + AC_ARG_ENABLE(dummyaudio, +AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=yes]]]), + , enable_dummyaudio=yes) + if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c" + fi +} + +dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually). +dnl Details of this flag are here: http://gcc.gnu.org/wiki/Visibility +CheckVisibilityHidden() +{ + AC_MSG_CHECKING(for GCC -fvisibility=hidden option) + have_gcc_fvisibility=no + + visibility_CFLAGS="-fvisibility=hidden" + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS $visibility_CFLAGS -Werror" + AC_TRY_COMPILE([ + #if !defined(__GNUC__) || __GNUC__ < 4 + #error SDL only uses visibility attributes in GCC 4 or newer + #endif + ],[ + ],[ + have_gcc_fvisibility=yes + ]) + AC_MSG_RESULT($have_gcc_fvisibility) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_fvisibility = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS" + fi +} + +dnl See if GCC's -mpreferred-stack-boundary is supported. +dnl Reference: http://bugzilla.libsdl.org/show_bug.cgi?id=1296 +CheckStackBoundary() +{ + AC_MSG_CHECKING(for GCC -mpreferred-stack-boundary option) + have_gcc_preferred_stack_boundary=no + + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -mpreferred-stack-boundary=2" + AC_TRY_COMPILE([ + int x = 0; + ],[ + ],[ + have_gcc_preferred_stack_boundary=yes + ]) + AC_MSG_RESULT($have_gcc_preferred_stack_boundary) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_preferred_stack_boundary = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2" + fi +} + + +dnl See if GCC's -Wall is supported. +CheckWarnAll() +{ + AC_MSG_CHECKING(for GCC -Wall option) + have_gcc_Wall=no + + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -Wall" + AC_TRY_COMPILE([ + int x = 0; + ],[ + ],[ + have_gcc_Wall=yes + ]) + AC_MSG_RESULT($have_gcc_Wall) + CFLAGS="$save_CFLAGS" + + if test x$have_gcc_Wall = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -Wall" + + dnl Haiku headers use multicharacter constants all over the place. Ignore these warnings when using -Wall. + AC_MSG_CHECKING(for necessary GCC -Wno-multichar option) + need_gcc_Wno_multichar=no + case "$host" in + *-*-beos* | *-*-haiku*) + need_gcc_Wno_multichar=yes + ;; + esac + AC_MSG_RESULT($need_gcc_Wno_multichar) + if test x$need_gcc_Wno_multichar = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-multichar" + fi + fi +} + + +dnl Find the X11 include and library directories +CheckX11() +{ + + + AC_ARG_ENABLE(video-x11, +AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]), + , enable_video_x11=yes) + if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then + case "$host" in + *-*-darwin*) + # This isn't necessary for X11, but fixes GLX detection + if test "x$x_includes" = xNONE && \ + test "x$x_libraries" = xNONE && \ + test -d /usr/X11R6/include && \ + test -d /usr/X11R6/lib; then + x_includes="/usr/X11R6/include" + x_libraries="/usr/X11R6/lib" + fi + ;; + esac + AC_PATH_X + AC_PATH_XTRA + if test x$have_x = xyes; then + # Only allow dynamically loaded X11 if the X11 function pointers + # will not end up in the global namespace, which causes problems + # with other libraries calling X11 functions. + x11_symbols_private=$have_gcc_fvisibility + + AC_ARG_ENABLE(x11-shared, +AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]), + , enable_x11_shared=maybe) + + case "$host" in + *-*-darwin*) + x11_symbols_private=yes + x11_lib='/usr/X11R6/lib/libX11.6.dylib' + x11ext_lib='/usr/X11R6/lib/libXext.6.dylib' + xcursor_lib='/usr/X11R6/lib/libXcursor.1.dylib' + xinerama_lib='/usr/X11R6/lib/libXinerama.1.dylib' + xinput_lib='/usr/X11R6/lib/libXi.6.dylib' + xrandr_lib='/usr/X11R6/lib/libXrandr.2.dylib' + xrender_lib='/usr/X11R6/lib/libXrender.1.dylib' + xss_lib='/usr/X11R6/lib/libXss.1.dylib' + xvidmode_lib='/usr/X11R6/lib/libXxf86vm.1.dylib' + ;; + *-*-openbsd*) + x11_lib='libX11.so' + x11ext_lib='libXext.so' + xcursor_lib='libXcursor.so' + xinerama_lib='libXinerama.so' + xinput_lib='libXi.so' + xrandr_lib='libXrandr.so' + xrender_lib='libXrender.so' + xss_lib='libXss.so' + xvidmode_lib='libXxf86vm.so' + ;; + *) + x11_lib=[`find_lib "libX11.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + x11ext_lib=[`find_lib "libXext.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xcursor_lib=[`find_lib "libXcursor.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xinerama_lib=[`find_lib "libXinerama.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xinput_lib=[`find_lib "libXi.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xrandr_lib=[`find_lib "libXrandr.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xrender_lib=[`find_lib "libXrender.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xss_lib=[`find_lib "libXss.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + xvidmode_lib=[`find_lib "libXxf86vm.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] + ;; + esac + + if test x$ac_cv_func_shmat != xyes; then + X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY" + fi + CFLAGS="$CFLAGS $X_CFLAGS" + LDFLAGS="$LDFLAGS $X_LIBS" + + AC_CHECK_HEADER(X11/extensions/Xext.h, + have_xext_h_hdr=yes, + have_xext_h_hdr=no, + [#include + #include + ]) + if test x$have_xext_h_hdr != xyes; then + AC_MSG_ERROR([ +*** Missing Xext.h, maybe you need to install the libxext-dev package? + ]) + fi + + AC_DEFINE(SDL_VIDEO_DRIVER_X11, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/x11/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS" + + # Needed so SDL applications can include SDL_syswm.h + SDL_CFLAGS="$SDL_CFLAGS $X_CFLAGS" + + if test x$enable_x11_shared = xmaybe; then + enable_x11_shared=$x11_symbols_private + fi + if test x$have_loadso != xyes && \ + test x$enable_x11_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading]) + enable_x11_shared=no + fi + if test x$x11_symbols_private != xyes && \ + test x$enable_x11_shared = xyes; then + AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading]) + enable_x11_shared=no + fi + + if test x$have_loadso = xyes && \ + test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then + echo "-- dynamic libX11 -> $x11_lib" + echo "-- dynamic libX11ext -> $x11ext_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib", [ ]) + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib", [ ]) + else + enable_x11_shared=no + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext" + fi + have_video=yes + + AC_MSG_CHECKING(for const parameter to XextAddDisplay) + have_const_param_XextAddDisplay=no + AC_TRY_COMPILE([ + #include + #include + #include + #include + extern XExtDisplayInfo* XextAddDisplay(XExtensionInfo* a,Display* b,_Xconst char* c,XExtensionHooks* d,int e,XPointer f); + ],[ + ],[ + have_const_param_XextAddDisplay=yes + AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY) + ]) + AC_MSG_RESULT($have_const_param_XextAddDisplay) + + AC_MSG_CHECKING(for const parameter to _XData32) + have_const_param_xdata32=no + AC_TRY_COMPILE([ + #include + extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len); + ],[ + ],[ + have_const_param_xdata32=yes + AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32) + ]) + AC_MSG_RESULT($have_const_param_xdata32) + + dnl AC_CHECK_LIB(X11, XGetEventData, AC_DEFINE(SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS, 1, [Have XGenericEvent])) + AC_MSG_CHECKING([for XGenericEvent]) + have_XGenericEvent=no + AC_TRY_COMPILE([ + #include + ],[ +Display *display; +XEvent event; +XGenericEventCookie *cookie = &event.xcookie; +XNextEvent(display, &event); +XGetEventData(display, cookie); +XFreeEventData(display, cookie); + ],[ + have_XGenericEvent=yes + AC_DEFINE(SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS) + ]) + AC_MSG_RESULT($have_XGenericEvent) + + AC_CHECK_LIB(X11, XkbKeycodeToKeysym, AC_DEFINE(SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM, 1, [Have XkbKeycodeToKeysym])) + + AC_ARG_ENABLE(video-x11-xcursor, +AC_HELP_STRING([--enable-video-x11-xcursor], [enable X11 Xcursor support [[default=yes]]]), + , enable_video_x11_xcursor=yes) + if test x$enable_video_x11_xcursor = xyes; then + definitely_enable_video_x11_xcursor=no + AC_CHECK_HEADER(X11/Xcursor/Xcursor.h, + have_xcursor_h_hdr=yes, + have_xcursor_h_hdr=no, + [#include + ]) + if test x$have_xcursor_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xcursor_lib != x ; then + echo "-- dynamic libXcursor -> $xcursor_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR, "$xcursor_lib", [ ]) + definitely_enable_video_x11_xcursor=yes + else + AC_CHECK_LIB(Xcursor, XcursorImageCreate, have_xcursor_lib=yes) + if test x$have_xcursor_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXcursor" + definitely_enable_video_x11_xcursor=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xcursor = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XCURSOR, 1, [ ]) + fi + AC_ARG_ENABLE(video-x11-xinerama, +AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]), + , enable_video_x11_xinerama=yes) + if test x$enable_video_x11_xinerama = xyes; then + definitely_enable_video_x11_xinerama=no + AC_CHECK_HEADER(X11/extensions/Xinerama.h, + have_xinerama_h_hdr=yes, + have_xinerama_h_hdr=no, + [#include + ]) + if test x$have_xinerama_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xinerama_lib != x ; then + echo "-- dynamic libXinerama -> $xinerama_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA, "$xinerama_lib", [ ]) + definitely_enable_video_x11_xinerama=yes + else + AC_CHECK_LIB(Xinerama, XineramaQueryExtension, have_xinerama_lib=yes) + if test x$have_xinerama_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXinerama" + definitely_enable_video_x11_xinerama=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xinerama = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA, 1, [ ]) + fi + AC_ARG_ENABLE(video-x11-xinput, +AC_HELP_STRING([--enable-video-x11-xinput], [enable X11 XInput extension for manymouse, tablets, etc [[default=yes]]]), + , enable_video_x11_xinput=yes) + if test x$enable_video_x11_xinput = xyes; then + definitely_enable_video_x11_xinput=no + AC_CHECK_HEADER(X11/extensions/XInput2.h, + have_xinput_h_hdr=yes, + have_xinput_h_hdr=no, + [#include + ]) + if test x$have_xinput_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xinput_lib != x ; then + echo "-- dynamic libXi -> $xinput_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2, "$xinput_lib", [ ]) + definitely_enable_video_x11_xinput=yes + else + AC_CHECK_LIB(Xi, XOpenDevice, have_xinput_lib=yes) + if test x$have_xinput_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXi" + definitely_enable_video_x11_xinput=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xinput = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT2, 1, [ ]) + AC_MSG_CHECKING(for xinput2 multitouch) + have_xinput2_multitouch=no + AC_TRY_COMPILE([ + #include + #include + #include + ],[ +int event_type = XI_TouchBegin; +XITouchClassInfo *t; +Status +XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) +{ + return (Status)0; +} + ],[ + have_xinput2_multitouch=yes + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH) + ]) + AC_MSG_RESULT($have_xinput2_multitouch) + fi + AC_ARG_ENABLE(video-x11-xrandr, +AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]), + , enable_video_x11_xrandr=yes) + if test x$enable_video_x11_xrandr = xyes; then + definitely_enable_video_x11_xrandr=no + AC_CHECK_HEADER(X11/extensions/Xrandr.h, + have_xrandr_h_hdr=yes, + have_xrandr_h_hdr=no, + [#include + ]) + if test x$have_xrandr_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then + echo "-- dynamic libXrandr -> $xrandr_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib", [ ]) + definitely_enable_video_x11_xrandr=yes + else + AC_CHECK_LIB(Xrandr, XRRQueryExtension, have_xrandr_lib=yes) + if test x$have_xrandr_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr" + definitely_enable_video_x11_xrandr=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_xrandr = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR, 1, [ ]) + fi + AC_ARG_ENABLE(video-x11-scrnsaver, +AC_HELP_STRING([--enable-video-x11-scrnsaver], [enable X11 screensaver extension [[default=yes]]]), + , enable_video_x11_scrnsaver=yes) + if test x$enable_video_x11_scrnsaver = xyes; then + AC_CHECK_HEADER(X11/extensions/scrnsaver.h, + have_scrnsaver_h_hdr=yes, + have_scrnsaver_h_hdr=no, + [#include + ]) + if test x$have_scrnsaver_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xss_lib != x ; then + echo "-- dynamic libXss -> $xss_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS, "$xss_lib", [ ]) + definitely_enable_video_x11_scrnsaver=yes + else + AC_CHECK_LIB(Xss, XScreenSaverSuspend, have_xss_lib=yes) + if test x$have_xss_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXss" + definitely_enable_video_x11_scrnsaver=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_scrnsaver = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XSCRNSAVER, 1, [ ]) + fi + AC_ARG_ENABLE(video-x11-xshape, +AC_HELP_STRING([--enable-video-x11-xshape], [enable X11 XShape support [[default=yes]]]), + , enable_video_x11_xshape=yes) + if test x$enable_video_x11_xshape = xyes; then + AC_CHECK_HEADER(X11/extensions/shape.h, + have_shape_h_hdr=yes, + have_shape_h_hdr=no, + [#include + ]) + if test x$have_shape_h_hdr = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XSHAPE, 1, [ ]) + fi + fi + AC_ARG_ENABLE(video-x11-vm, +AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]), + , enable_video_x11_vm=yes) + if test x$enable_video_x11_vm = xyes; then + definitely_enable_video_x11_vm=no + AC_CHECK_HEADER(X11/extensions/xf86vmode.h, + have_vm_h_hdr=yes, + have_vm_h_hdr=no, + [#include + ]) + if test x$have_vm_h_hdr = xyes; then + if test x$enable_x11_shared = xyes && test x$xvidmode_lib != x ; then + echo "-- dynamic libXxf86vm -> $xvidmode_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE, "$xvidmode_lib", [ ]) + definitely_enable_video_x11_vm=yes + else + AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryVersion, have_vm_lib=yes) + if test x$have_vm_lib = xyes ; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXxf86vm" + definitely_enable_video_x11_vm=yes + fi + fi + fi + fi + if test x$definitely_enable_video_x11_vm = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XVIDMODE, 1, [ ]) + fi + fi + fi +} + +dnl Set up the BWindow video driver if enabled +CheckBWINDOW() +{ + if test x$enable_video = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc" + have_video=yes + fi +} + +dnl Set up the Cocoa video driver for Mac OS X (but not Darwin) +CheckCOCOA() +{ + AC_ARG_ENABLE(video-cocoa, +AC_HELP_STRING([--enable-video-cocoa], [use Cocoa video driver [[default=yes]]]), + , enable_video_cocoa=yes) + if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then + save_CFLAGS="$CFLAGS" + dnl work around that we don't have Objective-C support in autoconf + CFLAGS="$CFLAGS -x objective-c" + AC_MSG_CHECKING(for Cocoa framework) + have_cocoa=no + AC_TRY_COMPILE([ + #import + ],[ + ],[ + have_cocoa=yes + ]) + AC_MSG_RESULT($have_cocoa) + CFLAGS="$save_CFLAGS" + if test x$have_cocoa = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_COCOA, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/cocoa/*.m" + have_video=yes + fi + fi +} + +dnl Find DirectFB +CheckDirectFB() +{ + AC_ARG_ENABLE(video-directfb, +AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [[default=no]]]), + , enable_video_directfb=no) + if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then + video_directfb=no + + DIRECTFB_REQUIRED_VERSION=1.0.0 + AC_PATH_PROGS(DIRECTFBCONFIG, directfb-config, no, [$prefix/bin:$PATH]) + if test x$DIRECTFBCONFIG = xno; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then + DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb` + DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb` + DIRECTFB_PREFIX=`$PKG_CONFIG --variable=prefix directfb` + video_directfb=yes + fi + fi + else + set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'` + NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` + set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'` + HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` + if test $HAVE_VERSION -ge $NEED_VERSION; then + DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags` + DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs` + DIRECTFB_PREFIX=`$DIRECTFBCONFIG --prefix` + video_directfb=yes + fi + fi + if test x$video_directfb = xyes; then + # SuSE 11.1 installs directfb-config without directfb-devel + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS" + AC_CHECK_HEADER(directfb.h, have_directfb_hdr=yes, have_directfb_hdr=no) + CPPFLAGS="$save_CPPFLAGS" + video_directfb=$have_directfb_hdr + fi + AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support) + AC_MSG_RESULT($video_directfb) + + if test x$video_directfb = xyes; then + AC_ARG_ENABLE(directfb-shared, +AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[default=yes]]]), + , enable_directfb_shared=yes) + + AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + + AC_MSG_CHECKING(for directfb dynamic loading support) + directfb_shared=no + directfb_lib=[`find_lib "libdirectfb.so.*" "$DIRECTFB_LIBS"`] + # | sed 's/.*\/\(.*\)/\1/; q'`] +AC_MSG_WARN("directfb $directfb_lib") + if test x$have_loadso != xyes && \ + test x$enable_directfb_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic directfb loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_directfb_shared = xyes && test x$directfb_lib != x; then + directfb_shared=yes + echo "-- $directfb_lib_spec -> $directfb_lib" + AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC, "$directfb_lib", [ ]) + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS" + fi + AC_MSG_RESULT($directfb_shared) + have_video=yes + fi + fi +} + +dnl Find FusionSound +CheckFusionSound() +{ + AC_ARG_ENABLE(fusionsound, +AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]), + , enable_fusionsound=no) + if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then + fusionsound=no + + FUSIONSOUND_REQUIRED_VERSION=1.1.1 + + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support) + if test x$PKG_CONFIG != xno; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then + FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound` + FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound` + fusionsound=yes + fi + fi + AC_MSG_RESULT($fusionsound) + + if test x$fusionsound = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS" + + AC_ARG_ENABLE(fusionsound-shared, +AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]), + , enable_fusionsound_shared=yes) + fusionsound_shared=no + AC_MSG_CHECKING(for FusionSound dynamic loading support) + if test x$have_loadso != xyes && \ + test x$enable_fusionsound_shared = xyes; then + AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading]) + fi + if test x$have_loadso = xyes && \ + test x$enable_fusionsound_shared = xyes; then + AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ]) + fusionsound_shared=yes + else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS" + fi + AC_MSG_RESULT($fusionsound_shared) + + have_audio=yes + fi + fi +} + +dnl rcg04172001 Set up the Null video driver. +CheckDummyVideo() +{ + AC_ARG_ENABLE(video-dummy, +AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]), + , enable_video_dummy=yes) + if test x$enable_video_dummy = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/dummy/*.c" + have_video=yes + fi +} + +dnl Check to see if OpenGL support is desired +AC_ARG_ENABLE(video-opengl, +AC_HELP_STRING([--enable-video-opengl], [include OpenGL support [[default=yes]]]), + , enable_video_opengl=yes) + +dnl Find OpenGL +CheckOpenGLX11() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + AC_MSG_CHECKING(for OpenGL (GLX) support) + video_opengl=no + AC_TRY_COMPILE([ + #include + #include + ],[ + ],[ + video_opengl=yes + ]) + AC_MSG_RESULT($video_opengl) + if test x$video_opengl = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_OPENGL_GLX, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ]) + fi + fi +} + +dnl Check to see if OpenGL ES support is desired +AC_ARG_ENABLE(video-opengles, +AC_HELP_STRING([--enable-video-opengles], [include OpenGL ES support [[default=yes]]]), + , enable_video_opengles=yes) + +dnl Find OpenGL ES +CheckOpenGLESX11() +{ + if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then + AC_MSG_CHECKING(for EGL support) + video_opengl_egl=no + AC_TRY_COMPILE([ + #include + ],[ + ],[ + video_opengl_egl=yes + ]) + AC_MSG_RESULT($video_opengl_egl) + if test x$video_opengl_egl = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL_EGL, 1, [ ]) + fi + + AC_MSG_CHECKING(for OpenGL ES v1 headers) + video_opengles_v1=no + AC_TRY_COMPILE([ + #include + #include + ],[ + ],[ + video_opengles_v1=yes + ]) + AC_MSG_RESULT($video_opengles_v1) + if test x$video_opengles_v1 = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL_ES, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES, 1, [ ]) + fi + + AC_MSG_CHECKING(for OpenGL ES v2 headers) + video_opengles_v2=no + AC_TRY_COMPILE([ + #include + #include + ],[ + ],[ + video_opengles_v2=yes + ]) + AC_MSG_RESULT($video_opengles_v2) + if test x$video_opengles_v2 = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES2, 1, [ ]) + fi + fi +} + +dnl Check for Windows OpenGL +CheckWINDOWSGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_OPENGL_WGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ]) + fi +} + +dnl Check for BeOS OpenGL +CheckBeGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_OPENGL_BGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ]) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL" + fi +} + +dnl Check for MacOS OpenGL +CheckMacGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_OPENGL_CGL, 1, [ ]) + AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ]) + case "$host" in + *-*-darwin*) + if test x$enable_video_cocoa = xyes; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL" + fi + esac + fi +} + +dnl See if we can use the new unified event interface in Linux 2.4 +CheckInputEvents() +{ + dnl Check for Linux 2.4 unified input event interface support + AC_MSG_CHECKING(for Linux 2.4 unified input interface) + use_input_events=no + AC_TRY_COMPILE([ + #include + ],[ + #ifndef EVIOCGNAME + #error EVIOCGNAME() ioctl not available + #endif + ],[ + use_input_events=yes + ]) + AC_MSG_RESULT($use_input_events) + if test x$use_input_events = xyes; then + AC_DEFINE(SDL_INPUT_LINUXEV, 1, [ ]) + fi +} + +dnl See if we can use the kernel kd.h header +CheckInputKD() +{ + + AC_MSG_CHECKING(for Linux kd.h) + use_input_kd=no + AC_TRY_COMPILE([ + #include + #include + ],[ + struct kbentry kbe; + kbe.kb_table = KG_CTRL; + ioctl(0, KDGKBENT, &kbe); + ],[ + use_input_kd=yes + ]) + AC_MSG_RESULT($use_input_kd) + if test x$use_input_kd = xyes; then + AC_DEFINE(SDL_INPUT_LINUXKD, 1, [ ]) + fi +} + +dnl See if the platform offers libudev for device enumeration and hotplugging. +CheckLibUDev() +{ + AC_ARG_ENABLE(libudev, +AC_HELP_STRING([--enable-libudev], [enable libudev support [[default=yes]]]), + , enable_libudev=yes) + if test x$enable_libudev = xyes; then + AC_CHECK_HEADER(libudev.h, + have_libudev_h_hdr=yes, + have_libudev_h_hdr=no) + if test x$have_libudev_h_hdr = xyes; then + AC_DEFINE(HAVE_LIBUDEV_H, 1, [ ]) + fi + fi +} + +dnl See if the platform offers libdbus for various IPC techniques. +CheckDBus() +{ + AC_ARG_ENABLE(dbus, +AC_HELP_STRING([--enable-dbus], [enable D-Bus support [[default=yes]]]), + , enable_dbus=yes) + if test x$enable_dbus = xyes; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + if test x$PKG_CONFIG != xno; then + DBUS_CFLAGS=`$PKG_CONFIG --cflags dbus-1` + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS $DBUS_CFLAGS" + AC_CHECK_HEADER(dbus/dbus.h, + have_dbus_dbus_h_hdr=yes, + have_dbus_dbus_h_hdr=no) + CFLAGS="$save_CFLAGS" + if test x$have_dbus_dbus_h_hdr = xyes; then + AC_DEFINE(HAVE_DBUS_DBUS_H, 1, [ ]) + EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS" + fi + fi + fi +} + +dnl See if we can use the Touchscreen input library +CheckTslib() +{ + AC_ARG_ENABLE(input-tslib, +AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]), + , enable_input_tslib=yes) + if test x$enable_input_tslib = xyes; then + AC_MSG_CHECKING(for Touchscreen library support) + enable_input_tslib=no + AC_TRY_COMPILE([ + #include "tslib.h" + ],[ + ],[ + enable_input_tslib=yes + ]) + AC_MSG_RESULT($enable_input_tslib) + if test x$enable_input_tslib = xyes; then + AC_DEFINE(SDL_INPUT_TSLIB, 1, [ ]) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts" + fi + fi +} + +dnl See what type of thread model to use on Linux and Solaris +CheckPTHREAD() +{ + dnl Check for pthread support + AC_ARG_ENABLE(pthreads, +AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]), + , enable_pthreads=yes) + dnl This is used on Linux for glibc binary compatibility (Doh!) + AC_ARG_ENABLE(pthread-sem, +AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]), + , enable_pthread_sem=yes) + case "$host" in + *-*-linux*|*-*-uclinux*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread" + ;; + *-*-bsdi*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="" + ;; + *-*-darwin*) + pthread_cflags="-D_THREAD_SAFE" +# causes Carbon.p complaints? +# pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + ;; + *-*-freebsd*|*-*-dragonfly*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="-pthread" + ;; + *-*-netbsd*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="-lpthread" + ;; + *-*-openbsd*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-pthread" + ;; + *-*-solaris2.9) + # From Solaris 9+, posix4's preferred name is rt. + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread -lrt" + ;; + *-*-solaris2.10) + # Solaris 10+ merged pthread into libc. + pthread_cflags="-D_REENTRANT" + pthread_lib="-lrt" + ;; + *-*-solaris*) + # Solaris 11+ merged rt into libc. + pthread_cflags="-D_REENTRANT" + pthread_lib="" + ;; + *-*-sysv5*) + pthread_cflags="-D_REENTRANT -Kthread" + pthread_lib="" + ;; + *-*-aix*) + pthread_cflags="-D_REENTRANT -mthreads" + pthread_lib="-lpthread" + ;; + *-*-hpux11*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-L/usr/lib -lpthread" + ;; + *) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread" + ;; + esac + if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then + # Save the original compiler flags and libraries + ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS" + # Add the pthread compiler flags and libraries + CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib" + # Check to see if we have pthread support on this system + AC_MSG_CHECKING(for pthreads) + use_pthreads=no + AC_TRY_LINK([ + #include + ],[ + pthread_attr_t type; + pthread_attr_init(&type); + ],[ + use_pthreads=yes + ]) + AC_MSG_RESULT($use_pthreads) + # Restore the compiler flags and libraries + CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs" + + # Do futher testing if we have pthread support... + if test x$use_pthreads = xyes; then + AC_DEFINE(SDL_THREAD_PTHREAD, 1, [ ]) + EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib" + SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags" + SDL_LIBS="$SDL_LIBS $pthread_lib" + + # Save the original compiler flags and libraries + ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS" + # Add the pthread compiler flags and libraries + CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib" + + # Check to see if recursive mutexes are available + AC_MSG_CHECKING(for recursive mutexes) + has_recursive_mutexes=no + if test x$has_recursive_mutexes = xno; then + AC_TRY_COMPILE([ + #include + ],[ + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + ],[ + has_recursive_mutexes=yes + AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX, 1, [ ]) + ]) + fi + if test x$has_recursive_mutexes = xno; then + AC_TRY_COMPILE([ + #include + ],[ + pthread_mutexattr_t attr; + pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP); + ],[ + has_recursive_mutexes=yes + AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP, 1, [ ]) + ]) + fi + AC_MSG_RESULT($has_recursive_mutexes) + + # Check to see if pthread semaphore support is missing + if test x$enable_pthread_sem = xyes; then + AC_MSG_CHECKING(for pthread semaphores) + have_pthread_sem=no + AC_TRY_COMPILE([ + #include + #include + ],[ + ],[ + have_pthread_sem=yes + ]) + AC_MSG_RESULT($have_pthread_sem) + fi + if test x$have_pthread_sem = xyes; then + AC_MSG_CHECKING(for sem_timedwait) + have_sem_timedwait=no + AC_TRY_LINK([ + #include + #include + ],[ + sem_timedwait(NULL, NULL); + ],[ + have_sem_timedwait=yes + AC_DEFINE(HAVE_SEM_TIMEDWAIT) + ]) + AC_MSG_RESULT($have_sem_timedwait) + fi + + AC_MSG_CHECKING(for pthread_spin_trylock) + AC_TRY_LINK_FUNC(pthread_spin_trylock, [ + has_pthread_spin_trylock=yes + AC_DEFINE(HAVE_PTHREAD_SPINLOCK, 1, [ ]) + ],[ + has_pthread_spin_trylock=no + ]) + AC_MSG_RESULT($has_pthread_spin_trylock) + + AC_CHECK_HEADER(pthread_np.h, have_pthread_np_h=yes, have_pthread_np_h=no, [ #include ]) + if test x$have_pthread_np_h = xyes; then + AC_DEFINE(HAVE_PTHREAD_NP_H, 1, [ ]) + fi + + # Check to see if pthread naming is available + AC_MSG_CHECKING(for pthread_setname_np) + AC_TRY_LINK_FUNC(pthread_setname_np, [ + has_pthread_setname_np=yes + AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [ ]) + ],[ + has_pthread_setname_np=no + ]) + AC_MSG_RESULT($has_pthread_setname_np) + + AC_MSG_CHECKING(for pthread_set_name_np) + AC_TRY_LINK_FUNC(pthread_set_name_np, [ + has_pthread_set_name_np=yes + AC_DEFINE(HAVE_PTHREAD_SET_NAME_NP, 1, [ ]) + ],[ + has_pthread_set_name_np=no + ]) + AC_MSG_RESULT($has_pthread_set_name_np) + + # Restore the compiler flags and libraries + CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs" + + # Basic thread creation functions + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c" + + # Semaphores + # We can fake these with mutexes and condition variables if necessary + if test x$have_pthread_sem = xyes; then + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c" + else + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c" + fi + + # Mutexes + # We can fake these with semaphores if necessary + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c" + + # Condition variables + # We can fake these with semaphores and mutexes if necessary + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c" + + # Thread local storage + SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systls.c" + + have_threads=yes + fi + fi +} + +dnl Determine whether the compiler can produce Windows executables +CheckWINDOWS() +{ + AC_MSG_CHECKING(Windows compiler) + have_win32_gcc=no + AC_TRY_COMPILE([ + #include + ],[ + ],[ + have_win32_gcc=yes + ]) + AC_MSG_RESULT($have_win32_gcc) + if test x$have_win32_gcc != xyes; then + AC_MSG_ERROR([ +*** Your compiler ($CC) does not produce Windows executables! + ]) + fi + + AC_MSG_CHECKING(Windows CE) + have_wince=no + AC_TRY_COMPILE([ +#if !defined(_WIN32_WCE) && !defined(__MINGW32CE__) +#error This is not Windows CE +#endif + ],[ + ],[ + have_wince=yes + AC_MSG_ERROR([ +*** Sorry, Windows CE is no longer supported. + ]) + ]) + AC_MSG_RESULT($have_wince) + + # This fixes Windows stack alignment with newer GCC + CheckStackBoundary +} + +dnl Find the DirectX includes and libraries +CheckDIRECTX() +{ + AC_ARG_ENABLE(directx, +AC_HELP_STRING([--enable-directx], [use DirectX for Windows audio/video [[default=yes]]]), + , enable_directx=yes) + if test x$enable_directx = xyes; then + AC_CHECK_HEADER(d3d9.h, have_d3d=yes) + AC_CHECK_HEADER(ddraw.h, have_ddraw=yes) + AC_CHECK_HEADER(dsound.h, have_dsound=yes) + AC_CHECK_HEADER(dinput.h, have_dinput=yes) + AC_CHECK_HEADER(xaudio2.h, have_xaudio2=yes) + + # FIXME: latest Cygwin finds dinput headers, but we die on other win32 headers. + # FIXME: ...so force it off for now. + case "$host" in + *-*-cygwin*) + have_dinput=false + ;; + esac + fi +} + +dnl Check for the dlfcn.h interface for dynamically loading objects +CheckDLOPEN() +{ + AC_ARG_ENABLE(sdl-dlopen, +AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]), + , enable_sdl_dlopen=yes) + if test x$enable_sdl_dlopen = xyes; then + AC_MSG_CHECKING(for dlopen) + have_dlopen=no + AC_TRY_COMPILE([ + #include + ],[ + void *handle = dlopen("", RTLD_NOW); + const char *loaderror = (char *) dlerror(); + ],[ + have_dlopen=yes + ]) + AC_MSG_RESULT($have_dlopen) + + if test x$have_dlopen = xyes; then + AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS", + AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl", + AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl"))) + AC_DEFINE(SDL_LOADSO_DLOPEN, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" + have_loadso=yes + fi + fi +} + +dnl Check for the usbhid(3) library on *BSD +CheckUSBHID() +{ + case "$host" in + *-*-*bsd*) + if test x$enable_joystick = xyes; then + AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes) + if test x$have_libusbhid = xyes; then + AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"]) + AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"]) + USB_LIBS="$USB_LIBS -lusbhid" + else + AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"]) + AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"]) + AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"]) + fi + + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $USB_CFLAGS" + + AC_MSG_CHECKING(for usbhid) + have_usbhid=no + AC_TRY_COMPILE([ + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + # include + # include + #else + # include + # include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif + ],[ + struct report_desc *repdesc; + struct usb_ctl_report *repbuf; + hid_kind_t hidkind; + ],[ + have_usbhid=yes + ]) + AC_MSG_RESULT($have_usbhid) + + if test x$have_usbhid = xyes; then + AC_MSG_CHECKING(for ucr_data member of usb_ctl_report) + have_usbhid_ucr_data=no + AC_TRY_COMPILE([ + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + # include + # include + #else + # include + # include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif + ],[ + struct usb_ctl_report buf; + if (buf.ucr_data) { } + ],[ + have_usbhid_ucr_data=yes + ]) + if test x$have_usbhid_ucr_data = xyes; then + USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA" + fi + AC_MSG_RESULT($have_usbhid_ucr_data) + + AC_MSG_CHECKING(for new usbhid API) + have_usbhid_new=no + AC_TRY_COMPILE([ + #include + #if defined(HAVE_USB_H) + #include + #endif + #ifdef __DragonFly__ + #include + #include + #else + #include + #include + #endif + #if defined(HAVE_USBHID_H) + #include + #elif defined(HAVE_LIBUSB_H) + #include + #elif defined(HAVE_LIBUSBHID_H) + #include + #endif + ],[ + report_desc_t d; + hid_start_parse(d, 1, 1); + ],[ + have_usbhid_new=yes + ]) + if test x$have_usbhid_new = xyes; then + USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW" + fi + AC_MSG_RESULT($have_usbhid_new) + + AC_MSG_CHECKING(for struct joystick in machine/joystick.h) + have_machine_joystick=no + AC_TRY_COMPILE([ + #include + ],[ + struct joystick t; + ],[ + have_machine_joystick=yes + ]) + if test x$have_machine_joystick = xyes; then + AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H, 1, [ ]) + fi + AC_MSG_RESULT($have_machine_joystick) + + AC_DEFINE(SDL_JOYSTICK_USBHID, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS" + have_joystick=yes + fi + CFLAGS="$save_CFLAGS" + fi + ;; + esac +} + +dnl Check for clock_gettime() +CheckClockGettime() +{ + AC_ARG_ENABLE(clock_gettime, +AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=yes]]]), + , enable_clock_gettime=yes) + if test x$enable_clock_gettime = xyes; then + AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes) + if test x$have_clock_gettime = xyes; then + AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [ ]) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt" + else + AC_CHECK_LIB(c, clock_gettime, have_clock_gettime=yes) + if test x$have_clock_gettime = xyes; then + AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [ ]) + EXTRA_LDFLAGS="$EXTRA_LDFLAGS" + fi + fi + fi +} + +dnl Check for a valid linux/version.h +CheckLinuxVersion() +{ + AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes) + if test x$have_linux_version_h = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H" + fi +} + +dnl Check if we want to use RPATH +CheckRPATH() +{ + AC_ARG_ENABLE(rpath, +AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]), + , enable_rpath=yes) +} + +dnl Set up the configuration based on the host platform! +case "$host" in + *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*) + case "$host" in + *-raspberry-linux*) + # Raspberry Pi + ARCH=linux + RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" + RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host" + CFLAGS="$CFLAGS $RPI_CFLAGS" + SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS" + EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS" + SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS" + + if test x$enable_video = xyes; then + SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c" + $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h + fi + ;; + *-*-linux*) ARCH=linux ;; + *-*-uclinux*) ARCH=linux ;; + *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;; + *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;; + *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;; + *-*-gnu*) ARCH=gnu ;; # must be last of the gnu variants + *-*-bsdi*) ARCH=bsdi ;; + *-*-freebsd*) ARCH=freebsd ;; + *-*-dragonfly*) ARCH=freebsd ;; + *-*-netbsd*) ARCH=netbsd ;; + *-*-openbsd*) ARCH=openbsd ;; + *-*-sysv5*) ARCH=sysv5 ;; + *-*-solaris*) ARCH=solaris ;; + *-*-hpux*) ARCH=hpux ;; + *-*-aix*) ARCH=aix ;; + *-*-minix*) ARCH=minix ;; + esac + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckOSS + CheckALSA + CheckPulseAudio + CheckARTSC + CheckESD + CheckNAS + CheckSNDIO + CheckX11 + CheckDirectFB + CheckFusionSound + CheckOpenGLX11 + CheckOpenGLESX11 + CheckLibUDev + CheckDBus + CheckInputEvents + CheckInputKD + CheckTslib + CheckUSBHID + CheckPTHREAD + CheckClockGettime + CheckLinuxVersion + CheckRPATH + # Set up files for the audio library + if test x$enable_audio = xyes; then + case $ARCH in + sysv5|solaris|hpux) + AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/sun/*.c" + have_audio=yes + ;; + netbsd) # Don't use this on OpenBSD, it's busted. + AC_DEFINE(SDL_AUDIO_DRIVER_BSD, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c" + have_audio=yes + ;; + aix) + AC_DEFINE(SDL_AUDIO_DRIVER_PAUDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c" + have_audio=yes + ;; + esac + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + case $ARCH in + linux) + AC_DEFINE(SDL_JOYSTICK_LINUX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c" + have_joystick=yes + ;; + esac + fi + # Set up files for the haptic library + if test x$enable_haptic = xyes; then + if test x$use_input_events = xyes; then + case $ARCH in + linux) + AC_DEFINE(SDL_HAPTIC_LINUX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/haptic/linux/*.c" + have_haptic=yes + ;; + esac + fi + fi + # Set up files for the power library + if test x$enable_power = xyes; then + case $ARCH in + linux) + AC_DEFINE(SDL_POWER_LINUX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/power/linux/*.c" + have_power=yes + ;; + esac + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then + AC_DEFINE(SDL_FILESYSTEM_UNIX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/filesystem/unix/*.c" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + AC_DEFINE(SDL_TIMER_UNIX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up files for udev hotplugging support + if test x$enable_libudev = xyes && test x$have_libudev_h_hdr = xyes; then + SOURCES="$SOURCES $srcdir/src/core/linux/SDL_udev.c" + fi + # Set up files for evdev input + if test x$use_input_events = xyes; then + SOURCES="$SOURCES $srcdir/src/input/evdev/*.c" + fi + ;; + *-*-cygwin* | *-*-mingw32*) + ARCH=win32 + if test "$build" != "$host"; then # cross-compiling + # Default cross-compile location + ac_default_prefix=/usr/local/cross-tools/$host + else + # Look for the location of the tools and install there + if test "$BUILD_PREFIX" != ""; then + ac_default_prefix=$BUILD_PREFIX + fi + fi + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckWINDOWS + CheckWINDOWSGL + CheckDIRECTX + + # Set up the core platform files + SOURCES="$SOURCES $srcdir/src/core/windows/*.c" + + # Set up files for the video library + if test x$enable_video = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/windows/*.c" + have_video=yes + AC_ARG_ENABLE(render-d3d, +AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]), + , enable_render_d3d=yes) + if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then + AC_DEFINE(SDL_VIDEO_RENDER_D3D, 1, [ ]) + fi + fi + # Set up files for the audio library + if test x$enable_audio = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_WINMM, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/winmm/*.c" + if test x$have_dsound = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/directsound/*.c" + fi + if test x$have_xaudio2 = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_XAUDIO2, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c" + fi + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + if test x$have_dinput = xyes; then + AC_DEFINE(SDL_JOYSTICK_DINPUT, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_dxjoystick.c" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldinput8 -ldxguid -ldxerr8" + else + AC_DEFINE(SDL_JOYSTICK_WINMM, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_mmjoystick.c" + fi + have_joystick=yes + fi + if test x$enable_haptic = xyes; then + if test x$have_dinput = xyes; then + AC_DEFINE(SDL_HAPTIC_DINPUT, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/haptic/windows/SDL_syshaptic.c" + have_haptic=yes + fi + fi + if test x$enable_power = xyes; then + AC_DEFINE(SDL_POWER_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/power/windows/SDL_syspower.c" + have_power=yes + fi + if test x$enable_filesystem = xyes; then + AC_DEFINE(SDL_FILESYSTEM_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/filesystem/windows/SDL_sysfilesystem.c" + have_filesystem=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + AC_DEFINE(SDL_THREAD_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/thread/windows/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" + have_threads=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + AC_DEFINE(SDL_TIMER_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/timer/windows/*.c" + have_timers=yes + fi + # Set up files for the shared object loading library + if test x$enable_loadso = xyes; then + AC_DEFINE(SDL_LOADSO_WINDOWS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/loadso/windows/*.c" + have_loadso=yes + fi + # Set up the system libraries we need + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid -XCClinker -static-libgcc" + # The Windows platform requires special setup + VERSION_SOURCES="$srcdir/src/main/windows/*.rc" + SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c" + SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" + SDL_LIBS="-lSDL2main $SDL_LIBS -mwindows" + + # Check to see if this is a mingw or cygwin build + have_mingw32= + AC_CHECK_LIB(mingw32, main, [have_mingw32=yes]) + if test x$have_mingw32 = xyes; then + SDL_LIBS="-lmingw32 $SDL_LIBS" + else + SDL_LIBS="-lcygwin $SDL_LIBS" + fi + ;; + *-*-beos* | *-*-haiku*) + ARCH=beos + ac_default_prefix=/boot/common + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckBWINDOW + CheckBeGL + # Set up files for the audio library + if test x$enable_audio = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_BEOSAUDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + AC_DEFINE(SDL_JOYSTICK_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc" + have_joystick=yes + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + AC_DEFINE(SDL_THREAD_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/thread/beos/*.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c" + SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c" + have_threads=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + AC_DEFINE(SDL_TIMER_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/timer/beos/*.c" + have_timers=yes + fi + # Set up files for the shared object loading library + if test x$enable_loadso = xyes; then + AC_DEFINE(SDL_LOADSO_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" + have_loadso=yes + fi + # Set up files for the system power library + if test x$enable_power = xyes; then + AC_DEFINE(SDL_POWER_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/power/beos/*.c" + have_power=yes + fi + # Set up files for the system filesystem library + if test x$enable_filesystem = xyes; then + AC_DEFINE(SDL_FILESYSTEM_BEOS, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/filesystem/beos/*.cc" + have_filesystem=yes + fi + # The BeOS platform requires special setup. + SOURCES="$srcdir/src/main/beos/*.cc $SOURCES" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding" + ;; + arm*-apple-darwin*) + # iOS - We are not writing anything to confdefs.h because you have to replace + # SDL_config.h for SDL_config_iphoneos.h anyway + ARCH=ios + + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckCOCOA + CheckPTHREAD + + + # Set up files for the audio library + if test x$enable_audio = xyes; then + SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m" + have_joystick=yes + fi + # Set up files for the haptic library + #if test x$enable_haptic = xyes; then + # SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c" + # have_haptic=yes + # EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback" + #fi + # Set up files for the power library + if test x$enable_power = xyes; then + SOURCES="$SOURCES $srcdir/src/power/uikit/*.m" + have_power=yes + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then + SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up additional files for the file library + if test x$enable_file = xyes; then + SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m" + fi + # The iOS platform requires special setup. + SOURCES="$SOURCES $srcdir/src/video/uikit/*.m" + EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm -liconv -lobjc" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreGraphics" + ;; + *-*-darwin* ) + # This could be either full "Mac OS X", or plain "Darwin" which is + # just the OS X kernel sans upper layers like Carbon and Cocoa. + # Next line is broken, and a few files below require Mac OS X (full) + ARCH=macosx + + # Mac OS X builds with both the Carbon and OSX APIs at the moment + EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX" + + CheckVisibilityHidden + CheckDummyVideo + CheckDiskAudio + CheckDummyAudio + CheckDLOPEN + CheckCOCOA + CheckX11 + CheckMacGL + CheckOpenGLX11 + CheckPTHREAD + + # Good optimization on Mac OS X, yes... + EXTRA_CFLAGS="$EXTRA_CFLAGS -falign-loops=16" + + # Need this or things might misbuild on a G3. + EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL" + + # Set up files for the audio library + if test x$enable_audio = xyes; then + AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c" + have_audio=yes + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c" + have_joystick=yes + fi + # Set up files for the haptic library + if test x$enable_haptic = xyes; then + AC_DEFINE(SDL_HAPTIC_IOKIT, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c" + have_haptic=yes + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback" + fi + # Set up files for the power library + if test x$enable_power = xyes; then + AC_DEFINE(SDL_POWER_MACOSX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/power/macosx/*.c" + have_power=yes + fi + # Set up files for the filesystem library + if test x$enable_filesystem = xyes; then + AC_DEFINE(SDL_FILESYSTEM_COCOA, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m" + have_filesystem=yes + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + AC_DEFINE(SDL_TIMER_UNIX, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" + have_timers=yes + fi + # Set up additional files for the file library + if test x$enable_file = xyes; then + SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m" + fi + # The Mac OS X platform requires special setup. + EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit" + # If audio is used, add the AudioUnit framework + if test x$enable_audio = xyes; then + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit" + fi + ;; + *) + AC_MSG_ERROR([ +*** Unsupported host: Please add to configure.in + ]) + ;; +esac + +dnl Do this on all platforms, after everything else. +CheckWarnAll + +# Verify that we have all the platform specific files we need + +if test x$have_joystick != xyes; then + if test x$enable_joystick = xyes; then + AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c" +fi +if test x$have_haptic != xyes; then + if test x$enable_haptic = xyes; then + AC_DEFINE(SDL_HAPTIC_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/haptic/dummy/*.c" +fi +if test x$have_threads != xyes; then + if test x$enable_threads = xyes; then + AC_DEFINE(SDL_THREADS_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/thread/generic/*.c" +fi +if test x$have_timers != xyes; then + if test x$enable_timers = xyes; then + AC_DEFINE(SDL_TIMERS_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c" +fi +if test x$have_filesystem != xyes; then + if test x$enable_filesystem = xyes; then + AC_DEFINE(SDL_FILESYSTEM_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/filesystem/dummy/*.c" +fi +if test x$have_loadso != xyes; then + if test x$enable_loadso = xyes; then + AC_DEFINE(SDL_LOADSO_DISABLED, 1, [ ]) + fi + SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c" +fi +if test x$SDLMAIN_SOURCES = x; then + SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c" +fi +SDLTEST_SOURCES="$srcdir/src/test/*.c" + +OBJECTS=`echo $SOURCES` +DEPENDS=`echo $SOURCES | tr ' ' '\n'` +for EXT in asm cc m c S; do + OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'` + DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\ +\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` +done + +VERSION_OBJECTS=`echo $VERSION_SOURCES` +VERSION_DEPENDS=`echo $VERSION_SOURCES` +VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'` +VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\ +\\$(objects)/\\2.o: \\1/\\2.rc\\\\ + \\$(WINDRES) \\$< \\$@,g"` + +SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` +SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES` +SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'` +SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ +\\$(objects)/\\2.o: \\1/\\2.c\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + +SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES` +SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES` +SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'` +SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ +\\$(objects)/\\2.o: \\1/\\2.c\\\\ + \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + +# Set runtime shared library paths as needed + +if test "x$enable_rpath" = "xyes"; then + if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then + SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}" + fi + if test $ARCH = solaris; then + SDL_RLD_FLAGS="-R\${libdir}" + fi +else + SDL_RLD_FLAGS="" +fi + +SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS" + +dnl Expand the cflags and libraries needed by apps using SDL +AC_SUBST(SDL_CFLAGS) +AC_SUBST(SDL_LIBS) +AC_SUBST(SDL_STATIC_LIBS) +AC_SUBST(SDL_RLD_FLAGS) +if test x$enable_shared = xyes; then + ENABLE_SHARED_TRUE= + ENABLE_SHARED_FALSE="#" +else + ENABLE_SHARED_TRUE="#" + ENABLE_SHARED_FALSE= +fi +if test x$enable_static = xyes; then + ENABLE_STATIC_TRUE= + ENABLE_STATIC_FALSE="#" +else + ENABLE_STATIC_TRUE="#" + ENABLE_STATIC_FALSE= +fi +AC_SUBST(ENABLE_SHARED_TRUE) +AC_SUBST(ENABLE_SHARED_FALSE) +AC_SUBST(ENABLE_STATIC_TRUE) +AC_SUBST(ENABLE_STATIC_FALSE) + +dnl Expand the sources and objects needed to build the library +AC_SUBST(ac_aux_dir) +AC_SUBST(INCLUDE) +AC_SUBST(OBJECTS) +AC_SUBST(VERSION_OBJECTS) +AC_SUBST(SDLMAIN_OBJECTS) +AC_SUBST(SDLTEST_OBJECTS) +AC_SUBST(BUILD_CFLAGS) +AC_SUBST(EXTRA_CFLAGS) +AC_SUBST(BUILD_LDFLAGS) +AC_SUBST(EXTRA_LDFLAGS) +AC_SUBST(WINDRES) -LIBS="$saved_LIBS" +cat >Makefile.rules <<__EOF__ -AC_SUBST([WINDRES]) -AC_SUBST([IMG_LIBS]) +# Build rules for objects +-include \$(OBJECTS:.lo=.d) -OBJCFLAGS=$CFLAGS +# Special dependency for SDL.c, since it depends on SDL_revision.h +$srcdir/src/SDL.c: update-revision +$DEPENDS +$VERSION_DEPENDS +$SDLMAIN_DEPENDS +$SDLTEST_DEPENDS +__EOF__ -# Finally create all the generated files -AC_OUTPUT([ -Makefile -SDL2_image.spec -SDL2_image.pc +AC_CONFIG_FILES([ + Makefile:Makefile.in:Makefile.rules sdl2-config SDL2.spec sdl2.pc ]) +AC_OUTPUT +chmod a+x sdl2-config diff --git a/src/SDL2/debian/changelog b/src/SDL2/debian/changelog index fe8f5798a..8e9dd49bc 100644 --- a/src/SDL2/debian/changelog +++ b/src/SDL2/debian/changelog @@ -1,321 +1,72 @@ -libsdl2-image (2.0.0) unstable; urgency=low +libsdl2 (2.0.1) UNRELEASED; urgency=low - * Updated library version to 2.0 for consistency with SDL 2.0 + * Updated SDL to version 2.0.1 - -- Sam Lantinga Tue, 26 Feb 2013 15:48:41 -0800 + -- Sam Lantinga Wed, 23 Oct 2013 16:31:38 -0800 -libsdl2-image (1.2.12) unstable; urgency=low +libsdl2 (2.0.0) UNRELEASED; urgency=low - * sdl-image for SDL2. Initial release. + * SDL is now a native debian package. + * Removed udeb package + * Disabled DirectFB support by default, to avoid runtime dependencies - -- Sam Lantinga Fri, 15 Feb 2013 13:09:44 -0800 + -- Sam Lantinga Fri, 15 Feb 2013 08:55:04 -0800 -sdl-image1.2 (1.2.10-3) unstable; urgency=low +libsdl2 (2.0.0~20130127-1) UNRELEASED; urgency=low - [ Felix Geyer ] - * Drop ancient Conflicts. - * Wrap (Build-)Depends in debian/control. - * Switch to dh(1) debian/rules. - * Enable parallel building. - * Drop .la file. - * Drop local dpkg-shlibdeps overrides. - * Remove all patches since they were disabled anyway. - * Switch to source format 3.0 (quilt). - * Update to Standards-Version 3.9.2, no further changes necessary. - * Switch to debhelper compat level v9. - - Exports build flags. - - Build for multiarch. (Closes: #651006) - * Override lintian warning package-name-doesnt-match-sonames. - * Fix building with libpng 1.5. (Closes: #636007) - - Add libpng15.diff. - - (Build-)Depend on libpng-dev instead of libpng12-dev. - * Add myself as uploader. - * Update Vcs control fields to the new git repository. - * Improve copyright file. - - [ Dominique Dumont ] - * control: allowed DM uploads. Set dev pkg to multi-arch: same - * copyright: converted to DEP-5 debian/copyright - * source: override package-needs-versioned-debhelper-build-depends - warning - - -- Felix Geyer Thu, 01 Dec 2011 13:11:22 +0100 - -sdl-image1.2 (1.2.10-2.1) unstable; urgency=low - - * Non-maintainer upload. - * Empty dependency_libs (Closes: #619536). - * Fix configure flags (Closes: #591190). - - -- Luk Claes Sun, 26 Jun 2011 17:58:00 +0200 - -sdl-image1.2 (1.2.10-2) unstable; urgency=low - - [ Aurelien Jarno ] - * Add myself to uploaders. - * Bump shlibs (Closes: #563452). - * (Build-)Depends on libjpeg-dev instead of libjpeg62-dev - (Closes: #569241). - - -- Aurelien Jarno Thu, 11 Feb 2010 15:12:43 +0100 - -sdl-image1.2 (1.2.10-1) unstable; urgency=low - - [ Barry deFreese ] - * Have SDL Team take over maintenance. - + With permission from Michael Koch. - + Thanks to Michael for all of his previous work. - * Add myself to uploaders. - * Add VCS tags. - * New upstream release. + * New upstream snapshot. - -- Barry deFreese Mon, 16 Nov 2009 14:30:11 -0500 + -- Sam Hocevar Wed, 30 Jan 2013 23:01:12 +0100 -sdl-image1.2 (1.2.8-1) unstable; urgency=low - - * New upstream release. - - adds pkg-config support (Closes: #515123) - - -- Michael Koch Thu, 22 Oct 2009 23:09:13 +0200 - -sdl-image1.2 (1.2.7-2) unstable; urgency=low +libsdl2 (2.0.0~20130103-1) unstable; urgency=low + [ Manuel A. Fernandez Montecelo ] * debian/control: - - Added ${misc:Depends} to all Depends. - - Updated Standards-Version to 3.8.3. - - -- Michael Koch Mon, 31 Aug 2009 08:17:06 +0200 - -sdl-image1.2 (1.2.7-1) unstable; urgency=low - - * New upstream release. - * debian/control: Build-Depends on debhelper (>= 5). - * debian/control: Updated Standards-Version to 3.8.2. - * debian/control: Add Homepage field. - * debian/watch: Updated watch file for easier upstream updates. - - -- Michael Koch Tue, 21 Jul 2009 21:08:48 +0200 - -sdl-image1.2 (1.2.6-3) unstable; urgency=low - - * CVE-2008-0544: Fix heap based buffer overflow. - * Force library to link libjpeg and libtif and not dlopen them during - runtime. - - -- Michael Koch Tue, 05 Feb 2008 23:10:31 +0100 - -sdl-image1.2 (1.2.6-2) unstable; urgency=high - - * Fixed buffer overflow when reading GIFs. CVE pending. - * Updated Standards-Version to 3.7.3. - - -- Michael Koch Sun, 27 Jan 2008 23:44:23 +0100 - -sdl-image1.2 (1.2.6-1) unstable; urgency=low - - * New upstream release. Closes: #437005. - * Replaced obsolete ${Source-Version}. - * Handle errors better in clean target. - - -- Michael Koch Sat, 11 Aug 2007 16:42:46 +0200 - -sdl-image1.2 (1.2.5-3) unstable; urgency=low - - * Updated config.guess and config.sub (Closes: #401526). - - -- Michael Koch Tue, 16 Jan 2007 08:38:19 +0100 - -sdl-image1.2 (1.2.5-2) unstable; urgency=low - - * Added patch to make SDL_image 1.2 less segfault. Thanks to Margarita - Manterola for the patch (Closes: #378173). - - -- Michael Koch Sat, 22 Jul 2006 04:30:39 +0000 - -sdl-image1.2 (1.2.5-1) unstable; urgency=low - - * New upstream release - * Updated Build-Depends and Depends to SDL 1.2.10 - * Updated minimum shlibs version to 1.2.5 - * Updated Standards-Version to 3.7.2 - * Simplified watch file - * Fixed address of FSF in debian/copyright - - -- Michael Koch Fri, 9 Jun 2006 07:21:47 +0000 - -sdl-image1.2 (1.2.4-1) unstable; urgency=low - - * New upstream release - * debian/copyright: Fixed header for license text (Closes: #290199) - * Updated config.guess and config.sub (Closes: #267493) - * debian/rules: Use dh_installman instead of dh_installmanpages - - -- Michael Koch Wed, 23 Feb 2005 10:44:58 +0000 - -sdl-image1.2 (1.2.3-6) unstable; urgency=low - - * Fixed download URL in debian/copyright - * Added debian/watch - * Add -ltiff before -ljpeg. Added debian/patches/bug267169.diff for this - (Closes: #267169) - - -- Michael Koch Tue, 16 Nov 2004 18:24:14 +0000 + - Updating maintainers/permissions: + - Add myself and Felix Geyer + - Update Build-Depends: + - Remove a few obsolete items + - Add items added lately to libsdl1.2, such as libts (touch screen) + support + - Add "libsdl2-dbg", analog to libsdl1.2-dbg + - Change "XC-Package-Type: udeb" to "Package-Type" + * debian/compat: set level 9 + * debian/source/format: Set to "3.0 (quilt)" + - Remove README.source, not needed with new format + * debian/sdl2-config.1: Fix typo, "progams"->"programs" + * debian/libsdl2-dev.install: + - Remove "usr/lib/*/*.la", discouraged + - Add man pages: "usr/share/man/man3/*" + * debian/libsdl2-dev.manpages: add file to install local "sdl2-config.1" + * debian/sources: Removed, possible obsolete file from long ago? + * debian/copyright: + - Upstream updated to zlib/libpng + - Copyright-file format conversion to 1.0 + - Complete revamp and detailed research about copyright and licenses used, + it's very messy but hopefully complete -sdl-image1.2 (1.2.3-5) unstable; urgency=low - - * libsdl-image1.2-dev: Updated Depends to use libtiff4-dev (Closes: #262160) - Thanks to Jochen Friedrich. - - -- Michael Koch Fri, 30 Jul 2004 20:27:09 +0200 - -sdl-image1.2 (1.2.3-4) unstable; urgency=low - - * Build-Depend on libtiff4-dev. - * debian/copyright: Updated download URL, author mail address - and copyrigth notice. - * libsdl-image1.2-dev: Updated section to libdevel. - - -- Michael Koch Sun, 25 Jul 2004 20:44:14 +0200 - -sdl-image1.2 (1.2.3-3) unstable; urgency=low - - * Added patch from Ivo Danihelka - (Closes: 256660). - * Updated Standards-Version to 3.6.1. - * Build depend on debhelper (>= 4.0.0). - * Use debian/compat instead of DH_COMPAT. - * Raised debhelper compat level to 4. - * Use dh_install instead of dh_movefiles. - - -- Michael Koch Thu, 8 Jul 2004 11:39:58 +0200 - -sdl-image1.2 (1.2.3-2) unstable; urgency=low - - * Build-Depends on libpng12-dev not libpng3-dev. - * libsdl-image1.2-dev: Depends on libpng12-dev instead of libpng3-dev. - * Bumped Standards-Version to 3.5.10. - - -- Michael Koch Mon, 23 Jun 2003 05:38:52 +0000 - -sdl-image1.2 (1.2.3-1) unstable; urgency=low - - * New upstream version. - * Conflicts with packages explicitely linking libpng2 (Closes: #178802). - * Bumped Standards-Version to 3.5.9. - * Fixed "noopt" handling in debian/rules. - * Changed debian/shlibs.local to fix libsdl1.2debian dependency. - - -- Michael Koch Thu, 20 Mar 2003 12:48:26 +0100 - -sdl-image1.2 (1.2.2-5) unstable; urgency=low - - * Bumped Standards-Version to 3.5.8. - - -- Michael Koch Thu, 12 Dec 2002 19:48:39 +0100 - -sdl-image1.2 (1.2.2-4) unstable; urgency=low - - * Support "noopt" option and dropped "debug". - * Enabled TIFF and XCF support. - * Cleaned up debian rules. - - -- Michael Koch Wed, 23 Oct 2002 17:07:37 +0200 - -sdl-image1.2 (1.2.2-3) unstable; urgency=low - - * Updated Standard-Version to 3.5.7. - - -- Michael Koch Thu, 5 Sep 2002 16:59:08 +0200 - -sdl-image1.2 (1.2.2-2) unstable; urgency=low - - * New maintainer (Closes: #158940). - * Build-Depend on libpng3-dev (Closes: #153871, #156033). - * libsdl-image1.2-dev depend on libpng3-dev. - * added AM_MAINTAINER_MODE to configure.in to get rid of conflicts to - aclocal, autoconf, automake (Closes: #153851). - * use debhelper compat mode 3 (Build-Depend on debhelper >> 3.0). - * add support for DEB_HOST_GNU_TYPE, DEB_BUILD_GNU_TYPE and - DEB_BUILD_OPTIONS. - * removed postinst script. debhelper does all automatically. - * reworked debian/rules - - -- Michael Koch Wed, 4 Sep 2002 09:29:11 +0200 - -sdl-image1.2 (1.2.2-1) unstable; urgency=low - - * new upstream version (closes: #150670) - * build-depend on new SDL 1.2.4 - * patch acinclude.m4, configure.in - * re-run libtoolize --force --copy; aclocal; patch aclocal.m4 to include - SDL_LIBS_FOR_LIBS, then run automake --foreign; autoconf - * depend on libpng-dev, not on (older) libpng2-dev (closes: #152302) - - -- Christian T. Steigies Mon, 8 Jul 2002 23:03:25 -0400 - -sdl-image1.2 (1.2.1-2) unstable; urgency=low - - * libsdl-image1.2-dev should depend on -dev packages, thanks Junichi - * Ok, I've had enough. To make it build on slower arches as well we now - build-conflict with aclocal, autoconf, automake - * "missing" has to be executable - - -- Christian T. Steigies Sat, 13 Apr 2002 22:15:49 -0400 - -sdl-image1.2 (1.2.1-1.1) unstable; urgency=low - - * NMU - * built against libsdl1.2 1.2.2-3.3 - * acinclude.m4: removed copy of sdl.m4 - * configure.in: IMG_LIBS should use SDL_LIBS_FOR_LIBS, not SDL_LIBS - * re-ran libtoolize --force --copy; aclocal; automake --foreign; autoconf - * debian/control: - - updated Build-Depends and Depends on libsdl1.2 to 1.2.2-3.3 - - tweaked package descriptions - - -- Branden Robinson Tue, 25 Dec 2001 05:45:38 -0500 - -sdl-image1.2 (1.2.1-1) unstable; urgency=low - - * new upstream version - * tried to add Branden's fixes again in Makefile.am, aclocal.m4 and - configure.in - * re-ran libtoolize --force --copy; aclocal; automake --foreign; autoconf - - -- Christian T. Steigies Tue, 18 Dec 2001 21:21:39 -0500 + [ Felix Geyer ] + * Simplify debian/rules by using dh(1). -sdl-image1.2 (1.2.0-2) unstable; urgency=low + -- Manuel A. Fernandez Montecelo Sun, 27 Jan 2013 16:40:49 +0100 - * fix section in control file, libsdl-image1.2 goes in libs, -dev in devel +libsdl2 (2.0~20120220c-1) experimental; urgency=low - -- Christian T. Steigies Mon, 12 Nov 2001 21:15:11 -0500 + * Upstream version was renamed to 2.0 (Closes: #669367). + * New upstream snapshot (Closes: #671506). + * This package no longer conflicts with libsdl-1.2. + * debian/rules: add multiarch support (Closes: #669364). -sdl-image1.2 (1.2.0-1.1) unstable; urgency=low + * debian/patches/fix_joystick_misc_axes.diff: fix a joystick remapping + bug causing some axes to malfunction. + * debian/patches/external_header_paths.diff: provide additional CFLAGS + so that headers such as SDL_syswm.h can be included (Closes: #669363). - * NMU to fix the Big SDL and X Extension Library Problem (Closes: #115051) - * built against libsdl1.2 1.2.2-3.1 - * Thanks to Eric Gillespie, Jr. for help preparing this solution. - * Makefile.am: use @SDL_LIBS_FOR_LIBS@ for the SDL image library itself, - and @SDL_LIBS@ for the sample program - * acinclude.m4: removed copy of sdl.m4 - * configure.in: don't define LIBS here - * re-ran libtoolize --force --copy; aclocal; automake --foreign; autoconf - * debian/control: - - bumped Standards-Version - - add Build-Depends on zlib1g-dev - - add versioning of (>= 1.2.2-3.1) to Build-Dep on libsdl1.2-dev - (it contains the logic for @SDL_LIBS_FOR_LIBS@) - - add versioning of (>= 1.2.2-3.1) to libsdl-image1.2-dev's dependency on - libsdl1.2-dev - * debian/postinst: only run ldconfig if $1 = "configure" - * debian/rules: - - remove some crack-smoking file deletion from the build rule (it always - fails, and is taken care of in the install rule) + -- Sam Hocevar Thu, 17 May 2012 19:03:59 +0200 - -- Branden Robinson Wed, 10 Oct 2001 12:33:40 -0500 +libsdl-1.3 (1.3.0~20111204-1) experimental; urgency=low -sdl-image1.2 (1.2.0-1) unstable; urgency=low + * Initial upload from upstream snapshot. - * sdl-image for SDL1.2. Initial Release. (closes: #94452) + -- Sam Hocevar Sun, 04 Dec 2011 14:35:05 +0100 - -- Christian T. Steigies Fri, 20 Apr 2001 15:19:03 -0400 diff --git a/src/SDL2/debian/control b/src/SDL2/debian/control index 5b3263318..e116e9b34 100644 --- a/src/SDL2/debian/control +++ b/src/SDL2/debian/control @@ -1,47 +1,75 @@ -Source: libsdl2-image -Section: libs +Source: libsdl2 Priority: optional +Section: libs Maintainer: Debian SDL packages maintainers Uploaders: Barry deFreese , - Aurelien Jarno , - Felix Geyer , + Sam Hocevar , + Manuel A. Fernandez Montecelo , + Felix Geyer , Sam Lantinga -Standards-Version: 3.9.2 -Build-Depends: debhelper (>= 8.9.0~), +Standards-Version: 3.9.3 +Build-Depends: debhelper (>= 9), dh-autoreconf, dpkg-dev (>= 1.16.1~), - libsdl2-dev (>= 2.0.0), - libjpeg-dev, - libpng-dev, - libtiff4-dev, - zlib1g-dev -Homepage: http://www.libsdl.org/projects/SDL_image/ + libasound2-dev [linux-any], + libgl1-mesa-dev, + libpulse-dev, + libudev-dev [linux-any], + libdbus-1-dev [linux-any], + libusb2-dev [kfreebsd-any], + libusbhid-dev [kfreebsd-any], + libx11-dev, + libxcursor-dev, + libxext-dev, + libxi-dev, + libxinerama-dev, + libxrandr-dev, + libxss-dev, + libxt-dev, + libxxf86vm-dev +Homepage: http://www.libsdl.org/ -Package: libsdl2-image +Package: libsdl2 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, - ${shlibs:Depends} -Description: Image loading library for Simple DirectMedia Layer 2.0 - This is a simple library to load images of various formats as SDL surfaces. - This library currently supports BMP, PPM, PCX, GIF, JPEG, PNG, TIFF, and XPM - formats. + ${shlibs:Depends}, + libudev0 [linux-any], + libdbus-1-3 [linux-any] +Conflicts: libsdl-1.3-0 +Replaces: libsdl-1.3-0 +Description: Simple DirectMedia Layer + SDL is a library that allows programs portable low level access to + a video framebuffer, audio output, mouse, and keyboard. . - This package contains the shared library. + This package contains the shared library, compiled with X11 graphics drivers and OSS, ALSA and PulseAudio sound drivers. -Package: libsdl2-image-dev +Package: libsdl2-dev Section: libdevel Architecture: any Multi-Arch: same Depends: ${misc:Depends}, - libsdl2-image (= ${binary:Version}), + libsdl2 (= ${binary:Version}), libc6-dev, - libsdl2-dev (>= 2.0.0) -Description: development files for SDL 2.0 image loading library - This is a simple library to load images of various formats as SDL surfaces. - This library currently supports BMP, PPM, PCX, GIF, JPEG, PNG, TIFF, and XPM - formats. + libgl1-mesa-dev +Conflicts: libsdl-1.3-dev +Replaces: libsdl-1.3-dev +Description: Simple DirectMedia Layer development files + SDL is a library that allows programs portable low level access to a video + framebuffer, audio output, mouse, and keyboard. + . + This package contains files needed if you wish to use the SDL library in your own programs. + +Package: libsdl2-dbg +Priority: extra +Section: debug +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, + libsdl2 (= ${binary:Version}), +Description: Simple DirectMedia Layer debug files + SDL is a library that allows programs portable low level access to a video + framebuffer, audio output, mouse, and keyboard. . - This package contains files needed if you wish to use the SDL image - library in your own programs. + This package contains the debug symbols for the SDL library. diff --git a/src/SDL2/debian/copyright b/src/SDL2/debian/copyright index 1f90a843e..a53d19be0 100644 --- a/src/SDL2/debian/copyright +++ b/src/SDL2/debian/copyright @@ -1,24 +1,106 @@ -Format: http://dep.debian.net/deps/dep5/ -Upstream-Name: SDL_image +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: SDL Upstream-Contact: Sam Lantinga -Source: downloaded from http://www.libsdl.org/projects/SDL_image/ +Source: http://www.libsdl.org/ Files: * -Copyright: 1997-2013 Sam Lantinga - 2009 Eric Wing - 1990, 1991, 1993 David Koblas - 1996 Torsten Martinsen - 1998 Philippe Lavoie +Copyright: 1997-2012 Sam Lantinga License: zlib/libpng +Files: src/libm/* +Copyright: 1993 by Sun Microsystems, Inc. All rights reserved. +License: SunPro + +Files: src/main/windows/SDL_windows_main.c +Copyright: 1998 Sam Lantinga +License: PublicDomain_Sam_Lantinga +Comment: SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98 + +Files: src/render/mmx.h +Copyright: 1997-99 by H. Dietz and R. Fisher +License: zlib/libpng +Comment: + Copyright but no mention to license. + . + Included since long ago with SDL (and its Debian package) under directory + src/video/mmx.h + +Files: src/render/SDL_yuv_sw.c +Copyright: 1995 Erik Corry + 1995 The Regents of the University of California + 1995 Brown University +License: BrownUn_UnCalifornia_ErikCorry + +Files: src/stdlib/SDL_qsort.c +Copyright: 1998 Gareth McCaughan +License: Gareth_McCaughan + +Files: src/test/SDL_test_md5.c +Copyright: 1997-2012 Sam Lantinga + 1990 RSA Data Security, Inc. +License: zlib/libpng and RSA_Data_Security + +Files: src/thread/windows/win_ce_semaphore.c +Copyright: 1998, Johnson M. Hart (with corrections 2001 by Rainer Loritz) +License: Johnson_M._Hart + +Files: src/video/x11/imKStoUCS.c + src/video/x11/imKStoUCS.h +Copyright: 1994-2003 The XFree86 Project, Inc. +License: MIT/X11 + +Files: test/testhaptic.c +Copyright: 1997-2011 Sam Lantinga + 2008 Edgar Simo Serra +License: BSD_3_clause + +Files: test/testrumble.c +Copyright: 1997-2011 Sam Lantinga + 2011 Edgar Simo Serra +License: BSD_3_clause + +Files: test/shapes/* +Copyright: none +License: zlib/libpng +Comment: No specific information about the images + +Files: Xcode/TemplatesForXcode*/*/main.c +Copyright: none +License: zlib/libpng +Comment: SDL files, no copyright or license notice + +Files: Xcode/TemplatesForXcode*/*/atlantis/* +Copyright: 1993, 1994, Silicon Graphics, Inc. +License: SGI_atlantis + +Files: Xcode/TemplatesForXcode*/*/atlantis/atlantis.c +Copyright: 1994 Mark J. Kilgard + 1993, 1994, Silicon Graphics, Inc. +License: SGI_atlantis +Comment: See license for full copyright notice, this one is the same except for + the additional copyright holder + +Files: Xcode/SDLTest/sdlcommon_prefix.h +Copyright: 2003 Darrell Walisser +License: zlib/libpng +Comment: + Created by Darrell Walisser on Wed Aug 06 2003. + Copyright (c) 2003 __MyCompanyName__. All rights reserved. + Files: debian/* -Copyright: 2011, Felix Geyer - 2010, Aurelien Jarno +Copyright: 2011-2012, Manuel A. Fernandez Montecelo + 2011-2012, Felix Geyer + 2011, Roman Vasiyarov + 2010, Jon Dowland 2009, Barry deFreese - 2002-2009 Michael Koch - 2001,2002, Christian T. Steigies + 2007-2008, Aurelien Jarno + 2007-2008, Sam Hocevar (Debian packages) + 2002-2007, Josselin Mouette + 2001, Christian T. Steigies + 2001, Branden Robinson License: LGPL-2.1+ + License: zlib/libpng This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -43,5 +125,238 @@ License: LGPL-2.1+ your option) any later version. . On Debian systems, the complete text of version 2.1 of the GNU Lesser - Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + Public License can be found in '/usr/share/common-licenses/LGPL-2.1'. + +License: MIT/X11 + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is fur- + nished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- + NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- + NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of the XFree86 Project shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from the XFree86 + Project. + +License: BSD_3_clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the LibQxt project nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Comment: + Copyright (C) 1997-2011 Sam Lantinga + . + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely. + . + . + Copyright (c) 2011, Edgar Simo Serra + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Simple Directmedia Layer (SDL) nor the names of + its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BrownUn_UnCalifornia_ErikCorry + /* This code was derived from code carrying the following copyright notices: + * Copyright (c) 1995 The Regents of the University of California. + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice and the following + * two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF + * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Copyright (c) 1995 Erik Corry + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice and the following + * two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL ERIK CORRY BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, + * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF + * THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF ERIK CORRY HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ERIK CORRY SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" + * BASIS, AND ERIK CORRY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, + * UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Portions of this software Copyright (c) 1995 Brown University. + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement + * is hereby granted, provided that the above copyright notice and the + * following two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL BROWN UNIVERSITY BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF BROWN + * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * BROWN UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" + * BASIS, AND BROWN UNIVERSITY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, + * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + */ + +License: Gareth_McCaughan + You may use it in anything you like; you may make money + out of it; you may distribute it in object form or as + part of an executable without including source code; + you don't have to credit me. (But it would be nice if + you did.) +License: Johnson_M._Hart + Permission is granted for any and all use providing that this + copyright is properly acknowledged. + There are no assurances of suitability for any use whatsoever. + +License: SunPro + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +License: PublicDomain_Sam_Lantinga + Placed in the public domain by Sam Lantinga 4/13/98 + +License: PublicDomain_Edgar_Simo + Written by Edgar Simo "bobbens" + . + Released under Public Domain. + +License: RSA_Data_Security + *********************************************************************** + ** utl_md5.c -- the source code for MD5 routines ** + ** RSA Data Security, Inc. MD5 Message-Digest Algorithm ** + ** Created: 2/17/90 RLR ** + ** Revised: 1/91 SRD,AJ,BSK,JT Reference C ver., 7/10 constant corr. ** + *********************************************************************** + *********************************************************************** + ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. ** + ** ** + ** License to copy and use this software is granted provided that ** + ** it is identified as the "RSA Data Security, Inc. MD5 Message- ** + ** Digest Algorithm" in all material mentioning or referencing this ** + ** software or this function. ** + ** ** + ** License is also granted to make and use derivative works ** + ** provided that such works are identified as "derived from the RSA ** + ** Data Security, Inc. MD5 Message-Digest Algorithm" in all ** + ** material mentioning or referencing the derived work. ** + ** ** + ** RSA Data Security, Inc. makes no representations concerning ** + ** either the merchantability of this software or the suitability ** + ** of this software for any particular purpose. It is provided "as ** + ** is" without express or implied warranty of any kind. ** + ** ** + ** These notices must be retained in any copies of any part of this ** + ** documentation and/or software. ** + *********************************************************************** + +License: SGI_atlantis + (c) Copyright 1993, 1994, Silicon Graphics, Inc. + ALL RIGHTS RESERVED + Permission to use, copy, modify, and distribute this software for + any purpose and without fee is hereby granted, provided that the above + copyright notice appear in all copies and that both the copyright notice + and this permission notice appear in supporting documentation, and that + the name of Silicon Graphics, Inc. not be used in advertising + or publicity pertaining to distribution of the software without specific, + written prior permission. + . + THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" + AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, + INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR + FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT, + SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY + KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION, + LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF + THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE + POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. + . + US Government Users Restricted Rights + Use, duplication, or disclosure by the Government is subject to + restrictions set forth in FAR 52.227.19(c)(2) or subparagraph + (c)(1)(ii) of the Rights in Technical Data and Computer Software + clause at DFARS 252.227-7013 and/or in similar or successor + clauses in the FAR or the DOD or NASA FAR Supplement. + Unpublished-- rights reserved under the copyright laws of the + United States. Contractor/manufacturer is Silicon Graphics, + Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. + . + OpenGL(TM) is a trademark of Silicon Graphics, Inc. diff --git a/src/SDL2/debian/docs b/src/SDL2/debian/docs index 71dfd5bac..2e2e9c4ee 100644 --- a/src/SDL2/debian/docs +++ b/src/SDL2/debian/docs @@ -1 +1,4 @@ +BUGS.txt +CREDITS.txt README.txt +README-SDL.txt diff --git a/src/SDL2/debian/examples/Makefile b/src/SDL2/debian/examples/Makefile deleted file mode 100644 index 8d94bed24..000000000 --- a/src/SDL2/debian/examples/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for showimage - -CC = gcc -CFLAGS = $(shell sdl2-config --cflags) -Wall -O -LIBS = $(shell sdl2-config --libs) -lSDL2_image -EXE = showimage - -all: $(EXE) - -showimage: showimage.c Makefile - $(CC) -o $@ $@.c $(CFLAGS) $(LIBS) - -clean: - -rm *.o $(EXE) diff --git a/src/SDL2/debian/libsdl2-image-dev.examples b/src/SDL2/debian/libsdl2-image-dev.examples deleted file mode 100644 index 57afbcc43..000000000 --- a/src/SDL2/debian/libsdl2-image-dev.examples +++ /dev/null @@ -1,2 +0,0 @@ -debian/examples/Makefile -showimage.c diff --git a/src/SDL2/debian/libsdl2-image-dev.install b/src/SDL2/debian/libsdl2-image-dev.install deleted file mode 100644 index d05ca2e35..000000000 --- a/src/SDL2/debian/libsdl2-image-dev.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/include -usr/lib/*/lib*.a -usr/lib/*/lib*.so -usr/lib/*/pkgconfig diff --git a/src/SDL2/debian/libsdl2-image.install b/src/SDL2/debian/libsdl2-image.install deleted file mode 100644 index 3ddde5841..000000000 --- a/src/SDL2/debian/libsdl2-image.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/lib*.so.* diff --git a/src/SDL2/debian/libsdl2-image.lintian-overrides b/src/SDL2/debian/libsdl2-image.lintian-overrides deleted file mode 100644 index ff815a5f2..000000000 --- a/src/SDL2/debian/libsdl2-image.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -libsdl2-image: package-name-doesnt-match-sonames libSDL2-image diff --git a/src/SDL2/debian/rules b/src/SDL2/debian/rules index df91baa82..3f4d8e629 100755 --- a/src/SDL2/debian/rules +++ b/src/SDL2/debian/rules @@ -1,18 +1,41 @@ #!/usr/bin/make -f -confflags = --disable-webp --disable-jpg-shared --disable-png-shared --disable-tif-shared +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -%: - dh $@ --with autoreconf --parallel +confflags = --disable-rpath --disable-video-directfb \ + --disable-nas --disable-esd --disable-arts \ + --disable-alsa-shared --disable-pulseaudio-shared \ + --disable-x11-shared -override_dh_autoreconf: - dh_autoreconf ./autogen.sh +%: + dh $@ --parallel override_dh_auto_configure: - dh_auto_configure -- $(confflags) + dh_auto_configure -Bbuilddir/all -- $(confflags) + +override_dh_auto_build: + dh_auto_build -Bbuilddir/all + tar czf debian/examples.tar.gz test + +override_dh_auto_install: + dh_auto_install -Bbuilddir/all + +override_dh_auto_clean: + dh_auto_clean -Bbuilddir/all + rm -f debian/examples.tar.gz + +override_dh_install: + dh_install --remaining-packages --fail-missing -XlibSDL2.la + +override_dh_installexamples: + dh_installexamples -plibsdl2-dev debian/examples.tar.gz + dh_installexamples --remaining-packages -override_dh_auto_installchangelogs: - dh_auto_installchangelogs -- CHANGES +override_dh_link: + # to address lintian warning + # W: libsdl2-2.0-0: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.0.0 usr/lib/x86_64-linux-gnu/libSDL2-2.0.so + dh_link -plibsdl2-dev usr/lib/$(DEB_HOST_MULTIARCH)/libSDL2-2.0.so.0.0.0 usr/lib/$(DEB_HOST_MULTIARCH)/libSDL2-2.0.so -override_dh_compress: - dh_compress -Xshowimage.c +override_dh_strip: + dh_strip --dbg-package=libsdl2-dbg diff --git a/src/SDL2/debian/source/lintian-overrides b/src/SDL2/debian/source/lintian-overrides deleted file mode 100644 index 57c556629..000000000 --- a/src/SDL2/debian/source/lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -sdl2-image source: package-needs-versioned-debhelper-build-depends 9 diff --git a/src/SDL2/debian/watch b/src/SDL2/debian/watch index f4195a9e8..07dc20117 100644 --- a/src/SDL2/debian/watch +++ b/src/SDL2/debian/watch @@ -1,2 +1,2 @@ version=3 -http://www.libsdl.org/projects/SDL_image/release/ (?:.*/)?SDL_image-?_?([\w+\d+\.]+|\d+)\.tar\.gz debian uupdate +http://www.libsdl.org/release/SDL-([\d.]+)\.tar\.gz -- 2.11.0

KFjttgPD;xxP>E}f07D_W<1RybVwZfJF|M<+ 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%0AgI z2jrj}lEZRDj><8gX;lDF9Iawhtcp|dDnTWxB$cd?vJ_XIN&#f2sdSa0GF6t!R=Fx) z6{;c?RHbU2DpwV%QdOyHRikQwS?X1TYE(_CS+%HE)u!522k1kW>Q+6f7xbcE4FKy6 zsbMvuM%5VbwxI($N=NG$9joJXyiU-GI!PyMq%F<0r&DyQPSfc+12id1XX{*@4_sBG zgSu3&)8)DX7^_NG>l$6F>vX+t(2crDH|rMN3P^6(9lBF@0it_!ukO?Rfa*a#q=&&; zi~`32!Vx_C1CBFL07ao_6oX<>9EwK?C=n&0fWK{SMh z(FhtvV`v;)b^7d7evA&G9s1D` Q{(VLZ{H~q-e7_~|PmmrN3jhEB diff --git a/src/SDL2/VisualC/external/lib/x86/libpng16-16.dll b/src/SDL2/VisualC/external/lib/x86/libpng16-16.dll deleted file mode 100755 index 4d93a99345c518c060e408e10964a8573ecf292f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200704 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 diff --git a/src/SDL2/VisualC/external/lib/x86/libtiff-5.dll b/src/SDL2/VisualC/external/lib/x86/libtiff-5.dll deleted file mode 100755 index 013fcdcfb3bc045e98e56d5002c2d4eff62dc7f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436224 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