From 3640d802b4fddb60f761b7d694842e31efd0f1b0 Mon Sep 17 00:00:00 2001 From: aki Date: Tue, 1 Jul 2008 01:16:46 +0530 Subject: [PATCH] Changed the names to match the PECL nomenclature --- src/cairo/.cvsignore | 44 + src/cairo/.deps | 0 src/cairo/.libs/Cairo.o | Bin 0 -> 280324 bytes src/cairo/.libs/cairo.la | 1 + src/cairo/.libs/cairo.lai | 35 + src/cairo/.libs/cairo.so | Bin 0 -> 260918 bytes src/cairo/.libs/phpCairo.la | 1 + src/cairo/.libs/phpCairo.lai | 35 + src/cairo/.libs/phpCairo.o | Bin 0 -> 280460 bytes src/cairo/.libs/phpCairo.so | Bin 0 -> 261026 bytes src/cairo/CREDITS | 2 + src/cairo/Cairo.c | 331 + src/cairo/Cairo.lo | 12 + src/cairo/CairoContext.c | 2834 ++++ src/cairo/CairoException.c | 48 + src/cairo/CairoExceptionMacro.c | 31 + src/cairo/CairoFont.c | 554 + src/cairo/CairoMatrix.c | 302 + src/cairo/CairoPath.c | 126 + src/cairo/CairoPattern.c | 738 + src/cairo/CairoSurface.c | 1566 ++ src/cairo/EXPERIMENTAL | 5 + src/cairo/LICENSE | 68 + src/cairo/Makefile | 196 + src/cairo/Makefile.fragments | 0 src/cairo/Makefile.global | 145 + src/cairo/Makefile.objects | 8 + src/cairo/README | 70 + src/cairo/acinclude.m4 | 2847 ++++ src/cairo/aclocal.m4 | 9093 ++++++++++++ src/cairo/autom4te.cache/output.0 | 14689 +++++++++++++++++++ src/cairo/autom4te.cache/requests | 64 + src/cairo/autom4te.cache/traces.0 | 552 + src/cairo/build/libtool.m4 | 6246 ++++++++ src/cairo/build/mkdep.awk | 75 + src/cairo/build/scan_makefile_in.awk | 32 + src/cairo/build/shtool | 1719 +++ src/cairo/cairo.la | 35 + src/cairo/cairo.xml | 1016 ++ src/cairo/config.guess | 1519 ++ src/cairo/config.h | 62 + src/cairo/config.h.in | 61 + src/cairo/config.h.in~ | 61 + src/cairo/config.log | 534 + src/cairo/config.m4 | 51 + src/cairo/config.nice | 6 + src/cairo/config.status | 684 + src/cairo/config.sub | 1626 ++ src/cairo/config.w32 | 8 + src/cairo/configure | 14689 +++++++++++++++++++ src/cairo/configure.in | 128 + src/cairo/hs_err_pid4267.log | 748 + src/cairo/install-sh | 0 src/cairo/less | 2 + src/cairo/libtool | 7351 ++++++++++ src/cairo/ltmain.sh | 7002 +++++++++ src/cairo/manual/Makefile | 24 + src/cairo/manual/file-entities.ent | 5 + src/cairo/manual/functions.xml | 2 + src/cairo/manual/manual.xml.in | 37 + src/cairo/manual/phpCairo/configure.xml | 42 + .../phpCairo/functions/cairo-version-string.xml | 39 + .../manual/phpCairo/functions/cairo-version.xml | 39 + src/cairo/manual/phpCairo/reference.xml | 53 + src/cairo/missing | 0 src/cairo/mkinstalldirs | 0 src/cairo/modules/cairo.so | Bin 0 -> 260918 bytes src/cairo/modules/phpCairo.so | Bin 0 -> 261026 bytes src/cairo/package.xml | 234 + src/cairo/package2.xml | 251 + src/cairo/phpCairo.dsp | 112 + src/cairo/phpCairo.la | 35 + src/cairo/phpCairo.lo | 12 + src/cairo/php_cairo.h | 1788 +++ src/cairo/run-tests.php | 1985 +++ src/cairo/run.sh | 2 + src/cairo/tests/CairoContext____construct.phpt | 14 + src/cairo/tests/CairoContext__append_path.phpt | 14 + src/cairo/tests/CairoContext__arc.phpt | 14 + src/cairo/tests/CairoContext__arc_negative.phpt | 14 + src/cairo/tests/CairoContext__clip.phpt | 14 + src/cairo/tests/CairoContext__clip_extents.phpt | 14 + src/cairo/tests/CairoContext__clip_preserve.phpt | 14 + src/cairo/tests/CairoContext__close_path.phpt | 14 + .../CairoContext__copy_clip_rectangle_list.phpt | 14 + src/cairo/tests/CairoContext__copy_page.phpt | 14 + src/cairo/tests/CairoContext__copy_path.phpt | 14 + src/cairo/tests/CairoContext__copy_path_flat.phpt | 14 + src/cairo/tests/CairoContext__curve_to.phpt | 14 + src/cairo/tests/CairoContext__device_to_user.phpt | 14 + .../CairoContext__device_to_user_distance.phpt | 14 + src/cairo/tests/CairoContext__fill.phpt | 14 + src/cairo/tests/CairoContext__fill_extents.phpt | 14 + src/cairo/tests/CairoContext__fill_preserve.phpt | 14 + src/cairo/tests/CairoContext__font_extents.phpt | 14 + src/cairo/tests/CairoContext__get_antialias.phpt | 14 + .../tests/CairoContext__get_current_point.phpt | 14 + src/cairo/tests/CairoContext__get_dash.phpt | 14 + src/cairo/tests/CairoContext__get_dash_count.phpt | 14 + src/cairo/tests/CairoContext__get_fill_rule.phpt | 14 + src/cairo/tests/CairoContext__get_font_face.phpt | 14 + src/cairo/tests/CairoContext__get_font_matrix.phpt | 14 + .../tests/CairoContext__get_font_options.phpt | 14 + .../tests/CairoContext__get_group_target.phpt | 14 + src/cairo/tests/CairoContext__get_line_cap.phpt | 14 + src/cairo/tests/CairoContext__get_line_join.phpt | 14 + src/cairo/tests/CairoContext__get_line_width.phpt | 14 + src/cairo/tests/CairoContext__get_matrix.phpt | 14 + .../tests/CairoContext__get_matrix_limit.phpt | 14 + src/cairo/tests/CairoContext__get_operator.phpt | 14 + src/cairo/tests/CairoContext__get_scaled_font.phpt | 14 + src/cairo/tests/CairoContext__get_source.phpt | 14 + src/cairo/tests/CairoContext__get_target.phpt | 14 + src/cairo/tests/CairoContext__get_tolerance.phpt | 14 + src/cairo/tests/CairoContext__glyph_extents.phpt | 14 + src/cairo/tests/CairoContext__glyph_path.phpt | 14 + .../tests/CairoContext__has_current_point.phpt | 14 + src/cairo/tests/CairoContext__identity_matrix.phpt | 14 + src/cairo/tests/CairoContext__in_fill.phpt | 14 + src/cairo/tests/CairoContext__in_stroke.phpt | 14 + src/cairo/tests/CairoContext__line_to.phpt | 14 + src/cairo/tests/CairoContext__mask.phpt | 14 + src/cairo/tests/CairoContext__mask_surface.phpt | 14 + src/cairo/tests/CairoContext__move_to.phpt | 14 + src/cairo/tests/CairoContext__new_path.phpt | 14 + src/cairo/tests/CairoContext__new_sub_path.phpt | 14 + src/cairo/tests/CairoContext__paint.phpt | 14 + .../tests/CairoContext__paint_with_alpha.phpt | 14 + src/cairo/tests/CairoContext__path_extents.phpt | 14 + src/cairo/tests/CairoContext__pop_group.phpt | 14 + .../tests/CairoContext__pop_group_to_source.phpt | 14 + src/cairo/tests/CairoContext__push_group.phpt | 14 + .../CairoContext__push_group_with_content.phpt | 14 + src/cairo/tests/CairoContext__rectangle.phpt | 14 + src/cairo/tests/CairoContext__rel_curve_to.phpt | 14 + src/cairo/tests/CairoContext__rel_line_to.phpt | 14 + src/cairo/tests/CairoContext__rel_move_to.phpt | 14 + src/cairo/tests/CairoContext__reset_clip.phpt | 14 + src/cairo/tests/CairoContext__restore.phpt | 14 + src/cairo/tests/CairoContext__rotate.phpt | 14 + src/cairo/tests/CairoContext__save.phpt | 14 + src/cairo/tests/CairoContext__scale.phpt | 14 + .../tests/CairoContext__select_font_face.phpt | 14 + src/cairo/tests/CairoContext__set_antialias.phpt | 14 + src/cairo/tests/CairoContext__set_dash.phpt | 14 + src/cairo/tests/CairoContext__set_fill_rule.phpt | 14 + src/cairo/tests/CairoContext__set_font_face.phpt | 14 + src/cairo/tests/CairoContext__set_font_matrix.phpt | 14 + .../tests/CairoContext__set_font_options.phpt | 14 + src/cairo/tests/CairoContext__set_font_size.phpt | 14 + src/cairo/tests/CairoContext__set_line_cap.phpt | 14 + src/cairo/tests/CairoContext__set_line_join.phpt | 14 + src/cairo/tests/CairoContext__set_line_width.phpt | 14 + src/cairo/tests/CairoContext__set_matrix.phpt | 14 + src/cairo/tests/CairoContext__set_miter_limit.phpt | 14 + src/cairo/tests/CairoContext__set_operator.phpt | 14 + src/cairo/tests/CairoContext__set_source.phpt | 14 + src/cairo/tests/CairoContext__set_source_rgb.phpt | 14 + src/cairo/tests/CairoContext__set_source_rgba.phpt | 14 + .../tests/CairoContext__set_source_surface.phpt | 14 + src/cairo/tests/CairoContext__set_tolerance.phpt | 14 + src/cairo/tests/CairoContext__show_glyphs.phpt | 14 + src/cairo/tests/CairoContext__show_page.phpt | 14 + src/cairo/tests/CairoContext__show_text.phpt | 14 + src/cairo/tests/CairoContext__stroke.phpt | 14 + src/cairo/tests/CairoContext__stroke_extents.phpt | 14 + src/cairo/tests/CairoContext__stroke_preserve.phpt | 14 + src/cairo/tests/CairoContext__text_extents.phpt | 14 + src/cairo/tests/CairoContext__text_path.phpt | 14 + src/cairo/tests/CairoContext__transform.phpt | 14 + src/cairo/tests/CairoContext__translate.phpt | 14 + src/cairo/tests/CairoContext__user_to_device.phpt | 14 + .../CairoContext__user_to_device_distance.phpt | 14 + src/cairo/tests/CairoFontFace____construct.phpt | 14 + src/cairo/tests/CairoFontFace____destruct.phpt | 14 + src/cairo/tests/CairoFontOptions____construct.phpt | 14 + .../tests/CairoFontOptions__get_antialias.phpt | 14 + .../tests/CairoFontOptions__get_hint_metrics.phpt | 14 + .../tests/CairoFontOptions__get_hint_style.phpt | 14 + .../CairoFontOptions__get_subpixel_order.phpt | 14 + .../tests/CairoFontOptions__set_antialias.phpt | 14 + .../tests/CairoFontOptions__set_hint_metrics.phpt | 14 + .../tests/CairoFontOptions__set_hint_style.phpt | 14 + .../CairoFontOptions__set_subpixel_order.phpt | 14 + src/cairo/tests/CairoGradient____contruct.phpt | 14 + .../tests/CairoGradient__add_color_stop_rgb.phpt | 14 + .../tests/CairoGradient__add_color_stop_rgba.phpt | 14 + .../tests/CairoImageSurface____construct.phpt | 14 + .../tests/CairoImageSurface__create_from_data.phpt | 14 + .../tests/CairoImageSurface__create_from_png.phpt | 14 + src/cairo/tests/CairoImageSurface__get_data.phpt | 14 + src/cairo/tests/CairoImageSurface__get_format.phpt | 14 + src/cairo/tests/CairoImageSurface__get_height.phpt | 14 + src/cairo/tests/CairoImageSurface__get_stride.phpt | 14 + src/cairo/tests/CairoImageSurface__get_width.phpt | 14 + .../tests/CairoLinearGradient____construct.phpt | 14 + .../CairoLinearGradient__get_linear_points.phpt | 14 + src/cairo/tests/CairoMatrix____construct.phpt | 14 + src/cairo/tests/CairoMatrix__init_rotate.phpt | 14 + src/cairo/tests/CairoMatrix__invert.phpt | 14 + src/cairo/tests/CairoMatrix__multiply.phpt | 14 + src/cairo/tests/CairoMatrix__rotate.phpt | 14 + src/cairo/tests/CairoMatrix__scale.phpt | 14 + .../tests/CairoMatrix__transform_distance.phpt | 14 + src/cairo/tests/CairoMatrix__transform_point.phpt | 14 + src/cairo/tests/CairoMatrix__translate.phpt | 14 + src/cairo/tests/CairoPDFSurface____construct.phpt | 14 + src/cairo/tests/CairoPDFSurface__set_size.phpt | 14 + src/cairo/tests/CairoPSSurface____construct.phpt | 14 + .../CairoPSSurface__dsc_begin_page_setup.phpt | 14 + .../tests/CairoPSSurface__dsc_begin_setup.phpt | 14 + src/cairo/tests/CairoPSSurface__dsc_comment.phpt | 14 + .../tests/CairoPSSurface__get_level_string.phpt | 14 + src/cairo/tests/CairoPSSurface__get_levels.phpt | 14 + .../tests/CairoPSSurface__restrict_to_level.phpt | 14 + src/cairo/tests/CairoPSSurface__set_eps.phpt | 14 + src/cairo/tests/CairoPSSurface__set_size.phpt | 14 + src/cairo/tests/CairoPath____construct.phpt | 14 + src/cairo/tests/CairoPath__str.phpt | 14 + src/cairo/tests/CairoPattern____construct.phpt | 14 + src/cairo/tests/CairoPattern__get_matrix.phpt | 14 + src/cairo/tests/CairoPattern__set_matrix.phpt | 14 + .../tests/CairoQuartzSurface____construct.phpt | 14 + .../tests/CairoRadialGradient____constuct.phpt | 14 + .../CairoRadialGradient__get_radial_circles.phpt | 14 + src/cairo/tests/CairoSVGSurface____construct.phpt | 14 + src/cairo/tests/CairoScaledFont____construct.phpt | 14 + src/cairo/tests/CairoScaledFont__extents.phpt | 14 + .../tests/CairoScaledFont__get_font_face.phpt | 14 + src/cairo/tests/CairoScaledFont__text_extents.phpt | 14 + .../tests/CairoSolidPattern____construct.phpt | 14 + src/cairo/tests/CairoSolidPattern__get_rgba.phpt | 14 + .../tests/CairoSurfacePattern____construct.phpt | 14 + .../tests/CairoSurfacePattern__get_extend.phpt | 14 + .../tests/CairoSurfacePattern__get_filter.phpt | 14 + .../tests/CairoSurfacePattern__get_surface.phpt | 14 + .../tests/CairoSurfacePattern__set_extend.phpt | 14 + .../tests/CairoSurfacePattern__set_filter.phpt | 14 + src/cairo/tests/CairoSurface____construct.phpt | 14 + src/cairo/tests/CairoSurface__create_similar.phpt | 14 + src/cairo/tests/CairoSurface__finish.phpt | 14 + src/cairo/tests/CairoSurface__flush.phpt | 14 + src/cairo/tests/CairoSurface__get_content.phpt | 14 + .../tests/CairoSurface__get_device_offset.phpt | 14 + .../tests/CairoSurface__get_font_options.phpt | 14 + .../tests/CairoSurface__mark_dirty_rectangle.phpt | 14 + .../tests/CairoSurface__set_device_offset.phpt | 14 + .../CairoSurface__set_fallback_resolution.phpt | 14 + src/cairo/tests/CairoSurface__write_to_png.phpt | 14 + .../tests/CairoWin32Surface____construct.phpt | 14 + src/cairo/tests/CairoXlibSurface____construct.phpt | 14 + src/cairo/tests/CairoXlibSurface__get_depth.phpt | 14 + src/cairo/tests/CairoXlibSurface__get_height.phpt | 14 + src/cairo/tests/CairoXlibSurface__get_width.phpt | 14 + src/cairo/tests/cairo_version.phpt | 14 + src/cairo/tests/cairo_version_string.phpt | 14 + src/cairo/uu.php | 4 + 257 files changed, 85236 insertions(+) create mode 100644 src/cairo/.cvsignore create mode 100644 src/cairo/.deps create mode 100644 src/cairo/.libs/Cairo.o create mode 120000 src/cairo/.libs/cairo.la create mode 100644 src/cairo/.libs/cairo.lai create mode 100755 src/cairo/.libs/cairo.so create mode 120000 src/cairo/.libs/phpCairo.la create mode 100644 src/cairo/.libs/phpCairo.lai create mode 100644 src/cairo/.libs/phpCairo.o create mode 100755 src/cairo/.libs/phpCairo.so create mode 100644 src/cairo/CREDITS create mode 100644 src/cairo/Cairo.c create mode 100644 src/cairo/Cairo.lo create mode 100644 src/cairo/CairoContext.c create mode 100644 src/cairo/CairoException.c create mode 100644 src/cairo/CairoExceptionMacro.c create mode 100644 src/cairo/CairoFont.c create mode 100644 src/cairo/CairoMatrix.c create mode 100644 src/cairo/CairoPath.c create mode 100644 src/cairo/CairoPattern.c create mode 100644 src/cairo/CairoSurface.c create mode 100644 src/cairo/EXPERIMENTAL create mode 100644 src/cairo/LICENSE create mode 100644 src/cairo/Makefile create mode 100644 src/cairo/Makefile.fragments create mode 100644 src/cairo/Makefile.global create mode 100644 src/cairo/Makefile.objects create mode 100644 src/cairo/README create mode 100644 src/cairo/acinclude.m4 create mode 100644 src/cairo/aclocal.m4 create mode 100644 src/cairo/autom4te.cache/output.0 create mode 100644 src/cairo/autom4te.cache/requests create mode 100644 src/cairo/autom4te.cache/traces.0 create mode 100644 src/cairo/build/libtool.m4 create mode 100644 src/cairo/build/mkdep.awk create mode 100644 src/cairo/build/scan_makefile_in.awk create mode 100755 src/cairo/build/shtool create mode 100644 src/cairo/cairo.la create mode 100644 src/cairo/cairo.xml create mode 100755 src/cairo/config.guess create mode 100644 src/cairo/config.h create mode 100644 src/cairo/config.h.in create mode 100644 src/cairo/config.h.in~ create mode 100644 src/cairo/config.log create mode 100644 src/cairo/config.m4 create mode 100755 src/cairo/config.nice create mode 100755 src/cairo/config.status create mode 100755 src/cairo/config.sub create mode 100644 src/cairo/config.w32 create mode 100755 src/cairo/configure create mode 100644 src/cairo/configure.in create mode 100644 src/cairo/hs_err_pid4267.log create mode 100644 src/cairo/install-sh create mode 100644 src/cairo/less create mode 100755 src/cairo/libtool create mode 100644 src/cairo/ltmain.sh create mode 100644 src/cairo/manual/Makefile create mode 100644 src/cairo/manual/file-entities.ent create mode 100644 src/cairo/manual/functions.xml create mode 100644 src/cairo/manual/manual.xml.in create mode 100644 src/cairo/manual/phpCairo/configure.xml create mode 100644 src/cairo/manual/phpCairo/functions/cairo-version-string.xml create mode 100644 src/cairo/manual/phpCairo/functions/cairo-version.xml create mode 100644 src/cairo/manual/phpCairo/reference.xml create mode 100644 src/cairo/missing create mode 100644 src/cairo/mkinstalldirs create mode 100755 src/cairo/modules/cairo.so create mode 100755 src/cairo/modules/phpCairo.so create mode 100644 src/cairo/package.xml create mode 100644 src/cairo/package2.xml create mode 100644 src/cairo/phpCairo.dsp create mode 100644 src/cairo/phpCairo.la create mode 100644 src/cairo/phpCairo.lo create mode 100644 src/cairo/php_cairo.h create mode 100644 src/cairo/run-tests.php create mode 100755 src/cairo/run.sh create mode 100644 src/cairo/tests/CairoContext____construct.phpt create mode 100644 src/cairo/tests/CairoContext__append_path.phpt create mode 100644 src/cairo/tests/CairoContext__arc.phpt create mode 100644 src/cairo/tests/CairoContext__arc_negative.phpt create mode 100644 src/cairo/tests/CairoContext__clip.phpt create mode 100644 src/cairo/tests/CairoContext__clip_extents.phpt create mode 100644 src/cairo/tests/CairoContext__clip_preserve.phpt create mode 100644 src/cairo/tests/CairoContext__close_path.phpt create mode 100644 src/cairo/tests/CairoContext__copy_clip_rectangle_list.phpt create mode 100644 src/cairo/tests/CairoContext__copy_page.phpt create mode 100644 src/cairo/tests/CairoContext__copy_path.phpt create mode 100644 src/cairo/tests/CairoContext__copy_path_flat.phpt create mode 100644 src/cairo/tests/CairoContext__curve_to.phpt create mode 100644 src/cairo/tests/CairoContext__device_to_user.phpt create mode 100644 src/cairo/tests/CairoContext__device_to_user_distance.phpt create mode 100644 src/cairo/tests/CairoContext__fill.phpt create mode 100644 src/cairo/tests/CairoContext__fill_extents.phpt create mode 100644 src/cairo/tests/CairoContext__fill_preserve.phpt create mode 100644 src/cairo/tests/CairoContext__font_extents.phpt create mode 100644 src/cairo/tests/CairoContext__get_antialias.phpt create mode 100644 src/cairo/tests/CairoContext__get_current_point.phpt create mode 100644 src/cairo/tests/CairoContext__get_dash.phpt create mode 100644 src/cairo/tests/CairoContext__get_dash_count.phpt create mode 100644 src/cairo/tests/CairoContext__get_fill_rule.phpt create mode 100644 src/cairo/tests/CairoContext__get_font_face.phpt create mode 100644 src/cairo/tests/CairoContext__get_font_matrix.phpt create mode 100644 src/cairo/tests/CairoContext__get_font_options.phpt create mode 100644 src/cairo/tests/CairoContext__get_group_target.phpt create mode 100644 src/cairo/tests/CairoContext__get_line_cap.phpt create mode 100644 src/cairo/tests/CairoContext__get_line_join.phpt create mode 100644 src/cairo/tests/CairoContext__get_line_width.phpt create mode 100644 src/cairo/tests/CairoContext__get_matrix.phpt create mode 100644 src/cairo/tests/CairoContext__get_matrix_limit.phpt create mode 100644 src/cairo/tests/CairoContext__get_operator.phpt create mode 100644 src/cairo/tests/CairoContext__get_scaled_font.phpt create mode 100644 src/cairo/tests/CairoContext__get_source.phpt create mode 100644 src/cairo/tests/CairoContext__get_target.phpt create mode 100644 src/cairo/tests/CairoContext__get_tolerance.phpt create mode 100644 src/cairo/tests/CairoContext__glyph_extents.phpt create mode 100644 src/cairo/tests/CairoContext__glyph_path.phpt create mode 100644 src/cairo/tests/CairoContext__has_current_point.phpt create mode 100644 src/cairo/tests/CairoContext__identity_matrix.phpt create mode 100644 src/cairo/tests/CairoContext__in_fill.phpt create mode 100644 src/cairo/tests/CairoContext__in_stroke.phpt create mode 100644 src/cairo/tests/CairoContext__line_to.phpt create mode 100644 src/cairo/tests/CairoContext__mask.phpt create mode 100644 src/cairo/tests/CairoContext__mask_surface.phpt create mode 100644 src/cairo/tests/CairoContext__move_to.phpt create mode 100644 src/cairo/tests/CairoContext__new_path.phpt create mode 100644 src/cairo/tests/CairoContext__new_sub_path.phpt create mode 100644 src/cairo/tests/CairoContext__paint.phpt create mode 100644 src/cairo/tests/CairoContext__paint_with_alpha.phpt create mode 100644 src/cairo/tests/CairoContext__path_extents.phpt create mode 100644 src/cairo/tests/CairoContext__pop_group.phpt create mode 100644 src/cairo/tests/CairoContext__pop_group_to_source.phpt create mode 100644 src/cairo/tests/CairoContext__push_group.phpt create mode 100644 src/cairo/tests/CairoContext__push_group_with_content.phpt create mode 100644 src/cairo/tests/CairoContext__rectangle.phpt create mode 100644 src/cairo/tests/CairoContext__rel_curve_to.phpt create mode 100644 src/cairo/tests/CairoContext__rel_line_to.phpt create mode 100644 src/cairo/tests/CairoContext__rel_move_to.phpt create mode 100644 src/cairo/tests/CairoContext__reset_clip.phpt create mode 100644 src/cairo/tests/CairoContext__restore.phpt create mode 100644 src/cairo/tests/CairoContext__rotate.phpt create mode 100644 src/cairo/tests/CairoContext__save.phpt create mode 100644 src/cairo/tests/CairoContext__scale.phpt create mode 100644 src/cairo/tests/CairoContext__select_font_face.phpt create mode 100644 src/cairo/tests/CairoContext__set_antialias.phpt create mode 100644 src/cairo/tests/CairoContext__set_dash.phpt create mode 100644 src/cairo/tests/CairoContext__set_fill_rule.phpt create mode 100644 src/cairo/tests/CairoContext__set_font_face.phpt create mode 100644 src/cairo/tests/CairoContext__set_font_matrix.phpt create mode 100644 src/cairo/tests/CairoContext__set_font_options.phpt create mode 100644 src/cairo/tests/CairoContext__set_font_size.phpt create mode 100644 src/cairo/tests/CairoContext__set_line_cap.phpt create mode 100644 src/cairo/tests/CairoContext__set_line_join.phpt create mode 100644 src/cairo/tests/CairoContext__set_line_width.phpt create mode 100644 src/cairo/tests/CairoContext__set_matrix.phpt create mode 100644 src/cairo/tests/CairoContext__set_miter_limit.phpt create mode 100644 src/cairo/tests/CairoContext__set_operator.phpt create mode 100644 src/cairo/tests/CairoContext__set_source.phpt create mode 100644 src/cairo/tests/CairoContext__set_source_rgb.phpt create mode 100644 src/cairo/tests/CairoContext__set_source_rgba.phpt create mode 100644 src/cairo/tests/CairoContext__set_source_surface.phpt create mode 100644 src/cairo/tests/CairoContext__set_tolerance.phpt create mode 100644 src/cairo/tests/CairoContext__show_glyphs.phpt create mode 100644 src/cairo/tests/CairoContext__show_page.phpt create mode 100644 src/cairo/tests/CairoContext__show_text.phpt create mode 100644 src/cairo/tests/CairoContext__stroke.phpt create mode 100644 src/cairo/tests/CairoContext__stroke_extents.phpt create mode 100644 src/cairo/tests/CairoContext__stroke_preserve.phpt create mode 100644 src/cairo/tests/CairoContext__text_extents.phpt create mode 100644 src/cairo/tests/CairoContext__text_path.phpt create mode 100644 src/cairo/tests/CairoContext__transform.phpt create mode 100644 src/cairo/tests/CairoContext__translate.phpt create mode 100644 src/cairo/tests/CairoContext__user_to_device.phpt create mode 100644 src/cairo/tests/CairoContext__user_to_device_distance.phpt create mode 100644 src/cairo/tests/CairoFontFace____construct.phpt create mode 100644 src/cairo/tests/CairoFontFace____destruct.phpt create mode 100644 src/cairo/tests/CairoFontOptions____construct.phpt create mode 100644 src/cairo/tests/CairoFontOptions__get_antialias.phpt create mode 100644 src/cairo/tests/CairoFontOptions__get_hint_metrics.phpt create mode 100644 src/cairo/tests/CairoFontOptions__get_hint_style.phpt create mode 100644 src/cairo/tests/CairoFontOptions__get_subpixel_order.phpt create mode 100644 src/cairo/tests/CairoFontOptions__set_antialias.phpt create mode 100644 src/cairo/tests/CairoFontOptions__set_hint_metrics.phpt create mode 100644 src/cairo/tests/CairoFontOptions__set_hint_style.phpt create mode 100644 src/cairo/tests/CairoFontOptions__set_subpixel_order.phpt create mode 100644 src/cairo/tests/CairoGradient____contruct.phpt create mode 100644 src/cairo/tests/CairoGradient__add_color_stop_rgb.phpt create mode 100644 src/cairo/tests/CairoGradient__add_color_stop_rgba.phpt create mode 100644 src/cairo/tests/CairoImageSurface____construct.phpt create mode 100644 src/cairo/tests/CairoImageSurface__create_from_data.phpt create mode 100644 src/cairo/tests/CairoImageSurface__create_from_png.phpt create mode 100644 src/cairo/tests/CairoImageSurface__get_data.phpt create mode 100644 src/cairo/tests/CairoImageSurface__get_format.phpt create mode 100644 src/cairo/tests/CairoImageSurface__get_height.phpt create mode 100644 src/cairo/tests/CairoImageSurface__get_stride.phpt create mode 100644 src/cairo/tests/CairoImageSurface__get_width.phpt create mode 100644 src/cairo/tests/CairoLinearGradient____construct.phpt create mode 100644 src/cairo/tests/CairoLinearGradient__get_linear_points.phpt create mode 100644 src/cairo/tests/CairoMatrix____construct.phpt create mode 100644 src/cairo/tests/CairoMatrix__init_rotate.phpt create mode 100644 src/cairo/tests/CairoMatrix__invert.phpt create mode 100644 src/cairo/tests/CairoMatrix__multiply.phpt create mode 100644 src/cairo/tests/CairoMatrix__rotate.phpt create mode 100644 src/cairo/tests/CairoMatrix__scale.phpt create mode 100644 src/cairo/tests/CairoMatrix__transform_distance.phpt create mode 100644 src/cairo/tests/CairoMatrix__transform_point.phpt create mode 100644 src/cairo/tests/CairoMatrix__translate.phpt create mode 100644 src/cairo/tests/CairoPDFSurface____construct.phpt create mode 100644 src/cairo/tests/CairoPDFSurface__set_size.phpt create mode 100644 src/cairo/tests/CairoPSSurface____construct.phpt create mode 100644 src/cairo/tests/CairoPSSurface__dsc_begin_page_setup.phpt create mode 100644 src/cairo/tests/CairoPSSurface__dsc_begin_setup.phpt create mode 100644 src/cairo/tests/CairoPSSurface__dsc_comment.phpt create mode 100644 src/cairo/tests/CairoPSSurface__get_level_string.phpt create mode 100644 src/cairo/tests/CairoPSSurface__get_levels.phpt create mode 100644 src/cairo/tests/CairoPSSurface__restrict_to_level.phpt create mode 100644 src/cairo/tests/CairoPSSurface__set_eps.phpt create mode 100644 src/cairo/tests/CairoPSSurface__set_size.phpt create mode 100644 src/cairo/tests/CairoPath____construct.phpt create mode 100644 src/cairo/tests/CairoPath__str.phpt create mode 100644 src/cairo/tests/CairoPattern____construct.phpt create mode 100644 src/cairo/tests/CairoPattern__get_matrix.phpt create mode 100644 src/cairo/tests/CairoPattern__set_matrix.phpt create mode 100644 src/cairo/tests/CairoQuartzSurface____construct.phpt create mode 100644 src/cairo/tests/CairoRadialGradient____constuct.phpt create mode 100644 src/cairo/tests/CairoRadialGradient__get_radial_circles.phpt create mode 100644 src/cairo/tests/CairoSVGSurface____construct.phpt create mode 100644 src/cairo/tests/CairoScaledFont____construct.phpt create mode 100644 src/cairo/tests/CairoScaledFont__extents.phpt create mode 100644 src/cairo/tests/CairoScaledFont__get_font_face.phpt create mode 100644 src/cairo/tests/CairoScaledFont__text_extents.phpt create mode 100644 src/cairo/tests/CairoSolidPattern____construct.phpt create mode 100644 src/cairo/tests/CairoSolidPattern__get_rgba.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern____construct.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern__get_extend.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern__get_filter.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern__get_surface.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern__set_extend.phpt create mode 100644 src/cairo/tests/CairoSurfacePattern__set_filter.phpt create mode 100644 src/cairo/tests/CairoSurface____construct.phpt create mode 100644 src/cairo/tests/CairoSurface__create_similar.phpt create mode 100644 src/cairo/tests/CairoSurface__finish.phpt create mode 100644 src/cairo/tests/CairoSurface__flush.phpt create mode 100644 src/cairo/tests/CairoSurface__get_content.phpt create mode 100644 src/cairo/tests/CairoSurface__get_device_offset.phpt create mode 100644 src/cairo/tests/CairoSurface__get_font_options.phpt create mode 100644 src/cairo/tests/CairoSurface__mark_dirty_rectangle.phpt create mode 100644 src/cairo/tests/CairoSurface__set_device_offset.phpt create mode 100644 src/cairo/tests/CairoSurface__set_fallback_resolution.phpt create mode 100644 src/cairo/tests/CairoSurface__write_to_png.phpt create mode 100644 src/cairo/tests/CairoWin32Surface____construct.phpt create mode 100644 src/cairo/tests/CairoXlibSurface____construct.phpt create mode 100644 src/cairo/tests/CairoXlibSurface__get_depth.phpt create mode 100644 src/cairo/tests/CairoXlibSurface__get_height.phpt create mode 100644 src/cairo/tests/CairoXlibSurface__get_width.phpt create mode 100644 src/cairo/tests/cairo_version.phpt create mode 100644 src/cairo/tests/cairo_version_string.phpt create mode 100644 src/cairo/uu.php diff --git a/src/cairo/.cvsignore b/src/cairo/.cvsignore new file mode 100644 index 0000000..1467498 --- /dev/null +++ b/src/cairo/.cvsignore @@ -0,0 +1,44 @@ +*.lo +*.la +.deps +.libs +Makefile +Makefile.fragments +Makefile.global +Makefile.objects +acinclude.m4 +aclocal.m4 +autom4te.cache +build +config.cache +config.guess +config.h +config.h.in +config.log +config.nice +config.status +config.sub +configure +configure.in +conftest +conftest.c +include +install-sh +libtool +ltmain.sh +missing +mkinstalldirs +modules +scan_makefile_in.awk +*.dsw +*.plg +*.opt +*.ncb +Release +Release_inline +Debug +Release_TS +Release_TSDbg +Release_TS_inline +Debug_TS +phpCairo*.tgz diff --git a/src/cairo/.deps b/src/cairo/.deps new file mode 100644 index 0000000..e69de29 diff --git a/src/cairo/.libs/Cairo.o b/src/cairo/.libs/Cairo.o new file mode 100644 index 0000000000000000000000000000000000000000..b81f0f1d8d41534725a850bd71ad8c74571d9555 GIT binary patch literal 280324 zcwX#%3tUxI_WwEOo(l)KhkJPlD5MYwsEDALFH%%cOfyPROHC>@D=Ws(sI)9}lCCsV zI=yVhCM&0!$@ymunkE&gJ%`FBD{W}B!la^nMCHVPt-bbn?0YXSvtRZ5jeWZNtg~O= zwf5R;t-a4ahnor}jgw_rGXBYuL$WAITCh`LX%72Mmrj>@N%numl^;*3Xo~h0XpJXY zTU&2_5sO!Tk&0L3PP%?zzW!= zEf4BfG^JNAZt*VGDrX<9Tz0}cPPH{v^{iwEv@}J{u7xH%?AKM(pIX$Ql2OJx&b6|3 zaV8bbez`IyW$QpH<*A&M;;NjQLQuW4k9wioWhW||X1{1uKD_&|UTyzZ3>|$ueH!pM z$u1ya-?1wgsD&v#a7^|s4Zl}Jl+&wWo`;dx2j?}XM)ix=b-@xGDMQR z%e2aZgWlo>@7V_{TPkBK&rvJtCe6HX&g>Udsq(m`9~Dh;m9txXG;Hw+P?AVK5HR>` z6snd;-hyZo$4*MdxvUb^&>jv(qIa>&*4(awqu80ZqFSTDsVX>192moZ?IN26reN~Q z(!5a0&>Guip38&~v~!$GuBc0#c_H+TYX9HNZ3aQ;zge`X8RXBkK$ZTkOTy#K{3+QWAI-HwUiD$VYeqUq%>&~$p} z+1l`TFK536{;sA7+nB_CLHw7_cnJp z_uMNKrXriI`M23(qN<>#z4_-}`4+aEn^N-xH1b@qpOjg-{RK5O{#pBH!EDJ*;U#Ko zv<^z_#xTpugbd8*ne|)32?#HM+R9ttCH8I=OHB1C5pceWLqPrz?aAz;cD;fUOyuCC zVOT2LFnWeQ`P#nOZP>n?l*(N-FUw>BY%Nu+)@-shb#bS6yyeG@beyO}mB-n9*~|>i zLeQUG1y4v!aW+xH^hcaBaa9GIDw##MwCagYXjMO^RZm!)nU{uELA_1wE7zAaVl{_Q zxkCN)!&EN+EFa}+Pjz;03F<&~>bC~Bt2&@u9YSd6phQL8LbPo*M@F=-zv%k-QJ$g>-hq{^G{{vrS`@S61Nb-1dW8t;N|0TAH!Hpb?T3P-93EK;I#WhKYe13^NE4 zm1}J&hF`F-wDYrxT$YF!49XfbDCEc5GAoN)xQXIyh?dHNUjp`}YH>{fYqKAWOiqf4 z(456vhZ)@v4w@NeA(o!l;(|g|<*p+Si=M#FAB)n4D>-D@?D(AaiPYmrse8cyri+%T}--6}SjczV-V*?tPWnrxt^Y0wz za_qvWU9xRvKf~Lfp4~d_xjt|`<>n>~9Y7WBJsGN(N89!VYXZ(NZ^0UGsaElWn&8P3ht>as6L!j(W1Cltc80OEe`jJdaT;=e1qzps;Tn3!+yB&Qbtxq%U-3TMJ~JK znm6{3iK9M1r#<_}cp%ZJyK1Yu>Mi)p##ns#ASqMrl_Kz8A z_La4NOco^R`^Th1lDL0NA|!E8nB(9W7#!Z&p=;pBE)Wypq4RODk9RcxI(U9`zM*Ix zuRku7q@Qm6ajDeK{A_pqafK9UeqJthYJS381OsKvPY+v2!km4MJuO1hWXP?IO-`Do zotd96!y2OpQy*-4Dgm+P=kl)3&&4O8EAL_tOjObXVY1pDcV)jdthp?lYmDhrS}N=L zto#YugRxb;XA93iU%oMfkr!YTCe&qjC}7;d`D-g)ujxv>o)kD?Xt==^8suf69* zR-ZrJ^CIj&>lF0wUU56t35cPpxDh8$RdE9ssw{N{jQ3hF z-hLXAvcCcM4grL^4z0KN|e32kw`^tlY+|$6f-pj|2A5uC}lB@KFU~%jXF#n`$Oov%Jud zIdRQPV9qis_NPq+%`0om2Y8nq^q$SOb&zXZfzd93%f3Z}LSUowA{4J^Rj(cEUBTv- zytfsGu(3)FsVrzdyaii&rE0V`#y#PM=UW_j?_s>RyYlSj!}qg-Rg59XSRMGJ-r==A z`{!)@v;0KbY!~T|+2>4c!`|(*#~mmD3Vu$`9&h`fu*cLYO}s7Gw`Gg1^BHz~+#Bht zisl4sc7RRxefZwC6%H8xfe~ix(gXU+Hr-?3=fOE`xJO&ir=}P@gV`CfbG$3a??JUS zKJBdstU>8G9{(}xf&cdZ^Yw3>2X$2y3!VekEIYA7mF%m5xa?YcH!v$}-c&f7#9u)@GHdR}YK9Y9 zdAxF0*=PnS$6$IOcvi3Eex}G(@ty2mfhPhgzEjHP_-+x{)nCZM=ifE&AOP;PX+=?w z4{4`zi|gOUerf;g2Jd*y?7HkG=yq`>-rwuB4$XRtqfvZJ_yv2s!Bl?vcR}tIF93+; z-vyVQ<%6g8xnPH61XX2hzYjc3Jv}s5{h@py9V&%;A4rE+R2DQ*SC+*y7OWm)kJiv2 zvV3UWz+$2Sw2W&3J;3$sXU~*X9*(lDcOKgn?*S8d=-gIzw!tgW%Aujs_Q>n-2ZB*N z^xO{+D|P1iLG91IzUkC_$UnyC!}^Zq!^_5e*gC@@y1m6M#1GAq>{ernEM?v(nyn7Z zsemKKgG}|Ooe#B^w$#jWaB=^f^MOBmxgD{X2jzd%eAvQu-!M3!{t)3~jLhbOiyhwo zpPCQ;hh@3(uj`8O9~jv9w-ws9eKgkZyug3){WyGW?eALfI*kADL zEdCq=f1=(Ie%_w&gci?tyd3C!hfU48aMYvI`x|?@5+a=B`uhKR|DDpGqn~p9S>B=k zObPIQbD6n(t!N3oHp082B3h!Y*A8BJ&aQ=A+GjbuhZdiQUn3`dxQ^s=c$>FkH>R7t z74?`t;jMTL(+%c&mi%7=+7{;j(A$f%(|F)yJ6-GV@!9UExSbvNO{2>L#{l#k)J4xh zH7|PxE<6mj_64E+truXMP`-*DbKqeU<3Vs64}|&oo-WMaHvDya=d=6|C*w)WbtFCG zyfKsD=8koCfwy3@?c6uMXtmkq7gg_g*Ny=;+2W}{TZ_gaZF^L0yX@5Y?*Q*Zl0vN0 zI{T#5kFCM&y$@;3gj#xSY@96=Otfv#ThGJWdSBCm*=b;>`bEtS?3ab@r?g)u|NQh; z15U^1*}Pcvr#jDuGyLS9pWZD6I?wid-X3q^=Qz(+Jz8q>JX?d_h3BX3>DT(M=vP0R zQgvka3>_;r-{&c^^>3^X_h5ocqv8g0HJC^%$pm`gCypMCM%$t8=@{x{98z;Cn3u4K ztlYVuy}^Ua$Y^?>$3?-h+U8D3XhmHSfBtJt-y$FWN&@ir8u3@}!=m-LxPds`OPtpG za{5}woECebl*#F9zMQ5IrwPPqG;!*pH<#LGIHaPkgkB@J_$@K`?Nq#ze}cz5_&!)i z@jjDZ9zEZWCfRuWo}uHKyUlmIY~nQ~GdRE-T}&o%BohzGL_?V*@RInDH;;^?xu3wn z1)M({x-fs-D;lKs&+~ccJRb;lFP-kI4{*9~n(Qk9&Rl(s!%sN-h0}d|J1o(#g_X!@ z`(4n+tzrq^cR~H-*C~D3@E@)(>pQD2rIqaXMI+6p2AWTMX+HV990*fuH%+aLw#}(J zE&>?5I={i&U%VUUZM*t4!3*`wp)@ZIElVdYOC&9eGZ*0Xq;tCkoujt~t@TVv8~V1f zOZqlYZeQQxNZ+DK-#nymFig8i`)UJd-{!WoueL+o+TEdU)pwv^HV!|AIOw(NN>;phRN_ZJeb2i#DFOmUKdYPJVx^U%>q_b3km8wr`Ske!po`7xdv| z*DI&2|I6Fb#bzJ1voG|ZkuASP6{KYV|H4}!v5H5>_-A>F+kRfO>ExdmrMDqTc8Xkl zSmOUYr&Ib__BGef+79(|%FRt{WZ@(LEEaIPirraRTlqrSY0zX%w4dIRv|gxOyYz?F z)|x1|3u~;E%kfEaMV<@FtSoC~o9ipfdAhXK_PUnF*UMEapvJC(QS(VYWjkyg#_|EtuN;83n#|m%b>bqD3hiU(w=NoK9f_ zZ4{Ept}s8VNNU&KCSrE&;d%;m5AWvs+w6bj&(HqgMj&nY`RwiWGdADsJ1M2+cR+B9 zU>9AD7dPj+_&v5&UD?*j@5Fu+PNV#;@9+fpKEWwoFIt@bBG-%m*Z6JoyoQCl6DIwq zJFmf??gspRR+BH%4$mq>Sobj2Y2ySn4WY+4;Le6nqvcrJGwE`CtLraPK=**(!OFEB zO73S5Rc+*6k!-M&0p1@m0d#PF_!m5$zjS8-5@gm#H(Yu5gpqq59rhg#xmTla%k}wS7ty~u{S5p)I|O%f-?MA$#Z?S!?6K-S(8HEIS@QY%kF|oZ zea~*3-;1k15B{3-X^yyj8Tk?Tjr}|u2f`K|ZN>S72yO2CRob`vEDiJD;q&8rR{Q&T zo%se>o4Tm+Ek5&e5(dr2FYxzwmYqNz7q?U`Yp5*P%ik6=Ke7`?ZxvY_`hSqemqWu- z2mA!jPJCaCzmL$SV_sZyx8MGsx1-PUkR`GeYU?F)`!nc(FINgGWZPf)^~i54?w|5b zruu#AE;fRo}%x)vQKh``;7x1qEqs{*ACmLuWaYDo_jm^B5WsA z#J1n|U;XH!e)Lq@{T^_8BUigcYj@;8H9GttYkiHsZi>pYw}TR0(~maxW4ojxKVm<) zt?#XLrT>%u-paX38>9Twd~YSddg`Q>?dQsEFWZF`)n4&aPa?PMGzPT1_xT2gRb?Mc zg%ucHLVT9pN)Yx{(!_c0YHYzMx|E+5_uw%Nm=x?iCDpzJ+nJ}s0&Ghu)Y_G&$!v`F zut{NC+l*MecUe69dmj7ttIgx=tA5B@+6Yy)E>@&KUKb$*Ftt8@IbZ=cRECPM{RCqb zqebVmt!ncuj3hR>}`Mq%e^P2d6JHu~#zun)lSVuWU{3YU%P2U5X zHfe$z`DXxr)(HG`@U_^$-_P#c_nNx0Khyc|HBmELn-zl}_N}HspC1nVy{1#GPjfon zR8q}n5>R=I?&$FGU#@u&*+-*(0rT+>P_q^P8i{`_Z##a0TQpb*+OcsP%@*pmmUag?59am#5P3aYK6KDhpueHw*HS~r zm}p6b0%5DFb?h4}Hts9xmeO~;h95fp2awYkJmAw>G_-Qpp-4Px<9}Y^RO+9_nO*;m zAyd}a+Ab>#*4q^G9m!Bk+-E_>+%iLa0hx4>y%KyJG!lp2rj?|UP+-{3Wn-%fHiGtw z{GuklHI6iDo%LMIS3jd!6HDJDzBYJ^nJx=|!D_vYT3K5bW9qHYpKUNQTgAcX*-G!% zPHE%)e#`cp+V}f^>HB@w`B}S3uC#xH0FnNfZxD>`;x`BYeGDmx?=jFC+^;zNae%*X z^Q*^i1214TF^T-N#eyIByf(qJ=Wqewi+W_e!U1Y+DN~+x9_fF@`LRIqZwNFD)?ZLM z=*w9{$DEz#WnTf{oHf`v^U*604UEGt!#_7V*WMp( zw^SmL+$w&%$;R->b2mOPcZLIYd0BUwmo?t5JI)ga>nB~GpX#td+z)A_57h7@rs6W( z?~et+NF4MVi3VSuI&&ITWe0c~vfuI!#h0h~_WVV`RE1Y&??^$#gTncoJ#Cy~WpC54 z%Mk?!eg6&_+XbcbIgCDhM&)s1XH=sILFMue_ZIB+7Vq&&`=$K}Uyl>_PknY%TO5nG z(41f|EHG~OFwn*I!j5XaxTET^#)SSbMRsfU@hyvx{iP`${+VOV%LP!p$9i#L5smI$H{W!(;H_-aT ze1*yX*-nEmR~<)?7|REW0u6PE=202#$h56IVaA7p+TFkS-@d>0zx{dKugG3C`@JGT z@@}#qcIj`p`r>x4_*lZFSEGg9ysRu}@D?{2=T%;k@I&=@UgZUeomZhh^)e`gx-dIa z(Wu}Du!J*I?8u>QsdPA{8g3cut%K%$<7OZVmshXQd)>|Wwl^|nUsN@Siz>Hq&CQbW zK7)7Qp^;eLJfE_YomcsF?DzQn{lK>L*ZQM^r$UV@chY7^yDlM1WFgBiq`#j1NoM@S z!z_mV>jY5t=%InbWq&2ZoJx78=8JJP8~tV*%Q{70%)ioPSBm3Q z-(iWpTY}mhNzev*F|(a7ST=UpOLGS$e7{fmYqxJdSG<0T*K@zx=Lx^2?xP?LSwFQY;Jf{R#GYA%F8G%5ST!(A0p1x+cGq|N8??Tpc>`_XoZTm43Rv zKkyw1^d$cNzz_JR(Ea}Yz<+pqyoI0R?+#|=fnti^|1>`OxtzwMmXh6+tfAz8?%SU@&8zO(gd!Ec{kes{ z{fPo)^NrU4q2HAb_snmA+TKSZK|YUyobA0CZ~A>7;O3@n3G8(%o6sA7^8@>{4fxdu zQS$6VA>y1jCBG0Qk0XO$Vl8E|FVXNFjLMaBxwIGXbRkbmd1@b>s+9|%Ze>*&8CrCDRbbsxp6C}IkJbyLM-+Y4U^!F&c29)61 zYW&^4=7e2#Ynbe6W80ElVyM6D(nFc-Lj7guzbdfw?pu&uh@p4ivRN9+_3k@Ec8%W= z&qF!yDo-_@9_9HhJUzkFT%Mn2l>3&_LZY`feMhos{*GjmPxsemeNVEJzNdWG_mrRW zJ=42yncjWR^zM76cT~=l-aSluCGl-ZZ@G{3DxY0Nva|UXe&l!U+ykwxW!=z`ZDDT4 zW@^E3wQ%pkG_QrtS}wi0-x|_ez`0(?(^8(U;%OOA%Xzw#r^|V|+9=mT>26Nf@pLm! z*HF5B)3+qGns1rZ)~@)LNpoexw@mX|Pvfb<81 zAVAQ>@Cy3zHtI}aOPTZAozbkCkB45t{^?kDvr=4NW{soHX*ZiKopx&EgW! zczTrIZ{g_)o=QC5#nU{a{1HkEIi1hb9GWYvj9}b;5{&ehU}QTw_%%onBO8=i>DTP5`Ys;lF%D6(3plSeJYB)lRXi=@ zX*o}q@^l+dYmIVWQ@Weeb(F5%bcD%e<>n(OGn%W_c+KoLcxlW>FMWi`ZToUguRdbQ zalzM26H%HdkL_!Y*yr*Sq=}Q-l4FUF92+zK$b{+f7pA8jb!-M zCQNk4UlH>|xiD0oYCJv4^ILd&f~UDWKhG%FOlcv}+nc^3p)`NhO758Mug&_pmE7^y zl<)eQ@^ijs?zow$9|~`+2Y1z(RF?p6|wCR$={LEq3 zX7Iu$V+Ny3Zelv<<}R6Yy@00+d0NWTO*~!2(=wix^K>asm-BQrPiu|xO_c8DbRADO z^K{MUrZlT+J|_vT_?#qI{kbK<1x-vRQI2c3eeNs4S|-8e1KM=S{t|TiOVHhpCVmDI z4CfMT{)`1RT!IG=6DN&4ZQ^M&PqVlLG@c&i_gi>+f~OMCckwjODE}Fyg`CdkX%0`L zn=AkmM3Sl>5^T35{&YfU{pIgcnBmIY3Se~ zHkUnI2RVlec)F0Mr99ol(^Whz<7qihm-2KuPgnD_)+m37(%qb{vy_Nl-mR67(FhB-r>V z)4@Yb2M_s5@HHmE`eAMQWPb^E&7Um%#PBDmgP))T8w?%f94_GLLY|iLbQ4ck@wAMm zKHT`bw~# zNw9i&TM|sv{Uq4MEy08KEy06qksQH2^2f*t^T;0)PeVD+Do-_@9_9HhJUzkFT%Mn2 zlsiaiA*b_sn)3-Rhnd&i-h_4OldN2N%^#EWvOa002=S9viV#1sq}X_n=^@H;tp|U% zN8_(4$33KpxoydDxxXB{=1&$LK+)~vyQy;z8lo#@S3B75#L7*a{~DgI;OQ!!mhp5o zPpf&ljiJB!y?IrQX z7G7My02J?865vsHcL-P2+aQPMv7hp(vz|y|uG23<-AzM(6xym#2nhB~Au|pQRE_#Qz8eKXd&fF?42z@{4v= zLYID&wd@QGpKqGBIXf&E!JUMm88A9CNkjZ$bYL@WpLJ~)MwkIZ?*t5=QwsrMi1SqM z91L!{JA)yB>5la+EJih5Hr*#PN1}a8io?<6Ins%!CcqpK%0)|UOb<210Kp31T!)9G zvTMb^*8v=UY=57yBbt4mRiy@v!)=(s?ucA;o?<^UW*X;nwaSE)O7_Pq?SJ#xyV$j| z_C^o8<4s8M;&H*I*)QT3(n%OWw!41c=k}g$Z>w_IiIp$oDa>WA8zZSj`|(I>&-$v` zcvv~Yx_4?y^wu+Bh%2p+tL3Da2NCm))qC*H@vb1DJ*mxqa)j&&iiF?Z;Zb1@P-rDa za)b{L8xb}ERKt-1L|E8Jn7trnhenr9w-g3R5GGhEI7*hIupCyCBu%FloD-skf_Vr@ zm9S7~Hz8!K=Sr`u%EUAJ}6!$bn@#m5T0C0NZ%(rHmpD;L=98EeDd z%fc>6i8geQm()!nFsG}w8p-L<4zw(#r~<^^s?c|8CXl0CggVU?AxFx2z+#%yWJCcn zJySNyOo&2oed0g``Z`TeSg2o)jrojB){WR|fBVe|QO51e9HFxTIYP5pHiS;At!$?$ zG%PjHX$l+3K{+$@~WL}UAbMhTLT1CJwp+?;5(RjHv9xiWZcQ<2!-?7U95LU%izkvwnjRY`GW#>@1 zbH^1HW+fiHSlm5W#;GcKLx6Y`2}OenaZli7km>;mIF9BcAId99U=A`*hdaUl2Kkf~ zO46FsGPUiXLOosbG_0B|Y0IVq86k(tNUGYz@jym$QqyvW0U5FAo*D9R zM&@g&mjKycE@b35tsjIDJu~HntmX0AH4w%294IekWTCbWr7=Q&hZUZrt(^#DzWg;K zr)oRF9`-EY;)b5%I5|sOhlR&;vPAnU<`&9HjGU|GpF^_m;SI@k2H4x4n}Sh(<3|DA z^BH}8Ke+XGlBlGAKM<%I5~!*_hT`5vU^Hm2j{{ppO$tX*U{~%2Y#8stjqp3|che;0 z?>(TC8BFApbK&xCruu(^+3LC%_1*IdR9N1-m;O=-xRjo+5DF{W$pBmlwDu} zdiQz??god$$lR0(ld#A2`fp$id))A;MA%;h$@W;vrb4nRIVMboLaK5UMp*BTVp3+E z50^dIpfa8UxYMDK+nDLc+6kA9#SsKtjF6|LU}!FTwQ)54I7)A9IU z__gVbN{G00UYQhLzJyVU5!WDf-Bd=U=tGL2E zmJG&Uq5j;tKvkU0s7d-3nAqVfDj8Lzhk>CAU-=}Xrs^3mMB%^P%BUGqa2>8jdtz+X zSAPo>MDKToO5$7!=2OqWd>pkPbu`|80fs~Gk7J<3f=v$V>%pPF3@la(%+QputcV3t zSoQ;4X;*=P4;#3VEA3)vAZ!rLFHJ81I~jUr0ZSHtLqYJ}yF z4JK@_=K)pl4ijLaJ_=hI*Nq7`MgLnOP~(}#C->I>20k#Xkn&RX0Whz_&Z5bk4m@2Q zgwvSyF%axq*re;(jR|-IIF-U?U|#TQ^iVKIwXmlmO0T{~3fp`E10vy&JWb4~l5!k| zHSC#rkQG@EiV>>G55aZR=kRkS_*@U%&?dob3GE|K4`=nYu}Jon`!Rf))(?aBesUrs zUD|PAIy8fmx)k{|wi+UT3k^nJ1(Rw!OpK*6+@Xr2WRFbEehMZnG|zNwM`4&kN1MIu z038S&BaiY>FAT$2Zht-6H)jKxFO$fkwVS|zgck6+aoTm@6+*|$6KEi`Z{c=mAtwtp zFT$9>$ujLG(Bsgv80kn}FKZg8V(3J9Dx+VMwRgc0gihl5^|CethBfqT`CbpwCuHqv z@C>2n$lF{lAGr)}PMl^@`R2(Vv9> z&Xhe2{}YP#Cg@D)h4Pb(-mPeZa2)2y|6ufMinbH`FOffEbiJYtMEP7IcZ)!JkD^@x zW+`;8T)^nPigqdZywLgbL`LsZw8tS92)&ezjU%}M@Ihb{dKnvbNAf{M`xh*SLoes~ zjf&O>+rNU-O^Wt1^1G0iZ&tK_gI0!K$@7mY+6^fGtK|nHk#13>sEwd>H$bi{G)nGv z$vi1ETHY8+Dt8Oa7g%pj4JMUyB5N_6L_dnNATl0&acHcJx~sebQ#3s3rBIx3uflK4 z$M7TLPnh*HjU4UWtQpXz@D!||oDPBr?=Od8UNHQIqEnH>#LAK~>@+Brg~gPC=oxYb zu^PkRH)b-{z#m(MAQcnkCG=WD=diN#u=ORZb+fRf;Hz%oXWq<8+={KCbCPX6UyiP) z;7_c;Ml66HicK+J=3wm)MGLX0au(R2@QHg_tq-x|FGaS1qbw*f8A~XChe$X4T&D{Q zhrw?QIx{A4UUofbYxwk3Rv-flpzk9LIO1Uz8cPfW>G$a5W|Xj+e}dmw{CTfHl2(Uz zk3&=AK7lr=`v$Ol?hyGlP^<2vVQAf9@?St#x~~F9=yu6B!F?$PX9t@i)Q#CSv^^gk z?r!w9=fBQ6dmCXMFe?xr^T$JhSzoXMN8vXV;}F@%geet18#9%sFNDiEF*=sR)q4zj zaQPLd+0a*D%EB)i!U~*;1<Y)WggiG0AyTK)dU-1&F@G4el5Gx=FSs2^(2#1NOg(k_}mRz(@ z3hl)WyVPyrysM2$q@BBwT&*TmB zG9PlPS54!m~6AfnSCGykBt^P@{;_^vQjJ$|K69&qFDVCd#AV0;V-$ z3{lbgVDJ$UV~L8Bly5*YBJv-EE+UiBx{r|40KjR_g8h>t9jFDl@-VzJ`T|@is~Af} zp~KCDpdcEYubv7D;7Q>crmq0zJ-x5%P9Q76fqGKkIGsTL0K9tAC^CRp4x%?tI#C|r zzQBW%z++6ojbvc|h`J)6Lc5cjhs$YqOO4Zi=07Jirxs;Bl3Kr()A_S-v!??Dnp-A z0@O_EAxnR>KTxxh7_uC_FN|Ph3C-G}dLnXkv4_pmT>VY#;S!?q^fc6=xlT6L`T830 ziIMZj&=l(E10v@Wx0Bf7Ch}5hvq+DJC^&Kfm7EGvJ(tNg7SVWNJ?zfG$4J3{jE2F1 zwpY7zSZnUhiF|SNPmrtoX&$=jivW}R845Bq{R5aX?!Oxvw+DvRU1LlO)JFFf%8S-} zK(FqtJZfcn>wb1=9Lco+z`3_kfSag?V9D*oOOlSku)DTGCn>i8LiY=|cOxmkmj~2~ z)Mf_L4TH+kM}t*#zjR9+N!bZw?B2;YW%P^BvZ&mMsgip))ymU7u#$GavMP>boQkzx zrMyD@+B1QAji^cbZ^0$I-?%-FWZV@mtr_~I*ybL>JWG!PBjA3A zN|xxKf_}N*CC=yS7lZD(_YyTv$KcWZKFNK7j-jLb1L}RDj)9|lA5o<`hK=t1RI*IR zpwayy<(2Ed1#NRTtYJ8pO3FEtfE@f740dpLKy({moa7$Ntcv^GTVk-3q_0E1&wG|3 zRwJ%1&6eC#h>8PhpyZxPRE9nYF&00-HS`E#oJK3leEmMuhUuh5g_36^RMFgHBbHpW zNOF(v$CZnz+8Cl#spl#vW&qq`rANkNmlO}$2PXUMOyvgzH%P6M*PJcW6p3~dyc0e2=}@?~jpeSjRmWA_}b z{yZSFYXjyyyzaeIZerj!RYd9HLy3vLAK3Gl@abRxd-cOHzC`~k zs`XrBjNgD&rF)(+#!4Sp#JJ~wi*@dWI@KW4gzz5BUAcd6)Ip={zS}T5xL$VO!!f`b z-+iySVS%cDAKwEe)xV$0MMuDT$i0p%6*%Ia(4qT*{?KFa02rAj=pfF$o;rHa@UHv7 z&ba@?q3X}20QC^xe%7nNRk=49w(iq0Ks`(&3)=`NU~=eiHagS z_-77LQpTWGJhlN*{RY|yf+2RfpCD9!5m5b=4~V`5f)@9aMl7eeLV(;f94o5>*e`2H z{emd~j!O6jxPjh)?PNNn;Pb(HdBnUC=_qYZLg7nROCvDfLP4^4Km!L56q7g zSPc=2t(--Tu_&2aF^or`ibjX}djj^fn+-QyQ=`^=u7^6Wl=Tu{y z2J=ars4-SGne!?|u7il#t;@LNib9j|*lDPc9$72K$sfUIyQIB`Vu<8cMb(%+kCMrt zv;A<$h`bWJj+O`aKtZ5&k4MYW3qweEiX68VFm&r>n$vD6VceVl)X6CY_XW3A58AdaxwpOm%xrSs zy<{MDTt+4LBgKu=uQ&s!jQ5%1CP+#ZaGunSf? ze*mPB^rveRk;>5P!1g6Q)Y22FEPW9~nn{l=V|jV{WnfQ|9<55m?Uq_u{{+JIq>V(@ z$$Bn~Wzu7JF><%8PX@S2PZ)b?IvVYyzZhF-`s)yLCp}5z30Z#`OiR+=?oFhPDt!uQ zW71P7DBP#g-vO(Zw3*0Firyatm-IA|n-zUEgs(||N5A4ou2FQ{0ZiIL{ccnA*I;du zw3WzOMNb4fmGmr;bqbr(N!xLFaRW@B2@0LGUWQ#-;eyhg!+t|U-}y;jh)o;K1II~QSCxC#jP)WC=SPNDtu7Uzkom?>1856R`deo z_cbCvQS@anz)5eBa2geT1E@{X+eEH$=!*eC(mOapz>!0L8C!mrP}Mv1(L;gUODybh z=n-J0link8uR~vo8uR`}R(GF651I$$2h>!fL%$bRbxHe(Y;ow%BglVI%d1p<18U7j zM6Oo#zae>m_^np;{ji2iI!NRiRX+$bFzJ(pY(Vc(^&zmDOZt>xY*cj|tfa=<*^oV< z>ID!eC4Kf5lhr0wzZj-OQWNd!ZC3S{dIR|d`bHRERloOQAe%{6dsG(CC4G(a9~e}n zVC3yXn0>C)?h$2ImrAKUxF3(W@}hE+QuR#eBsD(Na2qiYM5HF*>mseUqZh&J2T^@m zYVTeI54WPz(y|!kVylQWb1m%I2DjC;4E-fgmNagkBq{b^aQopb?CJDgxcidU2f@TW z3#_GOAPgxu1_n4B6fiEWmwqF7-n7JS+;!s4Nm>$7vW}04()w>BXp)kS3}<5d!SkVo zF`>9n&(iZjhtjg=Cz7;L_Gtr+-~*R4X@iK;^ifFV5KT%?yp4z!sWOW4JW+4A6q8v4-wo2T}P(BN)#`6>Q`&+;k9m z)Hp|fHaI%I92Yg7hB#Ws*OHXxE^0NLG=xYvp(EdvL9I{6}1pAW;C_ALdEjTuGYIy|rW>%85v`2M(XRq+?>_EhHu^*Laxkae$A8S1tYg5#cP}KW zP`?#ay?gO!Rb*+o*=K-mx-FB-w7iU`^uw{ z#Ay-?ZR~55H&wq7W?AeTGa=!|`2 z8QV_sNXi}1WbE86*!mCf^CYz6iJhz80j(#Tk)KAbPXwM5h8XkZW+;;|^kcp#LWw5~ zGwibR37FT|c_ARI;NQZ}I*5rF#5pjlar3i#{m+>J91CUJy8n_)?-= zY^>vdGmX!iuYs@lvTj^|&V~6Ff9+m|F^=Jgzn)4aO3GG<))Nx$NJU$8H$HU4@sq>w z*Ro}{r%p-c55j^Cj5QcafW+(9a~`CN80${%_F7gv{Tj5;y3C69$~caH!0- zBxHTfWxp0IPC~XJdzg4q!oVcX%_`ZVqNPw2wj74PXkr;~>{GcP)GxlzOt=h2UcIn5 zN{sJAQtR(ZCk#w#oKp2zSmDKIMv_D$E?zueiq9f#cIi97FT`gX7CTxByOx5^H zMj{-vReAjp&OG9D{sudzoKp3tF9PbaKaj*FWhL+!fBEa_*yIcB7aIy53_nevm@{H8 zkGSSyDfWtgvAt~g|2(t@SH@$ZSK;TaaGW+}`qRK=?2?c9w3!CxKlWN@U+QwznLw2% z_9aEz1&S7X-5GspkWo6ZH;{BZ`bSvu#*6yWAb*Kw@TQyl(jcQNi(URFMkVNPgF%YD zc^9J+r5Nm(9f~8VVtZ_k06&N_2BFyU*=*wZhcO?)QTV{}`3Qu;-Iz0kEV!GBcV~(f z&_2@i#0)5eH-gk$EPAtl+Y~Mbsh48@Ix&A8HGm@!q~3}Jb_HmF{cr=Y5v7oZmid-E z9GBm~bl46B(qmWXGa#Ofy>&}J8kcBvNR@l~(YRn2vEHNoXj~qF8nIP9GiY4qLv#{b zP4zr9N_WyIMe8FWu8dtfHiO3HR&2% zvhrtGh=yF5i#NW9Su6)X0GDMDhGvBvfLT(PH6;{M`7NJFyUnhm!LWC#cI*W*l zD9@5YDu_soxXvQdCFM;pq9H5BAdYm1>q72*3cFo`&m~iez;!g}PeukV0rO`EIBcn%o1FG%R^N zOcYo0oGFr|C#U0Sh~!96HFxqmP|K4X4-sTU^5Wk3Xt;J5h&=goh&!T_UyR2!!CBCL zjHFb;oC*1S3*bz_6Q{SIi3tCbd<MIHwK7$VCvp=j^F z!Ov%tvHb0Fa`-@G>F*9?>HLeCr1F3zr~z|4oaDCbch+yQ%t3aG-M=#XQIh6f`;zE&v6mynwy z9HNTc9OZ;diaa|XN*+@lfto!gWTAR?cWC(ZJS57&`Pa^aI3y(6AxNN`Ly$lWC*!m| zpd2BwoJ`cRV}Oiv7`htyE_h1l;$!UZG3YNnmROdp5?KNYlm4i5b5ai}UcLL~*jfRcvHa6E%$ zPry&eIau~0NAfW|osvA~0;VM2fkuVQb^IGkW>%TRR5ub<19pA5ncNe_Ao3I~US5q}G?cwz=bTvIkziplzGDC?Z97Gtt8 zpY{(D(birHL3hl+kFjPUfJ3qfMmA>j zU0Cxt{Nxv4&9PK7->A77`7AhY)?9<;>3z`mm~pRT%`9m7KQJA0V+yI}1f%9m5Nga> z5A>&+%9)_hF%yHKc<@~K`L+mqJDciEHtM{Dy`6*k)Z0d^JqIjVOwkCe`3Lw(*RbY! zRC9_^^E>eVF;o9w*1QFA=0hhj#f#x)>VX`Lp1@+taWY!q!SKIaoQ5hT$D&5bMd|W6 ziI8?j4U!>%NS!tqZ{uc?O9o)la#pABf-*^Au3ouAOIrt1MPZNUlsjB$AC5(e?LXb& zNz0vPylN};cey+z0jCGG|*eK7uz zr}e`TQTky)VDkiwLI3yR`cdrV40hrPKgB;?VNfrbCnM`cVM+^9+Vt|UI)Wskkc_pZ?;+3-i#^V;0+w4$ovqQN}fO4B1%54Ia z)fSZ7ZBTw^hjNbrMFJZqKaHF18{|y@12;f9l!xq49k+POTnASQ_-*o%d!V>{heXUMr=Vcfg8xc1<4%UK!z?z=I{nGc$5oe89u5B00%LE z8ar^1!w`n@W=aPyxCShtypS;FFpSYMfy`kbV`KxR4uQWMhAk(`axEadG}uJhOF-F6 zMA=J3*-Jp#OGKGuLz!%%yyj|2Ns)8xDEkX22N)>N7zHRFf~A~ND9fb?P(zRdncb$> z59Mit&vo9V)tZooxwTvMf#AJ0ND>!)m zd`Vf(Tbw)iN(eobn>o1v$bqmPH$V=a4??XlL`*`hk`XvCms2tW(%WTpO3EFxa{dbI zN#%F)np`IGNf2);)kICtk&wDW<|Y6lnjCb87>#7*L9{HlLXfMhliBOk+rmsS+%JgX zeqwYwN#TA`3ik^dbH6Bs2W%SiM^?~r$L5;`!^k}-<08g!N6k&d-A2Zpp)!w~iv2F4 zoP!qRSx{`~_(qqBa;t!Ht1%o5!N#?IGnM38QKf-EN z4u^TByd%rY0aA9j32To4YmXqjJtC|<0<1kEtbf{I?d8II;-2_YyNiB$#bb*z0n8%9cxEAR*?Ew0qR&g)Ug880t@PRYN4FD zR!1QzAIYuAK=Toz8HFceX38aiWNeg)<^nsK3+!^cKmc=r9n1v+m{}H>3rTL9ZW?g) zK*=%3FiM$t%Gpt3N|B+vjEpJ??s9^f83D%BaixK~6xPA=F*n@0RxSd}`z+i`?6{W* zQd}YcUt$NoL;zlH0l%Kl7aHIj1oc~CzzKua<>ye0zmppPN_n&i=XN`s+XXnc3vh0? z!?|66Q*FVylY6oO*T4k2%a|EBfz}An9x$Lig3vC9>EYNYFNd6}ZYH!x?a&?-pgk%; zd(;l?Q32YYEohHZ3$q5y1!zwgGk7jQ`wPcO(4H}%jl%tnG2`IYOL8^9dLYJxR%eG+ zCqSzcpw-!-)d|pcTF`bI&;Z%X1~LHliU4en0qlJQb}Kj?$G_$E0BUHg3G5>~u#W^_ z9|^!dvIF}_0CvCv_OUUXWq|AxV>rtI+NZ*BHgjlaxC$iccQ{)@AbbE=wG0|_9S+S1 z=9p;;WzmQJ)LufDy=-G*RO3A+Sv@9WDJFK6x-H7Y%`G(@H@6&jthp%@H}}+j zxVI;tH{dc!&0tC~edwZjWt_n>m$anDT<{jGw^;Ty-}h7<(zK zfw|ZK+e=aB8Kc<$CTOndbV+h*EHYUSO*OOT(z3vYIfK6@RYz`}?1M2t;6AA{ID=u! zoC|VvhR}={di^z$Gn755>%SKoUg?0mSk^E$ns=JjaE!g-7<&4wSLQveOJLaAw=Jz?p5=0%x{e3yeHcJfj||fpd_l2F@HTHf%Qb_%T#> z4rg%sNW;&EPA`Q2)5ZG$uLTPi!`yJrlb1t@W((e2o855E70}HU(9N~!DAh8-%{T3a za{;wb&eYU-HR~8x8k2E*>ZS=mMZy}+d7X?9N_v_w%Iz@91sLT5jB-1SaskHm7L26= zj0z4TH55#T?4Ay{ekWt+A6NkF?$CL=%{n**Z|JmpL#N;kot8Ira&L&+FV4Gc+b_<0 z4JeNwl!Y)+oDa(l0Apt_6UqiVlnr($8w4mD>`*ocP#&?MY~)Zf@r76CpShFCyg$mK z$jvx68QAhBLi!=jlUlhRa8)Im*ml^lu}vl(d^vXr*ml^l?GUg%Z()0pu$5-wAu8uf zxYZ7mjDdNbz+}2$IqQ7W*t9x^$flra*e6#5s;NmPvJdRYJ`gnM0|D9xc4!|6(Dqx< z{zWY;z!7YCgB4l`p4s^kU6*F!<2&cSi7Ly)hilFQL~*S4wNXit6$7GTcfatQ!# zu|OZQgFYsJJ|=)ZW(R#t0R4>x`djX`X{^69MwgBC_uOx@6`)g*Il8P7XG8i8SVE^R z%Myt8p3^11c6GY!YgeE+K(=@V(!O}*xqR`;YZ{AJXSlU^b$X0VkDL_DijXy(GAT`~@Tq9tv5i!?@m}>+rs1Y%5wQ24)-pq^~JO=9A&NX*d&Nr|+bw0-{ zmJm}rIPAGO%%atDase^*JSP|C;3vGCFPJPd9$z(iycrLIOhl<1g>eD?UbJ{TBJg-b ziYessEJuaG&5sEblQ)ge`1^AfP*W{&-z)K%OOS_Ih39R%HSm`6O(oeBO-rvB;HXWUr3ZD0prxC6* zNW?|Bw39~6nFF!$a8^K)vb^BK<^9O=SVb-ckcTaxV+5dM6h18(&@m#=F#^yrBG7yW zbTD}90)+xD0zHm{=9(}`F>G_Pi9Bl_IDs1yEOtpsu!oDz$_9 zjR30L1a($1q)x250we{1uE;P!RS2Le1W*+ss0sm8g$Qb;4b*S#pl%gF{muY2O_`yDwY@7#Y)mt-)&d{vRp4Kt!$w=h#9U|XsXu&cg|N8 z9<1lw=K=CHPR<|`@j5pVgA%|cI^Uprd3gN~g?%Jv`e1xZ4JZ;j3Gf?kKBk_DFFiny z(n$Fu46$Vg;~T8VaC}1hY9{71p$twaMvjzKjwj}RK>zG<$PG}Ye1IuAx5KUqZigT_ zw?mK|iWNFA|#C-|e z%XBbp!M`&3>Ht$)`aA5}GQc5d%NH{ss|SYflN@qARQf#I;Cx=h`htn|Yb=tE za(&GqX93O^EUd2zSYH*fzA9pURlxeHi1l?F)_;gt_ZnCaAdsne;Q2if>-#3w>t;f_ zXE5A52(t%pPRTK`9uTk|Fwiil2Slg`1gHl@s2|&)e#)Vi4`NW88B{4thLM#goB?+v zRW1PtFIg~J1sJWO$XZ1ltpbi#5r?c=I2@{g!=)0Adk{xP54h7qmFoe+*uf@_?y4O} zcU8dAT@`Rpu7QJUnmFQZI8IZIp}QFep{L6CChlO93l0z{p9<0hmQ1EFBR*nEG zM}(Cl!pad~<%qD(u)!KCif1&(u@`YT(a@cv%C&%D#u+A#$pVhaB96%-j>!U!$s&#- z8;4wLyBY zR~4M;d#d0}-&gI<^aHBLoasK*?o9Woc4w+O4QHANLO@B5l&{1+`EaM9N5dZiX>1>c zIZJR65Mt&?L#~BNImkq^lSv)_#BTg>Q|hNX?NU#13Q|7}P|NTiteTv1B2=m#Zc2T$ z)2?Epor2UyI|ZpzuAyU8(-itxrzP}!R&elwxtG8S%qi@P6gkOxjFiWK@SW$HEDkvz zP`-d6{e{FKg8abZaJInV9FfBhk;99UA!DgiZh%S!BTNo&;5ap6@dkql#^DVjhdh%T zjvGV{m)SVHkrkwgajTQ8*UF2b>KCvAcHZTLwL65E7Kl3qG2ba*xKqS%r-0#35yKj% zWxRgxG;I3?_)z6;r+umPN2g(|@GBe62TeI=Wk4V-SK*_FC!BIU)SQ@W!hBqS`M3b{ zaS`U@0?fxnn18XseA0x;wv;vrFl$VhJ7G>aw^%UWMwm16;bxta?JK-$!F*AG`Jw>x zMG@wU0?Zdhm@nC2?lNJrjj-JU%z6{%9@N@5Ev#h)k?a;eZ0g|o1m0f_!A>X4o;OyaI`z%`2(!Gfib zp4P0yEtJVre*rxeIfuIqdMZ-Hw+!j2$aIopW(GzhGx=&h^)}?^qO(CXE_prh@}0>~ zknqw#P#BFgV<<>?XCO#;XCO#;XCTOWXCR2)8Awf^5A9Tg0}4u#C8)4-l-XmVO@cv* z+#XVoi9(NwHW5-Sv%}M|LngMM6fDKg6yeE*px(lnqM&{Z$aHq5C@71crU+6mhtM!} zH)j1FMmcD>Tn~NB%`-6$vtt}4U>qi39A?KjOu#t8!gwaNP&(jBDQG00283@s!$)VH zf(ng;D044`^l1%lohz3DD$i&WS&G7`+Tj@}^HD5+tUJKhiJGOatRhlP2n`ehMPk?r*1#JNt2tszbAhoL* zvLY!Xae*Yw?+JHS$kl)&36F=-L5iS?ud({He)#%M&`PWz^}ia5=fZj_=y%MPWI^#u z$1?aZ8-s4&NYZ2nDT1nvgA}ZRJFo$EkRpgbd|oJ}{u`Q;drg3Q&&Z|F&X;3NQ9NxI z#nX0CJS~XgX}c(%7DVxPOMkX-?xoa?mqGEqIFsLyo1wXXLU~g5I$oU<&%su0sum z4lTVL(q&+rf)2^`z`>3JlZ!?>7mWfJjRF^qb}kwPEPy7n~>J z;!A@k#znKiQ*sDUUkN;YXXohz=V?d{@U#KkNKiOGZv{Msjgz>e3eshpqY84%LU?uU z6_C}4^Sz%ed!W)rs)z#VYk#~06c-6|#z5MgG0)`zB(G^WE{#S-gsHw1kfADoAAd8 z@W%Z0I9D30BXDCYa3MDlmVmICi&++}|p2 zf2+uSrHy+pZzg~6CCL72&Q#&xOOXF6LmD~D(52jNisKTL$L~yeT!I3rHU)Al0}9_E z4)A^E01v(jQW>qz!?K(R{5^J-$>Ror#|^>&ZxC7BAh5VWWbqLjiyMUj{xgS_#|HS% zCclepR1q8QKbzcMXQN66FS1eppSw2!jH1Zmhr6fe=%Ab;UZ_DtIYWSOg+l@fAsCX7 z3s7O0WG2Z#k{Mw0jyzK9^+)TEM#V&4T%i6wGI|@;{>`^BHNlpV5-}f@`>6vW6Rx+Us%OQb#&`%c9nZvxt1ZciPCGiWPqSe>22 z-=1>!q_?MbLSDHKQp$12V<6L`lT5?2iQ(Dg_7ofv%d;JPon=$Y$6I%&+_@TXa8z>V zk-Met5@t_%29DOkLP^5cBk7!%5zfnKWiO+o zml4v-DCrwGH(ze@(u(#bhkikr(Y(#{;Lm~BRO~W0GY?)0yxuP~J@{eb!H*CR9x^a0 zNgrc$f6^iEhddd$I;3nc=6lM4pB7S<{X9Pt*YccQ1Wx!34sV`zbORz86VKB2wWS4M z^_bb9O0L2&&dUxh%!~nDTQz+HwSn(T4t(-mF4m^V?pGYf6uDyzw%uW_+uKjqf{Rr27glj)m|BP!t!nMCS-1O*c zjKlrIl4qdq2-=|0GeV(dUjtcc)oYp2A zj*9etg_$=^H&3(ZLc^kpxv-rJ9_$IohrybUN==LSh0z|eFxo>FMtk^$(H^oe+G8z@ z_SEne1$m2R5sPLMi)x8Qb;P1Z-lB^Qiw>hjuTBTiVtGGU6Dcz-x}3M@a$?ct#G=c2 zi!LV?EwL>63vr+8c{Vp1Y#wUFEkt3@EpjU`!9@o;n>9R}HF`tS$gCk`*6?K35Hhz~ zWZ3Jwm(})%QI_WpeE`dGyuN zY>~U?SIrc>#5Nc7r1zQ!M|&{Gsj_?+3|NS_w6*Tna|%B`h9lh!t^0*TzWdcv_3l^C zX>`Ay)2x|;=X7J{p!K(&b7WSu+HG@BPxC?NZOH4AN{|hd<)y%B{Dmg30fg58enJCB zgw_B;YXGG+h@&;wToJ6%8qH`;$$5pYrk(UVh4} zisMydPH{2b1kD*A2Ao;ej1Pj$Y-`2`N43_~i$M_2t*aMsR8J;Co<`ys^Gwh90c~9h z10v65U@O>}H^a1b5wUd1u zWPHyhuzek737&P}G{E*RUX$@1gz+7e@g0=$9fa{6l<}P$6N;$5xmueM%GgO=W@gk@KgjtI-Xgk@jKGL2)|-<%KP%>z$5zuwj})S-8m>C+d$_7EUF z(vW~ji>%@HkTu*Mx`x|B)^L018g5TEN6TEdjcqvB!L{LBa?Qn4Xi^-#5Vr53 z>>`-{1HCV*Oo|s0iWicpG#nC+7ZQ#aQjXIZ$9ixd&kWs77-O%wuJ=|LM|fsBkPkj} zfmin7P&XmNg)as5=~|}_4jKpgN_tO??ii!xjDc`iXD+{WYpYPw-$ygAg~_s~)gd1S z6K7YOX0{MBTS!f`P%B%Al`YiD1zb%mG95%?ei?C)tIg7nEQ0L>=zBdkJLE7>`nyGI z1);Tq&{{!htst~kP+BWFTB}W3pPvhdYY447OTn{`@xFTTa0k67@HF`lO##v5ZELRvRLZ1n7O$eV!DoS;c-2cflt z#G)OP)(%2z2c`8QN9$!X7G>aFXwNGS<2E$o`KDfA8S6X1(c2FFMsIrg<;WMC{l^Zu z6*!KXW%ArlcZ{u>%T5R_({B!49&eQ^H@|1lU3#$^#6NzpF) zOks>wMQ5yC0&1riSN(27#yuy4>=Z>twijEBPv)1S!V%B-WU?C7NYojhOje_MPPJCW zdb(N*croAU3g1|IC`Mx$vIMp#U~Lan9Bi=+Pty(CpT9Z~Dp_NBy-%rS$TJ zjMh|>R>Kvr9Xc9hekd)VlvQWaswA{36~1j$Qd*USRwbns;AmAVv<(Lp+J?i1v*B6| zPfRh|@bQ0v?IqZkT&l=L!0{D}=Ou*aC8YQ+p*$}kJTIXuK)a!P9jM{A`?>v-&tR}*Ku!=#mYC2aTS zg6sh(EuhpcWYW5y(7K<{x}VazpU}FW(t41i^^ih43`OrS#$$|oT468hlG49MTFYgS zy`;z;fYLh_trrQc7YVHwDXkX?trsb+mlZR{y=*)Yqj7xI;5az!gY)fDv`g-KjN50p z-KQtR(FaP;D#rNMt6)19^m{&2ri}B}#@s}oJ zEh>LSqVl&SD*s|e<-u3Owg$%vPN%#H*!G!YGFJGN*dE2nGgipjWFt{$tdOP29+$QF z+~YCV=3g=s4pk@LP&zoxsC*4<``|UIu1+}}DBTe?X`M!BokrG7!y(~y8sT*s<#oEo z3rC}8=*zGf$1|NQ=-k&b$W^KxqfTvovnN$g+tf0+zM)R?bko+0YXPb&PM*(lB6Vfi zoh=zkA$NRlO9rk)@^sg}KnAsfFRAmK?IbU$^9(Qw!0jA)4UT^Cwe0D+*MiJH7ShK< z9YI0#Z!ilZhZIH*EsPvm7&)Xca%f@XnuRfe6h@v|7*GH;&>h(d;Cx#FV!pukoDWm*9!%htBAIpPebF-P2ug^W&FBHL)lPW~aQeyOwTkdsMH=!dN^2FNwTjYO!_m6cc!~rktG5}? zklt@#8AzEI9{yMA&;f4%PEqvcyr;{)dNB{MeH_MTJT2IO0sOatB}2E0o> z<6UaOyTpQbsRi$I7JSHC@HgIqkH|wjo-c^c{N41Kg6mr`f4OCqy0F;nGQJeX7%?^{GXSvfE`)KJy0HK82UPJGkUA zK=;gfCgt}03VAppl-rXf@_MR4xjk7T@9AhQk@uXStC=}CDtS8V2mXxwPLOt@%eXAF z8auNtE>h}e8U|@yZmPbTo*8tOY0&FvkklPy{akV?81s>3P+wwDUusZaYEWNdP+w|L z8fQ?tVFP;202k*q11bLzF5YWKn~Z}u!geIuG{GhB2ey%mO~$!|aV}+?OBv@9#<`Sn z9>@56^C<<5S1I9DZt{|s!#0Aw%1oEs3Yse0S?N*mD_iNIt*5-!6JF~nuZZ4$A69mpQh7(Rhf4UCVNrffHvVueh|?h<=UeO&32K zc}I_&QhKMGVOw<~$PT*XO~7_+i^=!^VSIpA@BvEs0HJ()87YPqm^Awln*Auvew1cELbD&G*`K31Kvz?WJ;p${d2?6t400P+__eD> z8E&IL#HXM`r!}o4=D?M7$!!noOFJZBATU%}zcBDb6l zY!6wC7ZSz`DdUBd@j}9QA!U3S$9OT%cnQz=3d(pHVSIzhIOP`D4jKuvHPDQK?ZV4U z#;XbA)s*pS%6K(lyqYq;g=2i1n}nBp39k(%uiKGVJucyS6xuCtI_q+i*CT}2Bb3)8 zl-DDK*CUkIV;rw1D6eM;uNO>S6K;jAJP2gFp@xCeM;5Qw2(Q;Duh%HA*9foID6c&n zuQzlxwHd=sfWtRwwSGWo{>`MhA89VcTkK!B<^4c0ve=~gIidMErTICf`8lEaIi>j} zNAvHr_`WB+elmGoe;aI9!UWJGd*oK&blwt^7Yt81UXq9KfXFRrV}=!Ub1v-FI$87VmX@9x2G@1YUX@siiso`0uvwa|~))ZetJ z?d`CA0dF`C_sFSW&rZvxVZ^3k)TUw7reVaUVbrEf&Zd#NnsCMeJnJaWLww&op3t0N z(me4F*pBZAvSN?C2Pj^3rAc!#p*fk-oJ?s>CNw8gnk5>|!G0giSW7+ZmVD_5KOW%u z8UHd}|3&Q9eYt)(Gef)NS+1XMYQ_MpqA8x&Bvyf2aK13rqhG_*Zu3twT`(wlE?`FJ zBhyN)81TU-tsLeU<=}QAtMuovG`=l^luJDFQYeX`SDB?TpOnUYS{n0dY0M|3F`t&k zrCg=8nw2&P?{+NkyvZRrtc8bJLG zi~eRpe>0`OnbO}(=x?UfN{~bx+kECDo z$oqlt_1BoBcM;ONDCu34^e#er7bU%$BmKHbTDuGX1||KzL0Y>F|AB|yhS$3&ll1j> z!S?eJAp6oIuLZ(|*P5iiAf&&bq`#n~zaXT)prpUzNPn%Xsm&mL80@&8BSC_kGt zhu@73aW=>ts$2vVf3j%GDo;~Z2~AlgG+C-aljSsNDyl`(r5a_c-HLasESl(L+g{~q zc2vy{A8CehI(E7$OV>%#J=d8uyAqmRDb22wW>-S9E2Vh`M>Ex=sok3IMrrmYH2aw} zo9}_`Ps2erRFyXY#gR)*nnMW9A(ZA2N^=OIIfT+2#?j1FjY`)hT_aRd>Dj7r871vr z*nWlc!~#_w1EjvSh)p8ICQ)LOD6vU|*d$7^6h?x zS(^Khbayztrv@s0nIt{9%p_e+NLN$R)s%EKAze*L2RYKS&C+}pk+rlm8%U)$nlvw7 z58L%x9|DyQ6sKHo(rhI(TPe*}O0$*FY^5|8ax^b9%64!lEO{=cu6ZqCxzuEtwgI+h z;SKavsyq`IcDli2xstG4Nm;I>ELReiD=Ev>9LrlwmO%1WTL1SLB(m}Z_yPjY zUsdCZ2EKv7vxR!c^Q7Fjn?~&12;2JOLAG0!4}$@_Z#0c~jTrG7HR3gD#B0Qe*QgPD zI3wQB)s!+L-qdMMWk&2ZZPJX`XWFD)hJB0L^bxV?W7DRa?t|?_th&Fe@*c3~!R4k+ zUlE(WqBea+ZTgDX^cA(~YtE*B>S|_ckD7W8>4(~^=dfV{&U(I~2K>t~K)dbotIFSY z`OP$E)cvsSjd)Lrya`P4-ej8NPT|dQrx0`8Da0I>YM8@vn&zk}mN{)wj5wn$d^j$J zknWtqmwJ~JgXZ7|VEYlSnM_TQX9C6DD@>Ya5}IdHnrBj)XA+ucQkvZ~nj>KJewLQN z2zS>N*032tcU_^MjY-co%}GZW>yg3&QkdQ3KPN?-Ae6Hu0q3UR5&(J1AZ(>B4jYbwZEQsi`C{G7%5Qo{OD%KB2u`clIBQp&oOW4(};=2e8(H72hQ zkk`|AN#|y$W#Dw`YLnLr!fORPv$1}f(po`it)R44ab9&y; z-E@rhZBEaddUVKUi+=W|^AZqAbj0z zCh6{kbazU+J0;znknT=N_uxpMtE=%3jzI_BvyIV#$DjxA)rNG21KaQgJ=o;@Z{*w$ zW#_e#mjd6H)|#A06V9V4=h2k&Xu^3kkZCB z4glvz@$r%`!JC2Z?HXn6qc@%}+I)+g%Li$1boffsAPpVzm?TYZ2ZA5ku$T2fj?dR= zhT@&p$u+7Zsl(;(Aax9=Dc4kuee+4!?CbzZ=V_1G z%>?nyFJscV_*xBhG%IBF+|#_qkz78m)8mqaIa>gI|J{<5z5hw%^2Pj2vE%{x%lSJ< zvVVM%@sY-rgAU~>hW_#%Nb2~MmZLdSEcpQba!v2TVq@b6AeK znPSPwFt5&;j5?;9I{pSaW^@Jp?eu|;*f@x3o zy(~vKQ!Ke2{&F^>j;&8={sua#K*uXjG4w&0W@Nw1a@1vtB`?EY&Zns38&k&y(D9$A z7`g`x9<$p%t>u`NDVB7C@qf-KAj$6Wv|-CXLC2t{8M+zE?m#E{1r;RfG9dsyL8G7y`=#^Ww92aJa zCDS*fpKe7z-D>a{y9NAoD?>l=D0(H!F*Q>xx$6=1Q`9lt)Ug`OtjuFo= zw2I9jkLAeA6iW`lUrrh7@EJPBhn```!-$^G(BntWl(?fzOvf0LvkLRxW#pA|F?fA| zK|EKMhv7HRCtyUL&pLUcaXO!`B#w=dWxh5~?Tpf==r>?Ig zxz{qh`*sWOUT5On>vT>SV179p1YLAa?vpr9?vpJ}u&?LAfU*wH5jFC}_&g0q$b$i6*=UfYJM=sQ99*734lB84c zb1)SoLliyFP=(7gT(R;DSM)sCz<(J6lKD~34ljgGWq`CAw*kF&F29hcxPc@$>$mIzdd9ab*14BI5 z-;F$9^LhTs<@u+cC--5I*+Q?`vjEe5zMn>P0k&%9Myfmi!Ho!azWvNQCmT?ngdYsGnACmDuX2uzq zu{$`T+JbK zgKSdz7l<2hCJ4`#<#fO_X*e8-tKCiQI22dA^RIDH>8CVR<3pS5BMfHNlcn_9XCc$~ z$YiiAw}N)}tL7Op=ovEjH&wt9IYS0LgOT;*5k5&BsO=o_?KvFn1svEM*7he{rfLwK>tT0Xa(kU5$`0fD? zv7bjcq=I)~3I+Y)9uA_sKp`uq0^~UPI}UQr3xr8Q&q9ElD0g|mg5=pC`_SOi<>4Hp z)&{v4?dc(3#6hmJL4Jlt)uo@@!a*LkL8ib=y31hs4i2)<2KlNBKt{>iImpj8$fu|! zNB)9?oVJ}p2FwJ=B>A}Q7G$&yvH(I>mohnxgZONaA7G@=Wx70>gIs2VTndAhE&(~l zLGH1iC>}vJKJ}={Cq)ILJTj7GdMKME;P2bl5>5&tn_BT$XlNkU=)cSrELt zTqAeqAmuj5#k~QtTprIsnr)DF$mJF}$U)ZFAQwRA+T||!Y7X*@4N~I+$o=wz9OQrv z(ugN|RDOelxOP&=P2&LawEP1H>1l(!-5(&^<&$?>kn?#6w4?9F17w#xf`ioCAU(=3 zD#$Z9$THiBD$#eploxQ2M{JO%(CBaEJ2}YPwiAV*^XT%6ypx0c%LZ975g>}=D-Lq{ zixl#1CP3Oc+P-K(#_$kXD!95WKu&U`bC60NqDTcJP)n+#go7-$ooF$1hF$tN=5mnr zFH)mNsMzcsD>=xkHpn-FvDrJG;vk1?kmvA3IgXDwNT-*mMcXj8PjWb3vLJ(Pki9Va z>Qe6L!9k|JL{HQ!1t4C>1P*es4N_hSkZQ+l4sxpv@^mUdLXK-W$g?&s&%ubgOQYi< z4)O^PaY_X(I09&O?ByVympOCHo+j)uaNvdb#RsV`fQNjAt2-2rl^ zV-yDozf3K98zbfej+q?f1{vHYLu?KEJz^_fu`0G=2u;! z%6S|lV$)JR93U-91qWGfLMk4E3Fyuv|# zx1FdTOf0*sSN_RCy1hoVd=7K8E)OdmU$Y?DHpqoD0kTEO;2_mD$T*mxba_sh!a=Tl zjdID&1IWwDJPvZd4e~U$#y6E)ILICwq;4ocK2WxCknea16kQ+e%0E>Oa*!^&DdZI# zGaORfyDi9Y8)QOffc&EL;vg68rbbV^5Fm;(pM$j6ASCECFF&m^2y)MV;=O8O=kQ1@!3Y<$g$QB;rk_tY?Imr~~1`hI}O^bg3K>W^K z97KAZ8vWTt0I72x<{;f)r&`W99Uu+P6JEC<<86=;IB2`nIfR1*c?kGRJFKH6&S@Ov zY8&KR464hV^Et?aHpnKNnyz-<#zEe&LB?VadzbS$4)TM|=yn(}A9Q}oK~8>yLJl|q z^0-rd!-9;kLH^zkAkR4aaF7``$OLR^JDmj_WC0I>qMM1G&2Hx$4sxeWi#!z|?>KMd zAUk;o#ND&I0%X7QaSrko4*`F9+YOMfo$qmwwr_F}2+f;ur232VHx82iCgt)TI;PW= z`lbab;UO@Vdj2GU9Pb*(LFU@DY{!~D)m6noR@%5+h|T^i*IziuQ#LKRI1lLOx{rf= zWP^M-0U(22yE%wsFNKW9Ml#CvEeGjggA7%$!MaY|Ye6R1AUEKZh)J$t9Aq{Rftp@| zGvPAVg&gEs8)RKafXr}R%0V95OUvc)5df)n-OfSw+PJ7VP>Q%-;2=NQAfKEDka@1p zImoH|D3?=k7`o8aW}gKawU27aLf^g0)sKVB+(+r&i&}1Q6>*S7HZ60oSG&~}Fnd>SJvegEehfVE} z>j4h(vF$`r?5BTrz0N_LZ_~(d3kDB|`+E*@?%VW4$79FW-hI;B7G$Cgatrn(r?@jY zNF5Ksff7!k&T>!ZAWLnKE3hZ&?QZ2Dn{AL4Xwg9TIu7!d4HE7HkWBXu4)Ti)@;c5* z#=5`cAYI>~MYk#kAQRokzhgnpvq9WAW+-*{=O7g}NI70nn&B?yAeX;Gx!jF(YupVS zleY7#W(}PjZld+8|}vtF^lS#z8v1OCcv>A8>_Re%FFz@DQl! z|I7r)Quo;$WQtA8?>G-w>CWXK^WLT9QjA95?w-X#Zm~gb!GY37_ca`3n+>wCJ3taZCuXB%Ztyr-{c_f_b6l-UJKgk{*i<9vOx~xg`VB+Q{J;6`8LQj9OAs~9?3yM zHb_UD{Cwp0T9CATFpQA3SLL~scT~u;4ifjCW#&nHJ|6&{8{R{}2LMR>4rU4tC(Cg) z=Ge#QkfpQ`3_BcWZr5_m#2kMu2En;mPVH7o3JCr&0|ezv#Zpvp^81{M6e;6%C^W}l zS$!W7YXOn54#JTmM`lW9f|85};2%d!W?CLWEi-s6PAOwI-r)K{F3_}WJ09{pUVzo+ zU|O~zl@7;2N1@w)qh>#)k~Rm*N%`ppO-C!9_sI)D;MSR>LdLX?6>vIT$IYnYb6$r- zN_!eYzjNZ-nvR*6<249q&SIvb6$Q`t$6co42`saj&=6cshS(3{b|XIEbRI8d{1v)< zSFzmZ14N7g_sG}{XK~%A7syjsXq}-LUCVW|Uvt%S_Z#!fTPGjGs}<2IsgB zH3UrMGxiLG-4}H&ucDU6Ve;a7N!Nmo(Qc(p%SX^sT&KDIqG?%+TJD1JlWVw(Y1xBX zo|^!>nJ(QCpa$A~WYe-9Yqi|9Thp>1wX}n{?~3VK_M(=K5TIQRx|UYd(&KN`jqlEa zq<35={!Kd%R9M;#7vTF3nUXc=a8vm#E-5V=JkmXPf|g?~`qzmNV%!UKcY>3o?SNj_ z{Qy&e4XoX2UWFoM+yTYncF0$;vqG(BOoLG2KF;ta^p#bR(cNA5xI0nH$GjHsjG0hh z?wRuInwD17@->Xw+%>wEwWy^#j0WAUx|VxU%efy>Ev3T%u}wbdBdxwr%NbyU`$b)g zgue2P10)~mTJA$Fbv7+`P60$$$8=2#dSFHYO3v0jdnRi65d79XO85RvsAcm=Q=2a|C2K*J@d6Z- z=c6{dGl8qL>${)OpR}o$B&n%g_nWbM(j9oqzV~gZrbPQzutQn|2eSNYyEgEzjLR0} z{xzYxK!4xtXpJw{KU@>;7ifz0uk-~YAv_wV?P!Nm|AuI!f3Uu?w!t6ZMYX{Sgbp^- z;Gq8nfqFm95p9lI`0C2a{=p%`hV%;7w zvjUYd$WZUE4Mg~q%1~W6SR3FZSw(r=Q4m=AVj+^JF63{hCHjN)L3R|4`Tc<^*mvnE zfu=xZLrm8X1?)A5v+zo zwy)*m@^DoXwTc}YvIGBBPLdBe{Xe7X{Muh2gkq;>S6z|On>ik~65_W+_d>zl}6FGEUgALp|eQXu(gGWMiBp9-~W?lMW%} z(pEY;g4I zsAj2K^fR5Q_FY)4_Emp}|DJ%q|0qq{m#8PHvy|q_S!!K_+HJ$eq5ag~*QiszRN4$z z<_=#PiPS1>);rESVZ%+O{ZBb-mJdz0x$NLP@Dq8hlDP|>Pp33JrWy??`w4QeaPu^emR%bOw% z%<>KDnd^*PAOBp@sMcnV(!>kiS4VlZluG<}-tb2CCP;c|!-iP#`I8r@JJbW}!JovK zjT@l6cEI_dUVjp6SGv53W!JkE%E^(|IeEQ1oyymj=+3Il>vLY;3s=IqmG-&HoIXm* z=}Kdn)(jS8j?Yvlsn@Be9caBy9R;UULXNX#b@}~{>=Tre)b+O7I_n%Yoz&K~rB68e zS!ad8cZ=F*>5!`W`?mC+_|}ul23ObJ|5w;kIy}zW-Sq6Yl(P@1sZmx3v-Q1=8)vIi zqgK0#p(Aco7pQB{d%*Rs85xaf$yzmz_{nhUT+OM$A%2TADf84hk-2pZ_ifnVIJcwP zV~o-~{EL58G^q8NBlH>)h_u@M8EUsa#%fm`sH9v26;M^Lq^ws`U=p-#!(PYO4(dj= z=ZnfIY9FIeI?Q#X9oMRM(Mx6Lh>|H!^j7`7GoeWAZBT0^*aYUzfp(%X#m2Wr-MG$h z?n=YC=l&K^QsyX4fB~Bji0-&iIc>Z8jpA=n2L#pm$~eJ>Q4GO$c3 z-JUjP%Dyyk@(ueYymaAPD4w!iX*Wmdl$+_u>EP(oW>{bKe5He$o1h`IeN%M$7A01u z9RH?vdT7Vs=5ru=TO_)^sZ3xbhLkBqaU?n`B?1zi)m$~L0SjiwhEMAjsfF4R#K;X0 zjN^`2WVug$SskSBKd7E$L=Q)AJmeA*Sl8LI?qthxhHH+4|K1-22f1ccW+u4LLiM0> z{2>#6no$~RC#xa`urg44DD5hhQ(KgY+x@*;)!&tjGNl+xK|PZ%hE7V^cBSK-yOmCJ z_;To?_A$?Ls@ex_0t1?U8$L>N;!NfE)qI^;acBC9jp{)t8oehpyGpLt#9gJm2IW9E3(X+zSK>fs9)Dk&`sm3b}mm1kn>jdFv3=NSL4=fih>Bziv-<$+;+%hkQD zBb;vKftHVLp->Gf^D0Nipi)K-S+g+$9cuRukY_ep_LE*)&;^{K4ji5FUBr>mN$-H0 z)oBrQhYipSIz4Vif&`rz4UbrI%;fvjgG*Qh`>rCA2_2Xt4~k(}U(j@5RqGPv_~A-S zPlB`}me!}kfva1UjxEGJ^f1_>hr#AK(6WEaWL+ZE+`%vLgb+)$h`7e=j@y4swCEA2 z%!ojZzf~x0=3r@NW`R!BcfZCVt>Z(c!oik8UFmjH=}Aeby{%J&0Y`FfQ;?g@)i&%? z3kFX`-Y@J+9y{oTw=zM1L0O^C~OS2({XNx1L~Rs2M!!mn$B&bueul7%z3I`Y5rI_UOoLjWp;~lVv9Q6 z7PjJsb$ely6erxL&Srk1n*nxAIRVq4t2=nff+fblMr)b#DkG3S5=VpO2aSP^GH?6k zQ0YS44z>J%f!lT&pbUzi)GstkMH`tenyimZwc#anY>Q!dK+%7V=_6*fUu!9#tzl^6 zc8DZ^=ejlB2VvC8T<|1yBsd3jlsFDO$VQb9!H_1xSR7V6oO z_w0!CiB9Sqt1~q`U?Xdbx`U~GtiBaSlM~;Xr?fqkC~@D#(3i4Abn#J+5t@6013$W8 z3D@Fxnk`-<`@JuM;IUdLIPl3M3zsC)Asjo<2CaLrea4Zxjt^@%z@QbgLGS9I-O`p2 zr}f*p)?~6dK^OGN&0s@(Q^!Qs)NKYr0y9t~Kk!)V5+SLb9I43LS{oeJ_kb2jNN^LC zrdG-t`Kb|{#j-92lVOqtx%leRr_u~w6^TUOW;0;Nd7UzQ_l4onhP|!j`%3%nP#a!T ze}Z9vx@^AV+)lfw3aBJ98=w2T8iQGAYixsBMb2h8hfS8qR(ci~V)AF%XtD zSK6wFAo_lz)V3&Hp-q!k!fO9psAE>U8s#1~hniL~SADj+uKH8kP-2%z7dCw8&LeZN zIH#GDOmi5sOMFUU$t7y&f3_c@^fm?N_43H6L8ln?EK_fha12>cc5fmQzTpa)3aIA8r3 z_`R!?k@LBf1DCQBGD^zbK>1~sS=YBnww>U4hfOfTcKlB}rD3+?g{X3iW))DxGdpEv zZ44Ny${xw_g)GDIrj{}!{<7paS9bL7th84jSLT#m2D?W(Y6C}e@#qAYrK+D!ZpDiR z{W@}cTZ-9U2lca}1$ZHn$SmBGxYyCtqV0Xc;aFa}NAkw)Er>hEC-l4>xjn+(_g)ip5*5`+E#lhsL0-f%c5HEaJic|%oI(Lf9i^_?cES<)_s z*K7Htx~2jA-3mA!2&cC0XB28TIieD~wk`#lVtAXTTB?wIQe{)RRN0&^MST8XLlpKw zS7q}6{dj-`Ngx4%er|kaUUei8sFx~g8v>HAHeBPA>ZDkc6l<3JO_IM^iZ)42&6)xq zoHR60Y6im15}YU+l4_uI>LefJVO;AQ>b%vp&0&zoLbZX2uf8%MMcG{ya*IU@llv=D zC@j?m>w+;<1bS+N^#Sj!P_UluRrqX@H9G`=T|0s76EI z_0`9MzS^J<%F9<5tOa{&K_oS@dh*p*LoO)b=7CbvAgOtf6!t+an)imJsKMUbWbQRf z_%%5E0$fw2)Lf|-F4HxDZ3aqSyukt0*-!~*35TJIG=08ECH@rzs=>~=0jaV!7}oyD z!D<9&!~LR2AR35hsi9~<%U2l+H;;p);y`6gJ41dj8q=gjzUqL!qvLRAd@XotWdkTF z4N3mM++Zc_lz~=qkPS+-D#8-f{xN9azDc7B3ff4h4#cv|B87u-4Uq^W6hU3Z@HiWa z-Pn!`H8A0L&{mA~gZoCU>HE5u>qmxj!(nbD)DSN9MPL^X^T83ufgk9*6VW;J{V7`0 zg9A&~B)lP(uXz+473%kpaKEI|R~zu-xwNBDLxgd$&Qxl8uI9?7<#?bKa*Z!a%!Z~8 zMG|Y)PamvDdtn2SBs4pqxiHj1oi93D`^RVkbs?>G>I03MR@jy_RA{?lAF9>(l zINXDxgAAdVF9xmI2Obf{LX@I`T2NbK zRehAN`e=Yt#8rKitNN%}+2&qxbp<)_Sw}`4MR|9K)`S{!S#-l)t>xiPDa2q5-B{Ud zW7HEnG8+=!@HCQeU#sjGD34;_!uD#hkQ)GB8p_t1DmgG)EcodJaF0m=FuO8p9G1kI zSt|oi(t54Jh(Dm&&V!>oIBEw6>w~dkR@cG$xq%48~LSZa-+p*7R%f5)FNwcUJJDu8b!ANCofC+Tqc-Hl4cAE7x zp6d@WkV5wy3zUE#)cPV2&+3EVja9V`EIb+Q0V9=Gu!XEctn)=?X9pv(W;4)gp3Fn= zRKD8U3SZ^y;y^T1+kieRHAcYgN<&3BaxiyG*cgFP86OGNW&2`2?hw)BNY9|f&loe6 z4LY!XS(k-Iv(W|YneMMO6@RpHY@j+=kB(Uqh(Qc6B<9h$P+gsFcRr3|qUN4H?7`L! zP6A%9NwpdbM_DGKd_bj*to$uFvQX%{wf`9#5ob<**sXeOTe>Na6kF+k%Jmmjpou^mp&x6s_U@X;F zpBjinLXp(-Yyvb1eo|pX(nodLQ560KTg&Qa*M}PGQ}y9r4(90At(%lnTwGWz71m0A zKcL2C6%-VfrjE@?9ha4#pOY;G3>>8S>gz+X)UkooJZM`OAm_ojtE@iS5DteTv4B5S zcjMI3<}ef%o?RaprRsSr0;xeRZ=qg9+J@WrOA#3S4M5R+zZ4=vE@P<0pVyGh$L^^q zb!sYCeW}yTqii;o(i=dbuRoMdXg;15G8RVXV`+g9PFWNQRn!LRQqk~2gBQs8r8Ddx z7l%#gH`)tjv z2{5I{1-ahwWd-9(^9l<}n52XNfG9bhT$WXA(>W!tV9-G8r0kFfOdU6t9_Qy-f~#P%*?9%IoFu0_r@&j7 zt$|8&ioN5rN=l9W+`>XrJ~qda7vy9WbBAN|^7Bw+X3HuoDap$!kg!<2Q*!chCzJx= z;z?QgL^QTAKbr|k@}Xo1gh}#Bp|r;FlESh1d6Ua>Km=GQr{dhPg9aK$a4;~#Od4kH z4d4I+hIj`L87xi617(wPN{jQxS(QhGh2zKD1O@E4q;wjT8_B~&TAgsmCHZJ3FPW5+ zomV!Amy9pV&zG?HyyLQpykpBsORb~g!m@&F>#zjfH-{ZhEX*tLPRfJQ=8ieMc03m9 zHeV_%$|=q&1^*eBk9A}omK2s1gA1F-h2=S1YF+`CQdVjmz&}OSQ8u~(IkM@|M7%PF zDYNIIYNr-*Dzd;iE!J73Ww4hc6=ju9@J@o0c}ok~fo8aIFs`haOB$D7Sd!z#UCC&8 z-ooPSoMN*YZDMc~yJ&1~v0YRyfR!U|WO($*iqTmOv6@gMnmMw6#psd!!=u|sk~9_m zwx2RkTbOz@KlhOUw%_pr*(m~9qTg(Xwf`UZN!=u=k(0^#KMOgTOP4Jc$ga2R1KA3J zY@I;1Ng&%IknIu3-WA9W2xNyinO4>y`-zh|beU6$mz~1N41H$^WW5Elp#s@BfviX% zn<R0qfSH1&GwQ8GkoO`1u2LYIBapQU^j$5GEf>gc6L4NHkUb`l9m`MD ze;>@|VxSbie=-WHT^qMs=LM*>dY2xR{e$l9dD z%Q_2W-8q?2wu1z?W3ff_6WMnxzyD@_&8GiC{!BqRiTv%)`c|SJQtB(|ZQS-7kU)Mc zKcqPX{Xr- z{O{@n@?-rim&9G!iUjgw^`B%v^xKt^xc>ed=Ry9rOXBu%G(XIDm%d#Of5)LvFO)|U z$p0#_dV31~I&gB)50iFDM{ke)hxzwPe>^|(d|wh%{4jz1qXcr%4|#noiOc`f1oAH> zu|IqxiSa)qkpCk6@wj08P%qvP;)Xuv&zV5(Ngx;f(7*9RAfo!~D2wenQ5Lt0(`0cR zOHF`3njh->U-L`$Lq9u5W?OqZJDMNXL(c^D(dQWIDbWw}A8Y(PmLKX*OTcr$e~Eua z0zE_j3;NOiO!<$uL(D%`=kZ7C|IeNu{W#|s%V$CY`S}UtiQ>!A{tEtN{>gtbf9aph zKjly4|3A?_{@3mMe;J>U-vu&@-+#3IB${6w%@6b6F8#Uuf9CvHe)jyv0uP^zU(Wh- zKU7sK<68p%*bnp1)#KBpvc5({=l9?6JGA@1)ldJCam0V~{E2>7$*erCv6bJ^{1Ce8 zPqZ`4f6E^z7vqQd*XjBHX!}ewPdb_(=3oCO{dcqc$LFD#|EXiFZ~lk*pViyX(ag8( zKZO37_=rCvzPtqa+M?hX@+0)^KT-bZw;#)Nd~U?IFJy6iOEjKO^!x5l@IxxUB{-kc zA@~F{`k1v_$3>^|F`u2ugm9ussI1>_>6I>D1n}m1oCo+I1W!w zAonMbAI-_lm_DA{${2A@b9)F8!1HNb=wE_N&S4UR|VqScv-iwcq_3R}{NB#cp z{^pAh(ki86&S$>=hVhVRHreHW2)OSP~ADzu@R{~!PWeFwqv!086mZvCz0*{ zKYlo$#q~0>B+plmcRH_tws|s_J{bP8+Nqa2#Thyg}-H7+W5uJ zyd}yamywR+MZC7HrDsF>BG+Q)5-a~qh%<$J{zcBoiy?p*>G*8W#aw#MA}1!B>FG-H z^i4-d$LB$k=7;oqxbz9O^qH>Y=^fn3)3+TVJ?u$dz8zF?`KIdWMJenasF8olB3IR7 z=lCW3ImSRcnJ-%y?F4WlLkE6~Vk^&Kk*i>_GoR>ag<$^>uftZ)_$7^GcIPBjhhSfvuA;Fu7bC z*$-(q+tSRk=`2ZYxv~M)m>$a1Umn%LrcmbbZ zZ-1$J@=Qpd!Ewu4qKt#OUxZ^B^BkupuiKfYCFigfc8W-TC2x__(tkKXx*4BNhxr|s z&d09S)7hFKQQBcan#uW$-6vu((#LTN%J2eJ=~YAFXP%; zDc{#^>&xaxMj2}cf}v)NNlOxA`ipg^>gjv>Q{7NLCH5G8cz`5bFD2%`bYSxI^g-fu zGyV=@>(4}OaV9k2K!UVAkQSAw-DXT4oH*aM!HLUj=8)v&wF%O1;nIs1xoYkGX3@~( z^|=<(`wQyR^y%Tr^QUIg_yj@E%cn2ROrC##CM_HL*s5qma(~@(g!H13N60@?%+IKw z)KN5M@cr>7Nc$(32IcQH`eUB=PfH%&~g9~0Ll(ZA{ZBk<2Z0{=;p)WD_N+vm1P$^BzY0UcM{ z<0VdvF6Ywu__ee!dE44w$kx*EdCl?CWJ$Wz$eT^u-L}b;bDq}j#*=n8rdX05<}mhh z#YND`{O<4(()X7p?`K-eB&mmBzGBvEdGh>4QY~2$EwBYsYd?l#PePQv#Casp0#1@bIoAtXsJ9s#pI3C8rz@DZ;2 z%#oys!%DZ$M>fHLvqdmpF=A+XL;SeY$h)>7dAk@hSCSs*(&OT1WAgNEkp4`P^wy^2 z@p(*h@^M4zyyW`#&pSeVzBqY$>ip#Mgl+Q^UuP-0gpR3lxxVZ0CGj!U?!%idJwnWC zIYQsil6*|Kv^9Czh8HA{>EVUR%RYTk^7O-tjxdM2>xkpLvrcg_8Kjo)yV` zH+(aD4l7~XTbVrn9!Q^#@;WA2iqE}U+&&Ott`M|_%TYHhR|OiPC(uv2|(5S`^vvcg5uwu-7qvc zj=fY{8kQJE-?n{KA|!d6`Z>cBqj+}D9s#GnA3QTLin6<51c$WVv`fl&)krbMcoFxQ zQR4J!?rrdIC&2J8Oz&|Xhha+@2#;?B>D;@_SC0`TYwtJjl@*_4zVrNJL8AUD{P5WL zB=%USpq@t+46bG`s0cys#?BAoqo?lAlssL3xqDV2hvMH>P3qu>gecqFeVc0wH7nkwQZocuGld<_4@wi3zGu$xBAN$2~qZ!{ogEx>E8fIot`LFE4|J$ zxMcEDby9+|mv1EIi`HoXn#p1Km#-7lG#`iJUdT>Be@g^1zi4oIMPh{RqkStALzw%u z_e=PV1lsiB|1iYc34TFXpr5BWIlvb!Te3#XxKaeDHa~lkRwYP|n#nIFNY=m2;jb1e z*ONmvT(Yr*j<7o*MA$$1ac}S_P(JC2SsaXh7l1m+?8LZg+s8y=wH%gySAgi8T9+7C zZT}$2oO-@qxepT%m3>2rP}TYeO?rgm{X?W_XA)es`Tdg_bCRNTiPR~Q7-oG;Wnh$Z zYa>~A>)BCGgT54!@I5Ie0C3;J+A2(sR7y)5#0lnCvnu8a0NSUt4kt=6Mv)ISCIFZp z={c`Sh%mmywM&>R{5;pP<^)jf%R#;7B}|3WY)h7^ecfxy#Uh0MNvCo11&QQ4U_TrQ zVGdL8xkP}}z8H4ir3q4u(*86Nz%1=cT11GD^}(_3tpWgzxFSKa^=+=>|00H%AM9F}0Kk3lCG*Mz5cZ+3uM;He#dPac36jkZ zeht1_gy264H};xD2(1<8UMonpe?D%v2xR-FT=jJ#4ExYr&!xh&681r|FGZ>PC+Su% z6QpV1sVlfXL5k6ToOy!?z`h;#x+u-~%w6zCaia0%w+bUtQ`Qg5{tHtU1*ZiJI zkgR{=Z_XNFa#a8BU&<}wWbI>sw+j>5WswQD3evRC2JRQ8Xje?GzfF`xKQLIeR*2!c zg0{Dd5n7Z#?GACG8N;7T1TY9JSeF=}H`F0_CWaU>{O?IH+EnWLyTkw^fDgYrak>`3 z_a_0c0N#9$7-38(?oE(v1@L_dAZ7r+c)b{)H=?u+$&zux@ZFIRK56I1WDp}*-E^NA zWkvc?_lpqL_Z|m7kRV+f%I!*&S_(VTq6bB(EIOaIDPdZU9JQlDGnhPBUlr0Ni%}A+Vn@bz zp}!Ca^-C%To|V{VqrG#P9A+rhnnKC>oINS3<*^Xw0D=?-KXF1>RGJV6VN)lqGh>ih z@sLO*OS)Q^RIg8<80LXE498X^PCO9U{^xF!jp3S63@w#K9Mk4>`l{c-7R_JjcRZH7`_I0DMA zyFP=T69?BmZmp%|iPK1()QT~*POggwg{&Jk4D)at2Aie%HEjmkCj?cp!7U7%g7tb? z{wxIIC%ResY1tBMu^b{cYao68ti}=rghg0;o2!e@Wt3uj4(QL20A|;gk3rH^7;fID^@IvL%{S+ zLS0gWjfDe<@CVf9=a|CcD4b@mK!`ipje{y|)pJSHv~Cv7aPQk)jmuSjc{#qpRB z7xUJ~CBw{(E3H?B>CuJ?4s$3DqfOyhVyBnHiH$+bjx#)l8!W)ZY?V7T9uo@dtx^MA zoCE+C^GokDp<#<4?tqbZc#1My=B!rMk4GSRA zK#Us=+#o{WJdhW8g+JpI60WPkq3J5_~ z4|Ihv-PX5k6oV+8*Aj#HK=4gs80lL&znTyig}EXF4HbfD$8tepjMcGRk{HBwENg`* z-n!?-2z$r!nGi-hmXuv04Bt5WCPPH3D;TQq2q-B7-Mw-d*T7cWRn5D z69a0^pweZx9iR=SA*AWUYYjF0NGLk^zQ}+Z7kmWMvKAg=EjP2n?hwKRL+I@Zfi>9g z)v<+L4EsfLY!nxFG30T35+S4d`Yvw>7kDvrnh-4rqLUK>z-b5+X%pw-{)1 z37Ea?KeQuo6&UG~q}SsRxDbpbcDE-QOTk$3czZIhIA~Agy0fe8X_n7ZH+(QLkQ;Bl zAw*d%h4b&kEFiq^utpCNkeO`uDk zoX3ooJ0Tg6^sKYvP8zkH^x8zaqPCMhWCHost9C2*icq9a`$>clTv<4Ep8yx%MUL7> z`3pGBjDxT>Lon>q77a1fqBs;=sL4|Aj!(su?>%>{K$~8GG zO$@5i)^{@4=ESfXZTTF7y_Fai)mC{j*e{7;+ytcSJ4S%uS9;n@{5%m#8&{YUrwS8N zl335>0+2si>8-$(oNSyP#r2#FeQ#1U2Ye*~u#&C)WT1ZvKw96UE&pVgj_)SHaQ7af zQicF&ECNN}W;rzI6aiF=!eRZa^AZ58!o9^n*jIzv3wWCWBM!DndL zGcr!e__<#-ccq-(k~9JSCc@v;-j;lHnj}30f3LvbhiR6)V1Oh&3xDs!-#-Re^7P@7 zv=08BhQHmzExG!XBprsoAK+8~9IBXwmuK(-sXquVtlj#eX;>!V z2u|=J-iKkpiGML^f-hQA6p9A5W%iI>4NeJD@qo`?(NI+zsE@yUSZyxjF_ZY|Lp8rD zfMkrnjpl8rhiRdIpwv*Wbub2X-MbN|v#$>{TBl36E;-3PZycHg>O)d}hz$p#nim8j z5g4OJ0^v|3hPM`3Q#eAWXOt3jpiRQ!(NC#~lg=b+eD(g?fUT75cj>fBtgQ9H3GpJ1 zc6kQOfOvKr4DL(-w)RWUjGc4%CRnXAb*VXJt4SKW>oX>XxevMyTFb2W|*n zVya^hX2sxbZgSKScT+r`<^A!j)?3$1t zTo#*#R{oM#s~NLRX}6cL2Lb=}<`sIO{djQ^H!F&)g3`RK{Jg9ZZ$V)}juZ;x6h>m# z+_bi5)>?^G4*b#;GhOib1k7P$!AdBPNYGb-3#9QfRU`%sIJM$u$n5=yy@v~HkDPe9 zNFr5*!Vq{XW@!~4s|(|KB_p!pih-D3OQP@)<--FT@`8sNUSl?UGAs56s(cN#X7~yQ zqI_hFdf5eWKQ;_thdwDm4F;>U!mzcjxXbidpNYmj)`%>wO_7Dm@hy%njl+xGFq^Ew zwNQA!1R`FrzOuH#k2mOoSYdkm#>*vUk&Q>MX5KTtu%OgCB_}U;LMix9@uaMLVa4LP zbM$p5iC4wYAQwLZ7e;(@y^bi=Vr#E%Jtjd_SJnDJcd#BBZP2eR2Vsqk6376rI!Q_?Zmc=09=HlenajR z>dhfc+J$9nlnuqC_(VzbD?RGjmRQ7W%VIPm5-fpnRQ zgGp_(6p93^H7UOe$Xgq#oNcx3m{!vEQH8GFcAciu76gpY8#SM9snZAy(6%N!iO&W0d{I|Onkj|z#m@;WR<_YZR%=l z@z&^8OkL)+Ra=Or1NpdYTw^qsB8D-fRN&;kDgZ4F2SM>+Ghur!Gfn+*tp{=2-UlVV1epf8)@J^+^~bOcqCcZdOCt zqPZE7S@DJaRpuzum@m`bkn>jX#CjMg%;p^-pkGL|2UKgNM;OC&RJ)9)&CZN^BX?7< zZ_=_f!h8*H$@?X9AdU4O!e`R+YqUx`FYcu z>$FG@URPNYV0VrAfk;U{jAp%sWApPSm*vC_T}Y%7EDQyv!D{V(t>m?=_2Qt?AF{5& zU}03&K#+hjgFny|H&7*4L>ePFw~XND4y14>8snFpYGZXl6tnK~MzpGG(kFS6FLHjM zIo|(`1^5tvaD*9`j{o4;)i%D;J>0soOD5?yV)4rg?Hz-@(qHet%$2xoLIPRA`hZ{H z8Md3_6u{p|V|_%RDNxyf4YIm6RNk& z6|+d~>T@lu=j*&E-k;;z=w>WN>>%+8f)y|vMEu@}owUD{leu7Y6& z$WQtC0feY?D=IAV<`x&06-nG6PU}%|LeKyWmOataz@oV}pDi*5Vx)=CMLVLZG|ShT zi83pjjo6{(63r&O-iDyx=s1q{&LiLO6W+9DrBaktI>DQtSCHc^Efo5=HG`v;Cta5j z-;5IYNAf!m@v+i;!U1Q2!l9nlCI!=cs8yW3OJ?g3P+~quRz}3)BB}YF8M6Zl)F-=o zWiCHx@zEZyen6K2%~b1Z>B$nTw@pyt{GBO`!$-N)wU-s$)m0buJ7=DA-#d5ieS_ck`|=ad`^?OFX71E8bLYg&r5b8=`Fb>{9e;i(iaDvzMFD&0JJ_CN)T8>S+?g*~JoB5R-&6EtAt^N!#8 zq@BP)X?VY^(L*PoSn>;UtBdSr>~2nq*fw6P(i(Y+-18&6m9Z%J9Yw$l(LQnpPvQH7 zs!&@aFtNy@a*ZtS6IeS2{4E?KKG!p$jv?mnM)KU%eQuQe@j|6Gg=(IRMzSy* z*uI3->_ujfeXr*SWI@j@%`GpHl`V>tQp}SGyBze0WFB4>2@rg44bQubzMa>b^q>_~ zS%!`nm@z@|!liV;XV~acU1nUJru!+1fK1iMsCecrTYq9&?a%Yzqc-%bn$n;_A$Wg< zH-%C-o^@2~Etjt-!huJG=^()y2TgKo>Oxso${mhg{lv0xo;zW0ZEkwp1ED)rP6YuBbTAdRNJJG$!ya#BR zsc{zgk;SU4Uj?;69OGgYz4Zx?vzqFg{YKt(1`K=tJ#PMn9x;fkRAFU-tW{6vSAGTZ zwnW=6=JKRrxB7C`I4vXEoCS{?ik?nRXlLK%U(jMv8S;LL>g{oXUJ9#iuP_tgZ)? zh8%j5jXf;7+<4ihs5n2eJ|+uI?i!%|Vgg+oZ=8xUru*K+)VNbhzrP@BJFKWG@f$*P z37)FzEaxj3Af17R&6YA=1TEw3A5PH{mk^j8bEW3 zj1gI?#8bhYl*`FIJTB>v;c|1r0ka+VAQ(>++-~)&l0hTKju>bfy<#-j&5q4+?}r>T zirQO7+!{i|QCU^c?A7g4gDtlr=QPAQ*%cMVzO@G9FkZ(5#sY7FHp~Lb*83qCl4#75 z9Meu4mU_U@Mtg2~d5N#IjK-vVt;=Ztdce^QR%siYY(wo2M(#8qA>OnIc+b@ZKPZUS+HTfFQ7n0=8EoS3*SKEJA5}gTW|7< zX0c(pPBje^x|#@|qUR-Cf3JgO@i> zc%$KKu6k`x8n$aU+33x>Cukew0`*8Zr{Y~SX3LJfK5`AUqY4xSx2HEy%@cMxXN z2;PSnR=L{#8&z3eRgh<{ka~9o4$K(TZ)|4P|A%X{^;W#dhCf(GJnW)rId4gL;_Ljb zEGX1Vh053g6m=7|_N{r(yi|tL8TrLDi7kta0Do$`x_>GeImc|eeqHP}Xd~H*x*P3t z8S|}MZgt)aO0ly-7Nr8}bejDiDDg3EEoT9?bJNMhQfc6mW_S=G}=_ zKwsaDuX_DiYFcjr?<0*>??2Ja>YiCrm+xtSX2lV|P{iu!3- zlwBU9hmIJmFoJp)#NA~0)}GyzxLtVgO#!^Z6s{=9Q~q}pdR0C+zcOT+Re(KTJaq8O zxv;GC`)9YlLh>&3=Y%~5Qk0|3y>-Bz>3cHQ?#!Iw*zHIMnZu(t^c-J_*x~Zb;5^o~ z$0st64q6o9^Ud-k$BX^_n@ zcCQui)u*gy>9jagKhOTM081Xrb9zT^z#bycIV?1~V?q^KWsJ1Lpif852I(WOT>x9-emX=QSl^TbVk2{*%_lpkEB6^ zKS4=|y#J2u*o`pNcuJG`*4$@{j`3t_q$))Jpt-7`w1OT=wiZ*HLZ7dJ9EWRmHi* zCHgQko_k~ZqRk-lJ$ob%jIYeO`ios$M03hAnWyPb-kfj6w6bLs`gY10&zAu+&Z-jr zHz8!U0LpaIFGqL4Bw9F~PGye@R#Rq9F-NhCE! z=Yv39g0jGz-7j<0kbb@b@O?*)1lDv0Mr0nP&5WS(W<{)Vx|{t5WR4t@p?`X7*7(sw zvofR)_FGJmL&mFlrOY!Yc4iZLUl!Y2R?lLbZV~Vz%4jh`N5xtFsZ(2|vqu6dOZ76! zyfV+n6oFRwC3jt=Ky&=B`c6wt+Kb$e?9zImFUrzU(*NOzsY(Dyh zQoi+6V}pV38#mcC&YKO5ZT@&?WPgU8tv|8y&jOwGxu|Bl_e&d{8?HSq8@9Nav!y@* zWFtA|JG|par?JZO8Aha8_^XnAIGOd3MbAckKLR(-ZIk{vL`_>$tT{I|k_uad*%U)FsbZ5Lg zW%YHF-ghO%&J1-nR;8=FyJ0+w4pMC-6UnZsE|IqbVakMpoU-Z)yD%fiV*2-1=_1Hw zBXPR1wq%WI_KSD3&vM4`oXY+>ec=E*%+~_)i^CNqIdiGn6^D5bo^tvvG5Sn{RhIRg zZzAPwQq*xo+P;&gdebhI6CTdrSwwDBvFdH`$to4jQ4-N&cRnkOzDljf6un5OACLD< z74m*(YL$_lvF2<2e8(Wk_O5hkbI)Ap(p{TpJ`&V5n%DV+smG=Sh4Z+la=t>hwx4=y zl3u>caSu!miXn1MgR@es>$s;c;yOoK-*I;3$62CZ^GY`zNLN+Opid zisHwa%h7i;8a8H-MI121`j5&r%cRIPwfWl#-;B_AlCYlt`7)9J=h&J4QC6;K2{K%< zQCUBoG$g+XiQ86@KjB$LHN5jKE3YapEOv&58V^JYoDe#*Snqa0HM>08hnxe)3?S=s z`0xzpQzNsu0!NE*fqB$!)P5bWjh#~~wE2q!3>nHBw6i8=W@L}a64MzIu}=pC?feWx=q>`|3Za?~62g?;K*l$jp(WWhN2SR~S1V zeFZW+W8l!S!xdVMJeUlD{A`%$M5#%71~IT-R&cDw2_2MCdbe66SoG^7eN4uUgLC!1 z6z%JIF=D;c^x8lEW~8kN=fNW1!&x6S1iszEXG7)AHx!XNrT=eLDH>dOV@9-zxBj@^ zn1~G@IWG9CtH6t=Y@^v(G13#=z%TqF@1XKLFGuv|&&V{Q%JY4iwzt?QqPFGlDg610 z)`5L+{BmJlVYWV}!`cv<}U;zKI$zAY;s!fQ)sn^QpwSQ~0WUP)5c; zs^n(HAD)pldguW6TXWC2>-#RsAH@5KA1sT&s%IN?9u{--)7yL!AyR@YZcp8+nw4D^ zF0fxE1RbCp$s^0sEVAxb_4Nw+c%f*MNdH?w+Y~PHPk?iBNh3$kU&>}gdmYJVJIS<) z_aKyeHzMSL9&x#EyCa7x>HS_<5A>xbVED2YEQ{>>Vb9oEc@h^H#v^J$+2y>ffYB*m zk3^P0{Cf*{QOT}?)@?Yxb`W?8Xr5!yXIEG7!8!THC&|I9*`gXku6mTK!znkigFbkOzP}=JL90Aqq#p7MXqwT_!Zr`j z8%vqDP=4kq{oVg8E6?3id(d8edB>j$d+kzd+fCS99gen##9a?Y=an&fboL+`Uu70< ztO!J&pCfe^m)!Sw&dcZMCZv&<1?(o^8t*Vl#az=^LoOL!81T-mYo0c(qb-E0Be%p#MKBA{tfM;GCISjyg z6yv}a>2->#b1G@XC}c}c*7vHc-AF-asYOoFLlbcZAU(cdUT>Q!_(L(CoO4!G z=sw2TpN+3x_2Grty339ng=Kw%hBoId$8gX!6IAz{PvOa0VPnPDqe%HWA9y-nt~=|j zdY#3;*uqo5GW|IyXOCS-lBj@5L}i}hZj!2ONp-1nG-%Xgg{}5t-6<8^-2`2BP*?yX z2G1(?u`xtoEzk3vNkKq&X0Bq+=2KEUtCqZ2q^gSZW`t$j_O4k4&Oin^cc%J0t&59` z%eVuVS*dF#bHJqJb&Wta1{9GAO;(6hs6)Ez+6!+ee!ajD=TNCkvT!u({LjtoMTnm z@G)l_mfht}If5-N-N|ydTV9eMId&#!jc44@F=NU8bU*Gy!hPGv?8*C1336`RHRXi@9h+a#Rz3hSN|+hiR- zbi_d3_suT>c_Il|p?wf>}xQgx9-GMwRhF8-u8NXP7HhfBqT- zqz;`GR+?tZCl6*-$u@5Xa%bnhZMI|d7F*|aihifay1aRko=3jm=Qqv8Y$$p*Yr3B} zc@BbbAK$Td+@T}eJDN%7;(VhrV0uB`j4{S>SKjyMc~K6kZDEF1f3 zBXu;gh-|g@(HUd1Mvl(#dXDOsm6b7igl)*$W2dj%u?$E5E6cF&ou&N-3lD1aVUaah z^No||wTYVuU%PgC7by-;19!}@vTA-O=UK;@9{i1iX;4M_n}Am6jNa}#wcAVL+!{HK zIiRTBvyZc@vu9T4a%z7{Lf-q*v$F#~%cTj_aQT|s|GEY5InTzrJ;O8S z;2|>jjQ<+0X!2*9?=D@ODLp3IF}22Pb{Po0oPqb#`g4w~tikeKli7;oZJN1-C@VaHh=z+$L3k?xU(*#V}y`*o;n6XwFQ zMw|+LmXjtm&*L}x3uBrPIZI4s&%*Zcz;+VZwPT$)7zq&d8rmp}mCnM7#{%)$6TS&W zUXJct^>d;_)0|F=^A0f1)+{~MAEH;yj9q|ZN8|02{_Z34a@L<-^OQ5?Y_|93j;`Zp z-XrJ#o>V$!6P=m>?%GBu3O%mKNT#Of>Apt z=tc!~3Dy<5Ir{5yP;SxlaDsQ}>P`uL{!N0z8<6We@eCglDsET&3UV_MLm6tCwsg_Ew z4gZG9R)N#*7H;_BE)87RZ=J>}*55AkvH;IJ)~%lDn~^3~0bRdWpN`28lo zdk9`k;m$4ahU0&AW4!&r_T#a}4PGu^cPrejQNoRj@uu&#<3?pM!W9OD%L)j`W$n~u z{`-l-l^cpNhBRY(^u<_ps;^S*>32a4@{jYA^VsCOyKYEz8tq~;P3E8JUQ2!dhv^rx zv_hU37@Il8_$&+8R_0$wm$ZrNS-8H18|vp;Ro7{cwNzV@yXoKEbr{#z?RTx=KbYh+ z!WS#}PbIm*@ULe5x~S*ue*?+QhW{Rti{o7Xhe+OR_&>}1lD ze@qPGbNpKnPN2seCH`Fr-(jYo@Z$O|e_jlirR%?t@G--GJK+O{{{viP4P5`12_G{2 zzaX4W{`ulxiz?THhJS0q#|-~u!jGEiBb-kCORX6APa*ucnZJamHFEQBJ@Xmf1dDrgwGai{)JRyb&~uS)9;On+ii^cmH8;Idd2`ZV->1jQ$)Wr z;fgwL_`!tZ>$>6d2v0M@FCd)W$PK@Z@X1DQ_y-9eGs1h*7q4Ds{gy~0hyRqrw{-PS z6Hch->NlY#ee7H}zKaM?Ywd>bOL(ynek9@DZBW12e=^}y1}-E#sw1@-!Hd|xqsw;_ z;gj{ErN4=~m;5WblI>CRQ8Jv|BDE3=;!8lI^iDu z-TawA_@oiOjPS7xmv3bq)DOr1R>G$SyZ%oQ-fj55L-^2@uKzEDsTxQ8TTop*m1*P` z;c15d2*Mjiy8fkvj~V`}37;hYEJ^=9!tuAc&-V=BL$|rl_YUENcvt@v$A3H7-{Non zg|vlZ;^r1^X<@_g)%aWs8wQrfZ7keY)isS7%BaSKI~uqJ;Q^5_^;BE>onhdP^n0j* zyU_0u22P^iV-4J!e&;F|UqN`P;XjCe&oJrtGfu_Z}{IA zr<-fU{~^L#BDkJm;?Q?H_*KH2Be=18lklSkexLBeM*N@9@8bsk znts1-;2-Gsw+8-&e*bJ>{x7bci|f$uQx2r~8WBD_#>LGEpJRk?!#EN?UY%c08MQQC zbtc@-2%kv5I~ceZ{qAJoE9mzn1|CGeQw=;K}qm!GRQiF5xkTe{nst zeZ;GZdKh~hJe%-1Bm6@8J=ws^>34~N*V6B51K&u$XB&7s{a$C_J@k98f$yf@`we`M zevdNp`(eUs4g3V*t`4O19w+>~q5on%cP_&IuM>XN@PC_rrx^Yx3BPIhe@?%L#klxe z!Z8N^cRkoz4*rF39RvSCxR(Qozc!6^?;89K3IEf;XA}O+z^%oWbo4tA{?hR8M7W6& zUw6XI4V+52wSg}soM7O7gugTRh7kVVz#|E-Gs2H0d{%uIPodwf44g;5(;Z0Zy@v2W z1J5LUz$m{tgohaZiwI{Lctw5KCJtUlxQ!9tX8PUPz&q%7F9Y93zppUxKKeb#z=!C! zJO7JUj}V?<;3w;w{b9WNKf==t{1V||2H)T6!!~vN-ywXJ;r|i+o^JSmLAb=g-x01b z@K1!R4E$StWz4(dRW0gl#~S?g2~Rd~Q^L6hZbf*$p`Spw%<#Xc0c=mlzZ>DO;h#!) znc?4;@G1ijAlx!CA+D!}5dx0>)418-z~1K&*e2?OsU{HlTX5?*Me=K$dk4gUuSe{bNU zgku`G_-XnbZ{X+X_xT2Xm3}81_)YqqVc_@a_c#N8Lca?P{5Ab9H}DUfUIYI^zgHWW z7vXL(a2>)24BUwDlLl^1_+74-W~1J9=4hYh@tem`a4<@Ea%1Fxmu zZyWeV`u(+mx6|+64ZMeb*K6eBy9u{2@Ik^I4E!+RL<2uTxSxTK6TZs8FA~l-@avo( z2IjP`G%(Lywi)Jc{sE1CJ-X*T7d3e%QbTgr7BV z3E?*l947p!f#(ta(ZEXxhvHqlig05CuP5Bbz*`A-HtUM)*eq_a*$1 zf%_AF)4)RrS6}Ah5rh{QIE(Od15YBn&cHl(A8+77!dnbnLU^ZvD+%9eVDm4e&Qo)w zuCYziMAcVo8pD3+D|iRvJE;y`!0%9E)B(b~UmzP+0Y6FjkbzGSK4#!g2%jLFE%*n* zJzj)O$C&GOMP1B^n$XPjT*8aVe}(ub5}siAkCeLL;EH(scJQWn*z*p4ARci!_|14c zpM!rDz9AYnRBf8T-@*L|A2V=v6WCXd{`@AemwSl+?M+~>IR4KQzT3cG3ZH}PHC1{I z+QHqMVm|5MiG-)cxbe>;e9XYx2q(n4__3yVcjD;3-xTR{FfY0EGVuA$Fn@CJAi~oP zTts+rtowXh2_G}?le~lz!ZS1eobc|Do1XeSS+C`WPa>Rd;L(H^*K)%zAbirmw{iHh zkmrnF;P6KJ{zdp^12=0<_0hmdgr76;Fv2GdTtN8PStxVnUrG39!+$T~gxYR;pC=q2 z>-vA&9QLDw>$f1T+AiNEgpV2eqX~24aBxKn^f!+FR>Bhu{21X11HVmpm4W{tyxYJD zEtOt#bmAXK_))`uCgI(6P$zYH5l?U3Yw9lyoI&`MfeUyEw2}M#{LXorf$t}L%)qY_PH60= z@0-?GA9iqD8_GWecOqQ3mK$Ft;RFMh5$IH8GK|ArCX-Nf}Ts{iT6;naPu!r zc)F3lYgoU9k^h7j8~(=#-)!IynBU<0jrm&|<6{ExwRHQBzJwFbam!;O;oaxB@hu~K z$l$+?@N))!J^}r`gFj_yL6D&vJ1d;foEti14&lZu++qKGw?3 zzoX25uFL;Ahd(+5GZ{$iaaC^eN4BU_KCh776MoLX*@RCTcn#s7 z4ZM#qzaMt+3xqE=@K=P>4IE2zhhuHs@uvgfY3I4PH_t8Fx%GDf;dBGfX8o(MuZr#I z&Fnu~srv;VV*N4Lzr*LGzxvu{v!YA_F{5r(``AU5z_%*`m1ynyI{8xle6}sW;cBb}R z|f&IpV_~} zbevyk0bNEHr^ThZcgf}d9)B6MAiY0FSZq$wNQaAmb2=}m&Q0Gvgh$=r@;ytKH+MStpM(#scgrJ&I=1u;E?*n& z=r+21ml8g-(bb;jY_>Lcq8FcH@fLRMEJyJ7r)MYTU`EA%(qqPy?%@v zBvSaB-2Al3hPPoT5*M9~`^xB)or1m+*yzr%~G-DR?E}L$PlA-ba|{XAXXu z{SEvb``2=D^JLh2PX6~KJnbwOPbM5++r4PmsO8 zRPguA-&Co83a*zz`PIy=FYO7RBz&`z9>Q#YH1t0nv~4u84p|2~Jm!cG6rgil<7cUFv>rPA~FbMvbk;fi#(e;CSm0QO5WE+Twt zfLkB0CwyX{J3b#^zCmt!PY^yd2x~k#e!}TPu#cB5Pbp>F-kAk3S8Zg=7%d}x@f zznpOTaHaQMGTuk{*l;)fFS7p#cl`Jl^HF75E;zm?l}DUXUkdI)IK7@b-ewZ!{g94+ z3E{;w-##q5Sy8bf=A4_%9vx4v;s#80i@+Z8T%Cx(r?|H%recbZ?n()a!E?!g=!kxMr|@MbxZ1Q3qNJyH!S?Mg@3Ye-N;%!aAON! zWZ@nb9&F+97S6YD*utwVe7l98u<$z;{?5YjmwR!Fg~wTVzJ+&M_z?@gYvJE4eEt<) ze7S|QEL>{gl@{J@;R6;vX5kYSK4sy0>0aE)!UHTk*1}~LUTWc+EquVjPg(dw3!k=d zvwmLO&cdk{9%A817S6G7rG@8Pc%y~ywD40F{?Nj|Tey9HFYagIA`36I@Ky`&v+xrZ z{?NidS~z}y7pGWwf`zZM@NNs=W#MNn{HcX&4fNs;7Vcr;5f&a};n^16VB!51e#OF{ zS-3%l7q_=?e+y?@c&>$aTKHiLzh>coS-8OuyD17Z?N!P7CvU- zzgzfU7Opkei!ZS7U<>D2_&N*kvhXnrzhmL=E!=d77k9C6hJ~kEc$S41Sa_L*@38RG zgwwB5il*$keBQSFPg%I(P%l2$!d)%g+rk4ZJkG*77Ot}JY75_L;e!@_#ljz1_(uyj zz0!+2SUAbTgDpJH!ZR#R#VswIY~g_xo?_ur3oo(oE(;&A@XHqdz{3BraO`j|ZeZay z7Vd1}R0|KW@Hh(>Sa^KCr>cnSw7mq4q_g*7kr)%J4TMMGDG^#wbHKEnOCMll;g0ppLGhm zsTSo%N$ux3ddXA@JT?TN5yqM%m-CPvF1<<^p`Y59_;k*>?5>4?5A>@8MC2b~jDX-B{Ygy%)d??!PTSJ4YI( z?|@X>Cvt~_{{-rYbI@_U(L6nTj-PdpN$@phQT!r=L5JjP5AU(KE?2;DxrVcsW0ZaM zu+KH3Kgx3}q1=h7&#J-^xbAJ(QBSE2IHJqr?oFGg-PkG~PwSZi&jPc(ES;c3i!C3o zhPM^jT2apY!_&I0$(IoU7XoMxPlK|xYPdVcY*x0K>F28z=6xrgiV=7bitn&w?HctW zyoiT4{28v#v%I~!*4Sd}THaQHm_v-ONCFRoHmhw^O|N%E*LOjtCmeJgTf|oamWS^u zny9fz0M#vXKvHTCh(w4ah-8Qqh*XF)7K!536QUPHZ!OZmm8Q88L6s%~YH6TK196&W zOzMfadm>~{IQ9ZpFZlI>0^H!#8=yCW_tq&$?$HAx5h4j986pKD6(S9y7X;K3p`Hl! zL?|Togh0qdghW!3k(T5ngiJz2$#6^&fkdPr+7v{a0#0OiGV(1M`Iej}jvzx;B_rdK zkz>heP)|dWkblX@zvP|>iEKo{q-cJmN0QSMkAYlH?uEFJ%gMdK&`U>>qTP^sBwo_q z8?pA*d_BR_8$7+i(;Ga!dm#;o9%Yh(Qb<8gryz?{ki{v;;uK_YN|GcSdP&erLP+Fv zN;3SC;U~|D2ThTbr$7PKJO#Bk1^J$W3{OFZr}TthPbi@NrSw7&;ZXll z@pP%ERjH^zU`mpf!v9B}r6#6AprnuosfnVh`B1>A$ca?sL@IJ36_qU&RWB99sY&2U z0#}l#BW=lGL7t@|&r*}Yk_;B)U}`d0lEIP;mSnJ?E~O%qQ<2H3DPTceNkx{YqPC=> zx}>52Qd7W!UMCgBk&0%Jie4uby-q56omBKXsVK2j^f#%f)~P7JRJ5B^6k{riF%|75 z740S!?IsoNCRMUE4J@d;sc1#1Xho?#!O{~fXj7@urcgstQLd?INvUW_si-fhs4uB# zSE*=Msi-}vy}*L%lZyJ2+6ye`)KXEwQl*}tRi&a;rJ_}(_LlYy7PPTc)WS6Mf@x@R zX{eKF=mpcz3#Os{rJ)y0>(LXU7X(<)8K&tbny8C5Q5R{VF406?%1Js=NxktqP5+;@ z(F3D9PSS}>qLk+G;3H?X%CXUKGAnamg?6yYYFN4k|9h zuW@poG2)fejrn|1oW5y?8-p8*yrFT8k*nmhpaL(c^aa3e!8L`@x6Vfk;5$QB2l3c{ zQNnmGpAHOR-{>6}$T(>^;D!~;x1b^%>>1^dW;>WZs#trwxnD!5D3S4v#Bz>k^Z>pq zi=zk9H(b;ZGD^nPd^b&v*Tm`&XTA~DA0n*pT&ppNuR{8R$ZgOy1<{utL<>;UiT{5h z_@4<^WBgGXgyW5gEY-xov;_wX@UQW12Y*nx4+ZB@2L<9=6Zy)os=4mz$wA>Fmw!1| zQbY-J#t7v$fhuo1iFg;5REMVrdg!Z>gM6ff!o{V3sV$T=u8KSW{`x zXt(S<+_YIkV4?If{@FWDg2D!;(e>wxPxAPVPrhoW!hYVG!UYDiZ&&iyfl~XFbWeUq z_l+`a=({TT)cLAPpL4LvaJeN#U*lcE4KRuy_v^^u8bf%mYVriqHy{MKSC&@=$6H!m zQdL}0GB?1>ywt_=D6Wdm7@P;blj(!5{s|7L&#(_y&GkIkpE&70IGlB7r9V*7pH5uS zpGsWOpG;iQpGjQw%pFui_Z_)8z`DUWpdv*J8W19=I(t2JZ4L6||5tc#`}2DGM~8@i zIOsOSz#wNP3G(4P)AY}1p3yE;)1LY!!{8_j*t(Y6S)v7yt1SE@Qc$R9SD|==oFPOM zU+#>4;OR`JLXK8ai zinlJ!=-zpJZ);S4zd0W9tY9k{cg4&u=J)pOQ5INhji5ok(e9jy7A(kk1lfhXyZ<{C?TTwow-V$ zsjJsdP(!5*xa~V2z?ldF+-tljw#J|VA!_Qz11~#|5+b^1uyLk6_2}dd7A5o~fniI^ z!v)c!VUn8iSqG>gpQDYDIhA?TMdQZSX#PRY6&1Yl5G}dB8G-M{F(X94EwY-OXScyu ze%E;IY?RwGgIqI^U%{S{TL}Yvsi=Ze$0a_1lt(+|&DXL;yC1G7h}*e2E~?KUs-^+H za>KmO1Fa*gd~CQN;ATjgZDQZx7DZND z%~i><{Gw%4aoM22mJzw}-RC3Mh5OvuoDFuBCEWne^56zf26yn|lE;|p++aU#-bZmB zPZNWFJTD0HuZo`YG$+v&JGxI+d9=#FlcH$Kju)p(I|ilPy=pSRt7Jg5-je(>qZE;Q z3vGZGO+yC+4l^=&4e-$OUB5fej{{t}O$9i6FGUaVuc<2yN9!rWHT8wzn)u+oH z_1j3sGI*ZfqV=w$pCLf7;bVmuLOt?uEb7-7W(>a`h#F#yylWV#Z%7Xe72J1NA;36d-8eM9kMuEJ+HV%>Y2Yn*dZ+2!u0mm z#!*o(q}M)GqU70l_vxfc^=I7 zzCMV-8wT@~DzlyVL-@u9D@Zti#M}rGlnmFu!0wj~zrdN2;UCzqyBk5GKfi1v8G~IU zesAnQ32^5PD}HC5MsojN77!Cp6m@Su64%5B1qd`_9Dm-lGm!V}jP_fhPMGkSBH=QU zjYOj(`-uF(^oFFY@=;|)HTjLv8=Bk@*4C(iZ1;Z0rt^MKWqIj9zCZj-fjo(c9;U`b zaUn#Ht0;2!dsP1+dP`e$e~O*vchUVVbJ4RkFR06P{dq+5Sg_`{z#!F#cYZjpKkqJN zBWw)sEvzX}O#ueTjp+ft+%xKZk~Mj9=9q=(hHy4*W|ixJK|y$ss0gI@<&3@CG^qWX zTUG=7t!=LXA-sEM&k#U2{tC0?EnmA{S>C8N71JxU=YZ)2c{9e4VNo4cQEt1>9-KL{ zf4|J^k%I<}$;isi>eoLrBU`o|hqb0`{Lux%tFBekE6Zn7FD&0a!f|$Gd07!n$SZS7 z@xlPk1(lUNJK>+x`AtDS7hm~Ym0eI+Sy15Y!7g{+Q@Gxx)c2I4a zh^Bg`WQNa}%ZL1oXX0axu{fJpQtFy^Rn~H zt8@9g0ctJs#hcy^M%YhOWWIRwRdA}G1(gM5c|nQOv%TmkbTR=xrS1g8@8V1*EDt>) z@wi21BOccvZOlVFPX5h#(fsubzyMD@0inJsJ6u8COI4xH@-ohb;h8eP|qWDpf^(VNeEop4lHJz(e=QY$SCrPVDO{uPPD60THd~^}u;Z<=8+cqi8QWGla zOiBw%^BjY?lA2VQ{Ai@*(ENz7Tj#izY`Ds?klhdZBlXf*%kk7pGqt*28dkR0-s}Yj z(eX4SV`GQ&m}VX0-4~Hxk&Pn`5x)U*e@09x%cy`cX9jdOwnW^VtuT&5lzlXqc2tM8 zg;wbrjYeb~LRhRlINsI}*~jC>-Xv5w+k_lP*;gdcyAdhS(YDm|&I*$Nx*n?=eIy)B)C&RWESJT?JTea3O%`m5_1qJjyVU_zrE;2bbOHF^d=rn!p ztM|rIt)87znQxSgxl7dJX4F+{!>Z$2Ci{4}sB_E9OI-Ib-r)hu4q8EaV}kqB>H=j0 zuOMfuuK}H%!I3<3E2q8d*l~7tGTYeQ0PXlhHctB-Je#h?*EaFZ{oRI>_wkJ_~Hd6 zy8*inhSB47%<;QgHh`yXi<|pNj_G0yE|JfD9Bj6~u;)7>ucI{<1T0u+C!@u=FT@R8 z;#N`b7gvFf_L${a42ojLXfp+;Jp`_M=1DD$EMj6Zui8@U&{Ji7 zx`SR*ppJ}JDRL^S+;xV+pfIjAJS*@R2wCaK=4UI*r!Iy5>eIj2f5fULe6HkMv3zZd zs`YlP;w$jtYAMx)@jJ16-H8r&m4xHFTWY-Y%t<*j2 z|9-4`h2;ma>L-!)V@Q4&tGdQOFDV9km&ZV_nEg-2>bt{OK1DM0QLK8O@yD_Hjqy z{bxk~Rnb2w`ag+&ty&U)Es3AyHxz#@iNBV_UrXYzCGppi_(gxc=x=BFEyXYT&xrmz zqW?9^*-FKn1^vcnLI2#dpx=$u<$)4 zd@l&!2P{v;sxO7_wD7g54ZaSw!PloY_=eR6UrufCmDdK}yxQQqf#vtHYFlma9jFby zmxS+i;rmMX{wI7*>VU6Z9q@Io1HQ{y{t&B%)&bv?I^bJT2YhSmfNvYSQ@y{l4(juh zjH%v#Ch~tQ|4q+TSDvdb^t#nW_=zOB-tQ23M_ttaml;$2|Ew z>;Hvuc%I5Q@Xv_@|5A3JqtwG3?mw~W={P*!^Kp2-e~A24LLGj)dT-M^`QSGOKMEdv;1$Y`l245_j|@a$Epx@OmTCSYDTiw zFR|(Z#`Ba)72KckwMvZ^oX2>+QdNSNGhU$7R>Ax0qkLYdkMy3XkMzD>AL%_+AL(t_ z0O@Vr0O`H30n*#20n#_H0m2Vw_g`bxSn9O!+MMR>n(|Iw<&9L*&zI zg8#{QsZ#$Id{!gE*D2M!k>qnD`TYhvLD1 zHOaVTO69X$u2dPz6-wPmlI!)Y@yOr3@yOqIS^g2LeiNQh6Yw-_0{)IHS5m!dg7V30 z0{yZk&|kn(h13cTw@RrkqIVm+Q+>Ec!oAf5{2vJa*Anh@6V$V&O~Ieg6#QM9LNASF zOh^rBigGAzD&tmD@GNKwp3N+;SNiUH=6POt-VmOTME=S$Hl#w$klv=vpx>?;(tA-e zgqz$9@#Hi^JToNR>SoA~yP6@MhngXtW1{yu%TP#tE&AV!e(c%Mugh|^QVA^ADAo6D z@LYK|c*dR$o-&p+sIER6JR8mi&sNr3tJE&xJ0?7z2+vQ#6Vn_#=dnC1q%LWW=k3dw z+RaeL>y(4({!+G%x5q~`|4)J_kId`ZH;F5y3raB=4--9Cqj%sL0{ zbOB>(r(4fKJ3Yvl+Ub)dxt+eunA+)^=OFzJTYEAaE3^K5VRCKxEQFYq4KiLvLYg=1Z49A8P~tm)O64NWI1WH&OXBZV*!S+9F(hTZC&v zvR1>8zS}+SW~F+xMYv%S?kWj4sV(w7pTlias)TW)kXj|-Zjf+0+9Ev%SW^G=42Pro zc7i3}vPnpNBlIB3)Jpp<%*`4~~xe{()0^&KCfOw8cxDQ$GAh-75Kc_wT&uYNFg7ExZc>cw*c}Ugo0G=itr2TdP&&4cvDwW;=JX1P==b8@S zsqO%t8(6josr|xpSa_Zho{w0P9rU~CH#i^qEzgI3CzdU#eV-5gY3D=#n)9K5Ez4V# z+IT+n?-l(=MgJJfb3*E`EL(-tdmMh3Qok^!$y%L`O1H;WBx|(}sltwkr=%m|sqBby zn#casKitZa`h{mj@}2A44nAYqCZtY_e(VL%Z*&3ldz0k;VUEc47oeZGmofDd&s>0h z;zP#NPkeC!()Al->L+Sni02)2A^0;d1pica->uXVl5FR!y%5j8`9eJZL6&Vp>Pyl4 zPW048;A_WnkJ5LabN&@x1pS#8L4V;zc)sf|!t*`I^1P6Gh4qFh)$(GJx6!yxlKb(# z7bBkj7bBiA7bBj^i&4&eXF12S^J2tv_r-|kA(rhz>MPMdCHlXLe*I1;=k}eTe_1E! z59tK`QJqlEd`CH#b519e^Yxuj&Np>Je(qwN5K`}Sl6Kq)@qF0{@u<#9x8Js%5l@%S zh$pQx;_1h-J@v0FJA~By&fr;iqhbDZ@jvFu3kcaiu-f4%7M7X61s|G4PCD*ErRynx~t{n)M&e^-gW ztHj?`;_oW)ca`{AUKmn~yF!13=!OhA!t!FuM|QtmsWFUc z+$v;z2ifm}H?gF4b`wh)zh1fo>EOG-IUPSq_}>|K3aJj=5WYW4st-e1QhmtnhWfCO zG1Z5y-B2HHW868U{*PrBvR}I)-QRaZx?{WJdFryflk$Zn+ppb`FIRR)dd7A~ddgUK z4XF*?!LzkHcn%BCN8G-?{(os7R;Tt6)Uy>3Lesm)8Wnv=oWo9Ds<%UG$%icuf%l(Wm38}xc>=shL zBqH5^BqH4nlJGojlTc5RlaL?%l8}zfB&1^^%kCkS&$35I&1OmSnQckn+m!^q1H$)& z@cm8rJ`%ofgzp!Yi6K=h8GJ31!Ph$(d{-ocFEbf@QZOw0OZ6}ndVB{q>-A2B-h@=>U7ZTO8L7~lpNjZ4iQaC}+b?=A zir#CY_p#`G!SXKZ7t>Jh`3`K>@09>31+3Enn6!P|*s+&yGRGN$omT2Js4_5{z8p5T8*+@BNocYC57eqlXo zSM_@--LATjjN4E3l`*xWLA}sUMhUKDN$q4dOKMk#dP%wTLVDhj@EqK z++I@{Q~SDSS-E|Fhmme@q`d*Cl=6p4+^!AG0)57@Cs%SoFUWebpEGE&4*gV_)cZ z?+g7tEPI92l)e&wUx~l3#4q|=MgI=bKPdV~S@x!U75&ddKjt#%cexDiiI+*flB{(p zjTh`scFi=F_bF9;8S-Ja=q(btQsjD(H;LRO@-C4tN<6PgJnxG84=fK-JH8z0?{+!T z-}`c;e`(K7 z4_H$BuiYQAHOu}X)we(N`uB(4i2l%<%l>5lKPK{cf6N1ZU`+FX+5<2TXh)Lg0i8*5 ze{mUOngsZD# z-WM@GqSS20zr?ER86Q<@o8WsGKc>`Uf?s0%xKi&6Rzr}U+Cz|@_Ct`K>Ed1{?u*2I zIm;)M+R5@srT%XS()+g|Nbd(jklsc^Ne&L_J9n8UX()KE7z&lq)T{zdSyE0Nx3uS9x3x)SMaI}GmU4}*ITl5tN{{bl(K_20u#?lXqrIl{y699vip zrE(YjXGH(iVN&kHq}+!|xo1kbXG*!VyfUPQWJI8@(z~6Lh2>a ze_ixH6y8(A@tn0s;5pA80iJdvpx>EgW=P+$%KD>6KtFo~^eaX{e}(987X4kKf0*TP z%4e1|e!VyX`SmVi8aMta;ZCs}LH5~5#M5LX;%Pk+@$_Ly{r;$ti0A5&h^KfY^si+( zlI$JP-z)l0i~iT*{=K;W#^FbWRP#~f|D00ik*sx9NcCnMN9D=#d8M*PLH|egA01Nv z6C87u(*1D*lC{Q!RO_qYe$iFn8Ge^_#pZwa?li>KO2TG6uY-g*P@!#v_t(FDo@L3%p~qz&j%gymPa_yDSU553-ybQcq=p z_l+#@ewhW{?}YcX@HHHZ`g{IZ@Fk7~U*ECd8_IG@NM(%$U(s0b-8dF}+s1-#?^y6X zB783k--p8YmGCtiM{;UNoi`4ADJ0`wp>drt^&gomucmpw$ZJH-6}fpF;y*GD@jo>V z@xL?<@xMO~@&9`q;*S}R_#2Ez{H<7Khg8S$h`;A}@J$>KzU=YfD;W>I1>?bY<9P7x z5xxV$cZB6M8ux|oAHw&m@Tm#lYd8UX=S=`#$^`HYngG75CV+1W%bbv^nt*&+IRW`{ zfF;>U_md3ehSZ1R{u_r|M{X09UY~Eka*0ySSzb&121)K$CyJaSa=XZVEb~I@S(f=B z_2xvR|CfnK{~r^P{sxnf{3IHXq~ndNk&bUzUK3LPy&CDLosD#~%0@c6WFsAyXCvNG*+@s8;5pey$F^*w zV^=oPaUdJ)e_=U;@^u>GZ#fNo1Ezs*=rr(+n+Cq3Y2aHh z4SegTfp7aX@ZHCC3y%R~CR=i&L&1z(ki z=g$>fm51kFCU|Qeo`0|4$MTTg_wtb5kMoe;@A8mdm5=nc$VYlR<|Dn`^O4>@EXzV_ zN+^Pyj!5BEkJx_1&D810piXF4NIC| zG?*cF>kP!xZU*A%F$3`ont^z-W+0yI8B#7R=Y-T+(cdKcyF~wx=szp^Z;1YfqW=}k zxfFki#9t!umq`325`T%rUn23BNc=44h16=%-yr(iME{WJzbyJ6i2j$N|1-;LL#ke> zltU@>+Lj`pE+|E~DW%eXluG|0;TD&Ie`_iD?aR^{M#(z;YqA zOO}g5>fCa%JIWDHr*i0}mm{93<%nlSIpUdB4xS|}7l+jKESH4TjV!Z5YHvB>zrP&u z9+mLNCEQmM-zkaj7l|*v0`Xl^f%q=1KzxHLpnnz1r6DzuCDq?NmQ>FxD-hq(3dFZs z!f%#vk5?eRXDSfis}+dvq{R1=#8+!3;%ht;`scE|E~GA-3H<>xp`SGq`eBxDl3g?t z`Y+E!IzDAg{dLnylFLFWf#vd$y0lWBrxN^yELVio5|-4DuP4d-SNAgJaggz1rCt>L zK4Y@yPYFINtn|3rJPdph1dlz8AgIqQ`!U~I7I=@$0`KcAuczl^xjLj8&jw%f*8Iy__ntZ6dyM7vO1&n09}3@B!uMa1Y}?gZNBKEd@^dbDGv|VL z^jz>xAQ|@#<>OrNZ(;eaQv2tE|HxeMAD;`}*F=8L@`jK)E&ONC1Ao_f;7^(d{$3>G z-cxGaJn$FILw+on2mUqlz`u1Kcn`B&Pwjsmc;67-FNOCz;XN&U4X;JLI{#YmC0+}@ zzSn|pD9a5Ym31xnimnCU_1A)L{k7n`mP3<;IZukMPx*557+G z!Pk90`1;NV-|+e1%bO3rne)Lne?IuGXSpe)HqQs&UBdUG@VzE{?+V|qELSSkasl`* zSOC5r3&7W(<&7aVc>(lu7C?W-0_d-1`98H5(Z5ghkBI(r>`(p0KNwU0_N(xyg<=OT z1W&?3JlACl!82?jc*ZRRPY%n?AvJ>~jV}uqf_F7z>hCv6xFZX}|CI2*B>e9S|G$Ml zW)b)sEP`GumRo4Pv6F9Ki5BJeF(1il*=fp3rS9T2`FEVqW#apC)i z@SPUE*u~&$witXJS?;BNdolQiEC%10#o#Mqc@vFui@~>iG5Bs-48Gfh?{4P#fb2ct z{hH;2G*4Rs-o{J7d+rkO4q$n6NR3zm-uxxtoxcRUOP7Fm70I{{m3n0fct2$Mq*6Z$ zZ)hoa8!ZKI2FqNyeR|@op)2A6bg_{PI%pzAL<+32zLIWwo}G z-FO{%J6;FgzSn`b|8?LULNe|nr3$YD@9gWqyY4#h?zj%Td#?lU(=2yT|0}$o2=6b# z`-kv0SO&hf%TWHw%fQ!f8Tc}nfo~$qTj;r$fp7LQ@NHWLzFo_}cR=`_5Wc?&-$%mt zjqv@#a%YIfSn#!6F3-JOo_jg?a+ZUyayi=ds^#F@x*U9amV@shmbcQlEqreX-Ut9scq7~pc|NB3;tKHobp^`h zec}CDcz+V!CiD!oc864(mEcWT3El-O!F%0G@NQlSzB^g|lg71`;Cp^0_}*9vzMoj` z38|P>;5&O2_`0r=ab^|xu3QDa$t-E?ow*8pi&lYe^(ye)%JR05+9!OE3tye4}G*6>HBUq z((~(Tq^A*;Rjs>1s?{3sc3lJB%r#;MtO4IOYruCcOBx?Gt^wb!HQ>8v4fu|;ygQ^` z6~3><{Wo#1yB6+euSGmv*Gf69m2z4u<;0TmV&+=JvuG{iS-lo~H;LTGa$iV2D7=3a z-fx8W2jQ)^4!o_`fj4m-c&}Io-YeIEZ@kE2miLgowGO;1*MaxII`H1V4!o}k@5k%V zK7SV8+Bbl=$qnGUfaU&>>Tv`32HpU^DK~&G_XhCIy8(P_Za}&1xdD6!h3}~Fy~6T9 zNWCq5-w0oW_26r|9(C2Rm+63hESDszL>qYYAzHb_0%fO6O<`nyE`9?^e9H2(wJm*Gv&W+$r+z8(O8mnhlTGc;d?>&{vq;9 zmiLn#DZF)V1aH?HrM=t;-d-f*KBM`_jo_cj@^htD-U$9JH-dlnjo^KT2~TftYl6@1~X;9Is8e7CcFQ>kOZ_qy=CFMRPgDc$dP zBFX)JZI+rXE(4SZ9#A${R(;9If{d~3IXZyU>_RBpoei1589d>;$n7tHfD z*`dN)dpme9-VWYA+rgW$9lRwhAEWuhcI5v`#y?Yhj2}~KA7fs3Vf;9ahl1Z{{EbrI z3jUq(w@NkM0o-W^($#$j($#kd(ldMq(v!CX>6y6$>6yO+>A9Ze<1}B}f#(Zt#fU z=NOYM|F+<-7}K2ee}WtCRC-;h?M~qCjL9axLhzKGGA`{zdROg4dbjOFdJpbIdY{;d z^gg!}>3xsolhjY|#Pk2U6VKn~R`7MW6?}be1>Z21)F0;D3cm7N!8h+#@U0ZNjpb8R ze{KcuBe#P0J>mUWc)wu2e^I^J1^$*S$@aKp7x*vT1^z+1z?;MJSV)!Z0`Ib2;N89p zyt{XScQ5mNr_>4I{YZHKE4*>L!F%>@@OEYSG|fAAgZIkaD8GrjQGPQRldZ6DH}ZP} zV;aM67yRgMq~o34NXNJU>A3JVq@(L?NJr9b;ORq>_lI81lI+kGB6qO- z3)#=2_l)ShB6`2DKlPKB-VQnNcI*$WWc)Gl+>ZUByBL2$b^*z_SejQc{xnuSdpn;0 zf474_<__>TB+2`pE+85Ay;9v6Ulme=8OJI0J>%mc_1`<7|Jxnlt$U}^``$4I@h37AKBL4Edh`)L-c(2`y z_*d*j{9D9*&tB;56a3I#@V?CW-%7nH{@?Ef@BX{Md-yJdf8;LkK64j%UlaHD?}FZ^ zg1^5Dy!?$q+<%m6dN=$pxf{Hn-wobx??(84-wod1?*?zfeQr)O%+^x4|r!XeqN~?#Q&~)z+1Q9|Z48cK=1G4dTB4Ab7hRLio9d zz`IEB@P!_f8_(<{Z+!HKZtx7^dNBNgWwx@k!iIKLp;@4|e(@2wU;YSqUwQ=LYd;F!29E+aeH6TH9|dn$aqsmg^anl) z-YM*^VpM^+FMbrfjgBDvkR#w7Avo&@c(adyw@lpU9fAIeBjCN2-D6_ZUE==C5%7*W zitwwCf_H=9tw+JT=O}m&iTmS6q5s@b@SfD+{-37qJHF=Yf8h8zR}jQrF^i`5h}qad z>>w149mEb|r)G#*L9B{Vf*>l09TfzzgVaoItr4>+Y6ida&UtzKzWwLf*Zba_&rR;< ze(vXU|8TW>%-rdKU3dNgd;g0E?7GSH?E`k*#|P}X@0dHq*`Lo9XV)!j%#uN?s>~b4 z+50&Tnm%d%t_P*HDt^$e?{?7M-dN12Ra=>#%Af{FXVNN&UL>7at95jOw6j);^aJTE zTD_rj9WtF&s}hH7HG{&xwOUQbOXtw)6n#%Rr&cd%m&2xWX;t*F z?FQ1hwQ5H9kOB2Qx|&uW>4L{iSJ$fSaobI$YiQMp9xq)}t7-H~=~`Mv)2F4s z*XmFDv$Tg+nNIM08ne{a%AIZ_T}P`P^fc+ZTK!C~m#(MPZu$@D`dZziGo3WuK&u=l zc|N5ZYE_r^mG;zXAU#jIkycCT9ny`pI!fP>ZlcvcbiPxjz0B+9lx+{`rdqY6`%5>| zYAn4{y17>C>BG`3v`V6%OSjbO6a9@jr^?dGynasGZX(^o-4Z*Z)E0Hymn!m}s6K zZePsp8@PR+crJrFB9_XaZpivSn&(OSyx9+w{kH>M#LVV;O*HQV`OsAiH1CgC3M*j^ ztc#7YCHi1b?1uq34yWNf49E4j4fkULUcjq(4^!|zG;iJM=0;a6gH^Brw!!W=1jpkX z4988l7mwp*{2O1Q{B6Zt_zhOZ`sj__a4`OavvC=2#66gRm+;#RYzJ$h7k0qKxEeQO z9Nxeu_!5fDiB$%D$ccc(52&z}naxJ7HfO zfm3iEMqm`~#j|)7AK-h;oXMIWzs0K95Zhok48$oo3zy=0+<}Mj9Nxgk_!cu}w&ul> zSOr^QHyn)fFdUBagcpO+3ebFCB z;RKw6%kVeciSc+IZ{ibthnaF(7ve_ThH-cXlkp+GMn^7dZY+vru`<@dR`>(<#^E># z=VIsF)?PRiC*U&NfV=PrUcg)U6yIa!Jl6d9Emp;b*ao}dARLD?a4~MfgLoV-;XV8Z zKVi1K)%F}}r&`K)=dBv!%t*c!Xw033rMxDX?7 zJMP2d_z!-@C=9`ExEB-fF8+g` zF;hWnKKvG|VI6FNoiPw6;|ko2JMb``!yEV*-(p5rYhEmg?${8UV<+s3BXKkCz{7YB zZ{TBmix~^CeJqJpus*iNU|fRha0kZY1-y;VF%7d7wid?nSO=S62kedGa321G(Rc*^ z#CNEQSaV=etbon16ZXUa9FMc{7mUQ67?0=i7Cys|n6;?25SGR7u^Dzke;kF=a3MzE zc07dV@FqUR516Hx)fLNNEo_P%u`iCqsThW9a2p=PM7)7d@I5*gw-&_GSQEYQ2ke7m zaRqM1SiFf(@I5+x!*;ML{)oMBC{DmRxD2=95xk7|@fm(V=Mwy$SQ;y1EA+*o7=hby zA6~+H_!`qt{ykCA6-#3cY>YnG69aHO&c92;7Eocn1H(6img>ShB3O3|7J#*aTZ+7aV}c z@FHHv6nujj%UMfcEo_Qyup17-aX14P<67K~2l0G)>n(hMuTWR8=EP!H0c&G(?1X)B zbw%rOELq7~5vyT+Y>umOGw#MicmfmgA|~T)ypK;X72jYQIx1V8F$dgVK@mxaV2iS1DJqkFbS{WBTU6N_zAODwHCmlSPIKx zWvq!!u`PDQuIPvTaVSp0nHY+Ta5-+k9e4l}@C+v5RlJ3d@jW`KS#zKpR>vVY8bfdq zMqw--!IO9nFX453f~vYTKe}NZY==E@G|s_r+=j>SBBtOcbg5x2g;miLJL3=>k72k0 z_h6jpFy}XTlKB;UjH%rI8l7v}c>#38YUqiru^aZOX@9;y4rM+b!*C_Hufbi+k62{`S0yUt8p&U_>8#v^zEuj4DsSnm=(V*Um**0JWrQdk*V zV;3BXW9r!Te!_XoSK$`ikEif5{)=BQPhD%_x^}(d_#N}==!HJq-Vp~e55noV9M^Kc z4Y;5ADZGXc@HNW6rzQg|RGtk4>;Ij=~UJh>;lGz^)&I`slAKEB1ztmE*s=J&MoQs|ELu{CzaemELK za6YcZDAte0!_3d&4NSo|s2f>xVo|JuwHn#=>R=n@U2!0e!4RB}Tkv;0iI?#azF_^A zn6a^)=f#p(8S7zl?1X)BEKX`{*PDt>^eoU3iJBd8hx=p zj=<#@jk{Q9AD&^Jj1Tb@YA>q`R>P*~?Pb^T!M@B#;1mqS6}SP<;T?R$I#2N>bJf(E z8;doyx0l3P%$s6+?2kja-w2$+d=Wck^Nh``d9egm#@gtG?a>dn z;_ha4-B>)#JP~i=BW{0+UzlfaZgs^9SgX0cUma}3ye)RafjAu(aR0@)g83%gjYse{ zKH&b3@e}iGEv$vG4Aw+X^ueAj?9cbXfy^i2bmp^hCG*X=4-@br-omHo)RM>7(yo&e zOEGuH2G|_$S`SPnfHfRsJ1iS*HkAW?mOtVrTTn;W!EB z;&P0}U97tg&oIA+5AY?*7XYXK-LMdr#_HG%+qAapwnu;FBQY4~;Y!?yiFh4T@FP0B z?Yfz;khh(e!J60@eXtu2!f`kQm*ZO2-GKXh&*KLEn znFrz&oQJD03isg&yn^@eKm5e{x~(;TTRV5d>evWS7lj{E(91DKD+8MqkN;WqpoPh&DZ!jG82$F83li}=`id901i zu`~9;5g3dMa5ZklI6RAY@Dba6ieH%LXm2fs6|fFA!%parqi_~3Xm8hDjGLJ6#p8Gh z|H2pe0kd?l=0`VdfIncj4t6`ea1`^Y7>28HEAGducwZc@R2uE{gI&)Vi~eBe<*_z4 z$IdtmC*eX|&N{#14(5mPJl@2o_!jeYw3f!o9ql^Ruo?4?*cV4&FoxnLJb=eo=Oo@> z{utk3rcT!USQ6`DJM7lUuG0%gF%QKh%)>F7`2jqGe_{&0M%CGx6N_Ov^uXrW347xt z3=_@s{tLaavwb|jVGQ#Vc%J!1e8~Jibo$Yn2TNiltcR_!D-Oa*IOj*Z{ybdE{C7Oc z`~+TS{utk3W?yRoEQOV^KDNdmu|JN%5L|#;@Q`T!ehKttU;B8H@iz01<1_q-nY&sGU^(=88 z7aqkccpu-P>Sota`*^;?3d}vxo4F7A zGoOSrn9spqnMdORJdMeCAHQIZ-quoBxwl=f8a89z3kNVCg2Bw^-j>n_7B%=hCdyowL-UsQdqIj|U3!#aKKx(%=c zb3Yu8lQ0y+aTD&r1Wd;Jteb*q%=7zOOZwaScUX~m9c+u8xV;MoF#ic>;SyYj`|&dV zg{k-%v-PtU$M5>t?Ucj%%v+%^_Q%mU1;cO|Kfe;UF^|JDcnu$5Dt^Hn{jEi?2G;Fw z*KLR$nET-{oPcw132ws!cpk5?-kLDda2p=L(|8$E@E?Bu z6=oV_=lQS{R>At%0z2bK495Am61U-=L3TU)F_HOoOu_#!!(eL;EQ%i33_D^U9F9{_ z{+)K&-a_2K{1BdCegq_?-Di%sRsAie<1mHbNit$AA%by+EAK zd=ak2?RW^!U@|_!H|R8y$Aj|kugm&w=)t@>c1C|3g;Q`o{)#ae$9nO2nfWt(&HNqa z7-h|a1xMNYeTyFG#qBMy9rGSI0)x1HA}(P5D{jG9Jb{1U6MTzKqpiizZM0ptEY@Y- z5`RR09Ep=~8Ajp`Ou)0OdjbDqo{FC_+ZbyhbVG0KiUV;hhTt#w>lnM8wYZ!4QB1;H z_!Qq@@v+v5SO;5RCme{w$J*_T!kNsM;5yun2k{hM#lP_lequd6&YEwWotMNaSPxra zCtQY+xDOAp-ch{5{BQghKch>KwIF_n)vzgg2if&}urKowI0Zv-1#ZAy7>}3mI_urW zf0=*5>_1rxV_B?@-q;T(<1$?HlU;W`?qhxeui)SK5Jb~v~?;<{A{u(n(u;#`RSP|=DOYDLDCfM}`;UwmvxDq#GEGA%?iPoCf z65CI->vh6G%!6F&~A~Fbvn=7CepD@F~7xy|z<4~5x9~A$4z}jUa#%Iku2&OVGXD|#<7f=Q1-KfcF&Vh8OWRKF5z= zAJ24a!RdCrB3Olaee}kzI0(n!3|xxqaUULL-D7x-`2&27jv3b6SPUy-9c+Q!(SL?r zcOXt={xdGeO}G~?;4}PyIc8c5%(Uwj#>&j=VQcJy193El;6mJhTUl=h9%p_D|H4%K zg4t$S3u9TVhhDSndM&U!^TGHN&ca`C9qz!xcnNQ?-W`0!T>jmEF&7rcN?03PViz2M z6EI}9U3V6)WWE_=@dRGMdzgx!G0z-p;W>7_;#iHjC$_^L7=S@I3zy<%+`)Q#@HF#l z_z+)XhM%oDu{c&lPi*nCUC$f+m=D8AI2TvoE=+ z7)E0BT)SQjCNRH<_wXP5j9Ejig|H0P#U`P4z2?}B`C$ABXW=in4G-ZH{DAU31fnaJ z#TMu@&u*_H4rD$KXW|lEj|cE6e#C6^`8}~5*2Xs2X};ZF7aYobBF@F-7=^p>7+%3! ztaA_lWA3!Tnior=JJ!S2*ae5;m<4vdpKu=YmG~RR;z_)OX_z(4S_ms+tuVW89c;_I zI}X90a5gT%gLoFN<3IS8bw6Uxg?3&XD`8!1g`IH<&cn61d7)izD;{B^crlIp9 zs~c8BPwa@@7uj|Fa5VD}T!az09S`6&e2D*HhQ-$0_#IYSY`0Stn=KC^2D{;K9Jj=-HvtzgUyWPw0G`3C_yAvF=B3u0OYM4j zu?+KC*c5-jJ~#{~;apsUn^0oeSfF(k zb3+g2&9O83<0zbh^Kli%U@Ys!VG{E@_yW@~+j46`ER8j>3I2$^mfLmv;yC6raVf6H zop=Zz;Tz1j!kQP$V3iei{p#49d1vg0qi`C|$A9t5*Y#Igi>$QkeS_7RH^%nZ3y0x& zT#q~OIG$s@Kkxzb*O+0IH8+;Pir5MJ;y9eL%B~lJ%b0J(J$MW+;%$76A2H{z)`Gv< z^@?B><_)k7cEiCq7H8mM+=Sa%Zx^0qeia|!D|D>3=D=cD5$j-E?7Z5p+ZBf~pM;^f z0ypCxOu&oy5MQv~OO)@2ka>P|!)n+F+u&H7j^QZZ4K%*2t%2##NRL$PvRx~3;)G0n0KwU$XdJZH&~r{V{DJTa2PJeb+`lL z@dDn$cbIvdwIr5XXSZ7k8!`96UN{sd;%r=o8*w+D!X(zcj490DVy5-heE2O^!8X_p z2d%g348@VmXW;_oi*Xb4y?7ii;a~UyKcP#cwJ?^&dgv8t*KdK{nGeD7I2)JYdfbUe z@B-e#fAKx*f5O}w?7Re4!TRWpzBmBK;&cqhhz)k#NQ`BE60hQYe1%^y$3|;0tbh%% z`9`~LYwX2*7*4{uxB@rg9!$WC_z+*P?n}(H$-Z4=L#HTf9xQ=1uwIm1-xE7B?~5Zb7#HA5{0;ZxNxXr7v+g7O$UN(2YauLy zwXiYv!l5`7=WMp?&BL|KWAHGZ!<(3bPQO|6Uht*3fuV;pEFOxY|++2SQcww6AZxd zI2%`CWVBsB3geic#p{@YZ&AKKMa+XGu?jZ9)?4km?XWNNkvJ6>;A-5B$M7De;%9W( zW_86fSQndYv)gTs-Ix!?pKuobg6nVx9>z;}gZ1vv*4+3FR>nH$ivw^B&cTJ- z?Yc{GGxJzHiC6GGrs5aO9%C(ucGwdGa01T4^Y|A&VVxJ~*un3QC9pEq z$Cl`e{c$`_+hNz6i7S{#;XXW$m+>xs!5llS#jq;Y-f7pZkL{WJ;c%RUp%{*P@i<<> zNB9rxzC!ta8<`it@31;H#%+bxgsxm|?fIGS)*M^xbXO z>yClUr{H{CgOr>u?VqWW6JJiuqN1gs-^$ zExPQr^CDOV>td6=_I}N=2lmGP+;1d?;CyahgsYivrnlm5=11`w^BedWpW{dTf<^XO zzrjja6&qp`?1g=C1dhQFoQ3Og6YjzNcoNUzBYcYQ@e^i?wdTYMSOx22BW#C1;BXv; zQ*j0^#$~t*_u+9ojo0u7zQvE2Wxq8$7Qt_@E;htA*dBXfUz~y=xDc1(dfbG^@FZTr zKk*Sh#mv83vtc1Dh83_1w#IhY1AF6e9EA&TF|Nf8xC{5;CA@|Y@G-u{k67@4wFs8O zN>~>gVmIuCLvaL7!4O=DYjCSLT&V-}VU+KSlGo!ie2dO;*5X(m>tP4%iGesB7hnYL z#>1F|5Ah{B9kdq4(&&M0u`34PG@OqSxEGJ&Wqg8f(D@L*FP6u8*a3TDAkM@^7>U2* z2~5Tp_yOg6sl-xP89lKx_QBB@iYsv=#^N#2JijOLJoB5FifP=g;;otE?L0r0!ACI$e z3GT!=Jb`~>syI}uj7M$f5r=D4hOQx&a;TPcXR)M14WWa?5)L(wULk(tP}}J^vA9G1 zLEjdOIn*m!9Wxenq<^25bSbfjLw!$siG>}i3*BEVQKMZzljAM>M)%s z7I3J0^gm*LhjL2b_Z9OwR2jOanAeg1eOuDLVjhPYN>31TJ5(6GTFm88yXYfgPKUZm z-xqT@)O$MfabtFeDtg>@dC|q88q#gVY!20j4ivLG)C_vDn8l%@=)Iz|L!G7Nd%1LG zhk8M$iJ2TK_X*qb{aiYuL)D-gi%t&pBi&ET;85e~*`mYzed#Tt+417(^P+O7zv+L) zFFO5uyQK4ppS3DSe=mO0%A4*grfD^to+N(MY7reFe$Z+UeN23>RWkihe5ch%I?E~J zTdj(pvRzSpqg5lio%o+t{`5%kwN|s}rQ$2CexqZ>ms*{pZ;1bDl}djWQ?<%_+IC6t zAFXQ9Ug8U_y3hl}=UPpqe-@uH+;qe5{r88QTTK6s;=IwZ%s| z{d>TqyNeIC8bMDHA856NUMJqyY9D=E{9CK*bc*XN~u?Dsk3!W$~_7P3ZRG z9j*G)qs7}=&7qfxx3r3;e;03Rb%DMm-q7kLtrCsbwaTAp`&;o(tvu*vVzO4<=t1H& zttQi<;#IBI(%Z!=S|!jI#mibfqW=>wX_fVyZCCN4R+Z?w;vZW1&^^T@twzyP#S2>f zLPv_{wc1ag6whgOlYSy5YW0QAe%^Rit5WA}yNhSEYD)hgp4Mt0JytxW)m(bHcv7ov zbewoXt3T*F;&H8B(~b+q1g#2Qu>GBQOshI{3-PE{J?J6g5v_vh`C`0Q>**chVXaQk zm&HR`J*MA^2eooZvRzn=)2a$xUp$~y2ii~kU8^y4h`3*?aC)N{tJMMew75^J+w?PW zuQtz_?VREst=#Bp;%=>))1Aa!S`DUy#GP8rqgRSMw2Gk*i7{GTqVI{@wR%H4T{Ldf zs?bH-WyGyo)uUU9(OUJQhl*RYnns6-ziG9B-X(6<>J)udjMC~U{a)OpRgO!xi;5ey zs!BH$H)z$7?juHOHIAMkuGeY>9VM>Q>L7hqT&vYx`h^&wRffy9bBk-VDoxiAS8LUh z{!#o@s{neuxJs)9^snMdt#;D!;tH*<(0_}|wR%Tqx?&91s>l`F<-}!LHK4u4U$p8? z4;PneHJx50F41Zey+>TE)fqZjT%^@=`lGl|t6W!Y7Z<~{s!lf&7iiU)_7~@C^%Ffy zoTt?)`ZqCDtHbm;ajsT>(W&Ck=KSoM?Y!a~t;*81#MxT4rn`uHZF6lZF+kX|Fs z&}uh*RGhBWHTr=VqSXi5IoUW(t76HvD~MCI@}%2}!CLjDM~G9jnn^DaCu_Bt-X~7d zDv`b}PSolj`ja?8t2}?&E+LNBswUk;{7EZcy1y8t)dYHuI8Lk8bhJ2Dt0VLUag0{? z>6hYYtukM?onIWKRe9P&9H~_sx|=vct3Y~kx>|+M3q&V#+^1vcJ@gU!D*cz3MX5*h zD{g;BJKeBd=!WgmH|+f@&>q}gpKe9>q64`92zoNNhtLb?NIHi5@1c)!`$_r|okG9n z{_p9GH|_0NZ`v+E7op40_2`y2?a#NRyK%c8J(QkCFW~-5=(XIwk={k0qOWlO>+~aT ze@4HjbKJ6BEPg&Hek+qqseYoF3=4 zCH;lloo?ICecN_vy83NT>3;ZVMG zcd@oZ1<-+F9fu00r;BwRY6%@K)-%`jbhKFCJb!e&*uXq*^kuQ3dA{fr(bJ*c(P?5M zhjPhaJD1qlp-RwhViSj|L3@bimuW$Ji%lJ>JMAYnbErUiwAkFCrqi=U^G67$SBWhh zDnc~Z_tDH_#8zfM70q>iJo5yxwL@K|lSOZbN}->LZOnctnkOrbdHVPGwl({wXs-Kn zIoWwWv7OmZMRWb{#=NZP=fS2eZ&rC{}o?p<;UD#{K26{ z(?McKhnh`?ik%#46&)dVHv6ymkGXzezFYj!?7!j*b6v{(lxTLQWcsGq#i5?jsbW|2 zBxkhkBz80VulPi(e9T=%vojVIADiP2^NL~*vpfJHS;8KqKBne%t%-Nm2Gagq)c$D7xccvh=m=F`OqW1c71*?;Kt?{%K+ zPzmBmt&*5u7N?lkm3YEj2QW_&&B6JZc-&lHGEWnyn%9~6fBBrm#o5ktiPIb^pLoo? zzcY6eLmaBCc+?y(nEQ+7pdUd;iZjgqPsfTg&HFT+D9$qP&-7h!wmJUMuf;j$xR=GY zv-q>wzr_P)|7KoPoNM-P@prR-Gj|t5&HgR!H~TkpFL9pPzeV$=8q9pUINu!K#C=*V zVID3nFvmG@uU1jaqs1`ue9-aYLi2oxyUp{#{Ia;nJRjmN^L#K*5f_{1L)>Ye59Vp2 zylG}t>7T>6WVQ2L;!^W`h%x5*VD2XVVxA9iyLmpC`-{uWentn0=1n+)jue-h=ZB6J zSD5FAP83&~{tpxvRL*yf4yT;wJNcNc)QBq-7u-AZ|A2b9Auyn>o&jE6w{o^8|5=d0gTO^SGEN zi{|7fg?=V(HOD1dWjAg!`@Oi#?6=u@T;g`~xM*K7#vG5urRI3dJV4xG9v>Yn?lk9{ z^b&EGd7q}E#NFoonT`|pnDa_HN!)9Wv*H4CoMnDr+-H6dalSduGJhw=n%_s9XO6Qu z?A%4%Z;rEKsJ7o1ZssM#-_3DWoNM-9=IP%Xe!%?Q#h=af0rMcyoHR}p=VØl~M z{GQ@$tyVFQ5D%H(SDa9xk3V$9+0lJms+8V{STLJZ)Z= z^kwmkIZvQd#Ixr0NT-R3=5gmz>7OgPK^Tik=*oGkFNWjS^Wb-w zi}N^N48+;^_53jzzn=Fwa~|V?LH~Q6CBH9*|L^&fY#)=+mG}Lx=O=+U8)Nb7`9un) zpC8E2qdNv+7)D_-etkc8=KZY%dSDQS;n(-qc>MalsCd8eKpzap7<~8j{gU?qUkt=p ze1~7(A3QJ!!!QcJ9@mq&Zppfs{J+N)**>q=ug8-hjK#07 zXAfRyJ{XS4`1N&|iq8N0x|5&7ff$Ujn1m_ln#WoKeK8!9@h-aN<$f5B$>^Go_0Sjn zFdQQ=8C~;R-LVA*VJs$L3c42H=P(FkF$rA@az6~hFpR=@OvY67aJBm2Kn%uMe21zK zKZijWhRJvrQ_;CFKZl+egkhMBsbBA3gvW>B7=!OHS5d1k24XBGVfy!-8{M%5`e6`; zVKSy-`uCL^OP~h^VHieXJSL;-H~c*Mq94kCS$ws8e3Gt=vUJh%a#vZpYI!?US-R=; z&oi@h*Xi#!S$f#dGqd!xpJ!(2Wk1i%;%7h46y@{GEWPdLnOXX1RfD+)))V{M^>l!; zpO2dNmKwAN?L&8@1L@Ip7`=p!p?A|s^kq7geog1nw)1J*?sN^>hwexR(xd4xdI=pv z@1~RJ%XBLJn$G92?dst7r#)z2x;q_2Po%@?Rdg&JM<>%a=`>npu$}%sE`NWz9_>l{ z(%tFNbP&CS4ySk1v2+rBnNFo&)9Ihn1@JkYX?MB?-I4aCN7F&{5;~mTO~=xg>0~;U zeoeb%w4HvwVY)0`k#0eI(*x-MdNv(ON77MrJe@$_r0>%2=rlV0^QZtmk8*GxW4a#g zOLwP(=!tYVy^4;d58;B?L!C9 zfpjPxMn}^zbRwNZKciFW^v^K@_#DG@McSSArhVuDI*<;f!{{hFnogvX=x1~)?UIe{ zXJh-cJMB&T&;fKH9ZHAM(R2)*NGH+H=v3Oph3&hrecGM&rhVuDI*<;f!{}%_hEAlD z=x1~)?UJ4CXJ`AgJMB&T&;fKH9ZHAM(R2)bicX|c=x4N34%_LU2ROLyH|<7y(Jg3y zdLTWWo=r#6QFH=*ioQ>$(COFfvi+R4-RQEk7u|yPrw7ur=}EYhN~d3U z2XNgje}CGY_NIO406LHkrNiiGI)+Z9ljvu3D(#Y+?dN9uv^(uXcce$tLG%(joQ|dA z=w$jP{fkYr~T-ObTA!3N74!ODLRFIMmy)V?UL7aS-K+Kg7&8U z>4EfgdNv(NN6`uNDf&L0LObQN?VQiH8(o(6qFd1Z^gwz#J)4fCqv&`#fxb!KrB#00 zPWf$@pxtOs+Kcw1{pnzOIvqhr((!ZxeV4vZs{(Al0NbbCXiwUU_M`pjV0tszE7)yY`-Aer`>2z+Kcw1{pnzOIvqhr((!ZxeUrXRr_pjDAYIheb_u#3?MZj1 z{pg8wFujV7pyTLx`X+ssPNUPWGiCdQ*gjp4_N2She)L2-m|jIk&~bD;eUrXRr_rh~ z+b_)a>3Xy$-JSNMC(^<6DmsFWrQ_%%`ZAqLzowmw*mfymy9DhW5n5hlY>4B<}0FbuKZ^}NpYdcDs5x?lIb^7;P0kH`1!@#^`y&N;7h zuIrrZT-SBZ>)iMLoi<{q$Kx@~PdEAps{T2{=to#Gxf`eVGm?z`jNZlx#&L#ST74St z_3*VHhbdxdVtMf6Yd%v!`lAxnjbXCH-=`E}<)d(hsEcZzTOzq9S5uxx=<$O2giD3@xl(QbrCmyC zv4meq-oa8HV?KqhbfIsi{A=a@BD%_?{PBci2-E2L-3a|;N}2cR+9~(fYyI~r-JeU> z6OuND>K`d>oGIv|>twpWp02B;Tq62M@+Z>$D|B5X^zTyUOTr0+m2@3R_t`4h7)SRv zOW7WTj}UzTVLy$pH|hSLLKjiqa=O2P@G!cLp|o3w&YUqN^QUH!E2iy`_ux=yD161rAM9h0TZMxnmUB^@YV^YUN zx_^$+?xgDzDc4Lmop2oG<FP_@aJn9%i_DVojN`dFqGPDe z2EteA`jxIs;q?;2mx(@{a421Ql$IpV2MA}<)kn&HO4nyZFOYf5r=}M62 zrqJ~{UAr|tZlr5}p@$KkC+PvfgXzkqx+YQHG{U2azD(N9BYc$7pP>8xbYD*QadiDc z*ERC|9dx}w^g6oEr82J&-J5U?(KU3PMAy+o!;rSn^)y}op|rttb)&1m(P!65+i8M@ zxTH)qT|P?xH_>NFeiB`85dARPp(|IbuP5CvqiYmhX>{En>8GK;rQDHp-zw>|=_;dZ zkfw91sN79-9Yy!gYjt0tmBD8gT~A5=2+I4K?w_Wsg|3S!Z9HKyrLQFXS)MtY=nT3} zm%2t1UO?Aax>iY@%cAhCsEnQ@hst2gw1rNQ@IU}vbmIhkEDGs z_)kh(ME9L^|D9HLAzibj%x}SEcg<$r>ymGNw$b&D-1m@Y zexvKl2<4XxPNQoxT~&0ArRxxRcE0OV_UAN>uLinC%Ka&lzE&&S(+K}85xkzRr|2r6 ztK3oMMY_JHi) z?hyJtx_p#&q|h@R&yAtHdX0zwYI&pSx{mTb5jvIbE9pAb2>tY-w7zoxs+RsPrI$$E zhiYwTTN1`xy1!NEHo8jfEaP;K+GZFj`J3oEK<*zTJdE%otvvQLex&q^>H3zgbfW)3 zxS6hQC1IqEof9k4ycRQXN|fD~R4GdDA3sy5L!aAEG{?&!K1TlCo#g zwVu)k3oq9YUO;$=(5or$1jtL*JfgP~9whZFBpgE5EUk}5YxmfEI-lT9x=y6}Ql!oW zdKv9A;0cA@j95nOdnx(=#+KVWLLbPu$D-pHx87^g;<2kt`e4Rbi&oY*-lCO9Y?*7) zD%wffWYUKl#Z*NSEp!lj976fM_9L1Wv%`h%CyPeJM~KsA(0}#ycKP`itNekIKU8RZ z(0cN})cx6#{}2Ty=`X3c;ZTzQQwki?$?@GU^x$(tpHCSSO8+)6l*XRYyth0Ye;h(w zo^ZUu&f`U??4|3hJL~t$&W9pr-T_r89VbOAqSb z2D|;&Xi^r^!W?U0yK`9Q~jFF|4ibyM&maH4ZWz=FL=IiU}$^SB+>jNWB-X-+q>&143U%{Zo35&Hu8~Reqi1V-Ql;dN}3= zzggtW+s?4dFQwqRCeFit3ACRUF6rN@^&{vHB#1su>Z>DtZr*Im3p<>;$)+#6NR{s; z%H0 zwDh+1C+=wK-$W1lYtZM3{#_*PjXIh7r(MN{$iG}AX?Z?Rp8vKR zxd%<(NA*+rXG#8`lc4{${yZi9Ia%@#qyCQnN$u?*{~Q_rV#!~E`T4RfPvaq^@2}YQ zC0^{;2~vJGO{~Tw5APYHzWzqbhet&Eqce~TUVx}DnZujzl2 z_^atsJ}CTL;8paE;$O`EhkT#XD0mJ5X5F8zJFl=oo6VYzxQg8Y&FRlY~`?^5Z{{!$+A zf3gmW>o&>%j@nD5wjXV84F z`pmG(-wl2LPVEVRex2-7(hGL~JVN@O{)^g6NB&VFui0N0(R@tT{Lc~@pYtUDJZe8_ zyriEe7K+5o2A)9>}Sr>{Lfo7QBtn3{TcQR$7uOCJN(UTp)Zs6bLhXUdd;7Z zywwf1ytQO+lTNewe^dDHCi?R!LdLZ=zmFnOvsV|Ae%4bw^|m~J!#~L$f2iK^fS#C) z`LEVQpkJhrw)!QzzF9Fu(;}xz=&z{1>pRrGGs;&bQ9doMP5rnIA+HvHy+F^WF16{+ zP)yC=OqB8JBmLo(`G2a=c<)!O^(WR}NfclISK50Y@ysy0e~f% zpWQCy4;TKA6}nXDp+f&t;u(C5`m4TGz4JtS>xr=>TIil6{l7x`w^aJK zmgFtf;^)3npE=+Aia$9{=tCU#?i;ah=6dNw$9S$KLE`(`_VZopuhbQ`{QHqUrVq5| z!=ej9>%UUlctU-blf7xv`uh?Ts<-FM6T**a&r?%EpTCXfbNolPKbuSP`!xBp9P!S3 zn9oaXe)~DB>(yQ~_q8k7Ok{sngbjW|oymn8M|p^jgo@wb}z ztJe5?o%qkv@@F~LM^~n*dvkt%DE{m!p*_^UNgLH(4BG#l^fPO_+J6FlG3is){&!_%rN$~J_70@%O zzlUr6eT3-qGs6E!nJ)*(d?}>%>zCQ>{Y3M>@hp3N*ogI_=AYM-e{A_xy<-5~!!h22 z$nZ4wv)3C<)Gvt|Kb?;F_%X3RvBJ*+T7NcZ{qavyyew_L{Y3pUT(c)@U>`oV`!inb zNtvPQ>yGst8Pk=Le<#HgNo(x-z9N5_dXg<)HpM$xmw7Dz|DxD$Q~!I)d^PR;5a{<3 zdwk|%%j_lFAN`BuDb?h8343u`fBc-P>PwOOTB)H#O}NR$Jwn+5Dv=?Vme^=Mq^3A9IuF~u= z&WF@5w)^ug@i)2h{M)IDo+vcV!Bju3#ZNR}t2cP~9SrCvsbf=8?Dcmm?57qFuOxl- zY5jSRV?V-A^Q%#tU$2UO)k*vL`;k68V3FyyDJbcCq&mWnp@=bg2 z57L*mW9;~)f#!SLL3aO76@E;Aco){kN89U}|A_wJ1Ah0AziQF^RXov4H2ugR``l7z z=Wi$dYSH4?siZHBT6}i|#cNrb{_r8e43E+OB-Q>{>d!G+`5q4Yhj-Lj4|w=&1?qp^ z5g)!v@f2S0nDRU(`ed%pzoz+?)yKo#-mpe|D{^I@e;=4 za@!vD6MoG3y-NDi)VKS@KkhH~BsRtG=jq4np`z_w`X zsT&>fRRPssrS<*=Kj(F#tzcA zwqCZrolb>(T0F5*;u&-Q@dm7iG<|qe`qSk1Rmc8D6WNot^@cURTcK|&ZTm5f>|woT z4=Y5TU*!2^)KF=RZEp`J{Z6g3pZ^W-D>QxSMfS7$S$n)zQb)wg`+<1lhtA2wfBlPg z{v5}6E~4=qu8n7!ii}5581mU&EB0R?PW^&uh7Uk+kVcW{tIgBqc)1y zi2Ld#F3_^MDV|Ch`cQ(tZ*|I(tx zmp@|vdZlfDpG_kDz1X%FqeS1$_c3^P-#AU_6Y@``csogpw>!wL#kZ;RcgXise!7;Q zA@V&Z_0>A;+4q!Ks?CqP$ltb{Yx|!%$9~E-i7&>{QemAWl=m5uh|crEi&I19!gKO$@8W1 zdqDGpiiRtQlsrZ9xL-HOP+sS zgUb*a{%vq)M)xTjru3$b9;Yq4$c2`ZT{aO`nN>ddx+MH4cd7BO69XOdwC1# zNA*#*KS;-ZTW`BR?-qSD_uC%8e#@Ws`-Dpz@zr9|$NKZ^cogTE3pIPwjCe)Ur@v^t z3g0%Y_X9(*@u1n`Y~h}}Ph)L%*G+WzBM(x>W^?e*33j(D)f z;jee4sQhfnZy@{E_@2H0bp+X;-kSXxPtUJ?-+sPM^gl_S?<3=Vfzao|zI>>Pt(79$#AD`(Dp|h@##X$cWu3q zBmA53&171?*Zgen7w@6+g~!UwRp{?8%y^vqm&0F7 zruu3$efm=BJ4^D+>WY z94z&DMPGZ0z5SCaYSYe_?C6dCUBlY%%BS{Ywf?(}pEAak9Tc0&J-v3V!dxa1BcMkd2`d#*T zo=OujRg2f}bF7EX#`~LQgU>Lb`~@`rsn6N*?aQLixzc~z#eSLlG5nnMN5DHtlyzs-jJP3#ih1O`i|J{)o0;lnj4*y6ykA$$AeT@H3z6SECkh zeJ%W&{;7}nn>wL)kpFDc{I8$li>yEG{#odl4+q%Iv3^tyRQKlo+B*a7eDE_mC6qQY zhg^I4z>${>HZn6OOe~m`=?`QV1u`>@%<*}X@+fg!Nj7e?^Yff9nfH6-m$R#awo(F86XR&G?FC~wjP zM`=GN+7Asz?wI_%n?@BEjn5vJOWl(j$efaw6Y!ysKSBXtZr%i6AX+``CJP=8a0 z1&WHt>2+L_H|gxNx+pX1>S0}!xU!grU|JW2(nnbZ{KTxEMm=(FZlT{jvnUtcNfieQ zGV^mM=jOW?LwBfbyZ57%iqKe&e;kQ2aU$tnuX2z{( zPVVG9x-S?%9+XR=iP=TBWai`*1*TGM;{w@}CgkV3l~W@`x?NDn)-+O?E*nH4>Zm~I zJh8IJ=NJ2Zt{LPA+;e1v{CN}e^0SNFN<Qcf@okKHOTir78e_?h=tQ49V?j5XrlCI#E+{{Aq=($CcT^pAoU033k<13h=c!-qA z;bx@F3HehCeeO->BD&7cEsE6RJSz%{izqkTBe|7wn9c}Ax+oDLx1f+14HOhb%Ac4A zXP8fcgnLK1S=NwTxRbDeIlRQpWDTPh7?)ibDW5|SM_3Il|!~!|l{)pY+W)rjm`4ozF!GXgk*csXG(|$=2FnYO>?NVVjJO%TaonPp4o!+X9OU9(!DeznoEi3XPJqFE%)cS(;j zpm~#`SYXQJ3FDTPLmih#3$Vx&(nk}8bfpMG>LTsfY_JzugGD;J=GUZ%=(sSKg zk7|86mzP3nT1O}n%|K7++CaO8z9G5M4YXAvl7Y4gL@?0Em)R7xqq?%uR+;G1M759; zy0Xy|OdCC}pg8i7M6%+%j_*<>yE64GK@_EA0is1kT%fB8T+$^1q?ybyVYHypQPibG zG&4S~pm3_1l;iWWT|3Dx5joR6IO9zAPPVhiCrMn(<`?*LBR7LeqV+Quh|ylSA&NcCJ5h6SjqPwT2 zss3`$Oqbqv%cY@m=ME!2m>#~$9Pbe{-0sEFNogYGM5-D&LrG0ta-rg*3&Jzh>=<2; zLBd4O9U^lqyc8y>duqfUL}uh3gjtFBC>f=JrcH9q9jwe+I;@&&fgxlQBW4VSHFeD$ zN<3dh#@IcxKrMG8W~!}-h}p85cFi9Kmo%C^l50M8y9Q^wD6!;SN<9%V^BQ!`MBgFa*C`?$aSAl6tzWHB{TAi)KPhp zhPuv-JiI)lKr=iC!HL@}ML6r8DqFfPnFa0>o&s)naVcX|@lEb|9NtGrzJ?YC1F37J!}!nLj#)dv5wh}K=N#4zqYH*`EEGLAJVw&C z!N-M1w4wXxT@-K+d>kc)lSLk>Hua;H8HLva5lf7ccMVtIRfBseciZ78(Iq$jF1hhX zirzJKunea`mSl(Jl~ha5!WF_pkQXE0u@jtUeMhS@m8yrRaE|us9A>7!o^K+ecS<7=>DQWqxcHKS*5?OvZMlwpBA_>n{ z=TBVHabP7p8Ouo6_em}-VWG&@{t7-N<66Kqj4|_ZXlDq{>|7Ndg_>pjT{VI+l7mE7 zS?7qti}8V^(FN&~CPd2{#Rr<~5{{!$F5MndLiPR7qJoJ-vIE&&77Ae|a+#=1VGts> z#Up_8Xp!@W^O3g5`P4eC?;__r!o`rId2S}x&WA?}iD30(fo_jl**X4kgK)YKLD(pq zEsRzuT7kjpq@!CdEF+(jjFySc(Ff5kVIJBXUBCt1ioi(}x>g_7GtSedZu4J1vg(rW zIQHsNBJ}KR7X^6o7wRML$aU(KBU`CWp|6lL2m5lz-7<;-i(>N#w4Vt%%fo$)jnsgz zs9*{i)^WLoYMLW)N>Rb23ADy8%ATm+0jT8Mq9QCfaO=b7e-1{ZV5*UsJH9A4*F08T zV7_{=vZqbX&d)3i6lLb%4bGGz?6MY7vQ-g+DT7Pl7*tX2c&!oaJ}R={rklyC`7_l^ z*}~#LX!3+y_T;1{ew`KbWr{KY>JgI6pNkVJzJeSjW-hrTzsj7zFLty2{?OCndR-Ir zw-=EL=%-+!mf`a>kxGP~&2cN`?}{0}t_5L_cEzT@OE&#`#ipqZ+5l)hFDk0N2$b;( z&oG04@Ej2|GrOoLd#X|@=o1ZP!MMzvg5sO-4S*6uG)5ilB09XH3HmFvFuf-I%q_~D zG|r7VUbjW&(Ch@2Gtpj3gr}Ix0!IcfEke?)bwx<3+tX@A5t0;s%q~(szshsT6Q|iDo2Mi%8^j{9w%hj5FDdtXME=M8< zT%l<^nI+r`&j~q`?2@l5up`^;c(kL4zl#=-?{Z?>QA$7e&HXVx4=?j*_Na~uNs}a= zW8-rJ<9u8%Zw5uK)qE%429z9!a!C zW%6?;MJ%JfM-VYveG?&KwqHeUk+S*dfRX9X9#1xAB8_UnIPq}EwJn_(Co((az)Yno z%o*?2fgv)7mvPBpQ;axAvix0F>nswU?)KFarz-0%#`RJCDMtbMa!h!pLmL0&30;a4 zUPdyeAXszHDxo;aVHOaEMaT?MldxQ+2DlrH0;A0KauNTySeU@nLg&;B{nmonEA|pw ztgj=(A1xzS?VLC=LdHz1-?en8IWSYhPpx-ZAlp$w#8v0*UAPH3i0}TaI{okRZ0Oel zB0L<<5`|T5k{!+O)qF3O0m++V=QJugflQ|p;7GTn5@VS6Sc-rLTYiGp9!4?))|~o zI+TS%^N5d`C})C%3_V2Tn&^zp_*8`4hDXF9C!-|IZNb8!k$z4~OSeydITCaIT1d?u zX$8=t{pwhmp5_Rot+Wtx6(QV0vVLw(OE!<&Ig@Zi&zYvovYi;#w03?_OEpg&YDro& zFR6Nb@0`y3gdTsHQ_Zbln1liQWtz1d)<=!Mb!bj~&gFBhq}5Zhi*mG)(NB1Wq-nb9 zIBaUBPLeY?80wn}3i9oAzk2_sXgU2V6dx+EZymNz4&Mr89@EuG^Hi_ZXSQ-WPYj#M z<|$++Z697XbF4$pVF@7zrX|-I+v{huwWLt-wd3Db3Jkht>dd$ELg|Y&eh;symU-_u z`)(!cGuzgLNyQU0>4}MIzgydB5x>DRo>X3O7NSJDirtbsm0g0iP8Lg`k;K=Vf<^ADP-tU~ic7hh|geGQ(r#hT}$lR7R z`|C7%isoFbuj-hzKL7k7-vJ6uboc_7EecN3W}N*pTch)B6%GBilxw2XXN7G4Lx{l< zoNe7}KX(!G@!$tw3{MCZn(lG@GaPA#p{E;;bh}RH^P%m8*5~BFuGwzQEywZL;SLuCr@qws%vju9ax zT54#Uq3xJCUaju%-f`AqXlR7w8Ct5{k}kiqcIOi|7vWNb%3-4#JFVmfx?#-^jyH$?X(OctBx_V3uG&uv)NIut9LU zV4Gmfg9;M``v|5Aju!L@P8X~aTqsy4xK*%4uw5|rA%(pJQv`m?anxoF(|E zV2$8L!Dhi$LE{mH34*-^2MDGM<_MMu&K9f|tQBk!+%DKA7&BjCqF^7vRKd}LKEdgN zRe}oz>jbw7wg|Qh#y+aBmtczE5Wz8m`GTc_a|M?Ot`%$)+$q>0826aMB*84fYQb8; z2EpxuZGth6D@+vZBbX{!DmYhgiQrnnM!}te9fEOB2w#F(f&sy5!CJuv!R>-==JVAG z`w0#gEESw9STEQlh(D|fOb|>J94+V*oGw@|*d!Pf++#lflsqr!6PzwsCAd(qPH?MW zi(tE8>;i?o1hWJKg0lo46|525DA+96Du_Rl%6tlr7AzHb$0oM4?` zqhL_bSSs}kju9*rtP|`I?Ej3ybisLoHG&<2@yitU7EBc^5v&qiBG@dL_^iSt!4$#% zg2M&V1xp0$1Um%dpOf|l#|Rb*&JwH^tP^Y$OnhG27aT5FB3LE3M6h14Sun9io);W0 zm?bz*uv)NLuuZW43nHiBJi!{l4#D^rMLxlKg4Ke}f{8B)KZ3&rvjj^7>jXOl``1do zV4Yy2VB&JASFl8|O0Ze5MKE!N@GCe^uvxH8u>VS_Pq0+5N^pr_vtXNGY@Na+!7+k` zg0lqc1nUJm1pBX&b_GiX>jXOl`>&RAf^~xRf*peRL%UpFFjcTbuuia1FesR~R`?ez z6r3ekC)g;M__CB2EEKF0Y!pmfr!YluxL}rGiC~prvtXNG>?;bB1jh)@6RZ|&7EG*{ z_5@1=O9iV0mk2fswg@J^D$fg+2v!L;3$_XNU#~D-aGqd|V25D*2H{_@P_Rz0Q7|Zo zKU~B72&M>@2v!L$5v&(%HlKSi1)k|O>VOZD{{)^&{vG&>$7lq8;4xZ&6f^GxzDfQbIE!SV zb%Ez2^7p{Qs9%8RdyOGL>a#JxBRobv@CVWtV5i5J3%rNM6?loqSOPqk;&xy!udx=G z;W6rg0pbJr0QDPiJ@qHBo7ae=^@8U=q{qO)?b2Y4&ZC*TQQqXszMYt#atAaw+;BmDyQB|QM1=`q@XZM4#)b%bX>uMq>x zrnnC{i1YxsjQk?7#bfjV9!%>B;8kRwfQxDV08=S$0tQJRfG3ll0{=(r4B&|#qZ&Bg zV=M#~Q2YwaAw343?KK)W-D_+IK1TBtcn-zcwEpn?PI>^WruhN9l=Krgkn|AvIq3zE zV)Ilk=P`x=Z}b|YfhUlj04GuW3H-rhOb34JF{*$klfD2)dyR#_vxqNX4Cx8*XpgZK zNItR=*pKWEa3|?2@EOuqU=ryK^F{p9dd72s$A|;|O8f%JW+wqtJVpvI&SUfgQtUPa zc&gVJ4m`tai~*ib@gVRfuaOTtob(Ln@ffARmuOuI{EGMoQmi%)cnsMWU1@Q?y z$7?hLhj@)3@D0*uexBwL@D|c%(g9B|vfID~q|d-w;uClw*)QN=kC6ksj>a2!8jUwF zk;WN#IoTuNp){_*ab6>q)@PpkD82`tM&k*bNp=C)PWlIYlllQTmc|o!G4%tmhQdauz0oZ&H=fx}5|;0d&T0Zt;j4NM@psZTwZ zd5m~qFOQJ`e1zl%-c0itcmT-_Ttf2`xR&fQ@L`f4_!rq_V5Zk-1pZ2T4je=M0Hm0? z16V=+faaJdpZqBBO0O{hcqG{?UJics$h$e4FY8o=18LJc8;6Zl(Hx|MVJjfjQ(yfd3-90Q{Ql0q{^7Cty0w zBjAZNkAMdGSKv^ZN5DAJA6j>MC^n1-UQ6=`cs-31@H?`f!2P|354fDh37FtDrUPFf zdkXxS>=y7SuTc%Wl=K+*F4bJc;xYcrD2ZY#@E4b*?9k=tl1^&@Z?`9oU&dQKrd171${1o#g5L*O0MpZ9r;9tY8U z2lk}-4vZ(g0Ukne12BQ+De!RWXW$XU2k;+;(Fb@m&0ksmy#a>jx>yX;Apaoz^e@- z0KA6A9e5qZQNXbj*8p!MJqKoy9RZFbeE?3NxDuFW7;}NQ&^!Z9r1$_>Nbv!%h~_)c zPyGxG(0BriDeeVMCj9}HkUaoSrFacEjqDQeHk!AfeyuF|BX_~jdrDPv~ zD{1_Jbu|9KdK!P=t2F+=jWqti*J%8Kn`r!jTWI`&@6h-In`r!j@6q@J->2~hen8_7 zY^L!Cen{gF{FufcxP!(Y_z8_a@KYLpU<-{u@G}~J;FmQ1z^`chfxBq@f#1;h1HYy5 z2YyfE4{W3H2mVOo5B!P7ANU)MKkyG4f8ZV(f8d`q{=iNee;`?&c|b4u7hpGvzkuB- z{sP959RnUjeg}An$EX1w>M?48hk1-T;Bgc;0F!9G15YCR3hYgG8+a=DOW+w~2Z3i( zd<*PH{t9@$$Jh?Mi2NxqmF6{Y5XHa1q2#}T!^l1XM|zBQ;1%R&fLD@V2aY0pGKcVL zvR}Y46kh?eDJ}tyBRd1kCBFysd5lD09{FitKG|8|M6yG`NfZYF3n;Dy-b(Qp&`fh1!gkgfo5F0G@0v<8|Eq_s#XkYeH)K#Fx{0m-M$29j;B0+Q{W3nbe( z54e=ZANV|tKd^?zANUfDKd_d@AGm_XAGngnA6Q4@4_r;-4_r&*52UsBMj)+q8-SZ> z{DE6&{DH62_ygaf@dv(5;}2}4@ds|B@dq~1_ygag@dq~3_yf1o_ya$q@dtiE;}4|u zt3iFzqm{-V_#KTu@HZNN;2$*pz&~mHfq&8X13g}&7qGk6NCL)^KLN&hjo!e6X#D`} z=`~V-hj@*Cz{4nx1^$EL8sITrBNccYtvi7yQk)Jvnc^K_Z?BOKJe}4Xz!Zw#foFM* zvB2}ZMi#KY*T?~0Nd6soF~u3c!4%g6(`bDM9O^YnfR~Wp2afO>rNEK2z64%Dei@kV zHD&{^@)}h@TF=h~UhOsJ0k82Ij{?U~oB$k4eioSRHI@K#y~Z-&1X?!&eY9=_-c0Lt z;4KvA0Q0>@J+RPgYy=k3dJX9J8e4&rDP9Clp?CmTLU9*xDy`>$)4WDT`Ilv_vB9b2 zqJuHypM#m(4P(m&qw}R0GVYxVc<+Mm@P~tZxZTy#NuLFH%jrY*u12O4KqGNiJ=6FL zD?a?UtA^=bpp!sXGmTqcZ_rgt;}41ZaGYdUDbvXE;jg#sDrCA3=v2^IOrxl8IOuey z@rQ_f>7Y}Y#-l#`nX6qXOydvJ__9DJF^#Hx5NKCC(?dYx&m8SCm`2q;{8^=4ZGV9t z0lE})3)5)IHw$zl)1yIGfv#s7P5b77u3;K~!O&L?x|(UQ;#&f`ifQ~scV7+YQl`P0 z4}Z31S0U5+pzA?rF%4FI4WQGR4uEb1oys&=_u(%w?Mh*KI_MVANlZf&Ul4RW(=$M~ zfi{?iXub~6ZGVEsU-GY!#wiJ)tkeiU>P=xU~` zLH7n-#Wen6lP?8yDbwg0Uw_brOfLhS3Ob8vbd_&7=yaxQL8pUGWg1=Q8v{CpY5XNp zUl!;jrqPu?ALw|d@fYKKg`f?l(Y3x3&~1A_Zv|b-@-vOD_RV7XnQj7I#qu+auJ_Gj z`I+7hx|-!@8bje*!tyh{6LbyB&oqX{SI6=*-3q#%8)8bjx6 zX8D=k1GkYb!>15C;pi7yCYWVttE@Zk7=v2^IOhZ+C!$GGr-4Ap+ z=v1bmI=(TWQ-#nI|>9L@zS$?LWioPW*Khrs&Ygm4!p_;xrmY?Z-(Df`o(@<4k1Iy2J z0CXeE&oorm*Ua)WJsorl%g;1a*%xH_nVtcv{Y^$1}Z=#~-x8bOVn+=(Y~fTY3Chex@6F{8@gc zn|S>@8t1k`I!##__O>>xAOS2{7kp;__O>>xAXY3 z{7iT7__O>>@8R)h`I*L4_61pfrei?2vHVP9YWq4^{$D}Ifi_|wKhv1%zF5$WOecVj z2VKuJroJx`bPdzJKqrB&W*Vlz*Bf*d)5)MyK$kKN)8Ok5x{&EUpi@C-F%47U8xA_1 z>3*QoL8mee)8QKfI)&*0pz-H9cO@|mQ{wZ1j%RuZ=t9s2(=aW*63}hGfF1$5l;vj{ zrp7mm{=qi?4HJH2LaSex~z5*R%Xg z!&LbiSbnAhpc`3!reV5#%`89D(?Pee{7jef__O>>&*1TA`I(-@_VC@-yAatOkR0v!k1=nnarhN<_( zf^K9w0dzd*dZuCeeTkrJnC=BS33N5na0R~JpsScp2Au-BlxesIUw_brO!onu3Ob8v zxC-BJ(CJL~1Dy^!m1(#R-x$y-Ob-B^1v-goxDuZabUf2TKo^2Gn1*Zdm4I&h5%dVq zr7SGo1svhUI4(uE|%&@-v+e zx}N1{8m`LM!16O40Nu#)GY!|}Yi9YGo({T&|`S z&)gQ+FL*!QjJbZxhAQi0md6U~&J8hCymURki!T zvig|vvYnLFxvhe+B7Ww!;$54{@T6zV^*3xN|D|&6DLOy>x&DQpQQ0!Ak!RKik}JyE z)!k8*oQ4LlKCHwaXf-PFXNQezsj`Y*$s0oXO{hqV4Sq?F+_~Y(&lG1pD9|b&k{nY} zmUxj$d4NoB*~SE_pfYf>5yB5Yzlfhdgr1*Sf5(BruYNU)Z;rwG!Kf^2{zKInyzUP( zkM}rwmltB%vD>#2%({y(k`f9jQP zV(B52Ih5M07#cUTzW5APwC|Ske#xuPQl;X{M+^lNBNQESHzTU9C7`PnK!JDF?4+`YfUV_p#vIH_9r^<`%j3K z;yt7!hX!B$83RFs&!bQ|*{DcM03TDq$EM&-wAv{j8fTY)zG5(vDvINR{kXd7Ptf03 zVbfG-yig5JWm>zEpuZZSSkwzK)3{@fA}g92IHiJ05j7p!pl&_XZbfPwZm-6Z-8T)5 z^OS8&y8cFL8)~n&U%LnGC;g4~ANfIVf6vcW`*;3mwSRJ#?f2vMt9R^s`$vVeKizKM zW4C|qZ(X%t`v=SaH`;%sEkyoyTmB!c_Q$tIXrJn47J~h_{p#&#zfDcMcA0hwIxB68 zmEV7IW2Gmva()GsBI;IVg>Qdpg9=u#ATeZAkhZOr?F(-2`W~jXxQ8%@q;@utiq!Pq z;&;aH;J5AL{}aEN-|PIo`jf@)P#1oSzOnfI;JYw>hjhVj({JE6_5a52^WW+G9%A$R z;P>JDKJ}x;?Xq)Yh_+5(srW2`AluEpq7a`tyQURD~Mx3Y&Pd(E8E+OjP1fR6AXeH{`U}E zb*L^UCr!grt{XkA<4t|C`@h>RsMQUk8@b$Z4Q9BK7vY(?2tHM%ju zmwr^bxMmmY+b|xOGvJp9&!zPR$8x$@zwmsiWrLGX`m;H0nNsx{1*|{8%YK4rE1S5P z#LBdqa<=HURxML3ozd>5Ri_78t4?FBT85MgXuZ0P-(_nRJy)YCSK9ZMa(xt3%Jsb{ z7hbNfJ0M)Syg{X0c2-}9>ePSD%B582g7#3=S-_bMtGb(tapi7@>fFgC8dvu)OR)Co zs*}kjnl%=VaIkP8muS&SBs)qR{WTm{K5QFn-qGLMw9{X>`ZL70cW&tZuD*VInx>WI zq{undb@x*H;-SQ!UA4=xek-?K#DOSIItYLEPq+E8{JSpvSqyVkxXs0%9p>%IpM4GX zUHsXRUN?Vsgg4xuE&66({28T_Oas5&SC4kwSDjc9#+WXxrB5e39CzCS_VM{Ls!HA)Wu( zZq@m_K9AD*E1dGS(Gc_tKF|tjJt5LMLOFXzhiI9-ZZQWX?=#5STSB-uzJ#oNoBny| z%piT?k?4256(1;mh6MLxer|o!^rAtVEj34Nt4CbzR9ua+xsn-bGu6}rrp}a*^IT?% zZ`XVl%2b@1t}($uJHgwK>#>;E;>Y1o4#anNZrHXJ+`w*d6eAi^S=_QYZ98}K?Lo!g zb{GCycH9s&`BP?;Ha{#Oy0xLs{*0UQw}aRIYB7 zVfsmEimIPyK|%{VQaoK*_EW2s$8Hq;^C|L!%GduHo?rW^GoYKS^~crUpg-2X@&9~( z^!n7~)$kx3dsTU6ZRD}~>tAI;aZ25${LM!Cb9}7Qm?GICb z({`alUU=PAe`oy-{Z05p*WbyXTl)LQCz15`6IcBWkAH$3|GbW^T~xSKDOubq9Mq{? z!#y~HmzmSmHm@1~v~x1KX_@~yn%)s~ow(Xla}56=JV zjtNXwCU`2mWgVWtIR9Ha1|`zMfhGp&bo`D%@dUA|xhgbwVKbVmT7`Eu=Hf#*@xHG( z86HE-gf#Q-hwt17;dqU}4dhY-yC2&zsDEXdU$vF8V^9h~?;V4B6C~{zlthq7g@q5{ zf!U$PmVeOMxyw(QP+4}56*n@6^O18cbmSNJ`FGTp=-&Ts!erylq=!!aq%-{e(X}!Q zWd3d29(nz7qhVOqnjD z`=TrDHitHKMt)zFg7#y${ldS|{x|P&#B>kOHEwvg&BL3-TxCWOlczGH1*0-`Bcti`N{m-j#W*uskCCiTB zf$)=?bm_x)2Q}$io6!3ivKM&yhn?oO;Jfd!X)xs--OQ7}u2HcZXUQ9Dy?u!Z-unp` zV)@Do<6Pst4#ay@I!O&nFXAsa>{E#IQoR}dAyPZxeAYmzULCZn*4pa1N>e2{~Uj{+jRbp zu=$(+ZUp}Bf7_M64qi{EF@GVNxeX(L`G0v`+V@0b1}wZliS>sO2MwdM0mb?Ja+fT=!;+0A|7iMZ}=eWwKK@d z^Mu4>gWh$-W2*{0X7r?Du{cDi!K2=FiN}^Vb(;J4t4a5Ezs&wXi^tkO0#{jU?Rc!! zjK@m4e82et*msG?ZVy{8;U#XT1Y>b#FgCA=gE0z@2F9$q1FgZl=;wJxvuufYoF67J z&i=qW&$G&Lo@Yda^E`(%cB)OTwn2zx%GFxQ+*+K2T*PBZsrwL*neW@xelTWQaOsEW z$s^W?=COw3{l?Flq189O%!x`I_H4!!JOd7`9Xd@o{q0WcO?zxbnwS(;`|LM5@e)Zq zytO}|29(P6R&6IM>y@O;6#0*qU=L=|zuL4O*e{`3xrePsvtnwy4062M)ut)5LAM?b zRZwC%-q4!fr0z|KHMW8(BI+oZ6LtH(b+)7%Q|DG46c~5W;R)APje>?VX!i0|MIl9-K$X3>y-mz2lc#U z{i_|_khTbE4do--cF*U6l`Ift%(hPIy&(&(U=7Wz-48hS&w2b)g0&x@OOsZaUD~F1 zX~ccb5QFU8=e%<(y6t2c?JpWFd*^#o=>%KnXUq;z!Oz~=s2d;IVl${s5ttR~(nSZ3Q6+vhXb9xr~2+c^nzWm(k)N{x<(VWZg6 z@$x;g71rXv_c{JsY48?1i>qGHmq&>B!ruq~^g2ePpY(dh+m?I$=nX6EzM_FSC7Dmc z5RutAZ_}{2?qM&g?eVeJ1A+IzVap0F9=8W2YCL}3>-u_N?ORqXKG0_DWUv$U{91bx z+yB4O{zqH%_6OMQzxuk>{^U(vwIAU2TbA#8``3lEzxGXAe!Kmrw|3Qj`@1av-)R4% zh7kGf_Fvs%wSUAr5!yG;gT_^6v;_;9hwZdP!kWC8H=D{6D7NijWviT1nraxdz%IW! zro1~A-fe2(O+Km0^5gZpzc#kHJ}Q1^~k#8fMkv_=SP z?Z(E!2`#3cocT-n=D5QDpzK|?0W#RpI-Fsj_oVHp~G~y*Kg`2_4so~)NUU$^7!`N{{OU1BQtLebMsoCOk zq&HWnL$kF|{)_~4-}#u8X-yS9RQb~1yZ4+y>t3Vu_a1>uHGW8>zV+*RbhCo00Ppva zr)g9#jbnoAwm4Y%SbgjJV`KM>^0e0AbFZ<*Tf9kGJafSsZ|>2CMxn57WHDg?sr?tX zu+d9XFL2{`@H^!g2}gPBJvMkSx-+AROyI67JNaxwg`rjsE#>mcYxjC`QXhvH#a-*j z6^6b)*zX4-#zlX3ebe+>$osF?t@X{CO%c{N>)&*Jf1u5WtVS@o^#$jA z81l2shnBA9!xnQstj4!of<3vy+ql9GrSEE%^zAgK$aMBb3A{S6rUFJxf=t%_hc-Ls z!=ep)Hy;ji>awkWKW>5k+1gS!R%v3aHXkmchJz1p{u}dQVS_avPJL~!=EINc!H>Lq zxd*&h2j#8#@Z6^8^WpLJJRcs~pv{L>qWkeO9Z3Bt!bgnEb0Llo?^F9vZR&bH+_S#R z`EbE2(dL6XEc@%5(2H@;YsNq3qP;TyJJzdlR~G-`&6e@s2$9XucET%GXq*3f*wNT6 z4c5`vu=4_nziXJk4bSa6e;0=E_rxZPzhs@iyI!{V+qxx;zf-&9Z{=3-cjDjR@3B{P z{yJZ?_?xj_i+=v2UV=V#{)5?5=Rb(=x}Ri% z+IyMuYN*Gn)&Yct-<=BKB~O)UPt3Ge?#6oUeV=k*XnO{?@W}rpwEZN; zJ+yWD^Ubd~{rP)qT>SY@hUL$_KPx8*`|9G))q%yN_3YlL#Z{jRC)mNz{P`qmIJo7N zuKan=8F#Cui>K*6y|Lc%=@~DF`*gf|fKMM|`}AYiIAV;1{UpY)efmf1!hL#vC*C|G zh}qSh-TSV|aN^|Q*REy{zkH4I@KN?$wP<&=I`UAzu4@lJc7x^N2S@Pmmuw98@XJW& ztDO25zX{qgeX&#j+P@L~GX`}%-`Z7`!40pWvNIQ(E?|?rzsI#(8#*NDc^i2r2a46} z6*Zq0uIW_!dh$w`O5M4rqvZR|udPQ_eHY^U%>iD%9!89nbsR9|kct^))w1>K_{#I~ zrtVBw$6tBwTaPbb^FGV&Cbjt7y;V8s-5XW^>|R?@77MJcD2oR!t0;>DF0|IO%K!C( zZDIchZy!8~`MYm{8SivBPS=XZ|JToUk7IWS$3@n5yZiUB@Y2_w~} zHZNM$>(HS7zHD`;>rf|^ubjiK35QJvP`pEv3iw})XQ9jYL+trG_*F>w z{8J(G_l{Ni{Ixp%VzcAFTieC?EIFL~RXr-diYxD^DBG@j&pdC;Jy;t}XE!ZJPx&g+ zYUSMba>%_|jv*(m?o_YJhsC{eru6NQ+D<+dSXtKlPpQ#7q-{pk+3=HT)_mKm^WWC@ zArn}l(kD%Y*dF~&X}W6w{CzFNI!88suUyq>?g78QT&y{WEz8YQ*5 zg}=Zny#HCPzb6njLl|?9%&%s~%r9!z)me;PXfbAU^Wk&WYHHn@u+`KBt1Vu2`_;4# z{H0cF_G|mz?T@a0Nw;6U>MZ;9WUXbtPF@w!euce1y_7jw@dVzVvaXo+&-woJE<<7) z_5RemqBG)owh9!L^K2h2cf>z<_@ufn&a>6N46c%%P+fxer=rJkbvUCK{r%}fVBh8a z=|hIwdA0|oKB<9Up=Q7W?fZGQ?^bp0{du-`UhFi_v!!HpI?uC>dZ|<1pAO!K_ow#$ z|611n$29$F**pEZ?gi-AY3Ba_a&4WG^QYLoUsmdN&(yID>-#+E!S*$1KkG4jeb|Je zSQ=%tSgXM#wUX?mzVMT%UX3Q`tTriDZ}{1b)#q!#>g5TBdkoXw^+%ak`H-bq>wnP<;;#ydmyNW4=zxT|W!zzyd=NoFVlh&*+v~RQ*10mf@44=l~+&NeS#AC`3&U@bOlSI`g@v2W^(I>sg zpFY#6Uh<|Y<7n+C2y=14e#}nwBij7gxp(vDC~^m>J!iBS)_J~?7cCq8=X2(HzIb(> zk2$9ddSW)wAkbns$kI93>v& z5-qE`DKlMJw!`^d&|)qTTy2&3%=ul=QO`nAoc$M~FKsK)hhrah>dV4EMPFL>R$mIs z`S?Xp&8HSMpPJQtY7EZecG~B$xHPpI)YJ-Uhs!pKi=e^Vs0Qz5d!FscXrOr;LBB3r z2K~CEf}SJl*&49Uw`V^a(Dbo&@AUDg|ApDVXKnlUzrC`5 z-50Yss}J=e>|pH^{RsZCMA^R>Yg}8M_HT*Op6*tOHmChtqO@l}tHdvk62(iD_Skj& z;V3a`N!Rx8MYex)o%)ktzHhDG3;i+o#};s9J?EPIT&eFpJNCzpR3RML-1Cf5j2XnP zwW6A`#9ApVQ&y?V{ibAYzG{x94{dv=4+kvP*DLwYSi11TVvCDkp6={ozh~hKXg~gM zw14;0vdh4Ywl1~WzjZNmu}xFEf@iITUehAgy{rBU6`aE=D8KNA?mVeRb?fPiJME)m zsb*9mKg*M0zc2c-2JByXKXaU*c;DyuMfHmyNpE5Q1Y45DPj|{Ga#NDrMegr&LiazJ zskQex^)v9J=%XOn`B3KlA`HnrZsMC0+T zoRcz%?yK;F;=!B+O6=A6a{!fP=vme!dg5WSiFe}fI2g|J{a6q44q--YaKUpt|B20+ z+h}Shi2v&F1bP=8QP$xN3@hvCR@_^K4QiuMnd~y_XBCy&IW`ezo8tj}>RZ3NQ3blY z8$^HG@#sebk) zxIf8XJ}h)|F6{T%7Cy`K|6Z3}CYnwS&TSp{{ic6E1*V1wGoL+e@il&dW*x6xpzP8R zYlr9SrPiWp&w{WWo@f?c z@H|-L4GZqx_whXDaeX{tZ{#-S32i(lEUmmizro+_kLmn< z`lQ8Q&f^+?=gqVDiwoy3Z$V`Kc=vWd@R!A4@TPLhTDzENcLujV%4#;BSF>!J|MjG0 zreAr?iWuiU+==()6$XAfE0;>I#!o9(zBI#JE8u;IdbzQMsw@vUcBl_!ESvNW{tn2QIXL~MJtM8h?{#5 z7^v@DR?hiT{Z^j*+Ezw$%0oD(8-K^0O^b`K(&JE-4+IRij@rbUU7e8U?=f?S(etz(v zrJwnahM)hdj%E)zn7Nu6T>oD~y^jNP`}%u!XFnnyhc)wo$1Np2YQ6+EmNBDPwV7I2 zg}*#w{rb-rD*g%Xex%d>J-dr&;yHiE&h7iR4=x1%-v0~#{)ct`-+RpB|GGzn|GI0{ z9Eo!Z!u+2o{GX=tf5zio@Ne$t1)CN?g4CIgEjqOo=LiuZ?);VO+kLi%h41iba^E%& za*vfwyd95rn)`V-J#0q`d-EG$qKj*6U2J)nbum`9`1t1}20RXBEVTF2`S*9;e+tqM znqeI$yL}I2Ebgehy`?;@S-vf1{m4$D`c{!GVfYX7Xc9jBkmjlROI^Rthm?FfeI5@N zb)kG8L3mGoz!KvhN{r&VhphcS(<_U;nDUU?KXLztxfD9ZGVOP@4+Wo|I7aW(tp=J=ATS(KXr26 zgL~0`KR&P*{rBbrF8$XqKVtvM`R8hM--bK)-9BIVfNr0kc-XSf$q#Dw`D?o~wmuks z{&{{h`yBdvug^XKPXEE2);c+@jmGJmxt)&Rd;I}Xjk=xuKxf$Ry}o$A#q^O6hW_3w z|0L(Z);L%(YQbC#QMBKCJ$ zIkVaRMcC(1K;Ld(I>$vt7Cr0|2HWxP;~f9~d*Airm^mTw??ZO{J6F?>DRb=jcW!w6 z`|#fDN9AMS^tU_qT|fNyJN4t82QB@$dQP~0++Sre{p*}i{W#Ve@_WFReq3=s>xUXS zQ#H(yJCrl)SH+qm$C{y!T-$xD8c}|b^{xBVX1J}Jrhb^pv+O>#8E%(&&Qap-`&{&6 zrqeEmo&S3j9bbC;zN^UZRr-GL*as{X`RqO`x?h3lKI-qS%$<++jla?Uw5m?W@2xb? zwRpJUz6ig!(hnA+Uvk}*-mp>5tBPjL5hI;a70r~R#C}!K`S9Ock@eKmk3iZ(r|;6u{e*Ws>d-6niTv!r5JMw_8Bp@DfJ+ueDf;&jkC?E_)C<0 zUS|X^xVW?T5SJGeH{X6V|2>cGJ7U^~nydbI9^$O&L3(6$G1?9Fy06}&SkO%ET5A)N zOJvSfBWV}d_M=sRhl&bacaQm3Z_HJYywm;n!sWc?xy=7lC5HNbJM*u7 zzdhWs*he`{{tsjRv+N_AMOBu2`4z)w|F%&bxFR?5zKcBOna$u!4{)L2n%R+$YP$b^ zHh%x~LCCXhiV^;MP1m!l`~PwGEpSm4?f++&RhG+P0TED4mq0-T1x53M%3Ux76i~br zA}kjLc4Zd@#k-a_%2K!dFGjCp1E+&oJ-!HNm{2~Hr{iy+$<5=Iz_H&r-y@JRra(oJHpOt zlFkVEd=stHH;^g+ye7u~!<&iyn|}rRv|=qXUc$Kj>L!`-+3RGrZoi4B$C}q#kF25n z{#nrj|BED0-Hc{moxQVFyKA6l)czf%5_Yvl4@y@foF zsQ;|Di#;O!xq_7bzT*n|bJ}XB{(S#>xj#p((dd37)r#GAj}H3t@mr|wf490b{aKdh zrd!GU$I*FtF1S%G&rjFM@+@5~%k$y2Zse)V|48{u?VT_G{0*AvllH%E zA?ttp71#s&4eIgb$XeMROuMmN8ecf=cUs>6+CWXffE(LY`**9`>3N_xxmpAHJW<^L z*+BMx>aT$Rr&b~Vm5k}`3jbSfki}TCp0ZQ9PO@v_4b-mfIZ9tZ_hq(?*|pr8X{9FL zAlbFpb*?pWI-eNo)0Nbxe(n|2=lDu>eKOX_^*OXkuFsM+v_2oMk?Iq-lGf+hU%7UA z@lCWoH>{HCvz0UQ^X6}fH)D;q**dS^Jy)vryLq*&-#VotnJsSmm-M}o=GLcfLI(QS zNSVraNstNchfF9->~jJyD|?<`!ld^E8D~pZkhK7QV0vBAPSZ1~zDWkt$}eq2dQi18I|;eq#}0=YaIvtJEEa<3V&R?TWc|Gdzeb{bE=8Klv&S#iE~i^G z2!ecQZOPYDg2+Oh6hZC&(!kAMk0fw*9`*0u+AGmNr!FomBl>p+D@EJ(`c-l>AII8cY*Q)b5kXQ++-E_>e70DA z0a@9R-bG#sJ_{O&P0zG)Gb$QUNdSy^bx~SN#&*zNZGBM_-_N8PwUzu|?9b(D{WLcd z{R|>mG`~md_29Z9qRZ?k!x}VHMcWwl-(}T@Du5FCo?ezUx^03(M zwJ7??8Wb^mzhALE9lqax&l0pf()<0wN|Y|SUA2_|JQ&^Y8%GL!YEI{kUEC7&e&5Y2 zWMdZu1*KBpD&~J_M&^?l$3@Fz=8rB? z{txHG{>@FY9yu11nkcVufLdeto6D8@6sevcE5DJff2ywN`LVHt=X5qPxo@dFN9nhy zU3q@2$D($p=f`eesp$VASN&gpas6+7@CM}Hze^^33k z%k*pG0=0gfSuE?y?M*rxf?T*B>sBhFu!y*#T-;P1Cw%6jmFdFqYEp$lbOyJx<w$58h=5?)$5$3wl=<@s@VgG?yo!7^!=Bf2@$pTrVhWRReyuCrz z$4BS8{{OT2V*TazrO2PhW$?GCLCxRiO)`Jw^VIXTxiWvguKZOm?5Mx6@%Ho*WN~Jx zx_|HnTK=03|8XFj();(ro8-pd*B}kF%BbU|aC`kc7jBG`Tf*jeeVURCE#JYN;2%qf;ST%WJ{v{CbXl{}wtEF$&4{x6$Pq}8kE z6A#Uk=Myn@xATd295U|*?ELveuSWiSXje1xZ~p7}UoltB|5pt%|Fi4e@;|mw=HK9k z{~7Z+^PyiCBJ*X}b>2RGW>edzu?@0)IxtslKNY#w)Vn_aIqzcja|+?_+LigQRVB|~=P2`Eo9q17 zaZ!0Dx0W}N_20C=tUnE@Q}?IM^>TmeX?5G5OjfxbyR7{Fx;{ykT&T~eJg0Q;^Z#TnO;%%$OYyrTT?)Jct% zEHzfFoxeUmFrTddrd~|Z*|g#OFFdaAtx-=KbaUlt!wt2r(}tHSWj>?oT$E~My{uH) z{g76AKn;7uRJ#m!`B)IN#EDis+i%&+Ma5D}9CNM{dm8m4ZcDr|hisY}$OAmb65d}o z9ABPh+w-NKnmIaoM+y?2V9)2=Y-=Z{7}7^qe?sk}xASV+$?=UaB_04`7?p7XzeD!< znRfbp30phe1*OmDw1!r+w|_Tm%~@$@)JSIthSqn8miVp9_-I|x;dR1i!e_mH&Q$hK zk5#m*c2n!CL89k88lI(ng1oRmYI~S4UGy&7L!AaVg<4-jc2xcGzRiYhLO)EA(4KJi z*?O#gbEH2z=GeH7383gOzPM0YtH52}CoF6r^S{ZLsBipf>Y&+beY>Sj*0Wt-a{@7~h&+kNoc}_$%fcp_S_S#)3KWe51Y6b-wY5(k-@Cxz0B()M(}#vb;CV zMSg{Xi!s_^|Fu@A`|o?RWqD7obnUOGw9Iw?yXvC)k=%Nq zhKzr?%KAipg~|1QJMLzX-*HF%HKlAWPo{p~S>#!uZI+@gL2On=cVr~xxu;aFmnj15Uac7N_$=g|+zu(hCDgHXMW>|aRbByH!dZM?#Y+cyksW9G1RiDYO31| zy1Y6>-|KF}x4p4qbQ$#(YEaQJMqN`vCgdi(zpG4sOhtO1Vcp8bUq&6>Zm09zgh0} zSNW)*iy9B)s&UE;wHiM#Q&!_>%6mqes_ShkmaFjkby5}Lr7HBBC2KM7d7OV&AoCGf zotN+3)7A2AFOlWDa)w&I(`4piuXB+vju##6pOS}Jf(VOC$0_#j5*Q`_dN{_|C11%P zU8!|iyVHqrnF`}?OuwWP;|@$AoniNOm)_R;`ZW4jp8L}TZ=6P-$#Z|2pk*3;AWuO& z;)F;eh*ss?!;kP4FZJtu;nQSOE1x$=+xxY06y}i3&bRktQ`PNlx?UFBrfKT-E|S|j zX}U{$-&xX8e>#9Hk|Qd^370JyQt#QnMrC35($2M?buQq0uS;K2j^UKp|Dl+)d@$ME z+KVAM*I^aN?R!(P6=C?Q~Z$)dmGI$_dd# z5Fb6;RccA{sHeImrx3(3`eJ4x@5Ria1kuWQ%2O((8$qwaH3-Wie2sBj7ylW2NC|4rv7FBPdHwr{(nLST4;KE zXtLY?C$tyJ^}zPv&F}V3*UazO`3aL}BKI$){4M7v^eAd~IzM6lRC&#Dp@_DO^Z5z8 zlp+7l$)qX`yC-?O&YTG1*FtKIJ3K$(Uxl;_c6fe53rf)W<>%GY+AnhcL~sepZ+Y_H zBEOFdoaJ{-u`Iv6g>K}hnE0thRDM)!&)ZOn4$Yge|1Kc%BgYFd*{RGM1Jx5y>mCXs zvMY1}O(@{VFKcQC@^ktAz@h6oGHo7&!x0I z_EYbF{_M|o6hG*w5yn3!+aa_)veRAstQeFi-WYuPAa3_ z)KiOp%|2{Hxz)67p`K65P07T*i+ZeKkCD7UmdkLOLS6uG*|@)tEd7%csPx&%tI61< z*{eT&3JKRMvc?cS4FEvvcN5flia}IQA7k_V){_NPTKJuz-PqkxK5Z9>rutIZo%n-& z>UCA?A5<>G|D?Ww`9|iSX7T5ke}VZ)EIwJnU7&szrT3je9LTs0eJC-VhHsAlljzev z;ZGXx`zMW0B)z2d0=COcY@N;ic-K~-^zM2bEHns~?HV0_<=A9R)?3S|l^(=nZ1)|fq{%Sdf65PB2 zulqJ#ptAEq!$n@~ZP_?;m@K>cYc;Z)IaZO~BNM6Ys>Tx8;S!+Leyv(|%BtWCHfd?C zpUCv?H;|o|q<6oOUh2p6?z|+s*7LN^!&%)8%r`RsG>bpS{0q!aV)4lm?lK|`-)X$>?=(K~ccOQ{5xx7J=-ux`? z0n!f$!34qB@|@u;O%jzy%2^kkMr24v3B<434|0R4#2#{55EJ+LT$J0Xv#PP7?JUa8 zYyt|nJn<{7O)K+HF~5!Z@k|Ov=AUNa=a_$i`2vggWqz`RKTG{AMyE4Bk@-R3uUmz! zzNTgPIZ`v6?$GnWHyh3oS+@8~F$U1bvqT?JuA7t2QJHkZVS;>)2YPY2EXGI2Y4i}k za3cxkiwR_m4MOQXJx<+wgXG>Dc$W3vT@z^UtvRDQ?c8>TSUx7la#qhO=GQRa#{8Yk zU(I|6^BbAp%>1RyU(fvg68;SJ4>I}y^LH_S6Zq_dL@m3|wo^?!OQpBrtRlTCoUyeW z!@E{%IC|j`deP8Qum zsT$Di>sldY=xQ9T_0NIw1$z=q>CNqSYR*1MU% zlKHEd?_ho-^P8E!m-+i8+>g{hNa=kwZB#n8HY%M1G<@^UHY&ZPEPg$U-_=Hj;~$CA zp$s=~!0WzEZB*?9v{2;JsGxRfvh1o;G_o@%E3&(194T={bTW}1>Bh5D_}zGhqTY1Zk@=@t{5j@dV15#dPnK}sQ$LH+`%e8p zWV0%r(ZY|EPW%zOGx1RyU(fvg68;qR4>I}y^LH_S)AzD8TXug>CAji?D!~ok zD-x_aMRXG7xOwmQiUh}`qXh9oz%3iixv~U59HWuoF_i>;Gl&FH9IeO3s3mBUCAe6U z;OFT~6HkH!{iGrJB$?DO37+_l)})pBr++zHO;w|zqvc1(gNT4_yM znSYA;ZOo5n5->9VGz&k+{0qz%SiCRulO_B&)X!pcI`b2mAM~wC2fw8fG<-`X=>M%E z!Pakx4t`5?@LNTKjcD-5XS!Q9+KOcf28_~3P)JoIn3zDfOOgaX9Lsd@gnCQx1X(0^XCv}gSQ9cLe?{vwoYmRDd?WKuv-oq&zrg$?7N0EP zPEbFK(do=j{2G_TWYpbv3ezHwMoD^YUs37Bf89=Jh+ntU8RFN96kAUaJw#b<_Q&hK zAiRQ9en7KFJ|qvCI9-@3-Z9E}vSB!XJo!M9Y zPnFQaagCB>3@t0ZM9DZJ$=fgY525!?=#~{f(KWc?1=6?CUPwp`c$UEp3GcV8_yeKR z`Di#_;^!&ZS>V9*D{c8mccu6Fm6hI&m41FOLlR?*&%hZ74=pPae$|%#?%<1+p3F*r zn2&5(kuR0*&q{B0TY8yO>66@)9w?Vy&q|MWSNck+bQ3H6&jf}Ha4vn5Q|X5jE>`+O ztn?kuNODXMW#Hcu1AdHwMH1MgZhH1V+*h4=$al$Edb~-RssI~D7#k5TVB9mHY_v*j z_%b%m#xt;=h7G}tY@BssT$(A=Cvd$*pBYio}K_ith%sE1glJ5;;yhyg0}?TdAQ{&2c^BVUsgh zlEYky0ZAukOGsai92Pn8FxrI&Sq{E34{I0?{w`oe4x1%5B(rdQAOrhr*f0<_9&}>k znSstZOP^|08HZhrjWy0-NfZYp9wft9A|V4fqWI8>hr#@8RXwzoF<^AzR_USVB_2e^ z!zXbJ+)Z%pp}xOqd3ZdI&x4=LLm&2EfR)Zj6%TR0F&+XK4^t$tH;0FjPCUf8OA9&R~PgMy|w$WUJqmz%WPBc8wAz9v*hdR_+=BG7k>MLz4?wc?4*c#Dk;~ zITE;=GY^}cc(~d<4~kB1XFQx4;GT!w5)YEmJ}7}T$hh@lPiQ2nMq8vRs(q1 z0ena*VZZi!9ZN2-lcvkA42 z)o=!(LfKXjfIJ%lX{vCKy}GNM7&2P`hT)g;lTPQ<#f<7YDZ973=hPWb4NR zsQg}SeFE>s!O9WVy@ioMdqzVOuOWx4tE&bO;3zjeNmFRRY4 zZ#_B$8OiL9O=ZBx#cUVWC13c?Yt7jeKN#BIUDtKRx%P(B_`tFxZ>-DoWiJOolGbyu z7MnW#^_R;^tLv>o!oc`}2?DvFY^k?bTkAALfup{5#gGDH3)Hi^HvGnp% zdzHm5l-4<_OKYl2K?jWTk1)y)ovl_%B;4gG>DpHDRYn#a;ohP5}IFHX<;`Ehc}rur4Zc!nG{-ua?8Bx zGPo&%Ts1^GWI|d3MMW+W8+b3XQ2`Q_A}TG86j_8oq&3vnLqt9_iUa9%5VPc`SsQ3z zCge5=8v^g8=3)0tR~aR#D3Igotqr!q(t5Z>G6z~b4H}%?jz=wE_ftsc0Yb@ZLN(}5 z4pAMT@@$}S4r@K$7nGIOSjw?1LRlN?DKAP%g|dPYjg@PT1QBvosa;cT=&T?TM-wZ) zx(@3L9vA`Z91GD^XocER`y6tSG`-eJTBpu3pX3UDLBlL^Yb(WU$#qJ#qbh}TIUB@C zyx6QZA|Cms(8_9JYp_?bDCrKfNMmNAUeX`9t4U+}0k=7nN4T3{Wno}lP~-3pLFuhfx66$!-%YBVr6EccN@^p!S{>|F*7@V85yM;3^YEq+EGZgbY;5XD?L;ZL zBRK#lMd3YZYzJg+udvqF(z_ZIas%KCt?8tzY6!WR}*y$m#o z3^;l9B^WmaW2dU3|Bqvg%NjRj`q*d3K)mUf%17^|zjMP(Zr%ctT zhK3XdScjzm^q{7+9_(3NHE3f+O#?MgQhz{8MFg8ihtt~9`Z?*<^^PXl&=O5nL$IjQ znwnXqWpgH3?ADqF)LCJEJ*ZuwH6I6k`L=+L@|2a#dTVWZsiRayB3eVS1jK$iXjMVB zrG(EcIz(Zm>HGlhWc4RqrQBYYYN@QQL&YqxIKT!-Au^R_t*vGC&cT_8UA|*87VPby zB%t*ql(eADPUU2Svhtd11S|Z6QhOO@RBoYuZE0gkV@YZGJfapzHOW+-9VRZbplPvy zCi$+pocx45__M;boLIyXht=G-0{-Y2FH>YNlS%a-9VScAJ_^-#bG5@33)X_c{!lcQgU*}lybE?Ih4IKxq-vXF071h}rY&L7X!%}W$I%+O#vVknHcs9K; zv$V4;=4w^iJSG*DS1#1U1T8@`QY}7DkiWUutZEJORGCVr6QR7)K_CZfGnUZ| z;|Yr|+K)`k^WYpTm7 zUTKIjDib=p7Ij!NB}~uM(ghlFVnb=YV}T~9VDdN(J*B#C$Y4!KaZU9sO+ZFtnT3o& zLRLyaNlIZsQFcjYUTz^FGYggbaXHzA(@F}8CS|6iWsnfyPfO>HE6FU%O)JdK%PpWG z1sVXbr=cenrA%_lb4qsZkikl!lvD$X(^9o`PPP(|l3SRal9LU==^2?RMLC74klegn zHDKJNl&LDRpeQvzyEr39NQ0s?atlk+@^YXvNK{HrepZS$j)i3uLr^-+o!w8$$j?YA zRH)3Hj5L|dPe~UtvvYDvCKcsmVExjwbH}MdGA3u_mgJ=qP+`WTlFXEXLg{{7UY;DD znxTZ}W~59~k*V1^*%%}zODQTS$WF->P^=|WGP1{I6#~PPCZyzOf>QHx(rG|J4oF4= zp&{9YAgwfYNM34A_QawL2m&m~Y0|jVA%i6fh{1_+)NuJOK?O({Rx)(hP$4TDGMkW5 zI4L_#X*^9}US_6KKrW>V3a5hHG-+rMX%iJ)kb~7!hfK&w&n}vv4#_Oa$q`U|C21-7 zC8wlO(DO=QfjxDVa91@W_}=y{3W;m zEI}(7-Cqy}Rat8-gG%Svt4bY%Y*n^6Kn)^$A4m~1%1C)RKCn#abUHerhm@+7^hh%f zmrWLjxw_T{0~8D>FkW^(Z=81%o^q|`@@iZYnPL2?!8w50Q3X>5xkQ*UbTV%?o{;Q2 zo0biUG_5pb0&BckLTB@q+LPoBDv+O*Z=O|MR}M2VJE=H9nW0o$Rdty;r+QX>X?+vZ z48XIEEi>8pD#y8@IeKt>{P4K=p>cx;_oqO>r4WY9;~H#^Qggo=$EeDIl*i=C+S2Np zfo0a(ewB_<=4ep0a+a*Kb)l6ImX5{iy_xOp=r)5}25ug>?laokuL9Q>TpYMxr&Bi+ z?nkTW47e9A7!x{gZf&1~BZm0JTE*Av+mp~gt z;+{7C+vCsncB^AK;mwM?w1K~PkszE0f0<7BOMXEcl#FIW-4=jb3vLUz9pLtWI|S}1 zxRc<{gY(`d2tC2YfEx*JJh*A#W`kP*ZY{Vi;C6u91MU#Gqu@@0I}gtLK1dHP2HZ$+ zHyhjnaBIPB0k;F(9&m@i9R+t1+<9=`_d|McG2ljm8xL+8xY^(qfLjZ03%DKN z_JBJC?kKpE;Ld~degM*givc$h+<0))z|97?0Nh$|TfprAw+GxIa7V$N1a}^s_k)lg zTnxC8;KqZS25vUE1>n|#+X8L}xIN$wfjbKBB)Ie7ydQ$};9|gy1UDYsG;p)QEdaL` z+!k;~3a3{f?2j~3{NDnRs+(>Za!A%1<8{7hLYr$;+w*%ZBaEHJh z1$PqMd2rr4AU(Jka3jHu2R9AeY;X&}tp&FQ+zxPiz#Rg26x>O0=fQdZ6Vii=0XGud zcyQCe%?7ss+*)v3!0iCH2izfWN5P#0cOIPgqmUk447ict#)F#%ZZ^0D;MRiM0&WMm zJ>U+3I|}Y3xbxt=AA|JZV!(|AHy+$HaI?WJ0Jj$07H~Vj?E!ZP+);2R!JP-^{Wzot z7Xxl2xbfhoftw9(0l2l`wt(9K?${=s;H&E6&c9-Cuk;wKQzI@cbdT3Jch2w_Ir#3K z$m8n83YOUDa6uTT3e&O62vt}Y7B-p_mhGG$khz?&X`HZ1PS{*d*o~a94VH;Dnv$gn2G;4GZCf_2GoYa>9ml!qPcmlQ?0e zoG=?FY#}G?Mo!o!PS`!1utzyzyE$R6a>Cx_gdOFCeWMDK+V?ak>`zWwzoo8WS1ol- z8_5Za7bDVHQrg4o=uoPTDn`uq~Xh2RZpYs|qu) zu$NU~QonqgQ{Rs`VPA5}J;ez-&Ee&D4o*-_{-iRxs=}o9=&lNr^1GUYi{apgal%qL zVfmb}5>D70PS`w7*m6$T&7811Ibn}*!k*%U?c>PckSa`S^N%>VZ#ns$<+O)xxe_L| zoA+|pwB0zko}92~PS`b^{L(mKIh?S`sxXP?nVhg%PFQDtyz#p;KVEv?xU`%jpIbO# z_i(~^{p1Ob%%10jy}=3V%uiiEGDm^>ed?SiDC9RBzJK79&9fmqd+{r$UAmW~FdfqtAvk|>HFSs(=R$-#A| zF1#PFex3RKmFY>H{(|&BU825SscyOZp&X){>Hf3xFV0PPXMV`$V93Xl6ZgR?9UW(` z;P*el|47KE%f*0het$QA|J(CN`6j#3k4yPs`m8J91Jg}_^d6izcltTejXq3i=Hst- z6MiW_l)uGIdUxe@=J$VF{#d^nH}b5%f_^9cF#kr#$H<9W<|e$ezh4&VxaRl|H{qSt zpN@X0w`<+B-(OJ<@_(zF{&6WkOm`bgzXg2!Kc*y7lM?SMx^4s~~GJbfp8@=HDkgqr0$p2k8;fLMm!>4ZW$J~UUxB|N%{V?D6 zSbIAEK64ZPg`05R5A}P2oAx{9re1As`o&o{cI@{nutS*N-_2h~Kh(49n0`94s15zleX)O+NmALH=0(Zi_CzA7c72#>eHf|CN@H zdfdB{@(Fhn{+1iN;Lg5W>M!yN+v(3`SC+o|3i*$^0{;Ie`p4hhzyD7Ag#5)UqW1f8 z`;WWz#ijhNbpCav<)i$Z)9YCM6F@HByhNS&VOB|ykJrV3Zhn|Pli8{v`WyJLH4U!*(V;LLa&U`J>)G zwMaWZm+adUZtR=8`MkT|o-5!FSvjzXU)~#T`ptW8@VwvOJw9XluUA}t|N6W6`@8eU zcIfOn_YpVYAGxu!pSTJC?-kf(>4$cuv-0^X_MN03v2V?nzy84Ard8BFej)Y4PBbb) zFK67Aet)-qVfsO%n$zV`v3osfBPc-{Muvj<q5~eO6EnA19$qTxJJo`@O;6EWM?zk zQeC6yQB6K+t}(8s`8?baik|Q@Hr)+`oLht+n3ZGkEo+TH-gk+m=LLN6dF+_H(6gkwxjnB)#E9hP*q zBLq7}Xi7a)7C#ho zA+AS3ZJF93kb*L&xdTZDNBzu4DCbEvP45uEj+xTU;G&#QpSpt&V~0|iuX7hmq!)C( zDq3?skVb;K5_Kn$&kWKUpqVO+`Wzt*YHFzpr8-+k1NyH!kbK0}s#)$4Oh;qO+(W4P znaTw`v`gFd;m-#4HmjUt7PRN3g<902rN>fess)e znX_nXl`2{~CPTyBmt2JN8FbsLF9B65?4GTHX^*(lD#;x8xJswf?Hn~KtoDd3O`gTI z?s1jQC*;koQ@5+?j4e%;u~v7eN_N6tUz@9b@N#;s16-wiAm8MLs#- z4M09Ma%>|PAsr3-7B`xEUhFMRZlL5S%l-@8#zHasJBlU8%}!a!L$EVO)0#PvnuBT2 zTnr&kQy*ExL6ReE$1ZjgBT4%!cK})1i~+idAaZJI z`f~S?^i?8@O==^n~1Rd9mz_+ajSk-a1+hW zoSwUt8*OI?QG4CZk0z&6-^Y!l+ag)_aN@{0*2lOpWXI&zdwEgX6R#__aWSf)K)jES zAXYx?etx8E!(Va-kQi9@fO`PzsKXv~50Py6cO78JQtH-+_yEa(k9gR9JTc(MIsi}u z-t-6`AuTAjyNOl|_z^b{*?=$n2Oq#X(ZC%YMdO0umy01vh1dSs5kxXpw>`>7DVBcp zV?2a%0Qu0z-Ncir+*|Hq3*kms@dPiHTIaBxZsRhT!TQuaL^=^)$S?uENSfZorW03Q9@e7-{7M zvMrS_UliykNJ{3>a9E*Kk_-jIOU_Ytl14%F1B6Bx>V*@+>_V0cgf5-PU`8RcT_N>l zG-^FJs*Ww7DCTh&46cJ{+`IfZ3sonI`I(QgF{PxSpqE`i((&OGG0YVK%N&}QJQTu= z#m)p%%*WfHBT~QucL1rxtsMX=K&2__c~=xW6P?B%bBU*`Cj_8wQQi_> z7dZK>3W>|+$7$N6hL6#<$<3}HtMU&Uiusod2D_#FITs2#!UdJl$t_Hqs_U36&vAkH zjTjmq_KMs1GF*RA)EF*G{_YF~mGVJWcBC!^t#l8fU(lhjN8H2MH*hHK5Eoa8v%L}r zS!__;_gtLxaUF{Bf7LApKgB~qL)?SNXN)LnG8d(;U=tsKgM1135)kV!T$q&&^c3>~ z7egj@#+Z$%7Fh9Cr$P$i52ENXZoL`N}afL^5LpeByQ{xu9VyrgSD+yp>2LPzC zS}E^wg~EDHo!N^WAqe|r7$H^kgbQ35>j=Q}kSn0ZX$XqpVl)adfeX0k0Pueb$P;kZ{z zAMB#o){e1ue7K7uecpA4w6o{CO04*R7ex=`qB%x%qFbOVvyP6jDrRqYi{vr8M?%Yw zfH}+lGiL-o1*RF2g!fz!_#haKjBt*W9tES(naC?Qn;iYJpK zrI^=TA*JQz0IGq}0cIdJ#k`-q6ezRt;s*@t@_2!BJ>%UWrS(>6J#7@G^#u~%YFS}ErPs%{`)2q(4Jj_FB#kv8mh?aj2PcvO0^qC=;_K}B%C~AcZiaw}GV;^>n#YZ)1!8-;$WHA@t1~G^IXeM zLK;`*VS{@R{dyyXJ>?!oKd?<<|8Wnqlczi>>^Ju?)dHl~N0Nb1Kk4Z#@v%GH;?aMYwlM21^yV>Ayl14RvMoKfz<ak)v1a>jtb03B-9-|8d!Pv#46d*=V{j%!>A#~JrD50&z zaGO+)w{ue9cFjDz-5m(GYsu?Pt0%ziI&vE~8E)67;B81xxV?#lE=Iu34~39h<|sVt8!_b_i0NX`Zv)OlA3;L@j}dVDDBgB8_(O|%*hoF}zo!bq zRRgbv5YI26J%0sq(^UhF$0rFwZ(rSHOd25=^%H>%(0S{SG#HNnlf45OX*4bbE_!!k zq^~jl8X$uh>2LhH7m(c<8Dt#f3uG`OLyaDoRR|+{8K-yv8OlhrF*pLqo{Wq%9>@nW zjFHjCuLl9yi;=O$Q<*^a*3I-lGTt~h21v86f{=;E(SYiGHLKBZ<7N>P8YW-FN^RyLX%}i;$Vd50S}%x*C%6IHRu-$icd1LS`B3Fso6z zBLtjdY|Q{NUH3B~3yt+%fXrZIv2kQyATt>`!}ueD$1!rI(SosAx^P048^iknIiB%c zWrP)l&^t%BoRnJw?b-?r=rx2i@h^J3())07?E)|_Z27K+pGiP41bAN!7o86V2)=KD zM)cn4iSoN2YVOulK*HLsXD*(*4;MX{hQ04$TQcZ<~iWJ9>2jqg=2^B4_K+YDvMW|Tu ztRFVaON5FSKY<$gE&7pAiQ?95pcbDe)Nt|ktASclL~4{Ip7h6$0fiANS^OQ^+i%%R zgi056;QK9)CH2b^pS~8T6%z=RBTk1V@>{uvQ2FA_M4(nZL8wA81DeS1hCPHT7CaAt zI0u8wjbe;A9i=>An1PD(u^gacF&VH@a$F@oR|SP%2b3LT*08Db-879VF{Bf?5MJFnJ6)ON0jX8Hu-^qoGO3#sgW%EI z8E;1*2cIz#Zv`NCpRtrOinl`R`6Sa?_=@jm5pJY-xHnMah{i|s6}>?_eX?j=Kk+}v{&?EC zqoGdLuGo!98FRtf`{XPj0ofP;j0!%*80WbjF5X~oj6P2V*sONJXV)~sh=5Jfj#dS-2lR$(Re#( ztoHz&nUG+BM*|tlNKpvf10BKJOZOXO7*q${=UJeebr3=mj@9|=Xtp__Kqkurn-z?J zcZys}BbX5HRNYvAS_U8>58jg*y;X0#1Jh4o^ftZG0XpGb%;*R8#(JcuGJ3n- zXa!T@JzeKd_RzO`+D6Igg&S@?uPE-U7~x3&~NIE8?gMDx|4){S8uGv`j+Xs z2OxbI>W6f>E`!h?>5cQd16`rJme8N-jdr9fN!xft9Mc<BjZUa-`J%`b!^v01`-x`K*(;GuTE4^!3{As8^m3lHG6RzGksOWsOi3R;_VE~Iqn0_#h z42eTXiV<)P&czgXQ6=bVKu=$Tqt@^eg0*1o^GNP8SkQ+o8J(-xRnl2^JC83$DR9 zg6j@-ku%DHDXd@VH3Tpk0XV1=1!jPS(BJ)L6%)Yq2v{U)S`A5`6{1oBZ!+;DwsAWQ zfqrG1NZKu!_6coTTEZtdMW`f={UUT;zd5gv1aDx1W7-5rLKM#Jdip`fG1)6> zbe18AjbQo$hTml(jEGTy3m8EMMx)>v1i{0hFZK%PBkqJ=91z~mM3Ws(2P!g&CHoCj zDvjxugT8Vv@z0Bvb(~%x5KqZYQgQyUDc#%O3&N3`l&46uJQd zJaI56yB6!7M1?f^E>`ypnD7ORK}E;9zlV|-ODUuHNEA@Xl=2nlz&I0-LMeYS2S$y6 zR7wSjLs1fGlnNE}JAuE{1-DZJdoPCK0H`AZl{=r*qn^fi91yA0Njyt>1fxs=nojb)Uh0t;0iZB{ zytW~9tPCZFhh&AD0Y1p1&sd6&BlxfY(wKnghJ#%wOd*S5;1eTZzzobC$#ncn$Sg1~ zmUcF=56rOw^XWX(7_h)$7Xl|z%1fLAGpxW#`@^YZ&Wr=9;MH)}e3-6~?Hh=A)<A~EfSM6bI7<{i?Tea0d+l)1j5V6&Px@(+xE;D?U>T*7#mS(%O z#uD9-sCe-K(0D9?h$_LXGDk-2)Fdd|+lEsa%k~SS$9ZF^VA*OnR z#$}12BY=97QaNHY41%V&ZwjR{-U}-w(>qMY;;T3ezfY%H#o|fK^DyOkhPVrJIYN;$ z#Wz3=Odrykmy0hzuQq)|DT|1cN7GR%_bL&mj;2p&=`|uw98I56$|mBp(exQbIz*f_ zn*K}U8pVe|+f2tc5k8v*eScueG;{|vwr3CEC>qEd(@sYF zSZxV{sen?UKn)g5g_MdFABAQz72VA=bO-V{nXW9;MFVQX6skp8g8vvuVl<@%%qy)I zOeq7HauHQarIbPFy&6FNru5Kk=+vf>ILquq@JWaWy&24aX*9Vdvzsvp5B&hlwrMQN zw@*fjU`oS!fr8`22h1DR6uDhJ9L%Zd8nF`fVmOt*5YQl)(#Ozx!fX#9ri@KUJ`O$B zH10jP^+cgO24u2noUsubHcGd=CrNGm7RDA+v~C_D4c#kdl?kT)IvXK-83~Iqy456m zvoQ|XHVq(iQqbh?g?7Odt9z4Rqr0a~1~N`pKt`fi<5=L&G>|R%;*I}8y%@yi?uo`{ zU@C8l*S$~D4mW;-ye6=WlLY+%)XbcgV66T|xCTEEEZJSWgV0y8UO&LSPXLO0x_B2h z+zciZF%nhuIyQ$1m{mVVFkMe6qlimYQwgPfVF>^km}dS1vhutdRI)J|+qg`;6Vz@zn)~cGTkPnL8ENCT{1ejUN+sqcz`v&=}u|G zf~fu$wg*gA|1OFP3V`*HX)CofJ01>Gl&uCrh`GTqNu z6`zH%+w=h2eimn7+=G&>dl#&~=^@%e{^C09j}KESK>U{%P>)b5klM5Dly469s|RJq#_&w>X6~Me0IvKeKxu*_?Kd^nqDK=<6^s=ssW! z-1e!k2;CD}Fz^Lfa&;ffW_YVferN{ud!RKUuR0C^e!swFvZPL31kV^Kd^upYM)Va! zz=lS|d_)bT7zD$1!~m+eq2hR?i0iE~>w0HQ9jf6a?6aNYN7yhWUmnNdo4u4GAN)wx4&K>>)B`@g2`$5*>Pu^*! z8&%?WV8g?oLP6m^m6!=uEqoUxck0DEL2%(uQ*xJHd>^K-;s3^Q#Uo<3Uc?>1@Mmec zdm$FqCgFQ1xnD2FfSn3|j*FXCN@ z1q}{=nU;H4FJ{4A_$#Q-xcMa}qcmQnIe)4b4mza&sagc&f011?+flf%`T9Ilpf5I4XueswQO!A#&`$l&U$p2BXl8(57B^Xo&_`Ed2_+eiBE zpAY`WMbHbd){W{#7B)Y0gWIb{5pW8ECn;deT=0Ad0&+nGf}$csoJ2)MN_!l*brIFq zqYq{8j&z{<_3cC1!>#D3sCYv8l2t^MycYJ~3&Dn{STPR_WE8Vcf)MgK1P@5UlCJK9 zyDw4wk(toLu*`^xMK%P_U})ez011uiBjRDMQReP!=)|3qsBlW@MEn;~RNP+5nxHo$ zIS}*rtbiO2c;P}lUK|BF6qQh6rqV{)M-7%HAGn-}8bT?fI1Q3UB}((It_I{o{|YiN zG~A4`!%3(gnkLjp_Akq>1|+%~Q17}L&`j%lKm!Gi$0eZWj{rUhw!=U0TDk^qWb=)H zdP|KE*d)yY$m(^0Gz%gt&4oi4Bc8aVo(OZo;epv?q1i1}nni+c3f%C?CAyB7-FP28eJ1?`mj=dw(2ReY;1BcY+P-9?nLs06a9R`_*(TGKe35 zT)Ib4tuYGzI0OfEA3&4z(GPt`>1gH+sO0&U@cgL&^Ua5rn=5g_>EaUAg2Bk^T{wrMHUrpNHptW9smTt>AMDp6bljQ7a=inRW4u`ig@9^<}Z zOV;@?!uQCcRF;?vs@|h0g`~?Di;Y-(1T&?O=bsut>oy)%E+H?_bdlmd=t&{_ zrTI$4H9);Inbq`5U?}8eNqesb$%Y)*6-#Tnb0Sc$(71GQG>mQ`Y?~uX+zac3kk=`d zBfgB(p+^E~P4i*=4SAEs6^g%tWJBJjeWzH|!MGms?yLQfnn6}+A@5P-Oz{zzT!b9H zl}N8#90nQ?as(d3eI6>Bk5nzHsKBP#Sm;j9!@)4yRVsFr~kWVPGF~DN2 z5JEnqB{U0q1B$6^ItbkJakzNkGCrhCT$>ER+qSEvexD@uB_jTZWHQsl$}FHBVwO|9 z1^Ph9!;8pvlE0uoiwVo0#oYgd%NZd3L(0W_pw7L9rAN`+heM5eT_g3EHv!XY_*ZOE zgc9#HLbA*H<0veP7YNJq2Dp3)WMqg%OoZMQR%`07a2r-9af@S6nDxPEn%^>zZKNQ1`_fQOOSYogt>Cq5XxT=l{On= zL&=mO>>5hJYNZ4-jX92dU^&+VX$*@I%VAs&8zu2ED@&p9Ig7lHp$)C+nqSSf_1h62E|0WP0IXY>s#6n_A5hh4WLS`l+t$zE2)gD@ot zD{UuT%_s!l1Hn2h!3XbrP zKp4=~kc7}>u6fhxa#uqo#&6ZeZ>1Sv3v@Nyh=A8P8ITJz0NYUtMjVxvCu5V$g@I}Y zNGm#IrC0!~nUEWw9YEXV861$-93DX12%Wp+V@Gg#AhS^CSAk} z1F=eF9$2NW_)vMoH0XaGu+D?om)Az!I!uB8@Vc=Vrg%aZ;ah|$#={a-Cj_2_7_Wcn z_JP-}{~$p~ybi`;uRHYJp-t}8vli;!q!32q(|SQ6{f$-qRAi_S*azl-UR(6XF-O}V zf&6^E9?=`$f=2M#uE+Mk{m;*gK>kCI5ZwR#7|9)aIxds_&q4U_O_;KJ{Zl^_@8_ck z4(M-!`>PIvm~?@k!DP+rL;W@k`4}6!=f`jxUV4o`Y_!3cx34-v`6hzJUhzLV78nIB1Ihx5z`~6JpPcOvc zH&O!sKu#8U7$HgD8n`?+1k-Kyh=`kx>8dg@oqr0ZTa$|E9vDy3je*YKb(aTjME1P{ zF2SQQ-42h4%p6SDuMpE+n?Y*O7rLU?;~tFw3)~it8sf1N?yrhPruu#gw>OYF{c4Et zPsh}O-7xj`8CdF5*O0CvqN%!Icn0&xhY65Za+lL^AJ!8LMIO-p5YQt6+a#k4hV{5_ z0JcDvRJa#<;?)Q-k_e;F?LNS4 z>5m=e`YyD?lys3g3_b_sHM0vsu*2xUvUrttQ94X3vflu8^qSQL%j)|vT+W1G<@Ta4YU||@edvpV0V-Y!SRoi^^ibTi@^yP zPxlW95v=+BsrZ1=R7|-SF8xC=IHPUjXA7oN-o8xe3iv8$g3I-@=sfFw%H}#FB!uXv%CUWgHA`!Q=0a zqbc=900m#`iSTl`w2jBoCeSpwQkt8hL|KBj9vJQK(Y75Y#ALezdN>H~2kJ zgLI&C{U(D(>0ZDBe09eFZ{CS%VyYa1o(%Q+TZ~c5p{wZ0zvuL~_(nZF1}U=tbc=t~ z@jN9iDC)71f}AdNzHWxKdaYdnVsE9XrUNT zTBNrWAfbd7N`O#94T6w_BqV_}k`08S2_WEO!CqKG1>M5PH*lpr9M02aW8 zf{F!w&zU=O=bj}j|M&BLKCjOccJJKZJ@Y;1)@eIx)CLY0);9z`yQ4x~nZ(WXKr>-$ zuy%WL&Mc+P9o?YpFd)Tzhfr?F_c%==#1B%swZl>PPjsnK;tpepf8Rb41>tvL5GRiuFvQ9=>M^K)3P+pW!HpnPjY!rNx6{~@k z-)2VvWBBU=Wv7g?Q%2cIPMrve=#2M=Du7VEo~r9FtLw zk@k9wupE0xXO za3#EfY@LzK%{W{a6VA;nx-KT2n^|~WOgx?oT9c2L1i-E)pkdx{5NQ$yT4wU1G74ZM zWLcas(qwGFIAo*=8O&_TS};tpg=jg1u_Pe$yeTM~6Uye4vN@$}PAHpG%G)K%mV&Y% zS5aHBNSQK}P=?!--TDFLFx<^h#)1IwSrf90Id1dE581@7I0>t9rUj)t-hLT_rv%0` zbI{%bCBEBkx`u=HIA)F7k>;p9fmy>gH!{&Q5^0Xx3Cte2BUZq&l%2to%?la31jbIi zC1SOJ#A*SJ)dCtTp35fkSS_Hjy2~W%YR2krQy4X4hN6~O7E`0LVd<$ZvXU8)?4qcP zZOEt@5Y#1hhE1F204skUSfp4H=?S?`ATE?m%1b6NfVOT@Lu!cLDz@xB+Mqv$UF>7cPo|0P3 zGp0~m`Fe2_)ZDWS4`Q^H+l#q(8%*!)CbLO2YhWe3u4&AID1IF+X6&912G~gA3vv*w~IU76M2gzay|J305TuUM0n< zBv_Rc>r)Bqq!qlEilgufpL&Yni85{Fmg30Y;7CLL%q)t*jqHt8dYZ+N@P19g`<>{K z9|P3SxWv&^Rs}B1e%I-ds%rH}Tr{dK6)h;;@r8p|@zQY})$DC0P~y#9qDR(NNskOt z?H*|wscRbHJ+hu^_sBN*l0r5u0Dx<-3b3`TLa~N_El?W%wLp3J*8=6?pXb2@ijm}{ z?BQRlDOOTiEmVaU6)9RB^WbUa(C~SX2;zzO@S=H&R+lFxh0lXTJ)TGkFN#pK`aF>l zJ`WNNcp}f7JhWzJhl8nXO$>aVf#YMXJu3x2X1phSX(#*AjyDVLN;~38J8354g@h{| z#7w4jvRgzL9ztlLcnE$tAVD1{qYfmfu@34GZlTDWTD76P@$tCD+cfw_Nfr%9<=Pacyss$d-WN2J zWtz!y+$Iy4$ui7j0&}MWGmXb>OL2H^7e!072ccFPC>=H09{6KKek-6uPD9$0^b7b&21iZ)rpKtXSUcn1U^Sj5!!FO!3 zw=j$ku@XROv|He;ka1QJoD~FTg^aU;;FLNz4_h-?cmZ^vN9>+~9q3Vl_LPl=FZN_l z;aSEFECjGZ_XxBXWwaLw+KUA3MH%fyg0|5?+r%y08J-GgFWEgf70@&?Iviu3EFNMZ8t&N>!9to(SYnjn+(7X5U@%c3{SbR%dnWy z&axPQI_ZF&k-^Rourmbgj0|>$fSq%|zOk#*3uNEg)#(Ma??`oCve3HKj8&AEJHVCz zSUvz&(mutWIyA#x%$Y+|pt%}Ry5oyk?}~>F_4r~AOFXe(v8E2KE?LZJ^~GY&G}6E{ zVon{}En+d(24CmOZkePgt{SWiZ2h(04v@>51o%<7%bp)FKrS+MxU6Y~pL=kTxx?km z9WHb3P})3tvdiXDo!G^!J>Kr@u_da^u)Fwf zHz>I4mO9F>}F`Y8csJJFrXH?8xCm@Fs+6M5xhcB+_{DH)S ziur51{9KAFSw5HIO0mzSmgcU*{$LCw@I0yR>148n?SeS!0lY`_m|vjif##*UP<*RzXISd%4Nb#nv`R7@EE^7% z4F_9>@hY?4NHTn@X}Ar(4VVp2fXproEjBo0w*tMh+zRy0ax2g~%dNo9;|fohH9)6 z6cLR14#q-)vBbh?6F3Y$H^7*qKg4k73mgD>I@DK4qk~RnLtUN?but_3&TOb#vmu^- z(I1gczv!!M6nuv>`|wuS^gJs8#f&2YWxb5DUPf6@P}a*R>j}yW4$1}#C2U1)NNuzx znXt#}IVnEP=v!wgpI5d3DB7o|OLv~swJ55^9X@YiIMmtT= zzHrdK;ubQn2CEL6qAZx1^)vi?UKn1!)6ephHw-VX>F0RLYIWb+;l#IRvs73~>c2Dm zRoy2)7SO-R(7zGr-w56rc4rl38U|TE3Vu10O!`YH>wxpabDQ8Q<*^+X$mN?srWB;hu zkZfljW8+D!TN*;Ly;ZQND;~w@9n1-ZGj|ruJ4eB1TWlJ=U{wUX7mo?%Xu=##nWHIl zG+~aW%)R-!B@?m_!<#lae_wl9#0mRx!sW13(PM;bcyE^8-@HSH#rI0f&sX#Trg`p4 zoaqWwj?(Q%@Fg2N;|#_wfg2B0D)s^oW)*9JhnMN}bhD7s9be-9OikEOz!!L>P-5S4 z#aiI$`DB5od&L6JG*W09F&B9H9OrBuzVe;Th83{>G-F4>*wjx&M4uuNeTqi(DH_qI ztW!_F&!FI~LLu$EiTV^Ij;%%V%J66lRGqS1=B;U0P zCUK{BS=gzO=7?5dB{R5F?^(&L$j(?R?+cer9}fy27eUKl8!#$YpkBbgl#{~8%f!da z)W^%z$IHaW%hbo;Bp?5<+XU~OS1lj&c<=nvDrnV(qS~AzVKvA4V56+1vOHkSJ0&=4 zs${fN>1e0Y(M~0!ok~YL)#;ISRHsJ<+2^=;kF2XYJ<>k?W%bDVs@x+Rs7{Y;tlB*? z;&=4r9a!M$9l#gxL;p=BVosfsxjOIy4Jxs;>z1T#~ z)s2TZ9uMu5UWtjYHjXw0iV|@@xWtmDf@+}3f&lV<2Xp`d9iUp>(gYnqK?e}f0TgtQ z2^s~nb*#!4TpW6^1#Pv25vn~lhv5AmKXrs{lT=m;Ks8Pas00F)K%f#RR04rYpip;6 z(VJ|8AmbF9(S({Vptd2@aY*Pn5Geq<-+{^|P}u}3n?hw1sB8+AD?#PSP_qeCk$@UD z0Y2Zxx%wW66adxuTtF=$P)i8Z5(>41KrNwAOC_jfGSqSc^^gtKeHlQhA+YI1e&RU@ zn5J+poLpWo?LjefZrNa-cXr1=;u`aaONpp}U9-3FXl;+mlAzFCUkZnIbB88!hj!CJ zU^n&1&TYV5+D%>Bt2(pDK2yoN`hI&9;3LVM{eW><6II>5VnI+{PIT8s6_59>hk zBP%(H4-to~A)@PaII7YQ^Kz-R;QJBP{E?i5D11r{QatQDfPYxS$M`<@&_g3A)0b_6 zm6gsk({C6}qQ^iqW_^h{pI{9BQSBThq6mV<%JIk`NMj|SY4nwdTpdkr3UxFRxjGt& z9M84e0xu~7S66e|LVe3jDi4Wu_Z-YlW=O2N=j`dInZ{d3Uv>|U@Xduw-CqapXK?Kp zrkSlJ1h8j)C0a|UCbyPwjkK1ZCPCJzPLMG|V|h^M!85|=;hNl9hEt!1Q=jcztF;WL zPLI@_)-p4+a(eb&W*; z=lc%pR>HcKvTmiUTM6q{%DPQreUq|Q*sR?Vq&LF7M_Jz&tiPh<6h`|ajU5Hf>E{IN zLBe{FvL2+Y2MOyz%6dp*JwjPe+N|dgN$#fj-Z~SsNYDa-&v?dT}{+WCaMy_?u63Y5CeZI{A)!?`&wZ9M=<`QA^VSV z{6{$cqa4iTaA+>VQPagaolgRNlibuOx5-?nKI7ShUQIum8*@b>ynIQuGbb}MzZR}y4hK*CR4ECveYUJ%ZH?2;$bk7)&e zOue;pt;zIb>h3Yg-Ab1;nI3nM$@Ei~Jei(wIg{y07nw{?xyWStnMxX>fx8@;fUKI zW1-GUpwKsthYKuDgS)uEcEa><0rk+zv<8j^)Wf?Z5AQaGykjia`RKKDIuw1V2W)vn zXO{qA*7pM9VG`zt3B$vb;bFq?FlBgDcLuM=b$e_d)fAFX=<=b`GrB!kb;rzSMVuo# zrNEbqcIi@P?!$~EGF5+ux>bWjpF4q_*Ie7*0jN|ip1MjOw2$g@HmD&jjNF< z*3o>M`_P{kVJGgIECzg8E&OqlhX&j=cukuQxydsFZt~24n>;h%cAgn<^JfOyw3`8T zE`bZ~+gTaxZN|@Hk0DY7-67U^$oCjR_820Cke3oWY=Jv8!{%;mqYT(Ih6MrD7KbceCW|Lz@q{d1CW|LzV@RnQ1T9TQOCxCM z4q65uAUN4f617~DEMDmplA$P1Hi0eoun6FI&tx%gq;M~>Zlu7+cic;{fD)Pu@{O<< zaX(~^B}YN-xoqM?Z*;HNz@us2NZ~HEZ=^5{tV9FmjTCO{;&YbL<}8?F&kclaZ?GV+ z^U!4xifwWzw#lK`MnbVo4#hSSiZ`A1^Oohk(q=;@$n$X9VO9#e%e^9Yc}U*nA<{Aq zk$oPL_j!oy^N6$0kGX~MVfeE)?oaI7H1pF^756dwGIuGqgG&2C=mXGv-N)q{nA~5= zZK%p_LknlZr-FgI!1BO@#NUJ$=VdR>6EDsaFV4$eoF`sfbiA;hVHm-^_>r^4b1#0f zeBxgGZ2M$-amn`SdF+M15TE{%efr1psrz>D>6v=4rM7jy75KEt^b02{cP%DORPH*A zEU)Iyf~-Zjr;dzmfkH!nSFE|%-9f&*11T#c=41>>c`~+gtp%i2(w>anot(>V?od-0 zRTQDP!>udAlcMH9D#A)7MHO{c+@0-<$5Hbj)rDL;cK2pH4oXCiEclEW4BLh<77yt6 z{vq%O6a2yQZR3z4^n>M#Q&vGiKh(K60RM*lC45{@d|Xc|cs+G-J#le8b@2ts#SNr_H(FRRW(98) z{^m=mc(b}U3UB90sidfUDP>jutD^E}gL6N*Vbeig`SIY}n!iNlA0Uu2Yptd45eS?fGS`3;BPw*2x`DX^dZN7Pvx`SO&z9lboY56ZH; zakPq6SrrtTa7{Qqh&VooT%Lj?@qCaf*V!QI`C#YjlzWINj4DvvapY>LdmQ&?VkEBC z-Q&d-!D+MMb2%*h-P2T-1azkz!l{ICDyf>O6mTl3nyC~pkyj1=&XGIGvdJqdnL^IA zgC0>YA3n!4f^CHmI6!*(UxDQ%SYCqVrC45q<)v72I95pne4lIAA|9)`i&XRRbZE#X z$9zV#;O_uzQ!H%S%3E**a4q;xwBXlB3x1un;BH+C6s11)+?^^bfijhN_Gv;C zmU~;pR|{z?uP%&!403kEU)P8zkiMhd4j_@eL(K2ytp#HhC1w_wV&`$?aX>YPnJTa~ zjiJ3R=EC=b14M5W7 zT}-uv<)$Z$RRJe71)DWgW(_5*p@cP**FR?sC9L6Mx#_X)G0qFmQ#@U)hF~rlJ-tk% ziD6rUA<^5qzZ_SPp1$^~xU>*HpBM$3hO#n1d`J_RLuAY$1ak<%93o>5A((Lv=5TId zM0in(;u&EL#o_ZHG13}}!zND!-6(4;4tr`mq()nVao7>uZ@e|HaQE)8+%r9zVtX`w z4t!R?^yo=rrQl7mOL!#T80{f9MtjJO(H{B6Xb-tD+T+|9?a7cm%9K5tNj#cGJjx;- zWfPC)${sDSJ-UP*;g2rk*Z5S}J?Alz6n1c(hdZXese%x#Q9QNb`AErg_w+ zd37#)J`N4v^ArmKl32H(Su4}5wK|#!vzEZDm0{Krn5P{W{`1`{v%+DO<$2CpfQ8R< z67k_hT|{D1_&g_(#2wfuJMfb2K))jRYzJeTXD5pX__K}!J7foTkZ|rG9_)}k*g-sa z+wtIC63+cH%|V;y5Yp_!(WH`H0+PiZK_fr2?;+3Zd&o2U9{HJl4|!(a<2{@#oe5TFiq%!ZiV}AOn^=80RzjpX z8}w)9bO5WBgaz<91{Qvv;f!4Zq!(%ktYHLe7{MAwv4#<>VH9hGgf)s{B@nF10&Czx z`24h=g2Oo50!Xja6j-SQE0xw_D&@q;klCkY_Gw8S_QU_ziun7XaJt0bjw-3$=u=ONg&asINNN!yo(U;qQtu>@h(EV zixR&l5r05Og^vi=VZrqca=q9Qww+?^C@_tvE4WS)F8&Jv)~y1NB3LI0)=7%>nS}MZ zDYSm1!SeKpM-?x560qw@T^1mJE8oYM(=lu`8&b_ z(^Q#DS8cAACGfc(jy^m=D!T+sS@i{19r;iTQgZa_kRvTS)55Alj0i&L{RQP%2NYiTd2zNfbe^VvJ;`~Bp<{=icoeUl$|JLm_!*ajtBALfhR(~ z-`3MzwWiC6sf*w<3zVLL5IjKow1L1P_i%g2J=`9854VTh!|kE>aC-(xSmM5I?88G; zsSgh!=UhCa1!CXD@Od1!-3f>PfOl`OK%7Dlr;tNwND{^=gmDUGoXQy+Pl4~#tY*TA z6UBYKFX9RH^Q~L(*~~@+|%+XtHH>QdFj$uo+~F4kx$+$<(;7L%GNrd}2kFN>*{i=>)ZA{vNEeh+CN4~XdJFM-cd z6JXnuDhmRn`yH$&2-Xt>>j{eW1i^ZOVy%*})(EV!4v<_+u+|H#fP3JxiyO9WfoK8J zs73&d6p2@%JqK0$GBoErW(6$rWF1JIP^}BS5fhif z=Sf^`oKaZ_Fn-~1RuRrB!dXQ*s|aTmkA!-@QTa2W9P&pS5`V|Y^NVUd z6&hhIgU|N3+kc?r17O*00`hMH`8TQKzbWM31oCeRd5u3`l9FbBwa!L*{%Jx#<7yxw?7Hr3?L(ps}SOSk3l`54xA7mbAg(i#V=Gr{UiusTz$&IGG7#p)_y zMG36^XtW!_>MO7gA=Ww^@rFUP0I6{kffYxv;s{n8#fl?XaTIH~gf&uN;q5G*(dMo6 zYzoJkB(Mtah0oo1Fq8_>0;DqzRtmvN(d537La|Z^Rtm*Rld#e?+J`eW+K2P(#)kK5 zc)Xh3him>1K5vJkUC-Sby9A80nhMUl22;PK4;?k z>t%=*Aidm7U~MK?n+eutinW3D$mswVz_`Cs_L_)&Wh7aR=-tVob)5Y{sa(WZ2&!%{=99jd92AW>?S< zQlD$~^}DCxk5Pw66zoEq65aMqr@plgKcZB$YAT~$ki)2*( zm5j=NicvZ00r+fyYXz5!#RKg@hgg&E#P(<|nOGzDCfk`7u|{r9_UO*d=N^x^H-FF_ zkThI!M+tI?QTajmoQ=oNOaOT}G}j5O0|)4adg6Jq6UDUQl1%vL2PD*bm zj@*lUEzLKOL9O7A)OlLD$dA-{I@i+6MzvWxf1|8Z3kc^3BV|y08B6g zpsg$`=EsQBT=p^I5e&l4*03!DS_A|jsJ|D>4`RiYc=6oO*-;winW?xt)^IOC9J3Ir%3Q%^%?sa5y;&C$tp~>>v*8AP(%H4(uQf?4S<3EjjS6 z?7%MBfePxtd&GecZ|K09mGI?5oWeeHu_SiR{*G8u7NoN(z}?l}IiV%rArC2nT!-8uZ{^y^ zb;vF9p1RI0@}ByZnWU%!#nZq_q()9ftXp*Zw9Isz%z||i_2#xi=9C*^-A&IOY9So@ z7#;dG1h$3htOA@V?%g4n^2LV5{k@ORc60Z}B4>va^wLkRH@N<4%T4BIQaXT#1w`S>j5eTv>!GS8%ODu8;8eqzGyln8tPzTyqK6T*@_< za?K@Nb1Bz6iE9Dnx`%Kr6I@*$htI)yop+_ql7Q(4hpUuul~S%!%2i6ZN-5XF64#@a znXE{>f!FgGZEjEN_Tq0pg01QX+sbuz37{5*3b2g?Y@@wvlWQa8+DN!IQm#!B*Jcqf z{Cz&p%U05w_}|p|#6SNDF!l!?jqKA|DG&_~b536os=a*2_US81wUG=oh7nl}@JLj$l*WZ-uZ_4#I;rg3$U6Z)} zqg;kt<_dJ%Tw_+jXUjpb?G`sH1*V7y!PUSmb2V@it_E(x#dB>gUQ%!cyB)4ZmYKXr ze4@y6s~cZvB`{kM%vJ*P_SNv&swHd-b2CJ&(^+7K63kGF8A>rj31%q843{uFTV}@N zjM2p{F77Ixu5SAbzj@Xu(rwR&_!N{U%1t_WU*b=U@Tb-q_#BT1TEpEe2z;s2Mffv} z_%n?9GmQE(jQBH*`ZGfEXOv}zU&$Wrmak;TyX7m{V;pB8HP-glyplc6cGkR-J)ZhH zmH3({eBFhT3q|HG}w?L4BPm`I=>!F=zX12U+ptP~y3S zc%C4hy%s(n#^uctH#-Wn4|Ns9iwW^!O1zj7FDAr`De*lL@iLisxlDX7C0 zPr>Ke?yzkwbYq}x5h;k*5aKnIcnu|9Lx|T<;-@6yXWV3X*+96;1=q94^;B)xwhj6% zFum_^y-v7Zr(Ca7uGb0I>y+yaiEBIMdXI4J7FoDayDsg>cnaPSw34!D>TCJZG%r6CI6=HV9%Y*0LtOOA2brYE15zOx>=64kH zJA(Ng#k?S4eow=9g>d~LxE_86K7YmWj(J!JFn#54!SYn%QapqU1|pe@=h|Gnq~KCL z4wuU#br9Vnbr83QM6!-YCa&kPiD#6-r+YkXYwBTDK)b8EAZ|j4n^58=l(-2YZbFHh zNyH&GapWajVBPNFKU|j)`3N3Gw6F?hMK-`j*wTaV-a{v*;Q6Cgo_`{wS_maRg$ti* zJqw?4c<|lR!z#d^^d7>e9>k{})TbWQryj(o9@M93$*10ynY_sEh}p;UsyufOCYVD7 z<}J^`=ZqlOHrB)P0I_4Vz#Ky`$56~M6mty0978e3nV3D> zDP|b(!6!2gv+X#zT}T!2K1O2|`g50uML;A@IMG;0qOp)hVTeJ>7!zaPE$DqFe;;vo-^HGBND8+n~Vm?YRAElU&OPEjE znEagcDi0Zmo+FqWEzIcU0QETh@yqV(J?3Tic!+Yh_3))9o<4pZx&|ondkg%n1b-{V z-%9bf68xQG))#GLseA3J?8$q~rhZq@i3Dm_1*B&-!?(ST)!sKzyRF zz+{Gu$qa(Y41&pXZA@NLU}}bgsT+1|%}eoagO4UwZ0i^@W?e%}_=tHKpAczkurfd# z($ATu2xb$C*@R*?A(%}lW-|#hL|~ei=5ME%9SCNqz?}CYeBK7_!PDJf@qqZbgV~K> zcB7cxC}uZ;*^OfMkT9bSyVA{ru3iSI^g)Jw8YOH4d_IfEiK7fw1yB#i2(Xa^Y$OF6 zNx?=Eu#psOv;;Or#4orhB*z-03r#WPet)MS_xougn#U2k49a;jpwa<&bbkSzPN35% zbUKAjC(!8>I#Yt4C8D{x79_K1Gz&?k&lQ*pHo|9DykfoxDjg92a4<^s^ROc}tG*9Hj6RfKXCrCdcRR}sop zlyZ$k`IMjp$fs%jzi306XQ?(A^7;L8fqWT}r{4kDZesR=)q4vwg9Ep;3})~nf|i!SRK6x{CEQtxO{{eQACU6+MgBGc<^jS) zeoH{x0K5f&C3H1!2;eF1c0>R_K1kwz4-|eMLcg2D!nTnCEDwBEhYG((5Wh!IzeiBN zM-ab9P`^h>)e|2;2CF+reM}KtOJ0G`&+r&1Er109(;kN_m2jm}u2jmEO1M%f*9?g( z!;Ui#duD+Bo9{iL`FLhp1ug0VLR~1R8*hQne$8N8aR56C#M9#h_1%Q}Zc2SOrM{a` z-%Y7YBE-#<;Uo*-CHP^?uF)*2hj zJn_3WKt9!Lr_5g^5h;G+*G^ft-#;Hf8hpNm4~HENU`fDqafEa9M7R!-z#gJlhX~doigiT7 z`q&g|E8pfX=k$DHHPaaL-JG6d*61*Z-}F-%5NDp!8ET#I6X86A*zeSaZI=SrB|v_D zq`>}}VE;_R`7`DInQ;G1xqp$kFVo(2h4!xB0>~=sUlMF3P|S>5;d2`*0t49=Af7%- zPzMCc)B%BnIv|ix^IV%cAdpbk2z01xS!S%`>)L^&O*9OY*V&B%<#qOL0(#i%@c9=` z=dA)+9sq}r7SJsTbV~}|l0vs6&@Cx+YYDooWhOPs3ln&|KzjoB!VKO%kW7YM0_8wQ z3Fd#0`5-fzVD3wp`%>nz?$kPRKDln%|<}AXT zV>5R<3(Q$~pWOv$&4Al~EFzmPz44q6v|f5+{-VQ0(}L2y+Z&3q3=f`u3*1}otQ2gW9FO+QE8_t* z#LsCw4>^_aXa1aqC$NV2ISu%3|C~mD#$cIi^kkPIw+hVsZkif!3}5#AdmYH?XFg`9 zOkhfn`Iyxfe^$fj%Y$sR^-Qu;Y~sLrZz>9wY!2#?6PYroYA3RsUl?8emQnB*`#o$K z^!rZEqYRt~Hng`DQ~kdLC{g!qv&6jU>bER}zu2a*Wl;OKZ5yk>Mt4Y|de0;%5z9-= ziLQRjcKC}OgEpoL8()HrS&%|Cn+zq2c!`4O>bG2hzt|;cV}-EMV!NWO!4#-tr$C7f zyhL7f^;^2&)~#sc-M7v51~z7Zjf0Rv^^!ZG#3^1PJG%NUGvP1x8?^C@uu%>+{(}^% z_e_NnwcasH%#5yn%WLo#dn;@i)cPIUm!H5!S4g4SlL#gH^AhRN)o-~1f3YLc#vQ^& zm$wup{T;u>))zffT9_Plpm;@DkIatKae-{KZ~C8^66{$Mj#Yp}nh^>flstmG7D*rbJi2 z<=S*?r|)7reb?p~umjpDq)KRaC9xpK= zy8124;V*V6+E^)U8~_{7Knm5Lr$dR&yu{e(>bHCdf3a_&jXlCfZRo+rAcg8?nNZ>k zFEKj0`Ykmwz{Zbg<4<8@EZFeuQcQKyOek^7F0;gl=<2tOgumF^VauSIG4-oaJl9PF4r7O zkAu$h_>^fG*Snu}^zL;+?_Osy;Q;eN3)m2BF}WK`OzuVw6MVPI;DB-(_fcS%@ycZi zr80$f85}^A;jrbHU8Yhlb6hHO+%AIyh6<|#cZ6z{>8wg+x~fi@uGUMc;&6ay(iF;t zSY_1Pr7~(urwn|z%HV)-9+n6CGK)=LF0twVbJ*a!UH?#~Ru|Z^#oCYls84p_x@%IIo|;ppr)HJG4t@tLB=m(YtIS<4sZ6oUDO2pS%3z272!F?Z zhh1i;T;?6A%sX}&?7*+Kfh`?%t4t?dDifwVWx{l;40hOM(0%k7cA0d!Or}&O(=LOZ zbQ&!2^zZF5KgeZ%lFIyKl^OCHl!=@GU9~oE)2t4b=(!4eZ*6>^WIb~w)81<4tgdM0 ztS&b(;38^2g=MJmo4GQIfmP8EX=QYUtc(rg7qei1^+O0o7qg_Dtf@pS!=lCDq0xY`JScL67kgw1Y^rar z`Jk8*aUON!p{*OO7&{7@MhonfxY1Hr$ECQ@QvMkigT6}BuwS&vU&0`YHc}$8-h)C9 zB1sfuAz=LlXAhBd50UaORX~dDA(HOFF50M9vSM^MdsOs9u)GTXqVSz_Mjvw{%7*p2 zO;MVzn4v+E4SN*=+VmkSaa%YfN_k@V=vx&f@D}w652k9r3gEhCy$Cx{8Sxmj?B?w& z(4Fpz67Vd18MX%2$sysfjm-jQVM}-;s{kxx--hqOb3efXy0+yoQ);{3r-}`5h!I?T zg)5#!MH^WG(_G6ApjaOKzNx6%1B#(O3OLGEf=hdFMHwn)$_iZ>`DH^;teVUf3MwA( zQQV6hFD&GWq}`x+*@v{C7bvzq%@rj`delepdn_n+R&YfIDt`4*`~|~(@CRqPA|4eD zKA?*Cp~8X>x;`)!Jy6ljM{zX(6vx_dMF=V;`6y=92F2;2Tw$PMzK`NBIKB!#H!x#}b7h|!N_ z=eZ;TC5`t`$yFH4f=99%drV0ql=StHtcM{hcmfOK5(Op6K9V0`r4T%ojp35>AA#f^ zAIWrBv;?OyFP9ue$%{Ucm{5>pvnRM@J4z1tNGcJxknP}-GL-!2Be@4V$6f3TF1Z&a zL3@3yU>{t{l)a`T4<%iFBu6HL6x_6e6%p+w(DCD}002fxF9 zSA4w)U{R>-f?Fc0&e0Ed|CXe7h**-3*cn>6h`A9Cp@;z8nFLFr| zN}BGclFz$=q?TH1KX2YBiIF8t8FjoSNE)gUTvAa1k`!5@DWj&Ll@N6tmn5NNna_^4 z!(QD@qbPM1mt>&RANfe8cEN71zRe}^DEZk(as_u3tA52LJy25b zL+VkVKLpx|_M z7MB<(dD=%(1xxJUTy+JPTsi=f_k38wU_~7~SACUBVvyx)S>l2r2)+lGsFjvS?}Eg0 zK$5tXQFo$852$}|iGq?2vIOeroC_qY)!Po3lCpO|GSWwK3f6PM>(xG75`&Vw1Jt9x zaKwCBP2!T1=+PrSlIA$6y`e7Qk_wc(aez9#04JMw)fc!#!5y9Qu`;zcNcO28a>)j? z@{bR02aL-R^#{wNw?WeUAZ@$RJwS3wt#gojgpvUVDa(|WAo*JD!X*ky(tND!j{(V# z>I5z++X<3;eXLYPg5)2yh)a@CvdKp>4;L=FwuVbWP;%Hua^X&p)YjhRlByjb`Nci#;Gw`_p1UNhetX)fkJR%g~w};*9|%qh$$nwZU+F6+fE2o-+Tc&)JJj%hr`dc3NESG29nFN z1VUFEr}A&Ka~3X2f{##1GhAc-thtZy9igPBk7Qtdko>8&=aRD5L2~C2>U80FkZ7(E zToQp!7yC$}u*24H<#I_QlsxAnIXDa?^<58JEGXIIBPqs)+1Ry>OU{1?lJh>2TsUkD zZs|J7B}Y+G<0zHogU*OsW}xSy7TvD|aBv1HAhGXbPxt4QD8A^7@5?vV;h;d19m2-)Lk}rI$+!6+oRM#Oc zsdx<}%E#2{Zzq5x+jYs>5jx%SV`^mq99IVyy6S(-I|*7D>>~-pMcdu3Zd?+Bl1y0w z?Ij)SXu0bSE~$DIBoFvVe#Aj_rE8(JBb2=2BPqi}(>1PVxFiH6pZG}9aE5)}^*)zW zYyrt{K28VVi1~`^8!ovQoo@6Am8`(o{!N$hi7ClLNiQEsU`LSba&_dANhq1-Bk71; zZJ%otm&BlCkt~7GHEa!%Bd*z8Qi8baeXK0Q(fg$9Q7&nRR`$sf7xg_Rgkj(M1Qh_ynn?8d}uI>lPDj${vY~C&O|8YsxW{|w?W94rgcSH4; zED2iq%14rfgKCt1giH3LM6INfKk(49kNzu{Y(YtDAIUitJFI?7r73w5B}08AdS{S~ z)O&DA2})+k5~%6B@kn@rK7~ul(4!STlGpKU#WekHE=fYktCch^-tHht*PrDQ1tpa} zEHSuH%GY;uNd~g~;Unpf?Pb3H9hbzTc|UpyBz=xkD_3!$biW?T zB|Xqe(s7C#jf>ew^mr~wLMuyrtc3Ic$My zLy>!@wIh`LeC1B$k{FPLUFiVd&7aDHdOZSV)xL zCLjn)0$SC@OMHZ<){o02Krj}T9cuGEW{ISyV8b(bdAn_Y7jB3_6Q>ej!$fZ4D4J+= zS~3x!M3%#MHHsOhQBejqB1gmeL5*eHNEsN3j0k`&UdF9lK`YZ_D=sDSJs3{a-`FVA zO2xBK=GsuKHkDgZjsnVqP+YV8uS6s3C`wpU4FrEYV%jKq8f^SB4mP+gk|eb8?qt}V zW#c5;_)fN=Dq*c|1;MZrrj4X$phRv@*f5rxs6Z3L!|^LOaTQF2ErE`pySO6cW3bul zbIE2+C9)$-`TAJa@pCh(&jDCB*o*$C6_9_xNaR&$p88`JY6)6d^f?Xm2$=HqC)C-d zm85l0W+^O4^mkNlMZrL8@$mIsD`-_{W#8w-zeokI_qNvF>U!g;ut~ zWTD4uRx9`ftkn8~vJ8O=)l*&9Oe-a5<+X|M^?z1dGtf%OB=~xt6_+x!GETMviuq`z z+%@nE)1&8Mix*?N-?CB@tyIOq*AFc#$}zCA%EyX|;cu+}&$Lp8R@TD$N$;t1D?w-_ z7FKt9v~D#7wDOgYm3yEk=o9rLrj;tRvLyz-dMzsr&`Jv!p!Gt_N(EYJ{UvS2TY5v* zN&S{DQ4s=TOxO`-VZT6&bk7-TmMFspw-`FDdy&KcJOtA1m$QK*rrfooZT9a5(r5TDH5D)w0XbN^@wp?mkxQzl2t{eno2| z1M1ZMg1XMM5`$JU;c&ve#U4~Xh2V~Zw(hYS|9&)bRW_0gO$QFsJw<`%O(SKGfsq#> zP@b;>t;PgKYImw4_#*>gd^bXxRPhN5%8cBDm+U({6T;^w*rL2-N~eGk7yAps8a^jE zKir$07oL}!?@dlm3on>g5So=ay&yat{!Iz(5*8IcH#dJ)`1Hcetklrdv>C~TS>Djh zZaun%=B0o#r?4nAJ*O}EX4o|5m)2^;r+H|!*#v@&GWgpmH@Lb`-??iSWr zVI{1t66Ds5#zt$SzK(sSE(>zkgMVAsu3tlgSzHZPwA#@%dew-7WtY|p5;bb{g_h}p zuLl3B*HLOp{qo64877(?CMpQ#L(>3k=C`zqb zVwYH;HUlL}>f8>>a1aFH4s7#vL2Wqddck6Eic()90q+`ENu4Keu}WHC!JG)oHEc*c zXjDsz!L7BV9o!~Jz+U5qWN%Fz^NP~6K9uSW?lx;Eu{U?v6(vNXgS^{sQ8-KsmsFx< zJFo+ml~yi-*xE(*-6jl@{c3XRwl(XrdMpN9Y^w`LR7kc9W40!)KEkz!rHax)7f>kb z7%4g5Da_mrwHhjKjH_>N4vQo^3y&mbBP2rIvDH}@K|@s+T?8AGT_dH~M@Evos7O+> zn}Cw6cb7Lhq&*^~YUnA4j)x_>21BW$^oo?Kw08|Q0oFu)YJeWU^cB(6d9i-7i+ocI z_1Zz`AEr3f(R*=*c384*XLM+B9+dj)3NwPQ3f|;y6Brgo$^~%OqvQg(LGc}0-Y|#8EX-kl*A9e#8Q#&w{?8-X z|8Ot)F_TJo zVL^U)W==|0VQQMZ2^>Uel*ofb_~f*lR9XTe;^@;;Qo^ruKD=vKWLP)5fFI-8$(cFS z`1DL~0oihs(%}W({Iulk0%(NjNNiC`TAnvEHzzCw18!~`oSWm7k|UG7`I$x1hWKP} zhLjvvm_H*qC5;NaY5B6rfnXBCD{bLl&0vOQK>aB5A#U(ZHn(my^ z?l*vBrC4z^w*yaRE-ww$ZGYu4$-CaO^sLbDRmeBx@l9n{k7cZYk#e%=dbyNYGnQLy+*Thxr_dA zwrsj?%k>&-i`MXGL>^zFw)R2pHEyEXE@*nR+QyeytI<;{>}mdc%=~w@R%4@9cx`2V zetzN0CFPZS_m->e>l*!y9oC+j8=V%9H98sp!vD6z-+x-sp5;bEW2QDQWu}o`Xxv`D zse7pL?^+|_f)?0Qo71y2KR-(g+^F`eU%t;MF+vxOGmCFGO`w4}#advoR?oOm#BF?I zU;7f|ujKqLP5XHPxKOL7R?t(cRjd^l8?{;+wW8V6wSW|D?zM^06QiU1yj)VEM%6VM zY5_g9xjnUjYuem3X1+1I_uT9gn|pOHDL<>W4k{@(W*H&8*2;%YFERR8TOw=D=JLJe zMhP$R7}mmt$MXxh=jBH8b#|#USEtW4vZDK#n-`rn`Xrh;DfsXFo^y@IA?w5Pa_`vT zV-^{EjkCtNKdRSkDu;OOh5bRj{!zVkE%+G5u0sjLNeye@zusLg?T5Rp#;VQl*ss%+ zRj_ZZ&Jb;OM=hYKHg|&A4HiWYjy6Ub4;hWmmONzifn933YAa?uwpkriUu$S=^r@{D zZHx#~TPwzIS3{k>>e`dVM#s`_Gjd+q(P7x9J6A@fXK#KBzG*>k@_sjU(5G6fpN)_L zUI(+RZ<{vFGA0!`{l<$8ag(vgSc|O(n%;xG3%q8wS&hB^up9Ldvr$8XxRzg}%{OM} z&&e))sk~fmTi0kEqs{Ai{;%nUMox4utA?uCWY+FgsNEbduU(^y7Vsccz>FL%V51hG zMzM;gzX)S)DF=Q65l>(_7dy@b7n(7 zF-fuWtu;2Svm1Ac-MHsm%hv*CYek>|pHPU+ag)|~kMWC^T5NRAG!|;}p}DS^q}^g% zL!W;CGv90E7Jvi$j%xu%PuYVS;DI)8Px*25!Ta8aTEHH;C%;tQqf@0Z&kTP(9{vQc z7}tEi;t;1bc=Ms;W4+E!?==y_q19}vdEsB^LKBeNo1)d+sCEkK(8&m%s0ABMwMNIZ z5ql~jU|N?6+W0+TF$u@Rpplm!ANt{xPjPd?9@EK$ zdx zHerueclHZfz1eacf{l)1FSi*T(I;@A=vvP{W+RT)YOay%#2I&{KC#I-2cfZMLNQfJ zvnGDk>NriR9`vxdVc^W{MB|QbVOo06#f!Co;>Fth;)U8S??yXr@b7H<-;MI{os(a% z8A5rsN2iHKWl1lWTYI_qjL%SLWNPzMdV8T#dUsp9DIX@(mO)Tv7JBxFRa-CxG&8#N zjl7(%M%J??;CaR!`PdxFp&QhDQ;Y;Rn9S(#h>_zizhsXt3b$ z&z68}K25FsxG~CZHaJw>!M_^KHW`&`D`D7^yW1wCnO66j4P}HGaq6_7pZ2a+=LS`7 z*8*W&3~6WdiqmQs#WS_M6fFpb;59H1C&Jor-Vm2Z+ctkqKWI0`E!zBRD+^v;@=7$2 zFELun>#}mQT^OTpRB7k#UvzziZhEO(8039@-{R$B3^|)u0v&~~!S<{Abx8S^qGD}sy6S8R?}$u zk~XVYyQSEe>N9Lzx2&s#Rnm1Ej~laiJF(mVKN9L=9!z!T?pn0mUf7sDbAC!bdox2A{63|Q2n$-qj)ykV-L!&p}S*6-FXi=~B$Hy)Due~vGe7@1CWO}nV z?m!t--5=GCW4nxuX&HPXwpPd!FG!)pb?7<1s(cleH2Iw39ADDNA;;1QM&+XJp(TfG z>o55nTg(;vbPD$FRr>)-LsE`7Yx>;SV%a4uMDRx_*{@$;y!=Kss$DzK4sEqy-y@EYb@H%= z3k+H@<#Y7d$2pjscY`VD>nFj7>$^H;@~-aVAY^a{tJ{9|jgsZnLhX~F z@=ut3ut%q}=14*Yx9Xy4M%jd)l#fTTe2T$rILLxha&=jU(p)|xKfmAvKLS?!)r;=X z36@9Yl_e98kMFeCC_HTZ0m}emy+hOlR1!HFpYyNbg`?0CZ@Dpp?9FZ*KHF~O zE8Pn$G3CANbItBUKZ8l@9w(aL$Ty&!q%DGjLRZY`(x(R`> z*8$hWG1^?-snv+O-9syl!CEcjXBd5d(XxuQCeWuzFX6TSE7UQsT@$&rPlLK+`W)lE z^z8I+e3lZ2sr_Z|+HZ={^Z(s}xDf$s zfYhMr>fNx=G0wUSZPQGn_?XesJO>syK`ny395YW_trn|iS0my^tM-*esY{EKUeX}Pd#Q|$AK+l@Ul+;v(ics$o_->Ahpn_ z>2lo*+wdAF{)cCoqu{fDZDXlApq4&pi6-)@ATP!zuZfixvPDr=N_m5qx#E^f;+?Nyi2}|@D%Upw(%loK$ zOHmdwM`P{)c4XT~+Nmh-$_z{NQOjH-h>ei973EdghEF|Lz2o1Hl6U>LlZssmKBjzK zoNUI@3Pt%;A^V@ST${Gcr8sRo?>$9XENQSE+vSz_73JJb%3lJ_1CnNl)JIA_P?RTq z@KZ*uf;8KIrd9$kT1q3$d8or<*_T| z5Y+n(@=B}86U>MGj|(M`|E-_=yd#S8j+75RkCE#%;;5qRmh$DcgpV!x*0&g^{p7`b zq9~8}6oIdmCE|oVQHoRIy`z@Q67}aUpLM{=bYhZd^mc7 zvip|LJE`D3j@R*r*!iav$LPH`9Y^|QvN3SL7$sHB_;Q@ z@$y`k1o=%>C&s3O;HVg5zVtK3d{w>e5Gz0LD{33!GtPGmFFm6u4=Xq3k2vc;|L6_! z#rO*Y>=G$o?u*LTijsDNygbM&P^jNxO!iYQ>6;tJ3p=mBc*R5hQ&N8X525c{lH8MR`=pzi#by z32gYu-*U;n{}I3VpBIn*;(tsHx~wS0e(aY*{#SnZ@~$Y#&wlcge)Hdcw){r>k8k<- z-xZ|?^TYRtfBRLC|G6Lg6;~DIK0o&3|MG9Y4D#3cu^<2UP5A%02|wf)O8LJ1GwGWD z_EB|>uB&~=%d&qJWvP@ek6#i0`R`jLkUyT$vSPgi6Y1S{*+I15CBcEB%p7O-yTPR2 zRe|O;N#h&WGC1D!*X~L+|M?{@=69Y6(V5b^n&TBwuWtY4FWn@+)Weit>3W>>%hG`A z%ZFI`5wOsDLm}nG@sh2%aR;$gl3W zP{g_JP2ybFfBC%n%>VoX`To|}RSg(EVR++u3ifY5sA2W_A$EDlztM58t%+~Ml=plz zzU$7ATUoWo0=A7R$gjA;eng+T&A%@pjs54B-5}p)2x)S2KQ1-#zmL48{`YaI>CNN0 zr5RK9-$YZ={Kgv5HbeZg9)$mQ^`RBuT-1=>Mupst#J``Wny3@~j1blU=zw-FbP`~@{ z<-hOX`!D_F#`XCZ20m#zvsFK__vSm zh&$pZA78)b_jqNH|9pHmm_L5=rCfg62EM$?U)#l(NNw|DA79txuROjsX_%km34AM& zzw-EYAo+Oby0$aIKOesE#$Wy5yJh_KO?;1wzx5)%HN{^(zM{n6@h-lMq`Ko>aXxk& zQ-=B+vox^s@NFT%l5J7v_^OcB*VnmS4u3G)qd5Dtx5wXLdy>y~aSjT$CrbO5=X?AO z>!DKKuw~j3vi@7Zlx0#r_&pIJ`SUM{`DrQManaKs@>7>NObTs({FF2W zANxtm$yIW46Cs1|rhq(Qm6&KUq|M2M@3}K(V9KPlqmr1NTvTm1tX)Wtb0sEv^OJK5 zX5{8)C+6j5=2(_!I8w553(}-$Kq&G7&U#|Ze&Xu-J?7=+4av_f%;S%DCC zMB?bNgJQ=fjvX>U$r}M}aC~xRmIYIkl{sA$#wIs6Gu4}6#W^=CGu3){EfKPz0V;Fz zGreh|U6T5+m8Kc{p)IpMMkGVKPbtjLPXq7x6J;d$*=gR4+*D{@*o+fr6y~HTiTuGU zyZvY8%*a(za0GT>o*2qehR4RdVyPGIP@K(JU*J zPL+&vJe30Le-NzO`3MT?|) zbCcsld&R(HrOippDzE}GDA}8AxoTD1jNH5e1-_fL>dnr>{VEs{vxy-KuZL>8a)I2H z?T6z;lMr1r(VL48&~XOqJ_I||ncyIKR;|FBo1d1L3jf03GXoo(0yUU9!wiN`2gy&% zO2p9P4ou@%pIj4{ot&OV0+9;7bJcYnCM7E~FCKbuTK=50YPwT0^v{G$Z$|&Dyo_We z6$Zq#0`mb$B@r@Vbg~}uOf|=l0;{iN=45)EkPS}80l;iMgGY}VpO_FEH)QB|Xg^~| z_8(Dg#p1qWaU}9qLkvw~?s)j(GeGg)0@29JNxy-wI6CLTu#udTQjM=xJLR;#)onlG z3I5K3I#0#6Vf8XD9+ID&nu&cbF*y|<|IEt8=NNPI67$oiTd_}+pA1bEtz4PG2fP2L zwr`KGv?%X?vx~C3qAU~<~65) zif#4RRt*)EwxVg>DpHVDL9hY_uT&9MMGI^(w5KwU(>IGO7D%8vj_KQS&7JTpytZA)(r@*~QFvjlY~CvvmP;w6 zDvnKA)}dB+W`b>96S@~CVwji^B{3&+#ViWb3b75vS)psE)qht)nb3V>ztW6|Y4{aW7PH7S0~#je!E~-tD$gdhMyW{OCP?PY?y}`tey5$tE$U=n+;j1RFokjr z(}{U+#%n$cvz;nBl~kw#>-p~n{(G){#4Azqs2oiqw^<;tvPG0wa(q-nK;G7qYP({) zyGhM-YQ{C5DyVk=)j>Z(M~1zvr1yAjJIwXOpK)A_$3?ZUFlA{8?laz3w{wlwwW*JZ zDTdv1IY|Aaj*Mb*78*BQfN6wkNXQIRXX&t%+g59+)n|#L`4nn33_Zou=L_*Xkj+SH zIAH2wC}gs{Q%#OYoq8277(so;k+(iY3GHheZUP@HRZ5<=*zc=uYSPivp#E(oF@+Um zalSTHaLW>!=U98PUfNSA4>zWO0HEj+WQIaoHQXOgTfOTItUl{Utf`2}Fec=624p8| zKI1*(+sCp4Lsx=c(8n+-G%m(w_^d<>c)N7Q$z&UN+?nq9hE%rBRm62+3j5fhX z8LwfUs@v*Q(?-cdwTMVYO*cnxB+3J-s)7{XDTlbAIAYdkfEADftji!m~15} zHM8wT*?nF%bGAZU7$_@0gHsY|UT6ekgP>Mshc^!nyn1^k&>NEgsvN*5+wY#ZW9tCcNx(c+sQgy1ZC(sq~*+QKa#oY}w#Tu=d5_EK}iTz{VN9uBf z<8*~2zcl51R1m<_2L^ey6Uz%o$D3)1lys*j$E!*omoPj7Q;;8AG3CK`t(T3UyS5sfNT3Nv+71x!0W>;YO`Y?pHl zMZ0Pi+D6ROK^fSSodg+*IzuJb!aIz!;TaV;yg&=UV;ZeCpMT-ih3!?)3CVn9HM!LW zv1z4FqwuhZUp>H0X{#REAN+;5=Z~Sy#f@Wqm`#+1~A=qrmdABf|qj zM`LoGCY#qGCI6{Btf0K4O6hK_%E4|QY z=&6{hp3SyPQ<~L#f`yvgpzpHzQX>!gpQuCVOqqiDB&H>`f23!8Yj$v8D3cu@j*_o6 zh}@RbjDeZMbI2<@m?0^Y5SpShg;H^*m13ZowvY!Ss%X)4i&)Jto@fjwW*$VUq^N7A zq|}B+DUU+d=ZY1u&`Wi&EsPi`RG0EJjn~-4rCcE}ai+08##iMM;@I}l{+`}Uwtrw~ zU~FrqFL*tfK|F_{qCj3S`r4L>P-g{|NF`At#38vcItYNJdu5;q(e5JO8yAiqj!llU zAity}xA^au&66MQ#8qfWbVDyin?E`C8jDE@zCa04<{-F zOts2<&Pt0V?l<5u4_O(j@of-N#cE-yGe47S#3wCNogq4uF9o!#9r;>EspfH0!$wd$ zMH@EOa-$d1qJz?tiAESslcZPr z3aBSmV{uzxEnRwFs3<9E>aa$w&xEs_>71quEapZ6(1%_Q@V&pJdUMLSi9C90NmrnH_YN z8FNs0T@N z#?^yLj8m)PveQtWaQ(V9x7A)IX<=CCbZp&2#uAL??qwWSYFNE<& z(^Pbd)H{J#$Wfs=653u3v-IMzJ9O|P)z#X8iC^1g9r`Fvfs7ie7u(bY#%)m#R8{4+ zQk)EgOgUFXW4%?{6Ly5@uC#?IatS298#khNmW_6yrNk(3+-%S2md)pG@XY>*9$@-O z>St_^vKuGGnY9%fJJyS?YEgqlg!HF+MG`A))yAUkxmKgLQ>LA)4UAx?Hrmy!x;Ux!)L|y|qB7)^ zVFQ=Hm=$5u$XgB?Y%_rwhs#ZBYCEI{+(*eN)(5>CRM+a9u9VQu$ zy3wLz3JcO(Z>}Ec`mhbvp>}0>I>S~-jC&ECDt1UuSXqWzcTulODPPTGu2eQ0UlNd} zbbk_SQ61M^dO;u042>schj4ZMO4WW~tt2nd^_!i{H6xZn!&0?;MgPEHhJ5t>!`p}Y z{JDdQt z`e0fqYlOX_l_pZzh>4RDJXx!igP{=fIHsvf)SYH`GRy=t(n5oB%7zn)JV!kBSWAvA>4fqh zBLqOoNAlX`A3;xA0~EIN68)h)ZA#OacB3YO#VF|>45zRp-grb9?7K1wB7*XY!piTa}olbfL>L(NBo`CE`HM{@aPvYp=v)tUrZmzzrE zP*f$!Xi-0mELV^zmMQ=!X3Kxd(`GAq}683R@sbduC~BI{52nVfbT zJO`eJmQKRensTO*WT2YUxnTy*yz`-ZC0f4xIiMo#O=xLqEYU3Lu<~ zzW~dJ{%n{0Ro)ac(HEXg&o!s&X@xLTBy#{?)k+yf>kFgVA89`@x?brRcE(Z>QAAo1 z1Ci??p#aUv5J=~Jn~|@MU@cQ*FWIGzzjwA;S z1!8JpZ@efiXStYEZ`95UDQjsW010Z;F1KuWnKy*IoKt8h=ciDyg&FAN&6zdbrW3xa zU(dk@KJQRwxg&homqJBrd&Y^{iD<0KHAEqak(dn*zldqjYy~uxcZLZ?%rQs$XZ4V@ z%o2Ivo(FYDn5%e;R&OU=xzc&&7HDIwrqG(khR*u>uJg|6+&aE_4Suz8&HAo&>(1$H zHtTCt7Qp9p)=Pyoo4PLOTEFhBWD0G+>J^3AL1k^mn3K{WxOQQKHHX3_^)@i2T5c*4 zD@1MY5-#??m?o^SW3d6WA@WhTz6m*+I25q zV~|xeEMq3_^RUw%-BT1m?u{tAh@0(65sX@C6g(?^XgIqqvu$|vY7lCrmJVp(Kzn_| z$x<&JQz5fi6}d%$T)wJ>POM^iwmzey0%Qe7Gd+FT%;@MaaCi)%?=&lyr9fvA-b9Le zL|#+SzT`k>8*@6+3_QBZK=$CQ@K&T+g-RV7!qJm3R}_n;2xuHlW?9yFiivLua8R9% zOiOf~^}ze?1YH7k9x5WWHo6_4c~i#M%%nr6uv+&ktfvs|T&px$Dwm)+WH^%IA(u-{ z!>7yGeN;81a5W-H5$vfd+bE4jtzmYo(8HcW6@(XwMrD*zaSP+n)sd6@bs8BC-QEgbi@q&$;&OLwQrch5K5>2L|ZOtaHo7t5l8a36e>{HD4 z432E=3A#os$V)*Yx8oerrfMqFK>4<8fKu<^@K}cabqDyW(Sh*{v$0Tvz@;8s7ERjd zXmM;b4&qcnDX4#Va~AknGbQG=jFjuyupUFw!>AJZm5mA-<=Jbij-Sa}r0%1IHA+ce zvaQF-&iCF?YOoUF`DV3m)asBZP&LnGPA>zal=~`Tso^3tip~CVPKFZLts{lP&Vcj; zBkL!#SqXwXxrA{YxlUe_eCh&`&(r-i6{~Ip4mGhp8*E$QxKj*=5+TCMfv?z4qkw12 zDjAG{7@-xTy*H_fs2gyPGY*9${L3+@YNY_9ET}fELM*$;5jB08q(M^07zLu1Va&8h-I~p9j@|e{7 ztVM+;QNVg!FLX&;K)aPUvE?rIE9GDLv8;QF`UDh#cA0}xn$V^~uG+5qqmt8}r7#|Z zdUVok(ehZkzaS}@gBDl0#%8KmGom~Mq&Zb;*2}qBAgNLl1B4RIAXrn8sulZT_4S18 zpigDdJn?jAQrKT?ilVwRl8Z=EFNj$6SY7X?PJ6B1*F$T%hJ;D!87?HX;f-Ff~wQIP4|pE&QeRqfiLpi*b=#GYn1Xq0U1hUT=-r zRa|17Pf@OQTRjIo230_92f1-c$?jU(&ZxezUQn^NZOiD`e>oOWZro&7k5>zyjjClb zy;oZ(bXx~7XmkAP!Ay2+5I5Z>cBMi^P55J{*bt0c9fW0xqJGF4YUrNERlupjEuok8Y@km+MS$R>5B^_w{^qJ4iu)epoXsY zhEX3i9TaVdhJJfA18g4`nbQnA+FdG)i*3VK#&&r5F9uH965;1$_hsN{~cWiC-%ty(2|>DwH@b2=`#O zYRZ!svX1`kgM<1|5V3Qe-WkNwc+A3BtgKP^V#}SsQ7uBpLUPq7+3aL_GcY)q9o-JK z%v_ln$`1GSIW_fm3b<3c8C!;R)QY^=8De_NlXUBiHiyl^rG)}iK zQ%sljmbQrK(<`wNlJ~+)gfXY5G&k1|CJ_5YL6dgE7R?S<-3W1-0CR<6JJ*PWi%RR6 zM#{!U5sz1)3$mAZ;50p6O{Flmz2>%;_f$fnvzMn_v^iEWy*bG%I>|`&v~Xd8P9MEc&K5!u55U{8=fQ;@wkXQ zayE^s=!DpQmJ%MqWOua45`u*?Pl;_B-~CjfOkPH(0g^l@!CT1^l9GH|Dk8YiY~*3I zNd%bvR^GfV_%Ykl(`X<{^5YtXON+QTZcpWK6TM?0+^y{~dbRd8XrrXk=)(Xp>SDTv zwL(@NumLIb65v^&W>FK6Yi^aCT!q zfMNs0Aysfst+9G|T%jR0h>WpTo-)T8#C#W54vcN@(TWW&0lPs%EadGuaGQq*`@&`e zqa5OsBjg0c*eY_($~m{xmJeLcGtr1K)3(1~@OBd%5v;4lxT?w7A2;UJh;2~b-1Y9X zQET|Tn-aMhZ>LmG)(232R&!;&k%yl3SBkZXoolF_^v;Tn)!?og80y3DPV^$9wa@;t zfLb$l8(TzOv`l-Nw(-i5C4@4Fu;F(VHkS$fs8DYoCM+9__aTSh6{fIjqd zd$Tr-+8d*YJ?(d=B_wg-jv4cAJ8<tnGCE{5Pw9QULG3b z*f}alOD;BrdB~ZgBDpEYF1dNvSBeXcx6B*`ljXyQH=6&>GZBuFtP#jQDpnX->xNA5A_)dD5X_A4pk9lk56ujRvlr6{a}wQ3;Re;SjwVK+8j$e-A^ot zx`k2v1K6RO7+)Pd=<`LtKTx(b9I8TipqtCyP)ut zs=yPWja=n(^CIreaZ_@(>VdNRr#Q}#j3PSngG!Mn5Q`Zuv}AK`Op@KDLQSLOZ({q9+WHpP6NQfkJ zc9Lv`&*kvhadu*UF6~N^kHY86@cEA}`~A@RBzXWn--gfsthe8tv z`xW;l$wB!18a`*Y_7iV7Op_3QY~`?MXC145m1Hopo{&EfGdIWAy)A9|fqf>R&GVx&NF1 zAH1`68GIh)&v8d9j6a9*=T!K-fb%_dwEFCSMUpJ%?=cVFqkUGQzQcU)y-0n&zuCU8 zga0BSJp1gkHOzP28`S4FhuQZojGu_M_duYuUC8wX+-lYob$506}K->x`r&4b@G26<-f~07xF}f z)tiy`DXiXrJWgTNJIKovejfeZXYljsFY+dZ52wG#gA`U&GH&on`ine8;Z^h(d56L; zpufL2_z3!oyg=a>st4yZei8j$VX$Ios|{8Y;249CqQ5^dm^RR-si z!Y@wb&vLraMqkSP&**$vF_8N! zRHUB_c<=jc`Ub#{iS%B;6YuXxF5&d;fWITsOMvI!uXs16Uk7+mq`wnz=X^&p!s#Cd z`~z8keE+;He-ZGLA|2RivLModZ6;5N^mWKm{?Vpi4)~x*F97a_^eIk%6X0Ko^qT-L zi1ht{pO*E*=l=1;SrmD8vN6}&(`l^z=w(SSHnMh_u1!X z0Iv|~*TX*(|7^$iX23^?^gH37d6E7Q;MF4ihw#s$NPiaaF(UmXz;Zi3XxqOI@Npu& zAMlBfbP%UPd=2K`uk;$E@7;hG_N#lU5zhhchWvlR`9B1B_1!lA=K$}&+vZ;cJTLP9 z4)EfAHvh380`}f-^RGvdaKPrj9Pr{7AP?uC1U&IYn|~Iu$p3c4U$W)z!}7jt^M4ZX zg2?|6;O>VKqF+pZ4Dg)5{{{Hq*AwDPh<}gikJ|E%fqC2cRa@TKfLDJ<-OY^YTLAAB z>64iMKW+LO056L4ccTb=!lv&B-2FA1{@~&E-g!)a0`R;@U$(;DE05_Xp$PrDO+SBy zy*D1y#{f@=^y&(GZ#$;{72pMtzHf!S*BsODTVd}pNBj-IosZi5Kf&^UZOc0hMEG8j ze!@z7PdKJu1b9)TU$xTS^Ns1d0C#`GroVHgy{DV{3-G*1|ME(ES2m{q7*&XG+VsOg zh0u3pWBM7Z>^*jfFI#2rtwVej;0f`3WtF|R4%7bv@caKg;h$B>Uju%Zz&8MXlfdr* zyi4Gl0l)ZvEdBuClLY=S;L`=Z1MnJw?*jbWr!4*y;PXWK1At#8@D~AR1pW%(4{G_g zY*q4uRaT$rSawYEbHF!h`3mVPQ02Nor~mxflL2>rvV-*CqkyaQApRG1KOW+;QqdCB zgiw3>3&0BtHvi3>-oxo1WsE`-v5pG456Ul^F1E^ zV-L3h-vs<0HLs(PzA&Bdy~Of9;^qI`5%yk4O#hCT{!_pcciHy8094R<(LZYd@BJ>k zlb;^|y!fDf|7%}p?>xoyHzR%^Nv`Moe~-_9);_--&5$|H}~nSlRK2djYQy{V@S}{`0o}Zv?zw)c0mosiCum`T6@_P0-S>7R6I|cBkF#Lg^i8>KJ4KqSKIrTu|8;mblwZ|g6rD}c=2}IzP_XEz3P}gd6Zk;b&Ow-sQT># zJTK_w%YbhZ^*iW2e>j^wZ{g=pVf5_|f)0YkdAUN83Bu5x2C*|?^8K-}W%R2%TtqB14^YiEM z#iLvJ`AY!LciZ{#8crYP=iB)F1D2lt7Vu-DfA8e{dVIcejJ-1(%lk24eIGsIRltb5 zf0QI^mnnQUo2VszegyEGp!X)HZ{YO5#pl0Z>E||1-^J9O?TB zz?%g9Kg;QV#`#ZR6aC_43U6er`{UIft^%G1{pACRs_z`&0}t8qKMwfdPb__Xm7m|p z&;N|E=AX;iC2%U^qX8d0s>AThwV2NLAS1ql^RMCj6Nv9h=$>ax|8q|7VETI><4v4@ z0r13!?D%|_({+7*0eGa-@|)Gi1Md~>+sG~p&2NT|cgrsT-v0u1CptcV9pD8)&+q2^ z$8!E#0gv2i>;Dj^>+$(7#CKSJxRPBYujlj=0k1pK^8XEh7dxzc9|F8u)V~UN?t6*J z|4zW&KUMy4#QOnve$@8Q*8q?F2HMB{|2uxa?ynb~VDF%(@nVy;P-C=Jh5Q=ZwKJ{2W@*B zfIDAl>;HCsemT?6&4}-{^}Qdl;8%~IXzvNf=YI>h{y6B!j9+{b&i^F&0^{|7=Ra=C zdkx|bcO-L+{~Yr_ozT76nE!T6=R4F9e+gY)LjQUSaQCeiuSOS`kT>VCOY9u(kINaK z#W)XmUi9Z%0PFjm@qO<*+1@jb_#S-z-;(4{xqc4;p7^2Vmp=l0;N=}go~$?p=8qWP z4eXNJ#_#VHE;<~)9N+^-+WCJS;60)}H+lJQV|*8n*S(B2zj+++{QrVpo~ZJk0X+AT z4kNFQ>s0x_!uikWwEo(olNHH1fERzS`THv14NyPPU%LQLe9n&Fy8*vd%(qYA^AG9z ztV+HPc%5j^FZunNUY~!ey_*~J9|O4a!cpUk+)xS#Qx8RHN3*F0lA ze{To80QS|}67{~%pBuRz0L!OoY>r>VS} zpTFib_xT#&)!(x6>>Yq-MEmdH{951nG~oGLZGE5c%KHW5H}d-qe>u^mJjM9qfII)y*6-_HdEaNO z$LATq#|e3Q(iuP>V!mB`hWq^Z8R%cL>AN}I%n!t$0Xdtf`o8xJ^bcD4xCih-us@#Q z^v5y%V%vXDb9tRy-f^!;l3PUmHUXX&_4^aR6C(W$uW;-87RGvh-pqKE@tuG>KL>J` z=jS)EyzeB*NvuEq2JqZU%dc0T3H2BH{n>y=K4$585b!2p@9qS=aF>wJfamYE{qc{0 z*L~i;e*y5~F&)V*j2{QQRrL2WXR7-D3)lasvlL#%^X27$7jCof+XDE&25TQqV!Dve zvw#<3xRa?&W`m@d~cbDQ73igQ7n$YGy*rx7PyR zD)`CU0I&YG?a$lKR^`1pQRV#`;6-4jcXRsp0C#@MmbVNH@$S=wzXI^Y6&*(YU-n8> zo~Hjn#+u(>h52u>{wJN`shdIEVCs=#tI!?zQtnWJjFA8~e2jE)-eH_5_du;ka#6o{P z7XCRP^t(&e;d+I|e~KBmcO;umSMRR@-XZe8eVtpM+wl2!sr4r;|6VWsONbw~{rd!` zYy13ZeEyt{&cDU7u~vVrlt7!Ly;c|!Y_z@7qp@I*^*Hvpay`o!)0y!Jmn2zXx5 z!}mB{*Y~%KHGf(Giu6H{*Lr+U0X%WH&4EGx2T+dkR zcl#J?|Kr_^HUEE@@zadI%UJV=pL_3r{`pY9%fPv2$K`baep2X5 z!<>#k*q)k~e=p#=$p4R=uIc4=z>7k^JOFs%Zp(jv33%i(%P)@Fq@LI7G3x;zxK_~< zrf&w^DfI0s;ME6#MmYWd03H$Pw{m$O;qpGi7=N%mUk1Ea%#WV}UOeB*pBHh2t+uaD zWBezKF9tj>`194A{sgDj7@x}cdd9kc<}Sqb*d%!;zwb6qzmU`Khkq6?vi12kr)zuR zXPAC`N3y`_M_vT|BieHg;1TG*!#Vv@j;+%C>eYZJ#QISU@D4GaH*kJU|F;63JG_J9 zM6kTC0$wfn#~%Re_^G4espS`|=lAmSrva{mKHTK`^mFjkM#RkKCA>mR~P=$GcQTZ57Ng)hy_1;4X6Jlm-jlx z|G@YHX0z6p5o4|YA_|8hG1V1FD2gtu^k)kj|j zxGwlj@1?ljX5T-B>5n94ec;cLa0Ng9=Sx-DxITuig9iZ534MMM@ZM8YybI!IE_Lg3 z^kvXr8!dl*pz_aydeCCZvs4bu6_Q!fV;(f`3T?@qW`}Lcu}lZ zJ^}c^zuWn{3SKbF(Kj}??=hk)@e)b_w*XuQ(1H4Db z#~*Pz{$PLng0be$%Rw+5l>QCCd&T;Be~-$)it}Fs_-R2;djXFeW&7uSfIH8(^5ZVR z^JiH5>Jcta&)@I$xbpf*PS0_A2PifNzG3}ervW}w@SlFb_kPnpf5m3?d?!C&V0ZqHQ_pMt zbOi9cus5oluJxO@1K$5@>o5Ko;QC26|096+3jOvVKmQJX{`ndB1@^%XPCp)S{lBz6 zzA8CCqw;HcaRuQ0l0R|!22Otu;JuevesnkBIld0Sxo2d#c}3gEe3E3Yrz zqRQ*#@^&yjlKE{JpBM2ZZ`p$W-Ng92ZUMYP^xq?Z>!STnaCvnue;Ewigy3JtZdK{p z|Fa(OEy6w-0K9O&rO#=6{uOq9U&qhu_3U>c7WUc4I9>Puqm1zf`}avK|G({cu7ZNP zg}#2;fXb`sp$BmNu>^ymDF05({}HR-&T;+%_us9IwLj)A#A1E%Tb!=#%O5iS3&y_% zJon4QjMwp(tMq-GzJW3RV0$u%@3ZyKiu6wSG`;+DjJ3YCkMY|X-{~ukjP4#Mb0PJbQXxnu2ocn6oK`QJR?2{C^j z0DM5iL;VQzi};Y0gX($RzLNouoYs-Nk;m^sPRAc?-!Nk>&n5tOo@nDMUhkFn4#t{) z?`N#*`&qyXf}Xz%cv1L^egk-Jjg^0^wvIO+147^G<8&>bu3~%-<2`^63iu_6LS3X(0E7w@ts?^uwuHRg- zu(mndTvIMhHrE#6cYe)=uJhLJt~GY9#nY#!*6?XZYf9&DI)6<)4>_ytJ!^{9_L^$F zRbHEKw%6txty0%mLi<~b6?LIB9-G@}HCyfJX?SNg+dDoynjIV%8_#9|^*QMBUIXe~ z>*$o!a-mh2>cZoYrtsulJaK@|MQLVp?L7(YzspXwE0tMYbY`f}maIYlXwSBcLHHW| zzb!RyO8x)RF;(ao+U(ioot+rlp6pz5x-HuVSJI}h-|4>B)*?w3wh@4x{0K-yUXnC2a{C?89?C4|zP{qFLi=+QnZ#XZ)?dB{z2 zAF~JLIgg}V)$E;R;e6+0bT9o9xt#=e*n+FY{IA{Y(Npm4w@&8hNgRQvW(^OqGhfFJ3`Mj(@h0A|C(VsNh@k{D^ZqhP=UB9n)p+B}+X?D{@+b^SxWQ zCGS3uUy-dU8aghl%cUDfc)B zX#rKpQ;Z$Lh#qeo9NtFXrrr|~-Y-gDAL4e2wELDR(UUFyvtF_{AX3BxLlQllPLgfv zlWwwkHs#7^&ZnN$x=1hrUP5rdbn06;L((<4e&a^^eLnrZfPS9`zc*aCk$$WH&!^uP z!tZm}t*77X=$lRS`vN?33RJExItw?SZOyc+JG=6GP^oLyxE9eolaOc2;PB?2K|HE# zEHj=R@7X+<$-2!@mjgu)|P+jvzzi3`K3-siZ!bb&qpx{?%g8(*Xru=;BcU(cR#G^TRN{sUo7jNOe5&Z zo=qK8FSst!JyhSE;p6oiANd^+^L+ZRFPHtYk0bFbk6s)kQp^H#_KaYVqKrvP6C3@qtZ8Mk^DAy_yyF>++BT-2P(%p>X2N( z9e%?a;yk73T-|4iQc}%ceMYGc%aG@CW&5rk>e)8X8yRqMozNl9pW~_Qo@s3#O27U^ zJ?LD*!{6Bhz^oAAHWbYTq&6w-u3CQ{IhV2 zJ}Oro_p8ei$5=Y`+XJl28NVrFUTLFC2hUj=OFI|Zt!XiK^k5qERM*Uz2n7}WACa+>q)C=xc#WD5A~8mUVy9~ zme(#vC;=)Mek-mx3wzH!Ts|V;^byi{W6l_{&_F;2^FyCbZEr0X8jgAV5VuUJ2Gckd z(x|&$tE+n}Yixk3hm2728yvek!m^#Eu7KAKo{0<%r7eA>Sy1!vJkvluS1iHTr-__d zZ`@hn>p_iAp;=IeAA3y;Z|jzWc!*=6f%A;DCy9Qzd->+ez!C~>=y5Z+w{}OA6E%o< zah6H-Pg?DB*tEIg$Rj|<9&H91yQp0HS?qLcj$75|d?A=5JI?Ymo}YY0YU~ zG3<6VOvQpc2s^@kD&jO}#~&P{-)VJH?v=_ZG?wPs(YNZk^wp}3$ur$8chTONpdg_2 zUPa~VV$XQHW5a4Ef;s@1Puj-p^&BogxA44nb+>NJ@I)q>k=CUpaG?dG_5wNa0u0bO z`NE!dtJ&SXWpH3~Z*~JNhf_@gQBP*KP&HJNW~NPZ(@0DZdb+-LNhnu9T9Lu@5b~I0 z7@aL{-F$&psF4RIpzfiFr5ibDZaMU85}%>{aauEkI%C>*ZAJMoDd|uXH@HMWmFL^e z@~S1K8ReE#z^e6ze3~tBXPb7JQ|3mkMYmEFT=)Evmlr2$ zZz(H{uCH!bP$_bRJVrpumm)Yx)7&vZ&BgUsZZ+w5VaZ#Ko8oR+TQARb4s*1rmvhC0 zO_$XXf^=*px4A{zTy$3Fn$221t8OZExIxMZ-;tql+RU^=x{1+043$O{Wc3)cBbvob zi-v!pk{F>NeSW*jUWwbHf%WHkuFOv+qgL?Jw#{*nafr! z)x|G-Nty1BUL|#?Og&{WrYP-CN+o2wb`(+ng`HBW;%! zN?mB$y!8-QP8#Df+MRxXA4p1st_Z#tzmNfigPO1 z4Qq*(Y*$&bRrz!K%H?G1pB(;htsK$sgPc(+SS#|Anp_QMZMKm(& zLt-(^MvTYq2F5Iqsm!iE_c>!Z2zF-HbiKSwUJGm6C6(YvC))5L@rcyx!>&`thZ7Qp z5yBBWz)`hTaz#d9xlb_HYI6LH8B{mec1hj4=&YK%&DE=Nvb7E&IzdC4h09wzJz{aX z$%a-0YPM7<9SUI+IiiY4QzPzk(+|a%dBi5cdZktXXgXaF@|WdhPU$=-h+wm9cCy)2 z?8@)Wl2);OE)@^ilDtbSOmQFZ<>xgmAR>e6vSiL7y`&Mcr7M%w*T#bO-y#op^%{Ttv2CPYrMd}$ zg^U+s@hedHAm0RSW{ouKBjfBF6Hc&~iO}V~-XqFQEz!Gxk%u%_3iz(EWu#MPsrj-* zASyOn#t%q;pQ8&V{z{Ga#8A`^>&rV?D^&~}|Ow-TcOxFtNtTSMKutJOQ) zm?MwA)1sI}S3BdT+Nl|Z`c}p>T2_qqeW=BV%Rf~x%hH-|u!Q6EWK{U5748^0+NA)k z&C%th$Ox%$F(!t;guRkZo`&4RNKxTVFL=RmMn1qW^+M}LHK7ff$foCbi8nEy$Qzxk zf@lqs(WcyZje_%%N}-ak&xUJryiky$>$xGzV<`;Ovwv;KzDt+W<#uz%Ym22-_xp(H zZr|rc6|pgE7cBDv~N_ptUoWSRX)1NMFaU{8r^_BPxTxS};msQANd_dvlS{Zj8Gy48#h?fT+ac1Ak-v zfYVVf;(2w0;1LRTOA|Ss2#Z-}V$fq!Rj=7;)hxd!hZBP?gtyadeb>3RaNi4amAecs zx|4ZbWamnh&uG@nQ`(n|b=ME=ME1dJMokEo6-`wU>J@t(7_Ov~gY`VqZcWv8SEc!E zRVSSCu`x*Z>$w|(iGceXwaQ4$QGrq4;n;dZ$}mt@E{zATH9Hy57^g3V z0q>|3j`kfoMS}Pyx-ePDEVhE9f(6$;`^$Po)@fd3{{uHvh!9f8L&6R&MGsz%{hO|L zdn;!8>kr5)E*Ag0e!KJ|2= z;6x;f4K%Uo;D@iIi=(0^j@-fb+&6;unWv?SFKJxJ4tJ!ieL4tNwUiNi!*E>tbT(o* zN{Lnh9JO4<82Bb}xEI5p@2TtQo;QtqYALUGDpzc#ZB}s9Kl;jFP{f+3MY3#O1rkPS zkNP;(WfN_qnRAX?G^o2Ay{z278o0Zh_zb5SyNXN55VsJr+?+x8UV=4t(t{e~uaRgl zd{ab`YOd;ZfwM=z@LP9Brx7$5=;FRd(3-QY(`#ZFqb0>Lh1@C+lhcV}-dWQCw2Y}j z)UK0)o7DJ-PdgV6+4I(Df|i%1o5kPa=#{0kf~B0G#%NIfGH;hK8Z5R3ULdL`=CsdG zy8B|&7T@T_S*EL2V}eS9)qYh2f7XeSa(R?>iuxYrxcMb41hM(n);eu3n~`nEB(9Y~eBCbln0#sFSw1Jv!le7aQ zeROrOhcmvezbHEM)3%9-g(Z*Pg`X=eoS>)zR(eGcwe^~$F>atE}atC`RFO9X7K38th+Jr-1? zAJZE>WQ?c?4vi=SQ_XxY@0+wU)88#Fx8gVw*i#KL14>^LyWz_NVNi1Pc1lk<`~0)w Y(6wxqA8}(Emh@OBdYY2KP}r0FKaDG-zW@LL literal 0 HcwPel00001 diff --git a/src/cairo/.libs/phpCairo.la b/src/cairo/.libs/phpCairo.la new file mode 120000 index 0000000..33f68d5 --- /dev/null +++ b/src/cairo/.libs/phpCairo.la @@ -0,0 +1 @@ +../phpCairo.la \ No newline at end of file diff --git a/src/cairo/.libs/phpCairo.lai b/src/cairo/.libs/phpCairo.lai new file mode 100644 index 0000000..e7313c3 --- /dev/null +++ b/src/cairo/.libs/phpCairo.lai @@ -0,0 +1,35 @@ +# phpCairo.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='phpCairo.so' + +# Names of this library. +library_names='phpCairo.so phpCairo.so phpCairo.so' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs=' /usr/lib/libcairo.la /usr/lib/libfontconfig.la /usr/lib/libfreetype.la /usr/lib/libxml2.la /usr/lib/libpng12.la -lz /usr/lib/libXrender.la /usr/lib/libX11.la /usr/lib/libXau.la /usr/lib/libXdmcp.la -ldl -lm' + +# Version information for phpCairo. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/home/akshat/php-ext/cairo/phpCairo/phpCairo/modules' diff --git a/src/cairo/.libs/phpCairo.o b/src/cairo/.libs/phpCairo.o new file mode 100644 index 0000000000000000000000000000000000000000..b5cc9a03b8de416ceb16cbbd2e88221908cf2467 GIT binary patch literal 280460 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 I7w^0N4_p|@O8@`> literal 0 HcwPel00001 diff --git a/src/cairo/.libs/phpCairo.so b/src/cairo/.libs/phpCairo.so new file mode 100755 index 0000000000000000000000000000000000000000..a29b7317f4eace12fd6218933f745c47d1245eb5 GIT binary patch literal 261026 zcwW@~4Omsh_6LsdbEKrAq@tqo78RD=-mt9fWoSEix-AO){%PQc+QH%i_O2Yu4U-&OZAbwD0f#d!FC%*?#t# znLV@C%$l{<%${?&J7w5lkH=$}pKkOIRO1VV(U)+`cG&ARI?@l+eH6BKl`}re5$`$-kejPD;C; z=$j?)TfqSejBSFqQTnM=u9@&~d47nX{z;^?^Qp`kblu|U;A4sIEzgXn`zFFmi5^dQ zR>)u&20G^`DgT+4e*s8+A}2hq7&+lwf#o6r*ka|mA$-XD^3|Dd$tly)d# zi{!;h`NIgO(3L9mB+9=@?ysQh9x0!Qbix$6_8IP zjU>Try3U~cTj&}k5c&x3qw55^A1C<}=>9f&7JB_8(J_P< zYkW1*{W(GxP~J+qA4_-)U4NsrT%t$Qbv#`U+m9KS(v?YNKG4#>mwN6bypr;kN&1&W z_b2*#!Yk;yP#eGQME^k7>2yDpu2oXUWGS;r=ybtH3AfXA8sw2WCei(JN}Ea7=Th!d z!s&$LDKC%iTQ!;S*-h8GT3Qs{pF&q(x~`$?ak}Qv^`hgsHAEjwb-qowfv*42l_tDi zMfe8M#}N*u>o!U|O`e}ZIGe6>q---?dx%~n_4c6jsdW99(k??C@?0@pU(ofP#zz`m zF+yKWc(J4x2_8XL2Gw;3<=shmBGK2FI!0JU=~Z-p3EkgI_dV$9plh@|e>YvP5WNm{ zLnflnBwR~$EnU6o`Ww*`DE)J~7SlD0(jGwH&{ZJ39VB?Ow4EY&2VI4dw~#I$rT?4g z3nV{*u6Kxjg07S3@@cXkMfWvy-9Xn+x^9*9v+3C!DR(^Ge<$e`bj_q|fTnY=Nx2i~ zdReRcI;{*oWpq6&`NJsh8@gXY*B5kMNom=HMU=jp@K<@JFVUmuI#=o%Nq9M3V^B`Y zBuJe{(v^&H*LWC2bRE%OX=x**uJ`E5r1ai^V|14$Cr~BLKs?eUFEcaJP zJ(o-RSW4eZ*G{c0J|%RWPGuJm77~6<_%U50sN6Swu6QYbf@2)< zxr@r>5RQ|)euTHu^}9TOE#ZrV6D9wjf~oTS4McnC`UjQkH2%Ny>D^U1&1qaeKNJ~GAu92a|`7?>G zB)LB|Od0(%$3Z`+-JfQ3{mG^4aJe5QNFlWGclYAPIdm1s{mpc}tmRD;j5k6*XVI1J zlKzBtUrN_3NB(5G`pf-=f{zGpr)z}~`iT|1#U;=DJWtoLa{r3pjxc4Xgh|I|r-L3r z*ATkC7ka7S9{fl4;9i1nwDNZf)*GRpLp1wY>5{L1-WNPnp81`wufmjlRq$VQZKmr1 zy2jEKC(q7zeailvtMT;~UDwL}-zEKZt!xh?^z)qH7`mROE1$0aI?B}2^#ffsbgiN* zMe1Hh*IwhmJ{QolC&~Rwbp1{08X)*CUG0*;lCHDm{u8>6cK9&!)1T6>A^elB4RoFB z$e&ABi`+l!$h+M^&!D=Fly;WW6;JmU34N2+{$RSlp71)tLc+)C>LdA$M(F3C4&Enf z^qX{DYK}KyKe`SRdY+Uy)kXFqO1qpcec}8F(N7U36W$g2h;g;xRg_;R_aD-AJJH7p zeUIarF_gDnYyUrjFVHoLu3IT@m!u8!s4ajqgR3ykqqIJ9zg|oKkkbDpbswX((M`Lb zNB4fAf23=Mon<6Z`drCtpzCnCe~j>G!cVob*xN{@^enpC==vwoJqh2U>r1--gK#LG zrE8hi{x-SaOqe0}9~1sb*K2g&MA%bn=VZFd=_;f2b}64{gnoY2+IWWUPuJ){bpJMC zG~sWO_AOlV# zy%c>YW1A>sH;xXdkEfY*4CB80OKFE@`lZGOv4C%BOd{F4o7X?3`G9Z{f!a-xq=FuV$amSIw<;AB^8X5QHQeT5< z1f=}Q6j(J6wcGo_k^ca7dHO51{BKkLRB8Ql9tAU%pD8@N5Ag)|*KYt?`uGsf%I{iGw%V~z{uOvtR*8Gj0|GUlqTja1Rzmfeo zqE8{C8m;w5Jl#~iY4iUW@mr(un?eo6E?4_#cz#y@;P!G7$cE8k=0(ZBpZd3ijKwaY zd(gt6ZKbjapw~;Fc9T4R$OVe_3!O*(Q+c7y{~PD1{5r`$h6W*djfdk!@LL4ueV$!@ zEd|!~F&^F{13jDCPybe}<3YDd0DYF!x0Up{X_GB4;+N!&Hl2QjD&JGeFQh3}zrr5> zQz+^n4$P9CVi>V^yLh4I`cICK0YV-`Ft6V|H$*(FH!V2LVu5i*Gd(ypgzPWv7f;Dg5D5%nCRmb(w^^h>aTVcV;9rYzs|0Esn;W&WxpZY)bYqdARv^<|J&wHb2 zzG?dJ>#Oq5m;4*4e^NKv`t+*w=VZz6P5qtlliKS;{?#)6MUwv-=Id*=JYOD3{k_(< zH@(E3ohs!Q(nM=c@bDfo>U%`&!*a?0;(SG)AoRu3zqbqRmHB7t-x`PgK78(Ug8e+9e~|t@N6H^d{v`GlwU>(gas5=jNAxdE`m>*u$KF}` zVtafJN>=$MKczGt=?S*|`H4b=I!(SIG9IS=>9{Po{%2v2Y4Ol0&u5T6*K7KGiEJVs zE9Kka|7&gjrwRY&_$)+-^rCGa8>PSgCHdW`zmj{{{-7`(v9;~*4It%;C-p2%zV*9e-A>F3(*zb4~zvE&aUdz`S& zuCE`>hh%L&ET;BmYxWR(qO&!B^aV|nWS>7) z@6$m4oAkADt%~76Z=w*W>SeqBC&)fkJ?G&)4$!|-|2KB1_ZukxOak$Lg~!sDJcPtr ze72FEPhMivJD{kV|M|C!-`R$e?>MmsX9|t?7gbvS;=N-M#pCx#dwUV@46*yGocc3% zvs#0)J*0~BzqIY=C$Mjc9?QRE5S7iKNaM+)%uwQ?wy*1PqMgF7eIFIGOn#8_tmGZxxW3N|^qV-B9J>Ry^ zwD&ZgWKSBk{`#EagY*sd_`OK;Z?-o7Zby8$#pLHuBay~0Nt5R@vEQct4yN%;c+S?3 z;o{GxOa9-5-;;!XNa(>rUn%hoKIosH#lM^L_igH*##Z&d2mE|Qj3gc8;k6*>x1~Qz zq(3*4d?i{uJy_~9=lfvsCnpPiy2IXeihVQJPyHO@_Z|t7(8so)0qURR6}J2*kp89j zxAlM3Wx@4N&^Dh?ANJSswfQ-o>`$B4-?!qSdV9Xq3V)`3AC(kbUnR}wgimb$_8j$x zPwS5&NBr{*=JOJp|EnDJRVAx?6;BvOF8PmS3bs~A{m+O#43PY19qXavh|z>vyZ+mV zpMDxY-RQx#ksj%vLyZf`-j>wZ<(m^I|4Q3m43Pdb0161j`h@pWOZ-O-|vLq>xDj+`a5ZZ z+J{5?J;>kZ?@;fZL60Q;syf8B-$`%;U)u5i1jHlDZT+5bFzJ)FK7N7bWBn`k_*_Cv zRjtwdJGGzurrmxG^-ml1PqomGQGXBB`ui-=@8^a8aWa1nmH9J^+OJ<~w--%@rTKh& zJ^3Zpmzw|ni2P;Suj>5;=$?-8z7fy&wbvsp)GzTGKXK;=mtQXSDO&icBSX@l^~aTm zA%4^NBmXp1voDRX7oXbw*-Pw8siEpS5$ioNwy#S5!_fcLc74B-|4i*=%Qud)j$ZF{_l;??vQ?fN~WPbH~#{I*{DcZt+DhUQoP3OoKiS^P;r@|&nXs#e?a+bZG5 zv>$_rpQ>70z8dQ9D$PFQOi=w|yFcfPKgyEl_arNNlF-;!u6kCBr)a)bt@rRbEYK^c zW0RBY^|^=ovqX!Rw~)U2wEleBv41g}`lDH!UmuEo)k*s^4x;?$J$!xz^$igJ`=aDu zOygg2m50x-;Q6zYRlaEt&c(*fNp?K56E9wmu=^kHV$wB#c%SfR`p@}TPoHS7e;yHi z!Uy~x3H~&H){FdGwWcq(9YOhZcK#34Kh0WvdmkxkqZa?2Me`+H)2BPgzK+)Ndphi2 zJzXWlf12>O!4WThNbyzdJ9hsr7kx6<@B3)J<)7{0caO+_j^wG=_+RDlUml4c&G>X8 z@mr$BBMlgjYi)aUmGEQE?{}pCOnrM+{N*8HPp)yqKlN09!mD=u_c-`@lKexG<{uXS zBe?#lG?2~OdaKY8f6b)&E4BU}C;5Mq{Qo%C``sM&aE8!ke~xm*C%;L5JtTA%`Iq#s z%>AcBjUP$B@Y2y7p8-_Jr^OdrB)&2CD+{nb()3}s^ry-1hcdpVeQLpBg!P6szMn(C zUbXEti_+*Y5eP7we9h`1RB39ZTsO9{Wss|;H+8mol3uue+9+k30gdU zIQ9?Q)Hy=r&!+rTE&n#r?-!)L%?|q(Me%rvHecqG|82X-_D5SC`!8QhyfH@TVR(O| z+2=~JM_)<4VebE$&pY~O!I{MGHg(np?Tr)vaf#%|CJ;ZD+Whnqe$4emI?eyK<2`K0 zkzY;gu>?(?GKaldM*OC0@0)UH{6=fzH%0h2_5B>gx7|H_rVjNNMPq-$E)RETzF$0w zo;pbSr$nAVoa|M}9(ASw&&P{Cogw*OIQD~=k-pXsx8wcAc)zh#o#Oy~X(HlfJHEL< z=1;mjzf0sb$7hqsbB6ebLume&XzvrM9sal<*&{=#Ftt;@1uCD@?;O6eE^;9;O7d&$9-*kI$P{T zvZ3S|O!B1vZtt(QP-4BdzjzuwUv+`~{E^h((OQ3BOgGKi`^-e*ulXZ;e%?>{HD23( zze@HkU0Yw^Y-^p?KR=7TG541$$^KTI=dtWnrOapZ{mm}YzhccFKH>0Z?>Ox5Y)rtz z?EQ@~6n~Xy@7MjJuZK$c0O?PMrau?adNTb;yFX@8|0G>x`-clie`-#**HarD@!y*c z|NLi?%FmGeoum)VAK3e0XOX?>t=XG@(erCQw4dK9`ko-q_m}a#Oz3N9zLe~;*WV?g zAEta?lROE>+4|q)ct3Ih@sr%B&Q&4*W#MDnO*#2xd>2Li>w*Gb`tNP9Tk0Ofi)3yD_BAUPRH2qsdhB|q@wjbh%M^|EgYwL-r z!oL~6l#@TK|JmLzK9cw;(c;6~;P13}c80{u_sjF|pntzG<8AUs4u4Qi&(~=B^P4<> zzT^)}ARWKlwl{0ZephMs`!wpW4o%);X?@aLv!5?q7~I};{;Ved-PmG}-xV~`lC}8zS;zWjDBjOB z8GIfU0IhBDTF~`lCaQ8?m3E z_19F9$K2090P*{zgyxJVo?Bg6o?n{bSna zF51|FHXKrDHxEYB$IF@l1bpZ|;|U)!)tsKiNsaw2?OGrfd5TziOb7mNs!x zUT#{UKcm2(mS&_)$j;5C#PP)$xXsAPzB9{6yLxik^;r|M3;kII19LJ83$qH1d|&>+ zjO>EEv`KlHMLAh%S-Jj#sdnmwqTKQR?7ZAU7JS`!6LfUxT-H=sKNbMR-q)k>-T1LS{ejudW2!BC#?nFoFLQb?F z;wDDtWRDwBR4^f9d=~XtmOpJucBbElLWN-p__DGm`uvefWM<`uuYv}F`p;ibG+wXc z#_Ze+&hMhkh#Q74<*RJPsw5lV$=EVFPti85&tX=C^T<4Bcr!8EC47lraOCT2w{8K&a~4UX7zTDE%y zS52aJBPv^H33OX#R>UG93K?2tLSDh7jL1bYGyEB03yd$w!bF`=kT)qUpGJ|m%F39u z-^KT*T*UUnOb9c3Nrd<^P@jGUZt8RKt;nH(s%^YKBX?p>mRmVBLZsVy`D|RnmFcoU6rzsu2hS5LdqPf8 zq0cpgyn}m=j8I|rr0krG0=E)jhGu+5PFCh%2$kl~Dkeix46X{p6tQ}M>vS&@xrT@u zlA7TsAD1g5oSj32K5_M2ZY4896+9_L_{gQgH#Bj78VVy(UQTvqP(=k3$7O^q;9kk~ z8JXD`IYSBvvdr!;;Iy>y*#+ZsvI-*zGw51X^BJCAmL zMrJ0J$jK|9shyYals8g2*J9jUh;7$(fJ|jUc5%3Y3!fXtZDf#%ht;8+kYx8qhN~vh z`~?}gg*ljjVe(+tRR>2bkx4OLM(%jGY6>xjT+$2j{O;{eD$4O^=jTjy$;!^9P|J-I zGB5t{HM;i!ruB7V50$$u8ke74Op!!hL1xgj3MuJBe-!$s1_|a~YEl-Wn8HZqGIIT- z|JfN~3r*Z_<|ghJa})QIxrzJ3T=>o%9Kn1KgcBjFomNyx(va?o>v2(}a7A58xT$k+ zCTpu(CjQUQ2#S@0GefCvCO0pi81?5Bgv+0l4QH4`frNWU zxmnhrT)2~vfH}0pZDb8278swAA1m zk7oGn@kIp@9uE!2t;~Ex$rB6mXmvOxo3w2_GICwDRx9e3OHqi*g!d0Sd+cIvnJ{`; z;q6j>20R7xnURz4bDiF*j7vst))aWIu$C41;qoF3&ZLaO+ap;d&UZ$OhUf5zatc1;Q9;eeN%V7zPMwIW1lCPa5nO;P>jo|!7W z?UqYJ<<1>Od>}o1y*b{)Xt>>rrIONw%L!LCat4!{y5vH|N9KiQsM#?xZxjg=Id_oE zvCvYOr0%IO$?hc5Z2T+cQEmMJsD&7 z%sjQ+4V$U9BEn|NYT7k_2wc)g_DHVz*zFpa;iANncQy4y*vuQ@OH(= zYxZ>#2e@Y1TdMBa9E7-LMd*T&X5{0Ni^wUwHX+x2Mp4ujS(VJlFI-1u=MHwA8QFMw zNP%W(4uTW6S&DGhJyo`JT{83BCp-n*?&4C$h@x@sc^uw{NxqR52K})vaLf0H?|E92 zuwsYL8JQPO8L%h{_pq4-zBtj1bIaknW#tSEXDumjSePNAtl?q0oR^^kUEPcaT|#1?vXur|uuJQra($Dc<* zMNpc&F?4@`GhKo_Gt0&7X;1Og%XEFpnWeoIb>YOy&B)9gh!?9P{CW97b}w8B&Gv=7 z?R9C$QAUE_i~{a{O*uneMZ47HC_{Crl!5BSwq4NiqTHpbpc1GkNU)Ii^=>r;mr?5! zzdlbwON96aN0CC8O7w#eZfw~3Sx&pG<+-kuw0u{)ZXW~*FTWfk8KF**gl4PrCobtY zuo9Y#WhCr-u1iZ;D6+M`j!((B7H|z?%zPZ$8H6)C*M~--W|_jS8o?OJL89xeb3~!V z_(0Ogywu!@k@80HfhN0z<7kviw+EF_eLuJ$Z_=O)e@2&uf|v0s}JcJ=V?>7`L7>Yb;)-edvz%h ze0H{r0zCQi^^tevI`zttt<=UmeLT>YHU9Py6j&4$%1PovCgdy+_c1n7{l0>{DP&m3 zXXUGDj>IVidASp5ja`s2NxcJ5$yo&jSa9Ihht2;?j7Z*8BQ0w}K~|PDW50T^vhSRn zk&~A1FG$P88=NTx*kvuCWUC?sQwEp9F{py930foAeN<%LxZB986{e||viU{+;N*!} z?8!+@3UyY@mnq5ss7FY$!YrIn@#SSIF|)`e6{^gM{9-qwuu#sAyVNyNe|r(GfPM-l zVi`V96Rt$?*&Mf0gh`o+Q3NH09wH{G(R=L+~xe8e(x!hV0s1oIeNlt&V6QJI{q+^}WT z_Xxsft8XHN%`Q|?TexgKI$)#~W=tR(Gl@nuZ@hRo%btH zL(8~iuqj5IBUy!ASL-Yin(p@16Q?TcF2?my{V7KQ`EpEXrbC*-$rHO2C$x-YOhK^b zo>fe7l*23_3=5MPq$VM`N)2!~5Cuk3kdUYC`YihAE$}TsS#l-C2h|%!=^#%D%ON zCr22e!Z*F3c__t7Gmo*D31QB_sD(yRA;)9|c9^I&h7wYXJP^4vqA4T3Wh&`pc1+Rj7s3+>urQE!wY+ zmFa1YK-x+RGFM^3EhOvb=Cow$Juu)S)bXq zCgc`PN~0$xsr_zkr$zh*&v;UK#aWON=_+=6)>L*0+B#V*fkrxKeWA;&x6*>t%Sv@D zvdm;X`U{=%R+2X5tu%eghXhB3u2a4+bjlYxC$OEMMLWTX8KJ2T=N~k;CC&aijh>=8 z7wfA!CaurE!l3T}1t&Uufy)*JCuuXzewnS&Ikt)he_P5m(dn~-wtvEeF&w6--)@i% zM{`?J`Jb!_8AUmMM-@5Ps^qOzng+ZWR=>i4T?4XM*nr3=@Y_2H6Wq$!@$O{T-)fLe zj5G+5n@P5V;(ji1ZeiZJ=QD-7i>L&zMAOp76&Bhp50s+DkYQI17?^hcxqZ&Pz`ECd z1|#U>!4Jb2o**hX-Q)OYIMNJ5Pd6OtcAd`W4J|daMkfz;-TE`3Irhh+-37O2*B{JX zaBWV0f>Yc%cRm+dli8A2Ycse+unZn5=}hss-03pub?OqD{|EP1a7n$NLjUPGMwpaH zsljaqw`1mbgGz+!A!qyM$K$x{kN&hyh1TtSO8-B&j?jASXY9IknS$$5c{XL&YSyE- zskd(DbaPF0mbUqFt4D7)xE`HT=Y4Qpp=oaSp}ZJcn*G1wC>6?!UDB;)y9TeZdVu`) z4}A(x&OQWx32%?2#b#$8j@j5IzgvgDorj;0+annFkisOvbV0vhm0+!4gWwLqHo>Te z6~+smEto7gQqU(jO|VjMkzk$R7Qtr0cERXJ6!sKM5*#ErS};ejL~yQPwcr}TM!`LT z9fC3Q6ebAv6&xx!MlfG+rr+XVxH`vhYjRhTH)PjHxEx}aZhw%~lh8o>>M zO@gh0_(Pt+IKke6mkXu}W(pPy-YZxoSS#2dxI?f_FzRuI@q%XyCJT-f^a)NAtQ1@% zSSPqeuvxHOFnYeio`Ok&g9Jwl<_MMu&K0Z{TqD>hxJR%gwI|O4E2w#Hff_}j&!CJuv!5xBa=JQnw`w9*f zED@Y5STDF;&{(K2PB2+;q@Yi5nqa-)cENz)KJ)pfC`=Gc7pxL& zHuIlV*jI3<;26O=!A8OO#R`)Iiv=qMn*`&lrJP`~V5MM_V4GmS=cJrqonWJ2K+sqs z^$U&`%onT^>=5ktyuwt$d4e^99fGk-74{ZP7AzL56s#6(5{zG_FhMX$u%F;i!BoLw z!8*YX!Ppn1eZkR!`GT_rs|4!=8wKNEl=cOO3Kk1i3RVl&3pNSH*U0mNLj}_X=LuE` zHVL)~_IpX>6r3kmBiJDryIkZGoF`Z%*d!SLvhX7~R4`qzSg=m8L$F`1@V>Fkf)CV4YyS zV25D8mC~+YiC~>zhhV=|Qckc=uwJl35PyJ|%L^t877Nx1HVOs=;|n@`Cw-b%Kq8@vkdP5*#X+E?6vBDcB^~CK$a|VS?aj!FhsJf=z<)_0pbTv0#Z{ zrC_ySlVG!8{2TJTV6kAOV3S~*V83+=Qw8S<)(Cb8#;zCs1@i^#1RDhdg2o2nM=(jS zSg=yCTCiTQ$$aijc}{SsV7g$jV4YySV27ZwQQ@9Sk8$u&;tP0?$7lt%dW<&U2(Qr& z9OX4SfH!%KeZVPRBc9@Y&jTK#CvX^zAMgc=Ux7DyjNZTi#XG<(kC6!^Tjm4q@EFCw zHRRuc$B}ylCV7oI;3MQefoGC`2X=UjM&KtNqZvrC*&g7#I123Yu9e9%0SOXmGG3tR+h!5by z)NjBI)StkEyhaSI7d)lZ55R%suYpH+jG@2;k1+NjxZ7g{fVX&zeO!;%h^6&{C);Zz0%v%Pe!$bb#xUTG9wQxig4gf^zw;Qgf#nqE z01Ie70TaDO4RC_js0CJ$Is)rSzkq#74}j;B9sqx$l_sqtJl(xU6mT5HeZT>v2f$_I z7lB`RjI)79(7FORg6tEpn&uBMnc^nkH?+<%d%~Rlo6lc@=!?Ta{0JxCm2XHv)C$PWQI2-r{=>_L|jAS6iVuOIU zdX165UZf|$Jc>Vo?H*$qu+3vs0?+gqbAcnh#v|g|kC6oI;W7FGDHa+8{JYl}3Ovti zj0T=V@gQ)V*T?}LM|uYA<}pfuuh6;_*h2gRDW;hR{2SR9;BTaVK(Z}sfa#=%K>Up- z;FlD)1Jg(jU_99iAo;Ei;ENQ;1Mej{Xl{BgCOrjG43+>qm+S&?Hpu}T>oxiT3u%4; zXVN+scsa=de2wfUkYaB?aFWNE2|R)33viUjSPG;z>wy<~j19m%3~uh9e?%q4xM^_iz9*=^t=(r4fb;uDxm_6s=y858gJlPG~U1yX`F%oBzpur zipCW<-fKkD`pokn#rME-X*_}VkX-=&Liz`6q<#RV(|7_0P(J{d(>MWNBEJm0gvJR- z*L)z^-lf1(XncS%BscIDudyBYACJ)l97=KnPo?z>FqiB$@Hmp2)_tC9Jw`0>WRDRC ze4OM4-cIuvcsR)oe2(TP@O84!z{f~_ApP3{O!FFz!2gk+18<^!08%X30ld#+B+`1( zGl~2t@Sk4ea^Ue~uYfm@T>xH5;|o01Ys?1DrEvz%C%XhZ!(%i6uc2`T*3x{ZIqaEE z@dI!G&3E9B)StkuiSi4}ftrPQVc~kASDqJOX;j zzXAu-JOaj${*dl_D8`Bfj-`1797E#-Y$N*#Jj`qOfUnXx0gv?>(||9NJq7+sb_>|k zYg7TRCOrmjC%X!)A^Cyd8paOb5VH5cB##lb2__7UjHPh{ zen|QXe3a}7a3{@A;2k74@O08k;LRi_@NLpZTIYI(lAOR3NMC?!Ne_W#Bqy+h;s)Tg z#6NH%*)8BT)Q`X+p6q;40s*c6X168hrqk3KPgt}emKo{U=Nz_z*y27;E@zJ z0OM$$0*|471|Ca%0FS3Q28iFB2PTq#2lk@&fM=7x116Eb1NJeDLBIet?&e zz5}lyKM1^%^a(hK`V*K!@f+|ek{ft6`61x7hLHmtMRpN*qha`gqiNiMw@@4f97}Nx zFpcyam_c>~m`VBo^if<1yv;D?0&{4d0dpxn0Nz3I0kDwfJJ3)43@oDY1Wu;77dVCV z2RN1N0q{by9As@^A=b_`URXpaUAg9 zr|}1Fr11xCqVWed(D(!2rtt^9PvZ~#fW{yAA&o!qBN~5T6OBLcV;XOLffrGH3%r>874UM8u>;tj z{3&oC&1+x^#lOI-$bSQ`Ci?_T^%(8I>&edmN0MI$-az(b4&lvYzkp*Xz5-@aTmqax zb_VDpzX!bCW5fe<$WH_F$j$=u$qoVUpf~_nKyfY5Pw^OVGWl;{F~#4&J3Yqbz<*I( z37kfD6F8mhCh#tgF${RO$4CX1dW@04S!7Rv_t5$P_+PSDK$0aBIG5}mkk&XkKw4|$ z18FVb2U2Wa45S!%8jxbj5+KDQGlAqQX9LMb-V0nz{s34_;}2Xy;}3j+#vk}HjX$uK z#vk}9jX$uC#vizf#vizv#vizb#ve#)`87aVW7h*|jk^IzYs?1VTQvT_Ej0eXtu+3? z_h|fq+i3iO@6-4LKcMjkenjIBY@+c8eoEsH+(qLL+(Y9J{EEgONb6RE`mFo+H2%OJ zX#9b{)A$4bpz#NG()a@nTE76hd5xaHXs?j~Je2$i@CdKb8`y)^55Ob6MiTI7uhAEH z48^g)6Dh6%p6oS}fv3>A6WEL5bl@2j?*PyA8mYi@X}tmLL-9NC0@my};|eMkSEe z^K*eWc#V0$8@qg*hv|b0^PH_$}$7|FB z^S#CfU;(YyfQ4RT3ve>Ui@+%q4*-iP?gCDw^&Id{uQ96Z%hJ~9z#ZhG1N-pbjbubO zuQxhhjw0jU`84lc@E!i3kPo*l&7Jgln*T}+vRfLNjsuOvmU^b~msfoFucd}*{DECx z0_ZBHaqH_1x{_)90a721leCmDjVvGjs!K~g)A)nizGTqpOrxl8DCktC@dt{0si2dY z#-qN`pp%%!AHeaYgHB)?Rrw%LODxlaK;zFJwHQpJY9IdGQcK&Ppof7j0o}|rn)1yC z-N^Jv(3PO;nMTt-{CTdH8m94=3Vl_etC$8WzG~2wOye)P`)WX!Fb&px_;WTb`Ap}4 zt_PjYG+6aDfKFxF54sU_GSgt)hriI&lEm~h(9NI|n1(360O(kzXM%16Z7>bdd>x?M z{s4`?-07p02+7YhMD^j%d$%+)jlW#viv?ZJG(`8sgRWtEKIjC{RZLfb?hU$GOe( zWg34e&X*6`U>aTPD+b-R5A+t$B`iPF=xX0=mY?bEpetE^rqT7jc`QHEJ3v>l{7hpg zeAO&J(|bVIu>4G8Xnb`nKhv$C>sfxLF;w`A*(5*H?VuZ3ex@;Wz9yER>3yJ^S$?K5 zl)eDV&vX>%HkO}h46Uz&<^LUY3}~DxX=!E}L+y(O-N z@-saKbQR0bG*r=7&GIvy3A%>mXBw*Mt7G|@&H-J|@-q!p^);~kO#4AMviwX#b$v}N zKhx7dH?#aqLzR62mY?aFpxan}rlH!t4wnCapzr1J?*{pquH^9t-N^J@9)HmFOwZ%- z2VKMTd>(($RZLg$_=B!wdJ&I5=n|%@dHg}=Grg3@A9Om?H9Y>HQ<<*i@dusEbRCaB z=p?4s@c4sHV7i{iA9O6!8+iOd8%#Iw_=9fi0KJ9BpXFz|k;k9qXL>u2Kg-W_6OTX3 z&-4x+f0m!=W*&c*pXoh3{wzP!0Um#rpXpW}f0m!=HXeVLpXqiUf0m!=4jzA&pXq%( z{wzP!n99BY%g=Na=r)$0X-sWj2h0B}=orvO6y#?bQ{5L0x{>KP(6ONFna0%j#e=S4 zx+mxa&{a&s6!?0Bu4Fn9bQ0(irePX<{Xpk4eKzQ1(CJLWRQQI1PG!0;=v2_jOv7~e zMuSdb`f||epc9yeDe?J0$1*(#bUtWQ{$V>@-saWbS2Br zG)#|g9?Q@47|>NLKhrQpzG{}A=}gcyEI-pQO};vopXnUX^(;TrFjc+=mY-=q=th>G zX_ziw6U)!^G|!gT9x?{~*ZEbR~~J=tidJ^7w>H}m+j{7moR@n`v&4)FN1{7kp<__O>>xAFM1{7kp=__O>>ckuYL z{7moT@n`v&hAH<2SbnCXK)12{OvAMMI#~XnK*xYK4uGY!|}YhwACo(8&^`_=B!tdOnXo=qjeGc>FF=PwSnHkak3Y*#GzH^Wdygn>jY6Pr+%jW*;%>tzpM%(Y);9k^fyd}(^evm$ zS6UylJXTgS*0+Cd7$vI{@OOiY`jyXVRnMJRUJ4&y7L^z{gsR$mSZRG!S?L~1>fBb& zSROlTTT#o#QatGyeaqPOWxrIcIYZ~CAJ;#Z>Mt+F+IUvIKe4>DUEQ5f!D(oqgVsqE z_=BxR1^x`NaT8Tm-ZOE1Fu!r-Dbay1>5&=h`+u%D>p=ll*`UOz^3wP#RLT=%a!WVF zQ3VzL(~Tg0`1xn}c@I55tNyOT0^j{=7T*+wb%Rk+8u(q+85sAwna6t@y~~O^%8R1Q z#@i%(=be5-VFM~|e5@Y&w5}VPe46V@P*i;E1zAPWU zeHH%Xds+V|l51pQeEFO`7-oNBT%TX)p(uJhmeOM=B^nYPM%`SI(n?LPic;*vl$RoK zq(ZUWZ7DIO^+S1>hj0hBkXbFeJW=&-MQPH>EMGL!QGwgrAwzRTX)>`JbCcO!7-lF4GFj0N^L{! z_4aG`q5asu(Ed|D=e!KlE{?}FewZF6c zf1&-S+JfY_+b{dUYCpF%O#4(fvk>UZ?N{zV`)z94wac`N(^+X#tQ_9%#>#Qb$|dDg zim0jWV1;l0Y=a7xvmjAqRFL*bE87>`-v2#JZBch&4oUmiKq^wxe~aIlzk%Q8PybK+ zPW)cyck@pczt_6(d*?S6zq`H*;dfXU{BHjr_)Yr1@%!p`I={!;{66`8D8Ea7wD>(Q zl;8R7k@-zzeoH?2Kk?f=h~MlVEq=fIE|lM^zq9zg``ZwHTYqxp*Tvu6)&b5pery

O-;siqwxW?Z)jqKi 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 z z--IeTS3D$4@-wl>#ofYpuvfK=h>Ww#l{trWu0|-CZf;gz8#ka3f%Xo1?Xnbi9H&Xr z;UJ7gr^~yF-MZj*wP?^}sW~FZ%#5JQ@AObXMs|9Ai)`K1cYKn-wvpPE>T3k9GFFJi z!a(5zeD}1ONYdPojI(cKIKgBl0+{=Hk0>{_MDK=29@1PXV8zD9k?YD{}=v6Sh4A2HzV`@DE0Hfilb2e~c_ zdjc+-CiGo~qiImZUy(OiE!$Ma7GIa*;rBjMy;j!ivFwsKmkqe`CFYQ&FDb`F4Y_6AF_{ z6EL2@ikW6&&|@-GFY{^LEWam*6NB!Tx6^E0$GNs}-xu>5cdcA>Cv&#QKA0$<(Ttd< zv@Zv1t~c6=353^-nBXldh-O5PSnPFRxf8mSI4zTsse5Yj#1P?M+__d)-kN7Fp0Irs2my(QV5@Lb1^s6(hI` z+E>)ZQwY{)e|1UQk4V)IRGI{5J|>B6Vz2_JXxJ#USm zedb`P!b%zrvcnyjYM&0mS}kS7-Y^u`HJuF`jtZg$K68)=F&24)hCjJe7tB3R8F$NK zZtYYS*ht&K;AnRAmA_($HBqZz*}MuQj1n4kXsSCV+D0?M9G7QMcR5s9xzROnWjSFP zPBnHF7ZDh4A!LFT0++IV3D($24{D6RhNBVk4G~4ES*X(m&c*@5T-~joMyg@<(fq}whwMe&VZOl7*xG%6@ESh`m=@MoA971!Rk&Q0G_ z9Jiu`qAzyj+FGY=W)tGl_1vlm6yWQVG}|H*R`y-?l3m#m_F?s)=c>?rwS+;GO%b@D`KdD=b^u|VX}yKqjW#Re2r^hu8h zn6}Q3H0EmK0-R=xwNrP|n{qhYIpgF~EI1C+u(BvBi930dOhqy3Qp`q(Xmg!-Dn}-! zP40jebT#ui-__4XmtabI)MF7s`Z2xJLq>7H#TTkc1 s3@B+$AcoKTgSk%p&=xIupKw(evzp7t4S^xk5 literal 0 HcwPel00001 diff --git a/src/cairo/CREDITS b/src/cairo/CREDITS new file mode 100644 index 0000000..3fba923 --- /dev/null +++ b/src/cairo/CREDITS @@ -0,0 +1,2 @@ +phpCairo +Akshat Gupta diff --git a/src/cairo/Cairo.c b/src/cairo/Cairo.c new file mode 100644 index 0000000..11a26dc --- /dev/null +++ b/src/cairo/Cairo.c @@ -0,0 +1,331 @@ +/* + +----------------------------------------------------------------------+ + | This source file is subject to version 3.0 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_0.txt. | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Akshat Gupta | + +----------------------------------------------------------------------+ +*/ + +/* $ Id: 1.0.1$ */ + +#include "php_cairo.h" +#include "CairoExceptionMacro.c" +#include "CairoException.c" +#include "CairoFont.c" +#include "CairoMatrix.c" +#include "CairoPath.c" +#include "CairoSurface.c" +#include "CairoPattern.c" +#include "CairoContext.c" +#if HAVE_CAIRO + +/* {{{ Class definitions */ +/* }}} Class definitions*/ + +/* {{{ cairo_functions[] */ +function_entry cairo_functions[] = { + PHP_FE(cairoVersion , cairo_version_arg_info) + PHP_FE(cairoVersionString, cairo_version_string_arg_info) + { NULL, NULL, NULL } +}; +/* }}} */ + + +/* {{{ cairo_module_entry + */ +zend_module_entry cairo_module_entry = { + STANDARD_MODULE_HEADER, + "cairo", + cairo_functions, + PHP_MINIT(cairo), /* Replace with NULL if there is nothing to do at php startup */ + PHP_MSHUTDOWN(cairo), /* Replace with NULL if there is nothing to do at php shutdown */ + PHP_RINIT(cairo), /* Replace with NULL if there is nothing to do at request start */ + PHP_RSHUTDOWN(cairo), /* Replace with NULL if there is nothing to do at request end */ + PHP_MINFO(cairo), + "1.0.1", + STANDARD_MODULE_PROPERTIES +}; +/* }}} */ + +#ifdef COMPILE_DL_CAIRO +ZEND_GET_MODULE(cairo) +#endif + + +/* {{{ PHP_MINIT_FUNCTION */ +PHP_MINIT_FUNCTION(cairo) +{ + class_init_CairoContext(); + class_init_CairoFontFace(); + class_init_CairoFontOptions(); + class_init_CairoMatrix(); + class_init_CairoPath(); + class_init_CairoPattern(); + class_init_CairoGradient(); + class_init_CairoLinearGradient(); + class_init_CairoRadialGradient(); + class_init_CairoSolidPattern(); + class_init_CairoSurfacePattern(); + class_init_CairoScaledFont(); + class_init_CairoSurface(); + class_init_CairoImageSurface(); + class_init_CairoPDFSurface(); + class_init_CairoPSSurface(); + class_init_CairoQuartzSurface(); + class_init_CairoSVGSurface(); + class_init_CairoWin32Surface(); + class_init_CairoXlibSurface(); + class_init_CairoException(); + + /* add your stuff here */ + + /* constants */ +#if HAS_ATSUI_FONT + REGISTER_LONG_CONSTANT( "HAS_ATSUI_FONT", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_ATSUI_FONT", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_FT_FONT + REGISTER_LONG_CONSTANT( "HAS_FT_FONT", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_FT_FONT", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_GLITZ_SURFACE + REGISTER_LONG_CONSTANT( "HAS_GLITZ_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_GLITZ_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_PDF_SURFACE + REGISTER_LONG_CONSTANT( "HAS_PDF_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_PDF_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_PNG_FUNCTIONS + REGISTER_LONG_CONSTANT( "HAS_PNG_FUNCTIONS", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_PNG_FUNCTIONS", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_PS_SURFACE + REGISTER_LONG_CONSTANT( "HAS_PS_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_PS_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_SVG_SURFACE + REGISTER_LONG_CONSTANT( "HAS_SVG_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_SVG_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_QUARTZ_SURFACE + REGISTER_LONG_CONSTANT( "HAS_QUARTZ_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_QUARTZ_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_WIN32_FONT + REGISTER_LONG_CONSTANT( "HAS_WIN32_FONT", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_WIN32_FONT", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_WIN32_SURFACE + REGISTER_LONG_CONSTANT( "HAS_WIN32_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_WIN32_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_XCB_SURFACE + REGISTER_LONG_CONSTANT( "HAS_XCB_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_XCB_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif +#if HAS_XLIB_SURFACE + REGISTER_LONG_CONSTANT( "HAS_XLIB_SURFACE", 1, CONST_CS | CONST_PERSISTENT); +#else + REGISTER_LONG_CONSTANT( "HAS_XLIB_SURFACE", 0, CONST_CS | CONST_PERSISTENT); +#endif + +#define CONSTANT(x) REGISTER_LONG_CONSTANT( #x, CAIRO_##x, CONST_CS | CONST_PERSISTENT) + CONSTANT(ANTIALIAS_DEFAULT); + CONSTANT(ANTIALIAS_NONE); + CONSTANT(ANTIALIAS_GRAY); + CONSTANT(ANTIALIAS_SUBPIXEL); + + CONSTANT(CONTENT_COLOR); + CONSTANT(CONTENT_ALPHA); + CONSTANT(CONTENT_COLOR_ALPHA); + + CONSTANT(EXTEND_NONE); + CONSTANT(EXTEND_REPEAT); + CONSTANT(EXTEND_REFLECT); + CONSTANT(EXTEND_PAD); + + CONSTANT(FILL_RULE_WINDING); + CONSTANT(FILL_RULE_EVEN_ODD); + + CONSTANT(FILTER_FAST); + CONSTANT(FILTER_GOOD); + CONSTANT(FILTER_BEST); + CONSTANT(FILTER_NEAREST); + CONSTANT(FILTER_BILINEAR); + CONSTANT(FILTER_GAUSSIAN); + + CONSTANT(FONT_WEIGHT_NORMAL); + CONSTANT(FONT_WEIGHT_BOLD); + + CONSTANT(FONT_SLANT_NORMAL); + CONSTANT(FONT_SLANT_ITALIC); + CONSTANT(FONT_SLANT_OBLIQUE); + + CONSTANT(FORMAT_ARGB32); + CONSTANT(FORMAT_RGB24); + CONSTANT(FORMAT_A8); + CONSTANT(FORMAT_A1); + CONSTANT(FORMAT_RGB16_565); + + CONSTANT(HINT_METRICS_DEFAULT); + CONSTANT(HINT_METRICS_OFF); + CONSTANT(HINT_METRICS_ON); + + CONSTANT(HINT_STYLE_DEFAULT); + CONSTANT(HINT_STYLE_NONE); + CONSTANT(HINT_STYLE_SLIGHT); + CONSTANT(HINT_STYLE_MEDIUM); + CONSTANT(HINT_STYLE_FULL); + + CONSTANT(LINE_CAP_BUTT); + CONSTANT(LINE_CAP_ROUND); + CONSTANT(LINE_CAP_SQUARE); + + CONSTANT(LINE_JOIN_MITER); + CONSTANT(LINE_JOIN_ROUND); + CONSTANT(LINE_JOIN_BEVEL); + + CONSTANT(OPERATOR_CLEAR); + + CONSTANT(OPERATOR_SOURCE); + CONSTANT(OPERATOR_OVER); + CONSTANT(OPERATOR_IN); + CONSTANT(OPERATOR_OUT); + CONSTANT(OPERATOR_ATOP); + + CONSTANT(OPERATOR_DEST); + CONSTANT(OPERATOR_DEST_OVER); + CONSTANT(OPERATOR_DEST_IN); + CONSTANT(OPERATOR_DEST_OUT); + CONSTANT(OPERATOR_DEST_ATOP); + + CONSTANT(OPERATOR_XOR); + CONSTANT(OPERATOR_ADD); + CONSTANT(OPERATOR_SATURATE); + + CONSTANT(PATH_MOVE_TO); + CONSTANT(PATH_LINE_TO); + CONSTANT(PATH_CURVE_TO); + CONSTANT(PATH_CLOSE_PATH); + + CONSTANT(SUBPIXEL_ORDER_DEFAULT); + CONSTANT(SUBPIXEL_ORDER_RGB); + CONSTANT(SUBPIXEL_ORDER_BGR); + CONSTANT(SUBPIXEL_ORDER_VRGB); + CONSTANT(SUBPIXEL_ORDER_VBGR); +#undef CONSTANT + + + + return SUCCESS; +} +/* }}} */ + + +/* {{{ PHP_MSHUTDOWN_FUNCTION */ +PHP_MSHUTDOWN_FUNCTION(cairo) +{ + + /* add your stuff here */ + + return SUCCESS; +} +/* }}} */ + + +/* {{{ PHP_RINIT_FUNCTION */ +PHP_RINIT_FUNCTION(cairo) +{ + /* add your stuff here */ + + return SUCCESS; +} +/* }}} */ + + +/* {{{ PHP_RSHUTDOWN_FUNCTION */ +PHP_RSHUTDOWN_FUNCTION(cairo) +{ + /* add your stuff here */ + + return SUCCESS; +} +/* }}} */ + + +/* {{{ PHP_MINFO_FUNCTION */ +PHP_MINFO_FUNCTION(cairo) +{ + php_info_print_box_start(0); + php_printf("

PHP bindings for Cairo Graphic Library

\n"); + php_printf("

Version 1.0.1devel (2008-05-22)

\n"); + php_printf("

Authors:

\n"); + php_printf("

Akshat Gupta <g.akshat@gmail.com> (lead)

\n"); + php_info_print_box_end(); + /* add your stuff here */ + +} +/* }}} */ + + +/* {{{ proto int cairoVersion() + */ +PHP_FUNCTION(cairoVersion) +{ + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + + RETURN_LONG(cairo_version()); +} +/* }}} cairo_version */ + + +/* {{{ proto string cairVersionString() + */ +PHP_FUNCTION(cairoVersionString) +{ + + char *a; + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + RETURN_STRING(cairo_version_string(), 1); +} +/* }}} cairo_version_string */ + +#endif /* HAVE_CAIRO */ + + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ diff --git a/src/cairo/Cairo.lo b/src/cairo/Cairo.lo new file mode 100644 index 0000000..06c1a8a --- /dev/null +++ b/src/cairo/Cairo.lo @@ -0,0 +1,12 @@ +# Cairo.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/Cairo.o' + +# Name of the non-PIC object. +non_pic_object=none + diff --git a/src/cairo/CairoContext.c b/src/cairo/CairoContext.c new file mode 100644 index 0000000..8165791 --- /dev/null +++ b/src/cairo/CairoContext.c @@ -0,0 +1,2834 @@ +/* {{{ Class CairoContext */ + +static zend_class_entry * CairoContext_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(object obj) + */ +PHP_METHOD(CairoContext, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + zval * obj = NULL; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|o", &obj) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + cairo_surface_t *surface; + //if(obj != NULL) { + + surface_object *sobj = (surface_object *)zend_object_store_get_object(obj TSRMLS_CC); + //} + //else { + // surface_object *sobj = (surface_object *)malloc(surface_object); + //} + + surface = sobj->surface; + context_object *context=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + context->context=cairo_create(surface); + + /*php_error(E_WARNING, "__construct: not yet implemented"); RETURN_FALSE; */ + +} +/* }}} __construct */ + + + +/* {{{ proto void appendPath(object p) + */ +PHP_METHOD(CairoContext, appendPath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * p = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &p) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr = (context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + path_object *pobj=(path_object *)zend_objects_get_address(p TSRMLS_CC); + cairo_append_path(curr->context,pobj->path); + phpCAIRO_CONTEXT_ERROR(curr->context) + +} +/* }}} appendPath */ + + + +/* {{{ proto void arc(float xc, float yc, float radius, float angle1, float angle2) + */ +PHP_METHOD(CairoContext, arc) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double xc = 0.0; + double yc = 0.0; + double radius = 0.0; + double angle1 = 0.0; + double angle2 = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oddddd", &_this_zval, CairoContext_ce_ptr, &xc, &yc, &radius, &angle1, &angle2) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_arc(curr->context,xc,yc,radius,angle1,angle2); + phpCAIRO_CONTEXT_ERROR(curr->context) + +} +/* }}} arc */ + + + +/* {{{ proto void arcNegative(float xc, float yc, float radius, float angle1, float angle2) + */ +PHP_METHOD(CairoContext, arcNegative) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double xc = 0.0; + double yc = 0.0; + double radius = 0.0; + double angle1 = 0.0; + double angle2 = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oddddd", &_this_zval, CairoContext_ce_ptr, &xc, &yc, &radius, &angle1, &angle2) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + context_object *curr = (context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + cairo_arc_negative(curr->context, xc, yc, radius, angle1, angle2); + phpCAIRO_CONTEXT_ERROR(curr->context) + + +} +/* }}} arcNegative */ + + + +/* {{{ proto void clip() + */ +PHP_METHOD(CairoContext, clip) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_clip(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) +} +/* }}} clip */ + + + +/* {{{ proto array clipExtents() + */ +PHP_METHOD(CairoContext, clipExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + double x1, y1, x2, y2; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_clip_extents(curr->context, &x1, &y1, &x2, &y2); + phpCAIRO_CONTEXT_ERROR(curr->context) + array_init(return_value); + add_next_index_double(return_value, x1); + add_next_index_double(return_value, y1); + add_next_index_double(return_value, x2); + add_next_index_double(return_value, y2); + +} +/* }}} clipExtents */ + + + +/* {{{ proto void clipPreserve() + */ +PHP_METHOD(CairoContext, clipPreserve) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_clip_preserve(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) +} +/* }}} clipPreserve */ + + + +/* {{{ proto void closePath() + */ +PHP_METHOD(CairoContext, closePath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_close_path(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) + +} +/* }}} closePath */ + + + +/* {{{ proto object copyClipRectangleList() + */ +PHP_METHOD(CairoContext, copyClipRectangleList) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_rectangle_t *r; + cairo_rectangle_list_t *rlist; + zval *arr; + zval *temp_arr; + int i; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + rlist = cairo_copy_clip_rectangle_list(curr->context); + phpCAIRO_ERROR(rlist->status) + + array_init(return_value); + ALLOC_INIT_ZVAL(temp_arr); + array_init(temp_arr); + + for(i = 0, r = rlist->rectangles; i < rlist->num_rectangles; i++, r++) { + //ALLOC_INIT_ZVAL(temp_arr); + //array_init(temp_arr); + add_assoc_double(temp_arr,"x",r->x); + add_assoc_double(temp_arr,"y",r->y); + add_assoc_double(temp_arr,"width",r->width); + add_assoc_double(temp_arr,"height",r->height); + add_next_index_zval(return_value,temp_arr); + // zval_ptr_dtor(temp_arr); + } + + + cairo_rectangle_list_destroy(rlist); + + +} +/* }}} copyClipRectangleList */ + + + +/* {{{ proto void copyPage() + */ +PHP_METHOD(CairoContext, copyPage) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_copy_page(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) + +} +/* }}} copyPage */ + + + +/* {{{ proto object copyPath() + */ +PHP_METHOD(CairoContext, copyPath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + object_init_ex(return_value, CairoPath_ce_ptr); + path_object *pobj = (path_object *)zend_objects_get_address(return_value TSRMLS_CC); + pobj->path = cairo_copy_path(curr->context); +} +/* }}} copyPath */ + + + +/* {{{ proto object copyPathFlat() + */ +PHP_METHOD(CairoContext, copyPathFlat) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + object_init_ex(return_value, CairoPath_ce_ptr); + path_object *pobj = (path_object *)zend_objects_get_address(return_value TSRMLS_CC); + pobj->path = cairo_copy_path_flat(curr->context); + +} +/* }}} copyPathFlat */ + + + +/* {{{ proto void curveTo (float x1, float y1, float x2, float y2, float x3, float y3) + */ +PHP_METHOD(CairoContext, curveTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x1 = 0.0; + double y1 = 0.0; + double x2 = 0.0; + double y2 = 0.0; + double x3 = 0.0; + double y3 = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odddddd", &_this_zval, CairoContext_ce_ptr, &x1, &y1, &x2, &y2, &x3, &y3) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_curve_to(curr->context, x1, y1, x2, y2, x3, y3); + phpCAIRO_CONTEXT_ERROR(curr->context) + +} +/* }}} curveTo */ + + + +/* {{{ proto array deviceToUser(float x, float y) + */ +PHP_METHOD(CairoContext, deviceToUser) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_device_to_user(curr->context, &x, &y); + phpCAIRO_CONTEXT_ERROR(curr->context) + + array_init(return_value); + add_assoc_double(return_value, "x", x); + add_assoc_double(return_value, "y", y); + +} +/* }}} deviceToUser */ + + + +/* {{{ proto array deviceToUserDistance(float x, float y) + */ +PHP_METHOD(CairoContext, deviceToUserDistance) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_device_to_user_distance(curr->context, &x, &y); + phpCAIRO_CONTEXT_ERROR(curr->context) + array_init(return_value); + add_assoc_double(return_value, "x", x); + add_assoc_double(return_value, "y", y); + +} +/* }}} deviceToUserDistance */ + + + +/* {{{ proto void fill() + */ +PHP_METHOD(CairoContext, fill) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_fill(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) + + +} +/* }}} fill */ + + + +/* {{{ proto array fillExtents() + */ +PHP_METHOD(CairoContext, fillExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_font_extents_t e; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_extents(curr->context, &e); + + phpCAIRO_CONTEXT_ERROR(curr->context) + array_init(return_value); + add_assoc_double(return_value, "ascent", e.ascent); + add_assoc_double(return_value, "descent", e.descent); + add_assoc_double(return_value, "height", e.height); + add_assoc_double(return_value, "max X advance", e.max_x_advance); + add_assoc_double(return_value, "max Y advance", e.max_y_advance); +} +/* }}} fillExtents */ + + + +/* {{{ proto void fillPreserve() + */ +PHP_METHOD(CairoContext, fillPreserve) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_fill_preserve(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context) + + +} +/* }}} fillPreserve */ + + + +/* {{{ proto array fontExtents() + */ +PHP_METHOD(CairoContext, fontExtents) +{ + zend_class_entry * _this_ce; + zval * _this_zval = NULL; + cairo_font_extents_t e; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_extents(curr->context, &e); + phpCAIRO_CONTEXT_ERROR(curr->context) + + array_init(return_value); + add_assoc_double(return_value, "ascent", e.ascent); + add_assoc_double(return_value, "descent", e.descent); + add_assoc_double(return_value, "height", e.height); + add_assoc_double(return_value, "max X advance", e.max_x_advance); + add_assoc_double(return_value, "max Y advance", e.max_y_advance); + +} +/* }}} fontExtents */ + + + +/* {{{ proto int getAntialias() + */ +PHP_METHOD(CairoContext, getAntialias) +{ + zend_class_entry * _this_ce; + zval * _this_zval = NULL; + long temp; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + temp = cairo_get_antialias(curr->context); + + RETURN_LONG(temp); +} +/* }}} getAntialias */ + + + +/* {{{ proto array getCurrentPoint() + */ +PHP_METHOD(CairoContext, getCurrentPoint) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x,y; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_get_current_point(curr->context, &x, &y); + array_init(return_value); + add_assoc_double(return_value, "x", x); + add_assoc_double(return_value, "y", y); +} +/* }}} getCurrentPoint */ + + + +/* {{{ proto array getDash() + */ +PHP_METHOD(CairoContext, getDash) +{ + zend_class_entry * _this_ce; + zval *sub_array; + zval * _this_zval = NULL; + double *dashes = NULL, offset; + int count, i; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + count = cairo_get_dash_count(curr->context); + dashes = emalloc(count* sizeof(double)); + if(dashes==NULL) + return; + cairo_get_dashes(curr->context, dashes, &offset); + + MAKE_STD_ZVAL(sub_array); + array_init(sub_array); + for(i=0; icontext); + + RETURN_LONG(count); +} +/* }}} getDashCount */ + + + +/* {{{ proto int getFillRule() + */ +PHP_METHOD(CairoContext, getFillRule) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long fill; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + fill = cairo_get_fill_rule(curr->context); + + RETURN_LONG(fill); +} +/* }}} getFillRule */ + + + +/* {{{ proto object getFontFace() + */ +PHP_METHOD(CairoContext, getFontFace) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + object_init_ex(return_value, CairoFontFace_ce_ptr); + fontface_object *ffobj = (fontface_object *)zend_objects_get_address(return_value TSRMLS_CC); + ffobj->fontface = cairo_font_face_reference (cairo_get_font_face(curr->context)); +} +/* }}} getFontFace */ + + + +/* {{{ proto object getFontMatrix() + */ +PHP_METHOD(CairoContext, getFontMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_matrix_t matrix; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_get_font_matrix(curr->context, &matrix); + + object_init_ex(return_value, CairoMatrix_ce_ptr); + matrix_object *matobj = (matrix_object *)zend_objects_get_address(return_value TSRMLS_CC); + matobj->matrix = matrix; +} +/* }}} getFontMatrix */ + + + +/* {{{ proto object getFontOptions() + */ +PHP_METHOD(CairoContext, getFontOptions) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_font_options_t *options = cairo_font_options_create(); + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_get_font_options(curr->context, options); + + object_init_ex(return_value, CairoFontOptions_ce_ptr); + fontoptions_object *foobj = (fontoptions_object *)zend_objects_get_address(return_value TSRMLS_CC); + foobj->fontoptions = options; + +} +/* }}} getFontOptions */ + + + +/* {{{ proto object getGroupTarget() + */ +PHP_METHOD(CairoContext, getGroupTarget) +{ + zend_class_entry * _this_ce, *ce; + + zval * _this_zval = NULL; + cairo_surface_t *sur; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + sur = cairo_get_group_target(curr->context); + + ce = get_CairoSurface_ce_ptr(sur); + + object_init_ex(return_value, ce); + surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); + + sobj->surface = cairo_surface_reference(sur); +} +/* }}} getGroupTarget */ + + + +/* {{{ proto int getLineCap() + */ +PHP_METHOD(CairoContext, getLineCap) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long line_cap; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + line_cap = cairo_get_line_cap(curr->context); + + + RETURN_LONG(line_cap); +} +/* }}} getLineCap */ + + + +/* {{{ proto int getLineJoin() + */ +PHP_METHOD(CairoContext, getLineJoin) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long line_join; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + line_join = cairo_get_line_join(curr->context); + RETURN_LONG(line_join); +} +/* }}} getLineJoin */ + + + +/* {{{ proto float getLineWidth() + */ +PHP_METHOD(CairoContext, getLineWidth) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + double width; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + width = cairo_get_line_width(curr->context); + + RETURN_DOUBLE(width); +} +/* }}} getLineWidth */ + + + +/* {{{ proto object getMatrix() + */ +PHP_METHOD(CairoContext, getMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + cairo_matrix_t matrix; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_get_matrix(curr->context, &matrix); + object_init_ex(return_value, CairoMatrix_ce_ptr); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(return_value TSRMLS_CC); + mobj->matrix = matrix; +} +/* }}} getMatrix */ + + + +/* {{{ proto float getMiterLimit() + */ +PHP_METHOD(CairoContext, getMiterLimit) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double miter; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + miter = cairo_get_miter_limit(curr->context); + + RETURN_DOUBLE(miter); +} +/* }}} getMiterLimit */ + + + +/* {{{ proto int getOperator() + */ +PHP_METHOD(CairoContext, getOperator) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + long operator; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + operator = cairo_get_operator(curr->context); + + RETURN_LONG(operator); +} +/* }}} getOperator */ + + + +/* {{{ proto object getScaledFont() + */ +PHP_METHOD(CairoContext, getScaledFont) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + object_init_ex(return_value, CairoScaledFont_ce_ptr); + scaledfont_object *sfobj = (scaledfont_object *)zend_objects_get_address(return_value TSRMLS_CC); + + sfobj->scaledfont = cairo_scaled_font_reference(cairo_get_scaled_font(curr->context)); + +} +/* }}} getScaledFont */ + + + +/* {{{ proto object getSource() + */ +PHP_METHOD(CairoContext, getSource) +{ + zend_class_entry * _this_ce, *ce; + + zval * _this_zval = NULL; + cairo_pattern_t *pat; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + pat = cairo_pattern_reference(cairo_get_source(curr->context)); + + ce = get_CairoPattern_ce_ptr(pat); + object_init_ex(return_value, ce); + + pattern_object *ptobj = (pattern_object *)zend_objects_get_address(return_value TSRMLS_CC); + ptobj->pattern = cairo_pattern_reference(pat); +} +/* }}} getSource */ + + + +/* {{{ proto object getTarget() + */ +PHP_METHOD(CairoContext, getTarget) +{ + zend_class_entry * _this_ce, *ce; + + zval * _this_zval = NULL; + cairo_surface_t *sur; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + sur = cairo_surface_reference(cairo_get_target(curr->context)); + + ce = get_CairoSurface_ce_ptr(sur); + object_init_ex(return_value, ce); + + surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); + sobj->surface = cairo_surface_reference(sur); + +} +/* }}} getTarget */ + + + +/* {{{ proto float getTolerance() + */ +PHP_METHOD(CairoContext, getTolerance) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double tolerance; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + tolerance = cairo_get_tolerance(curr->context); + RETURN_DOUBLE(tolerance); +} +/* }}} getTolerance */ + + + +/* {{{ proto array glyphExtents(array obj,int num) --need to check + */ +PHP_METHOD(CairoContext, glyphExtents) +{ + zend_class_entry * _this_ce; + int i; + zval * _this_zval = NULL, **ppzval; + zval * obj = NULL; + long num = -1; + cairo_glyph_t **glyphs=NULL , **glyph; + HashTable *obj_hash = NULL; + cairo_text_extents_t extents; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oa/l", &_this_zval, CairoContext_ce_ptr, &obj, &num) == FAILURE) { + return; + } + obj_hash = HASH_OF(obj); + glyphs = emalloc(num*sizeof(cairo_glyph_t)); + + for(i=0 , glyph=glyphs; icontext, glyphs, num, &extents); + + array_init(return_value); + add_assoc_double(return_value, "x_bearing", extents.x_bearing); + add_assoc_double(return_value, "y_bearing", extents.y_bearing); + add_assoc_double(return_value, "width", extents.width); + add_assoc_double(return_value, "height", extents.height); + add_assoc_double(return_value, "x_advance", extents.x_advance); + add_assoc_double(return_value, "y_advance", extents.y_advance); + efree(glyphs); + +} +/* }}} glyphExtents */ + + + +/* {{{ proto void glyphPath(array obh , int num]) + */ +PHP_METHOD(CairoContext, glyphPath) +{ + zend_class_entry * _this_ce; + int i; + zval * _this_zval = NULL; + zval * obh = NULL; + long num = 0; + cairo_glyph_t *glyphs=NULL , *glyph; + HashTable *obj_hash = NULL; + cairo_text_extents_t extents; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oa/l", &_this_zval, CairoContext_ce_ptr, &obh, &num) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + obj_hash = HASH_OF(obh); + + glyphs = emalloc(num*sizeof(cairo_glyph_t)); + for(i=0 , glyph=glyphs; icontext, glyphs, num); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} glyphPath */ + + + +/* {{{ proto bool hasCurrentPoint() -- Need to remove this and put it in path + */ +PHP_METHOD(CairoContext, hasCurrentPoint) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + do { + /* ONLY for CAIRO 1.6 */ + } while (0); +} +/* }}} hasCurrentPoint */ + + + +/* {{{ proto void identityMatrix() + */ +PHP_METHOD(CairoContext, identityMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_identity_matrix(curr->context); + + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} identityMatrix */ + + + +/* {{{ proto bool inFill(float x, float y) + */ +PHP_METHOD(CairoContext, inFill) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + int result; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + result = cairo_in_fill(curr->context, x, y); + + if(result) + zval_bool(return_value,1); + else + zval_bool(return_value,0); + + +} +/* }}} inFill */ + + + +/* {{{ proto bool inStroke(float x, float y) + */ +PHP_METHOD(CairoContext, inStroke) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + int result; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + result = cairo_in_stroke(curr->context, x, y); + + if(result) + zval_bool(return_value,1); + else + zval_bool(return_value,0); + +} +/* }}} inStroke */ + + + +/* {{{ proto void lineTo(float x, float y) + */ +PHP_METHOD(CairoContext, lineTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_line_to(curr->context, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} lineTo */ + + + +/* {{{ proto void mask(object p) + */ +PHP_METHOD(CairoContext, mask) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * p = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &p) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + pattern_object *ptobj = (pattern_object *)zend_objects_get_address(p TSRMLS_CC); + cairo_mask(curr->context, ptobj->pattern); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} mask */ + + + +/* {{{ proto void maskSurface(object s[,float surface_x, float surface_y]) + */ +PHP_METHOD(CairoContext, maskSurface) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * s = NULL; + double surface_x = 0.0; + double surface_y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo|dd", &_this_zval, CairoContext_ce_ptr, &s, &surface_x, &surface_y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + surface_object *sobj=(surface_object *)zend_objects_get_address(s TSRMLS_CC); + cairo_mask_surface(curr->context, sobj->surface, surface_x, surface_y); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} maskSurface */ + + + +/* {{{ proto void moveTo(float x, float y) + */ +PHP_METHOD(CairoContext, moveTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_move_to(curr->context, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} moveTo */ + + + +/* {{{ proto void newPath() + */ +PHP_METHOD(CairoContext, newPath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_new_path(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} newPath */ + + + +/* {{{ proto void newSubPath() + */ +PHP_METHOD(CairoContext, newSubPath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_new_sub_path(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); +} +/* }}} newSubPath */ + + + +/* {{{ proto void paint() + */ +PHP_METHOD(CairoContext, paint) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_paint(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} paint */ + + + +/* {{{ proto void paintWithAlpha(float alpha) + */ +PHP_METHOD(CairoContext, paintWithAlpha) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double alpha = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &alpha) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_paint_with_alpha(curr->context, alpha); + + +} +/* }}} paintWithAlpha */ + + + +/* {{{ proto array pathExtents([object path]) --- need to shift it to path -- + */ +PHP_METHOD(CairoContext, pathExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * path = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|o", &_this_zval, CairoContext_ce_ptr, &path) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + array_init(return_value); + + do { + /* ONLY for CAIRO 1.6 */ + } while (0); +} +/* }}} pathExtents */ + + + +/* {{{ proto object popGroup() + */ +PHP_METHOD(CairoContext, popGroup) +{ + zend_class_entry * _this_ce, *ce; + + zval * _this_zval = NULL; + cairo_pattern_t *pat; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + pat = cairo_pop_group(curr->context); + ce = get_CairoPattern_ce_ptr(pat); + object_init_ex(return_value, ce); + pattern_object *ptobj=(pattern_object *)zend_objects_get_address(return_value TSRMLS_CC); + ptobj->pattern = pat; + +} +/* }}} popGroup */ + + + +/* {{{ proto void popGroupToSource() + */ +PHP_METHOD(CairoContext, popGroupToSource) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pop_group_to_source(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} popGroupToSource */ + + + +/* {{{ proto void pushGroup() + */ +PHP_METHOD(CairoContext, pushGroup) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_push_group(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} pushGroup */ + + + +/* {{{ proto void pushGroupWithContent(int content) + */ +PHP_METHOD(CairoContext, pushGroupWithContent) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_content_t content; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoContext_ce_ptr, &content) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_push_group_with_content(curr->context, content); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} pushGroupWithContent */ + + + +/* {{{ proto void rectangle(float x, float y, float width, float height) + */ +PHP_METHOD(CairoContext, rectangle) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + double width = 0.0; + double height = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odddd", &_this_zval, CairoContext_ce_ptr, &x, &y, &width, &height) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_rectangle(curr->context, x, y, width, height); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} rectangle */ + + + +/* {{{ proto void relCurveTo(float x1, float y1, float x2, float y2, float x3, float y3) + */ +PHP_METHOD(CairoContext, relCurveTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x1 = 0.0; + double y1 = 0.0; + double x2 = 0.0; + double y2 = 0.0; + double x3 = 0.0; + double y3 = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odddddd", &_this_zval, CairoContext_ce_ptr, &x1, &y1, &x2, &y2, &x3, &y3) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_rel_curve_to(curr->context, x1, y1, x2, y2, x3, y3); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} relCurveTo */ + + + +/* {{{ proto void relLineTo(float x, float y) + */ +PHP_METHOD(CairoContext, relLineTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_rel_line_to(curr->context, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} relLineTo */ + + + +/* {{{ proto void relMoveTo(float x, float y) + */ +PHP_METHOD(CairoContext, relMoveTo) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_rel_move_to(curr->context, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); +} +/* }}} relMoveTo */ + + + +/* {{{ proto void resetClip() + */ +PHP_METHOD(CairoContext, resetClip) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_reset_clip(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} resetClip */ + + + +/* {{{ proto void restore() + */ +PHP_METHOD(CairoContext, restore) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_restore(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} restore */ + + + +/* {{{ proto void rotate(float angle) + */ +PHP_METHOD(CairoContext, rotate) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double angle = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &angle) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_rotate(curr->context, angle); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} rotate */ + + + +/* {{{ proto void save() + */ +PHP_METHOD(CairoContext, save) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_save(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} save */ + + + +/* {{{ proto void scale(float x, float y) + */ +PHP_METHOD(CairoContext, scale) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_scale(curr->context, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} scale */ + + + +/* {{{ proto void selectFontFace(object string[, int slant, int weight]) + */ +PHP_METHOD(CairoContext, selectFontFace) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * family = NULL; + int family_len = 0; + cairo_font_slant_t slant = CAIRO_FONT_SLANT_NORMAL; + cairo_font_weight_t weight = CAIRO_FONT_WEIGHT_NORMAL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os|ll", &_this_zval, CairoContext_ce_ptr, &family, &family_len, &slant, &weight) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_select_font_face(curr->context, family, slant, weight); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} selectFontFace */ + + + +/* {{{ proto void setAntialias([int antialias]) + */ +PHP_METHOD(CairoContext, setAntialias) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_antialias_t antialias = CAIRO_ANTIALIAS_DEFAULT; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &_this_zval, CairoContext_ce_ptr, &antialias) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_antialias(curr->context, antialias); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setAntialias */ + + + +/* {{{ proto void setDash(array dashes, int num_dashes [,float offset]) + */ +PHP_METHOD(CairoContext, setDash) +{ + zend_class_entry * _this_ce; + double *das, **d; + zval * _this_zval = NULL; + zval * dashes = NULL, **ppzval; + long num_dashes = 0; + HashTable *dashes_hash = NULL; + double offset = 0.0; + int i; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oa/l|d", &_this_zval, CairoContext_ce_ptr, &dashes, &num_dashes, &offset) == FAILURE) { + return; + } + dashes_hash = Z_ARRVAL_P(dashes); + das = emalloc(num_dashes * sizeof(double)); + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + i = zend_hash_num_elements(dashes_hash); + if(i!=num_dashes) + printf("Problem !!!"); + i=0; + for(zend_hash_internal_pointer_reset(dashes_hash); zend_hash_has_more_elements(dashes_hash) == SUCCESS; zend_hash_move_forward(dashes_hash)) { + if (zend_hash_get_current_data(dashes_hash, (void **)&ppzval) == FAILURE) { + continue; + } + + das[i++] = Z_DVAL_PP(ppzval); + + } + cairo_set_dash(curr->context, das, num_dashes, offset); + phpCAIRO_CONTEXT_ERROR(curr->context); + efree(das); + + +} +/* }}} setDash */ + + + +/* {{{ proto void setFillRule(int fill_rule) + */ +PHP_METHOD(CairoContext, setFillRule) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_fill_rule_t fill_rule = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoContext_ce_ptr, &fill_rule) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_fill_rule(curr->context, fill_rule); + phpCAIRO_CONTEXT_ERROR(curr->context); +} +/* }}} setFillRule */ + + + +/* {{{ proto void setFontFace([object obj]) + */ +PHP_METHOD(CairoContext, setFontFace) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * obj = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|o", &_this_zval, CairoContext_ce_ptr, &obj) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + if (obj != NULL) { + fontface_object *ffobj = (fontface_object *)zend_objects_get_address(obj TSRMLS_CC); + cairo_set_font_face(curr->context, ffobj->fontface); + } + else + cairo_set_font_face(curr->context, NULL); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} setFontFace */ + + + +/* {{{ proto void setFontMatrix(object matrix) + */ +PHP_METHOD(CairoContext, setFontMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * matrix = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &matrix) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + matrix_object *mobj=(matrix_object *)zend_objects_get_address(matrix TSRMLS_CC); + cairo_set_font_matrix(curr->context, &mobj->matrix); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setFontMatrix */ + + + +/* {{{ proto void setFontOptions(object options) + */ +PHP_METHOD(CairoContext, setFontOptions) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * options = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &options) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + fontoptions_object *foobj=(fontoptions_object *)zend_objects_get_address(options TSRMLS_CC); + cairo_set_font_options(curr->context, foobj->fontoptions); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} setFontOptions */ + + + +/* {{{ proto void setFontSize(float size) + */ +PHP_METHOD(CairoContext, setFontSize) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double size = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &size) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_font_size(curr->context, size); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setFontSize */ + + + +/* {{{ proto void setLineCap(int line_cap) + */ +PHP_METHOD(CairoContext, setLineCap) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long line_cap = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoContext_ce_ptr, &line_cap) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_line_cap(curr->context, line_cap); + phpCAIRO_CONTEXT_ERROR(curr->context); + + + +} +/* }}} setLineCap */ + + + +/* {{{ proto void setLineJoin(int line_join) + */ +PHP_METHOD(CairoContext, setLineJoin) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long line_join = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoContext_ce_ptr, &line_join) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_set_line_join(curr->context, line_join); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setLineJoin */ + + + +/* {{{ proto void setLineWidth(float width) + */ +PHP_METHOD(CairoContext, setLineWidth) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double width = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &width) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr = (context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_line_width(curr->context, width); +} +/* }}} set_line_width */ + + + +/* {{{ proto void setMatrix(object matix) + */ +PHP_METHOD(CairoContext, setMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * matix = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &matix) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + matrix_object *mobj=(matrix_object *)zend_objects_get_address(matix TSRMLS_CC); + cairo_set_matrix(curr->context, &mobj->matrix); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setMatrix */ + + + +/* {{{ proto void setMiterLimit(float limit) + */ +PHP_METHOD(CairoContext, setMiterLimit) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double limit = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &limit) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_miter_limit(curr->context, limit); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setMiterLimit */ + + + +/* {{{ proto void setOperator(int op) + */ +PHP_METHOD(CairoContext, setOperator) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long op = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoContext_ce_ptr, &op) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_operator(curr->context, op); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setOperator */ + + + +/* {{{ proto void setSource(object p) + */ +PHP_METHOD(CairoContext, setSource) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * p = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &p) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + pattern_object *ptobj=(pattern_object *)zend_objects_get_address(p TSRMLS_CC); + cairo_set_source(curr->context, ptobj->pattern); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setSource */ + + + +/* {{{ proto void setSourceRgb(float red, float green, float blue) + */ +PHP_METHOD(CairoContext, setSourceRgb) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double red = 0.0; + double green = 0.0; + double blue = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oddd", &_this_zval, CairoContext_ce_ptr, &red, &green, &blue) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_source_rgb(curr->context, red, green, blue); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setSourceRgb */ + + + +/* {{{ proto void setSourceRgba(float red, float green, float blue [,float alpha]) + */ +PHP_METHOD(CairoContext, setSourceRgba) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double red = 0.0; + double green = 0.0; + double blue = 0.0; + double alpha = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oddd|d", &_this_zval, CairoContext_ce_ptr, &red, &green, &blue, &alpha) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_source_rgba(curr->context, red, green, blue, alpha); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setSourceRgba */ + + + +/* {{{ proto void setSourceSurface(object surface [,float x, float y]) + */ +PHP_METHOD(CairoContext, setSourceSurface) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * surface = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo|dd", &_this_zval, CairoContext_ce_ptr, &surface, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + surface_object *sobj=(surface_object *)zend_objects_get_address(surface TSRMLS_CC); + cairo_set_source_surface(curr->context, sobj->surface, x, y); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setSourceSurface */ + + + +/* {{{ proto void setTolerance(float tolerance) + */ +PHP_METHOD(CairoContext, setTolerance) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double tolerance = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoContext_ce_ptr, &tolerance) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_set_tolerance(curr->context, tolerance); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} setTolerance */ + + + +/* {{{ proto void showGlyphs(array obj ,int num_glyphs) + */ +PHP_METHOD(CairoContext, showGlyphs) +{ + zend_class_entry * _this_ce; + int i; + zval * _this_zval = NULL, **ppzval; + zval * obj = NULL; + long num_glyphs = 0; + HashTable *obj_hash = NULL; + cairo_glyph_t *glyphs=NULL, *glyph; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oa/l", &_this_zval, CairoContext_ce_ptr, &obj, &num_glyphs) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + obj_hash = HASH_OF(obj); + + glyphs = emalloc(num_glyphs*sizeof(cairo_glyph_t)); + i=0; + for(zend_hash_internal_pointer_reset(obj_hash); zend_hash_has_more_elements(obj_hash) == SUCCESS; zend_hash_move_forward(obj_hash)) { + if (zend_hash_get_current_data(obj_hash, (void **)&ppzval) == FAILURE) { + continue; + } +// glyphs[i++] = Z_RESVAL_PP(ppzval); + } + + +/* for(i=0 , glyph=glyphs; icontext, glyphs, num_glyphs); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} showGlyphs */ + + + +/* {{{ proto void showPage() + */ +PHP_METHOD(CairoContext, showPage) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_show_page(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} showPage */ + + + +/* {{{ proto void showText(string obj) + */ +PHP_METHOD(CairoContext, showText) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * obj = NULL; + int obj_len = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoContext_ce_ptr, &obj, &obj_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_show_text(curr->context, obj); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} showText */ + + + +/* {{{ proto void stroke() + */ +PHP_METHOD(CairoContext, stroke) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr = (context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_stroke(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + + +} +/* }}} stroke */ + + + +/* {{{ proto array strokeExtents() + */ +PHP_METHOD(CairoContext, strokeExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x1=0, x2=0, y1=0, y2=0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_stroke_extents(curr->context, &x1, &y1, &x2, &y2); + + array_init(return_value); + add_assoc_double(return_value, "x1", x1); + add_assoc_double(return_value, "y1", y1); + add_assoc_double(return_value, "x2", x2); + add_assoc_double(return_value, "y2", y2); + +} +/* }}} strokeExtents */ + + + +/* {{{ proto void strokePreserve() + */ +PHP_METHOD(CairoContext, strokePreserve) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoContext_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_stroke_preserve(curr->context); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} strokePreserve */ + + + +/* {{{ proto array textExtents(string str) + */ +PHP_METHOD(CairoContext, textExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * str = NULL; + long str_len=0; + cairo_text_extents_t extents; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoContext_ce_ptr, &str, &str_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_text_extents(curr->context, str, &extents); + + array_init(return_value); + add_assoc_double(return_value, "x_bearing", extents.x_bearing); + add_assoc_double(return_value, "y_bearing", extents.y_bearing); + add_assoc_double(return_value, "width", extents.width); + add_assoc_double(return_value, "height", extents.height); + add_assoc_double(return_value, "x_advance", extents.x_advance); + add_assoc_double(return_value, "y_advance", extents.y_advance); + +} +/* }}} textExtents */ + + + +/* {{{ proto void textPath(string obj) + */ +PHP_METHOD(CairoContext, textPath) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * obj = NULL; + long obj_len = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoContext_ce_ptr, &obj, &obj_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_text_path(curr->context, obj); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} textPath */ + + + +/* {{{ proto void transform(object matrix) + */ +PHP_METHOD(CairoContext, transform) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * matrix = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoContext_ce_ptr, &matrix) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(matrix TSRMLS_CC); + cairo_transform(curr->context, &mobj->matrix); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} transform */ + + + +/* {{{ proto void translate(float tx, float ty) + */ +PHP_METHOD(CairoContext, translate) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double tx = 0.0; + double ty = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &tx, &ty) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_translate(curr->context, tx, ty); + phpCAIRO_CONTEXT_ERROR(curr->context); + +} +/* }}} translate */ + + + +/* {{{ proto array userToDevice(float x, float y) + */ +PHP_METHOD(CairoContext, userToDevice) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_user_to_device(curr->context, &x, &y); + phpCAIRO_CONTEXT_ERROR(curr->context); + + array_init(return_value); + add_assoc_double(return_value, "x", x); + add_assoc_double(return_value, "y", y); + +} +/* }}} userToDevice */ + + + +/* {{{ proto array userToDeviceDistance(float dx, float dy) + */ +PHP_METHOD(CairoContext, userToDeviceDistance) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double dx = 0.0; + double dy = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoContext_ce_ptr, &dx, &dy) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_user_to_device_distance(curr->context, &dx, &dy); + phpCAIRO_CONTEXT_ERROR(curr->context); + + array_init(return_value); + add_assoc_double(return_value, "x", dx); + add_assoc_double(return_value, "y", dy); + +} +/* }}} userToDeviceDistance */ + + +static zend_function_entry CairoContext_methods[] = { + PHP_ME(CairoContext, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoContext, appendPath, CairoContext__append_path_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, arc, CairoContext__arc_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, arcNegative, CairoContext__arc_negative_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, clip, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, clipExtents, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, clipPreserve, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, closePath, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, copyClipRectangleList, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, copyPage, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, copyPath, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, copyPathFlat, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, curveTo, CairoContext__curve_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, deviceToUser, CairoContext__device_to_user_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, deviceToUserDistance, CairoContext__device_to_user_distance_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, fill, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, fillExtents, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, fillPreserve, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, fontExtents, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getAntialias, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getCurrentPoint, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getDash, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getDashCount, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getFillRule, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getFontFace, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getFontMatrix, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getFontOptions, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getGroupTarget, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getLineCap, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getLineJoin, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getLineWidth, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getMatrix, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getMiterLimit, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getOperator, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getScaledFont, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getSource, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getTarget, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, getTolerance, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, glyphExtents, CairoContext__glyph_extents_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, glyphPath, CairoContext__glyph_path_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, hasCurrentPoint, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, identityMatrix, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, inFill, CairoContext__in_fill_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, inStroke, CairoContext__in_stroke_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, lineTo, CairoContext__line_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, mask, CairoContext__mask_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, maskSurface, CairoContext__mask_surface_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, moveTo, CairoContext__move_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, newPath, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, newSubPath, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, paint, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, paintWithAlpha, CairoContext__paint_with_alpha_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, pathExtents, CairoContext__path_extents_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, popGroup, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, popGroupToSource, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, pushGroup, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, pushGroupWithContent, CairoContext__push_group_with_content_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, rectangle, CairoContext__rectangle_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, relCurveTo, CairoContext__rel_curve_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, relLineTo, CairoContext__rel_line_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, relMoveTo, CairoContext__rel_move_to_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, resetClip, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, restore, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, rotate, CairoContext__rotate_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, save, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, scale, CairoContext__scale_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, selectFontFace, CairoContext__select_font_face_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setAntialias, CairoContext__set_antialias_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setDash, CairoContext__set_dash_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setFillRule, CairoContext__set_fill_rule_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setFontFace, CairoContext__set_font_face_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setFontMatrix, CairoContext__set_font_matrix_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setFontOptions, CairoContext__set_font_options_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setFontSize, CairoContext__set_font_size_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setLineCap, CairoContext__set_line_cap_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setLineJoin, CairoContext__set_line_join_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setLineWidth, CairoContext__set_line_width_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setMatrix, CairoContext__set_matrix_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setMiterLimit, CairoContext__set_miter_limit_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setOperator, CairoContext__set_operator_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setSource, CairoContext__set_source_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setSourceRgb, CairoContext__set_source_rgb_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setSourceRgba, CairoContext__set_source_rgba_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setSourceSurface, CairoContext__set_source_surface_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, setTolerance, CairoContext__set_tolerance_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, showGlyphs, CairoContext__show_glyphs_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, showPage, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, showText, CairoContext__show_text_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, stroke, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, strokeExtents, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, strokePreserve, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, textExtents, CairoContext__text_extents_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, textPath, CairoContext__text_path_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, transform, CairoContext__transform_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, translate, CairoContext__translate_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, userToDevice, CairoContext__user_to_device_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoContext, userToDeviceDistance, CairoContext__user_to_device_distance_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoContext_handlers; + +/* +typedef struct _context_object { + zend_object std; + cairo_t *context; +} context_object; +*/ + +static void CairoContext_object_dtor(void *object) +{ + context_object *context = (context_object *)object; + zend_hash_destroy(context->std.properties); + FREE_HASHTABLE(context->std.properties); + + if(context->context){ + cairo_destroy(context->context); + } + efree(object); +} + +static zend_object_value CairoContext_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + context_object *context; + zval *temp; + + context=emalloc(sizeof(context_object)); + memset(context,0,sizeof(context_object)); + context->std.ce = ce; + ALLOC_HASHTABLE(context->std.properties); + zend_hash_init(context->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(context->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(context, NULL, (zend_objects_free_object_storage_t)CairoContext_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoContext_handlers; + return retval; +} + + + +static void class_init_CairoContext(void) +{ + zend_class_entry ce; + INIT_CLASS_ENTRY(ce, "CairoContext", CairoContext_methods); + CairoContext_ce_ptr = zend_register_internal_class(&ce); + CairoContext_ce_ptr->create_object = CairoContext_object_new; + memcpy(&CairoContext_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoContext_handlers.clone_obj=NULL; +} + +/* }}} Class CairoContext */ + diff --git a/src/cairo/CairoException.c b/src/cairo/CairoException.c new file mode 100644 index 0000000..1b74ad4 --- /dev/null +++ b/src/cairo/CairoException.c @@ -0,0 +1,48 @@ +/* {{{ Class CairoException */ + +static zend_class_entry * CairoException_ce_ptr = NULL; + +/* {{{ Methods */ + +static zend_function_entry CairoException_methods[] = { + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static void class_init_CairoException(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoException", CairoException_methods); + CairoException_ce_ptr = zend_register_internal_class_ex(&ce, zend_exception_get_default(), "Exception" TSRMLS_CC); +} + +/* }}} Class CairoException */ + +void phpCairoCheckStatus(cairo_status_t status) +{ + zend_throw_exception(CairoException_ce_ptr, cairo_status_to_string(status)); + return; + + /* + switch(status) { + case CAIRO_STATUS_SUCCESS: + return 0; + case CAIRO_STATUS_NO_MEMORY: + zend_throw_exception(CairoException_ce_ptr,"No memory", NULL); + break; + case CAIRO_STATUS_READ_ERROR: + case CAIRO_STATUS_WRITE_ERROR: + zend_throw_exception(CairoException_ce_ptr, cairo_status_to_string(status), NULL); + break; + case CAIRO_STATUS_INVALID_RESTORE: + zend_throw_expetion(CairoException_ce_ptr, "Invalid restore", NULL); + break; + case CAIRO_STATUS_INVALID_POP_GROUP: + zend_throw_exception(CairoException_ce_ptr, "Pop group error", NULL); + break; + } */ +} + + diff --git a/src/cairo/CairoExceptionMacro.c b/src/cairo/CairoExceptionMacro.c new file mode 100644 index 0000000..933ccbf --- /dev/null +++ b/src/cairo/CairoExceptionMacro.c @@ -0,0 +1,31 @@ +#define phpCAIRO_ERROR(status) \ + if (status != CAIRO_STATUS_SUCCESS) { \ + phpCairoCheckStatus(status); \ + return; \ + } + +#define phpCAIRO_CONTEXT_ERROR(context) \ + cairo_status_t status = cairo_status (context); \ + phpCAIRO_ERROR(status) + +#define phpCAIRO_PATTERN_ERROR(pattern) \ + cairo_status_t status = cairo_pattern_status(pattern); \ + phpCAIRO_ERROR(status) + +#define phpCAIRO_SURFACE_ERROR(surface) \ + cairo_status_t status = cairo_surface_status(surface); \ + phpCAIRO_ERROR(status) + +#define phpCAIRO_SCALEDFONT_ERROR(sc_font) \ + cairo_status_t status = cairo_scaled_font_status(sc_font); \ + phpCAIRO_ERROR(status) + +#define phpCAIRO_FONTOPTIONS_ERROR(font_opt) \ + cairo_status_t status = cairo_font_options_status(font_opt); \ + phpCAIRO_ERROR(status) + + + + + + diff --git a/src/cairo/CairoFont.c b/src/cairo/CairoFont.c new file mode 100644 index 0000000..1a05e35 --- /dev/null +++ b/src/cairo/CairoFont.c @@ -0,0 +1,554 @@ + +/* {{{ Class CairoFontFace */ + +static zend_class_entry * CairoFontFace_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoFontFace, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + + php_error(E_ERROR,"Please use Context.get_font_face()"); +} +/* }}} __construct */ + + + + + +static zend_function_entry CairoFontFace_methods[] = { + PHP_ME(CairoFontFace, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + + +static zend_object_handlers CairoFontFace_handlers; + +static void CairoFontFace_object_dtor(void *object) +{ + fontface_object *fontface = (fontface_object *)object; + zend_hash_destroy(fontface->std.properties); + FREE_HASHTABLE(fontface->std.properties); + + if(fontface->fontface){ + cairo_font_face_destroy(fontface->fontface); + } + efree(object); +} + +static zend_object_value CairoFontFace_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + fontface_object *fontface; + zval *temp; + fontface = emalloc(sizeof(fontface_object)); + memset(fontface,0,sizeof(fontface_object)); + fontface->std.ce = ce; + ALLOC_HASHTABLE(fontface->std.properties); + zend_hash_init(fontface->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(fontface->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(fontface, NULL, (zend_objects_free_object_storage_t)CairoFontFace_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoFontFace_handlers; + return retval; +} + + +static void class_init_CairoFontFace(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoFontFace", CairoFontFace_methods); + CairoFontFace_ce_ptr = zend_register_internal_class(&ce); + CairoFontFace_ce_ptr->create_object = CairoFontFace_object_new; + memcpy(&CairoFontFace_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoFontFace_handlers.clone_obj = NULL; +} + +/* }}} Class CairoFontFace */ + + +/* {{{ Class CairoFontOptions */ + +static zend_class_entry * CairoFontOptions_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoFontOptions, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + _this_zval = getThis(); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->fontoptions = cairo_font_options_create(); + +} +/* }}} __construct */ + + + +/* {{{ proto int getAntialias() + */ +PHP_METHOD(CairoFontOptions, getAntialias) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoFontOptions_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + x = cairo_font_options_get_antialias(curr->fontoptions); + + RETURN_LONG(x); +} +/* }}} getAntialias */ + + + +/* {{{ proto int getHintMetrics() + */ +PHP_METHOD(CairoFontOptions, getHintMetrics) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoFontOptions_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x = cairo_font_options_get_hint_metrics(curr->fontoptions); + RETURN_LONG(x); +} +/* }}} getHintMetrics */ + + + +/* {{{ proto int getHintStyle() + */ +PHP_METHOD(CairoFontOptions, getHintStyle) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoFontOptions_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x = cairo_font_options_get_hint_style(curr->fontoptions); + RETURN_LONG(x); +} +/* }}} getHintStyle */ + + + +/* {{{ proto int getSubpixelOrder() + */ +PHP_METHOD(CairoFontOptions, getSubpixelOrder) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoFontOptions_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x = cairo_font_options_get_subpixel_order(curr->fontoptions); + RETURN_LONG(x); +} +/* }}} getSubpixelOrder */ + + + +/* {{{ proto void setAntialias([int aa]) + */ +PHP_METHOD(CairoFontOptions, setAntialias) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_antialias_t aa = CAIRO_ANTIALIAS_DEFAULT; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &_this_zval, CairoFontOptions_ce_ptr, &aa) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_options_set_antialias(curr->fontoptions, aa); + phpCAIRO_FONTOPTIONS_ERROR(curr->fontoptions); + +} +/* }}} setAntialias */ + + + +/* {{{ proto void setHintMetrics([int hm]) + */ +PHP_METHOD(CairoFontOptions, setHintMetrics) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_hint_metrics_t hm = CAIRO_HINT_METRICS_DEFAULT; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &_this_zval, CairoFontOptions_ce_ptr, &hm) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_options_set_hint_metrics(curr->fontoptions, hm); + phpCAIRO_FONTOPTIONS_ERROR(curr->fontoptions); + +} +/* }}} setHintMetrics */ + + + +/* {{{ proto void setHintStyle([int hs]) + */ +PHP_METHOD(CairoFontOptions, setHintStyle) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_hint_style_t hs = CAIRO_HINT_STYLE_DEFAULT; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &_this_zval, CairoFontOptions_ce_ptr, &hs) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_options_set_hint_style(curr->fontoptions, hs); + phpCAIRO_FONTOPTIONS_ERROR(curr->fontoptions); + +} +/* }}} setHintStyle */ + + + +/* {{{ proto void setSubpixelOrder([int so]) + */ +PHP_METHOD(CairoFontOptions, setSubpixelOrder) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_subpixel_order_t so = CAIRO_SUBPIXEL_ORDER_DEFAULT; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &_this_zval, CairoFontOptions_ce_ptr, &so) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_font_options_set_subpixel_order(curr->fontoptions, so); + phpCAIRO_FONTOPTIONS_ERROR(curr->fontoptions); + +} +/* }}} setSubpixelOrder */ + + +static zend_function_entry CairoFontOptions_methods[] = { + PHP_ME(CairoFontOptions, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoFontOptions, getAntialias, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, getHintMetrics, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, getHintStyle, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, getSubpixelOrder, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, setAntialias, CairoFontOptions__set_antialias_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, setHintMetrics, CairoFontOptions__set_hint_metrics_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, setHintStyle, CairoFontOptions__set_hint_style_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoFontOptions, setSubpixelOrder, CairoFontOptions__set_subpixel_order_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + + +static zend_object_handlers CairoFontOptions_handlers; + +static void CairoFontOptions_object_dtor(void *object) +{ + fontoptions_object *fontoptions = (fontoptions_object *)object; + zend_hash_destroy(fontoptions->std.properties); + FREE_HASHTABLE(fontoptions->std.properties); + + if(fontoptions->fontoptions){ + cairo_font_options_destroy(fontoptions->fontoptions); + } + efree(object); +} + +static zend_object_value CairoFontOptions_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + fontoptions_object *fontoptions; + zval *temp; + fontoptions=emalloc(sizeof(fontoptions_object)); + memset(fontoptions,0,sizeof(fontoptions_object)); + fontoptions->std.ce = ce; + ALLOC_HASHTABLE(fontoptions->std.properties); + zend_hash_init(fontoptions->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(fontoptions->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(fontoptions, NULL, (zend_objects_free_object_storage_t)CairoFontOptions_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoFontOptions_handlers; + return retval; +} + + +static void class_init_CairoFontOptions(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoFontOptions", CairoFontOptions_methods); + CairoFontOptions_ce_ptr = zend_register_internal_class(&ce); + CairoFontOptions_ce_ptr->create_object = CairoFontOptions_object_new; + memcpy(&CairoFontOptions_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoFontOptions_handlers.clone_obj = NULL; +} + +/* }}} Class CairoFontOptions */ + + +/* {{{ Class CairoScaledFont */ + +static zend_class_entry * CairoScaledFont_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(object ff, object mx1, object mx2, object fo) + */ +PHP_METHOD(CairoScaledFont, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + zval * ff = NULL; + zval * mx1 = NULL; + zval * mx2 = NULL; + zval * fo = NULL; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "oooo", &ff, &mx1, &mx2, &fo) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + scaledfont_object *curr = (scaledfont_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + fontface_object *ffobj = (fontface_object *)zend_objects_get_address(ff TSRMLS_CC); + matrix_object *mobj1 = (matrix_object *)zend_objects_get_address(mx1 TSRMLS_CC); + matrix_object *mobj2 = (matrix_object *)zend_objects_get_address(mx2 TSRMLS_CC); + fontoptions_object *foobj = (fontoptions_object *)zend_objects_get_address(fo TSRMLS_CC); + curr->scaledfont = cairo_scaled_font_create(ffobj->fontface, &mobj1->matrix, &mobj2->matrix, foobj->fontoptions); + +} +/* }}} __construct */ + + + +/* {{{ proto array extents() + */ +PHP_METHOD(CairoScaledFont, extents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + cairo_font_extents_t e; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoScaledFont_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + scaledfont_object *curr = (scaledfont_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_scaled_font_extents(curr->scaledfont, &e); + + phpCAIRO_SCALEDFONT_ERROR(curr->scaledfont); + array_init(return_value); + add_assoc_double(return_value, "ascent", e.ascent); + add_assoc_double(return_value, "descent", e.descent); + add_assoc_double(return_value, "height", e.height); + add_assoc_double(return_value, "max_x_advance", e.max_x_advance); + add_assoc_double(return_value, "max_y_advance", e.max_y_advance); + +} +/* }}} extents */ + + + +/* {{{ proto object getFontFace() + */ +PHP_METHOD(CairoScaledFont, getFontFace) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoScaledFont_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + scaledfont_object *curr = (scaledfont_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + object_init_ex(return_value, CairoFontFace_ce_ptr); + fontface_object *ffobj = (fontface_object *)zend_objects_get_address(return_value); + ffobj->fontface = cairo_font_face_reference(cairo_scaled_font_get_font_face(curr->scaledfont)); + +} +/* }}} getFontFace */ + + + +/* {{{ proto array textExtents(string str) + */ +PHP_METHOD(CairoScaledFont, textExtents) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * str = NULL; + int str_len = 0; + cairo_text_extents_t extents; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoScaledFont_ce_ptr, &str, &str_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + scaledfont_object *curr = (scaledfont_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_scaled_font_text_extents(curr->scaledfont, str, &extents); + phpCAIRO_SCALEDFONT_ERROR(curr->scaledfont); + + array_init(return_value); + add_assoc_double(return_value, "x_bearing", extents.x_bearing); + add_assoc_double(return_value, "y_bearing", extents.y_bearing); + add_assoc_double(return_value, "width", extents.width); + add_assoc_double(return_value, "height", extents.height); + add_assoc_double(return_value, "x_advance", extents.x_advance); + add_assoc_double(return_value, "y_advance", extents.y_advance); + +} +/* }}} textExtents */ + + +static zend_function_entry CairoScaledFont_methods[] = { + PHP_ME(CairoScaledFont, __construct, CairoScaledFont____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoScaledFont, extents, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoScaledFont, getFontFace, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoScaledFont, textExtents, CairoScaledFont__text_extents_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + + +static zend_object_handlers CairoScaledFont_handlers; + +static void CairoScaledFont_object_dtor(void *object) +{ + scaledfont_object *scaledfont = (scaledfont_object *)object; + zend_hash_destroy(scaledfont->std.properties); + FREE_HASHTABLE(scaledfont->std.properties); + + if(scaledfont->scaledfont){ + cairo_scaled_font_destroy(scaledfont->scaledfont); + } + efree(object); +} + +static zend_object_value CairoScaledFont_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + scaledfont_object *scaledfont; + zval *temp; + scaledfont=emalloc(sizeof(scaledfont_object)); + memset(scaledfont,0,sizeof(scaledfont_object)); + scaledfont->std.ce = ce; + ALLOC_HASHTABLE(scaledfont->std.properties); + zend_hash_init(scaledfont->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(scaledfont->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(scaledfont, NULL, (zend_objects_free_object_storage_t)CairoScaledFont_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoScaledFont_handlers; + return retval; +} + + +static void class_init_CairoScaledFont(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoScaledFont", CairoScaledFont_methods); + CairoScaledFont_ce_ptr = zend_register_internal_class(&ce); + CairoScaledFont_ce_ptr->create_object = CairoScaledFont_object_new; + memcpy(&CairoScaledFont_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoScaledFont_handlers.clone_obj = NULL; +} + +/* }}} Class CairoScaledFont */ diff --git a/src/cairo/CairoMatrix.c b/src/cairo/CairoMatrix.c new file mode 100644 index 0000000..a755f9c --- /dev/null +++ b/src/cairo/CairoMatrix.c @@ -0,0 +1,302 @@ +/* {{{ Class CairoMatrix */ + +static zend_class_entry * CairoMatrix_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct([float xx, float yx, float xy, float yy, float x0, float y0]) + */ +PHP_METHOD(CairoMatrix, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + double xx = 1.0; + double yx = 0.0; + double xy = 0.0; + double yy = 1.0; + double x0 = 0.0; + double y0 = 0.0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|dddddd", &xx, &yx, &xy, &yy, &x0, &y0) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_init(&curr->matrix, xx, yx, xy, yy, x0, y0); + +} +/* }}} __construct */ + + + +/* {{{ proto object initRotate(float radians) + */ +PHP_METHOD(CairoMatrix, initRotate) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_matrix_t matrix; + double radians = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoMatrix_ce_ptr, &radians) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_init_rotate(&matrix, radians); + object_init_ex(return_value, CairoMatrix_ce_ptr); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(return_value TSRMLS_CC); + mobj->matrix = matrix; +} +/* }}} initRotate */ + + + +/* {{{ proto void invert() + */ +PHP_METHOD(CairoMatrix, invert) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_status_t status; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoMatrix_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + status = cairo_matrix_invert(&curr->matrix); + phpCAIRO_ERROR(status); +} +/* }}} invert */ + + + +/* {{{ proto object multiply(object o2) + */ +PHP_METHOD(CairoMatrix, multiply) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * o2 = NULL; + cairo_matrix_t result; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoMatrix_ce_ptr, &o2) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(o2 TSRMLS_CC); + cairo_matrix_multiply(&result, &curr->matrix, &mobj->matrix); + object_init_ex(return_value, CairoMatrix_ce_ptr); + matrix_object *mret = (matrix_object *)zend_objects_get_address(return_value TSRMLS_CC); + mret->matrix = result; +} +/* }}} multiply */ + + + +/* {{{ proto void rotate(float radians) + */ +PHP_METHOD(CairoMatrix, rotate) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double radians = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Od", &_this_zval, CairoMatrix_ce_ptr, &radians) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_rotate(&curr->matrix, radians); + +} +/* }}} rotate */ + + + +/* {{{ proto void scale(float sx, float xy) + */ +PHP_METHOD(CairoMatrix, scale) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double sx = 1.0; + double xy = 1.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoMatrix_ce_ptr, &sx, &xy) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_scale(&curr->matrix, sx, xy); + +} +/* }}} scale */ + + + +/* {{{ proto array transformDistance(float dx, float dy) + */ +PHP_METHOD(CairoMatrix, transformDistance) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double dx = 0.0; + double dy = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoMatrix_ce_ptr, &dx, &dy) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_transform_distance(&curr->matrix, &dx, &dy); + + array_init(return_value); + add_assoc_double(return_value, "x", dx); + add_assoc_double(return_value, "y", dy); + +} +/* }}} transformDistance */ + + + +/* {{{ proto array transformPoint(float x, float y) + */ +PHP_METHOD(CairoMatrix, transformPoint) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x = 0.0; + double y = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoMatrix_ce_ptr, &x, &y) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_transform_point(&curr->matrix, &x, &y); + array_init(return_value); + add_assoc_double(return_value, "x", x); + add_assoc_double(return_value, "y", y); + +} +/* }}} transformPoint */ + + + +/* {{{ proto void translate(float tx, float ty) + */ +PHP_METHOD(CairoMatrix, translate) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double tx = 0.0; + double ty = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoMatrix_ce_ptr, &tx, &ty) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + matrix_object *curr = (matrix_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_matrix_translate(&curr->matrix, tx, ty); + +} +/* }}} translate */ + + +static zend_function_entry CairoMatrix_methods[] = { + PHP_ME(CairoMatrix, __construct, CairoMatrix____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoMatrix, initRotate, CairoMatrix__init_rotate_args, /**/ZEND_ACC_PRIVATE) + PHP_ME(CairoMatrix, invert, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, multiply, CairoMatrix__multiply_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, rotate, CairoMatrix__rotate_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, scale, CairoMatrix__scale_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, transformDistance, CairoMatrix__transform_distance_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, transformPoint, CairoMatrix__transform_point_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoMatrix, translate, CairoMatrix__translate_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoMatrix_handlers; + +static void CairoMatrix_object_dtor(void *object) +{ + matrix_object *matrix = (matrix_object *)object; + zend_hash_destroy(matrix->std.properties); + FREE_HASHTABLE(matrix->std.properties); + efree(object); +} + + +static zend_object_value CairoMatrix_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + matrix_object *matrix; + zval *temp; + matrix = emalloc(sizeof(matrix_object)); + memset(matrix,0,sizeof(matrix_object)); + matrix->std.ce = ce; + ALLOC_HASHTABLE(matrix->std.properties); + zend_hash_init(matrix->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(matrix->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(matrix, NULL, (zend_objects_free_object_storage_t)CairoMatrix_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoMatrix_handlers; + return retval; +} + + +static void class_init_CairoMatrix(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoMatrix", CairoMatrix_methods); + CairoMatrix_ce_ptr = zend_register_internal_class(&ce); + CairoMatrix_ce_ptr->create_object = CairoMatrix_object_new; + memcpy(&CairoMatrix_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoMatrix_handlers.clone_obj=NULL; + +} + +/* }}} Class CairoMatrix */ diff --git a/src/cairo/CairoPath.c b/src/cairo/CairoPath.c new file mode 100644 index 0000000..0f603cb --- /dev/null +++ b/src/cairo/CairoPath.c @@ -0,0 +1,126 @@ +/* {{{ Class CairoPath */ + +static zend_class_entry * CairoPath_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoPath, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + + php_error(E_WARNING, "__construct: not yet implemented"); RETURN_FALSE; + +} +/* }}} __construct */ + + + +/* {{{ proto array toStr() + */ +PHP_METHOD(CairoPath, toStr) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + _this_zval = getThis(); + path_object *curr = (path_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_path_t *path = curr->path; + array_init(return_value); + + cairo_path_data_t *data; + int i, ret; + char buf[80]; + + for (i=0; i < path->num_data; i += path->data[i].header.length) { + data = &path->data[i]; + switch (data->header.type) { + case CAIRO_PATH_MOVE_TO: + sprintf(buf, "move_to %f %f", data[1].point.x, data[1].point.y); + add_next_index_string(return_value, buf, 1); + break; + case CAIRO_PATH_LINE_TO: + sprintf(buf, "line_to %f %f", data[1].point.x, data[1].point.y); + add_next_index_string(return_value, buf, 1); + break; + case CAIRO_PATH_CURVE_TO: + sprintf(buf, "curve_to %f %f %f %f %f %f", data[1].point.x, data[1].point.y, data[2].point.x, data[2].point.y, data[3].point.x, data[3].point.y); + add_next_index_string(return_value, buf, 1); + break; + case CAIRO_PATH_CLOSE_PATH: + sprintf(buf, "close_path"); + add_next_index_string(return_value, buf, 1); + break; + } + } + + //free(buf); +} +/* }}} str */ + + +static zend_function_entry CairoPath_methods[] = { + PHP_ME(CairoPath, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoPath, toStr, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoPath_handlers; + + +static void CairoPath_object_dtor(void *object) +{ + path_object *path = (path_object *)object; + zend_hash_destroy(path->std.properties); + FREE_HASHTABLE(path->std.properties); + + if(path->path){ + cairo_path_destroy(path->path); + } + efree(object); +} + +static zend_object_value CairoPath_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + path_object *path; + zval *temp; + + path=emalloc(sizeof(path_object)); + memset(path,0,sizeof(path_object)); + path->std.ce = ce; + ALLOC_HASHTABLE(path->std.properties); + zend_hash_init(path->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(path->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(path, NULL, (zend_objects_free_object_storage_t)CairoPath_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoPath_handlers; + return retval; +} + +static void class_init_CairoPath(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoPath", CairoPath_methods); + CairoPath_ce_ptr = zend_register_internal_class(&ce); + CairoPath_ce_ptr->create_object = CairoPath_object_new; + memcpy(&CairoPath_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoPath_handlers.clone_obj=NULL; + +} + +/* }}} Class CairoPath */ diff --git a/src/cairo/CairoPattern.c b/src/cairo/CairoPattern.c new file mode 100644 index 0000000..a4645a3 --- /dev/null +++ b/src/cairo/CairoPattern.c @@ -0,0 +1,738 @@ + +/* {{{ Class CairoPattern */ + +static zend_class_entry * CairoPattern_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void contruct() + */ +PHP_METHOD(CairoPattern, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + + php_error(E_ERROR, "Pattern Cannot be initialized"); RETURN_FALSE; + +} +/* }}} __construct */ + + + +/* {{{ proto object getMatrix() + */ +PHP_METHOD(CairoPattern, getMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + cairo_matrix_t matrix; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPattern_ce_ptr) == FAILURE) { + return; + } + + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + _this_ce = Z_OBJCE_P(_this_zval); + + cairo_pattern_get_matrix(curr->pattern, &matrix); + object_init_ex(return_value, CairoMatrix_ce_ptr); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(return_value TSRMLS_CC); + mobj->matrix = matrix; +} +/* }}} getMatrix */ + + + +/* {{{ proto void setMatrix(object m) + */ +PHP_METHOD(CairoPattern, setMatrix) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + zval * m = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oo", &_this_zval, CairoPattern_ce_ptr, &m) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + matrix_object *mobj = (matrix_object *)zend_objects_get_address(m TSRMLS_CC); + cairo_pattern_set_matrix(curr->pattern, &mobj->matrix); +} +/* }}} setMatrix */ + + +/* {{{ proto void setExtend(int extend) + */ +PHP_METHOD(CairoPattern, setExtend) +{ + zend_class_entry * _this_ce; + long extend; + + zval * _this_zval = NULL; + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoPattern_ce_ptr, &extend) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_set_extend(curr->pattern, extend); + phpCAIRO_PATTERN_ERROR(curr->pattern); + +} + +/* }}} setExtend */ + + +/* {{{ proto void getExtend() + */ +PHP_METHOD(CairoPattern, getExtend) +{ + zend_class_entry * _this_ce; + long extend; + + zval * _this_zval = NULL; + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPattern_ce_ptr) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + extend = cairo_pattern_get_extend(curr->pattern); + RETURN_LONG(extend); +} +/* }}} setExtend */ + + +static zend_function_entry CairoPattern_methods[] = { + PHP_ME(CairoPattern, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoPattern, getMatrix, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPattern, setMatrix, CairoPattern__set_matrix_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPattern, getExtend, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPattern, setExtend, CairoPattern__set_extend_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoPattern_handlers; + +static void CairoPattern_object_dtor(void *object) +{ + pattern_object *pattern = (pattern_object *)object; + zend_hash_destroy(pattern->std.properties); + FREE_HASHTABLE(pattern->std.properties); + if(pattern->pattern){ + cairo_pattern_destroy(pattern->pattern); + } + efree(object); +} + +static zend_object_value CairoPattern_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + pattern_object *pattern; + zval *temp; + pattern=emalloc(sizeof(pattern_object)); + memset(pattern,0,sizeof(pattern_object)); + pattern->std.ce = ce; + ALLOC_HASHTABLE(pattern->std.properties); + zend_hash_init(pattern->std.properties, 0, NULL, ZVAL_PTR_DTOR,0); + zend_hash_copy(pattern->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &temp, sizeof(zval *)); + retval.handle = zend_objects_store_put(pattern, NULL, (zend_objects_free_object_storage_t)CairoPattern_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoPattern_handlers; + return retval; +} + + +static void class_init_CairoPattern(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoPattern", CairoPattern_methods); + CairoPattern_ce_ptr = zend_register_internal_class(&ce); + CairoPattern_ce_ptr->create_object = CairoPattern_object_new; + memcpy(&CairoPattern_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + CairoPattern_handlers.clone_obj = NULL; +} + +/* }}} Class CairoPattern */ + +/* {{{ Class CairoGradient */ + +static zend_class_entry * CairoGradient_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoGradient, __construct) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoGradient_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + + php_error(E_ERROR, "Gradient cannot be initialized"); RETURN_FALSE; + +} +/* }}} __construct */ + + + +/* {{{ proto void addColorStopRgb(float offset, float red, float green, float blue) + */ +PHP_METHOD(CairoGradient, addColorStopRgb) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double offset = 0.0; + double red = 0.0; + double green = 0.0; + double blue = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odddd", &_this_zval, CairoGradient_ce_ptr, &offset, &red, &green, &blue) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_add_color_stop_rgb(curr->pattern, offset, red, green, blue); + phpCAIRO_PATTERN_ERROR(curr->pattern); +} +/* }}} addColorStopRgb */ + + + +/* {{{ proto void addColorStopRgba(float offset, float red, float green, float blue, float alpha) + */ +PHP_METHOD(CairoGradient, addColorStopRgba) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double offset = 0.0; + double red = 0.0; + double green = 0.0; + double blue = 0.0; + double alpha = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oddddd", &_this_zval, CairoGradient_ce_ptr, &offset, &red, &green, &blue, &alpha) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_add_color_stop_rgba(curr->pattern, offset, red, green, blue, alpha); + phpCAIRO_PATTERN_ERROR(curr->pattern); +} +/* }}} addColorStopRgba */ + + + +static zend_function_entry CairoGradient_methods[] = { + PHP_ME(CairoGradient, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoGradient, addColorStopRgb, CairoGradient__add_color_stop_rgb_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoGradient, addColorStopRgba, CairoGradient__add_color_stop_rgba_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoGradient_handlers; + +static zend_object_value CairoGradient_object_new(zend_class_entry *ce TSRMLS_CC) +{ + zend_object_value retval; + retval = CairoPattern_object_new(ce TSRMLS_CC); + retval.handlers = &CairoGradient_handlers; + return retval; +} + +static void class_init_CairoGradient(void) +{ + zend_class_entry ce; + INIT_CLASS_ENTRY(ce, "CairoGradient", CairoGradient_methods); + CairoGradient_ce_ptr = zend_register_internal_class_ex(&ce, CairoPattern_ce_ptr, "CairoPattern" TSRMLS_CC); + CairoGradient_ce_ptr->create_object = CairoGradient_object_new; + memcpy(&CairoGradient_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + + +/* }}} Class CairoGradient */ + +/* {{{ Class CairoLinearGradient */ + +static zend_class_entry * CairoLinearGradient_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(float x0, float y0, float x1, float y1) + */ +PHP_METHOD(CairoLinearGradient, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + double x0 = 0.0; + double y0 = 0.0; + double x1 = 0.0; + double y1 = 0.0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dddd", &x0, &y0, &x1, &y1) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->pattern = cairo_pattern_create_linear(x0, y0, x1, y1); + +} +/* }}} __construct */ + + + +/* {{{ proto array getLinearPoints() + */ +PHP_METHOD(CairoLinearGradient, getLinearPoints) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x0, y0, x1, y1; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoLinearGradient_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_get_linear_points(curr->pattern, &x0, &y0, &x1, &y1); + + array_init(return_value); + add_assoc_double(return_value, "x0", x0); + add_assoc_double(return_value, "y0", y0); + add_assoc_double(return_value, "x1", x1); + add_assoc_double(return_value, "y1", y1); + +} +/* }}} getLinearPoints */ + + +static zend_function_entry CairoLinearGradient_methods[] = { + PHP_ME(CairoLinearGradient, __construct, CairoLinearGradient____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoLinearGradient, getLinearPoints, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoLinearGradient_handlers; + +static zend_object_value CairoLinearGradient_object_new(zend_class_entry *ce TSRMLS_CC) +{ + zend_object_value retval; + retval = CairoGradient_object_new(ce TSRMLS_CC); + retval.handlers = &CairoLinearGradient_handlers; + return retval; +} + +static void class_init_CairoLinearGradient(void) +{ + zend_class_entry ce; + INIT_CLASS_ENTRY(ce, "CairoLinearGradient", CairoLinearGradient_methods); + CairoLinearGradient_ce_ptr = zend_register_internal_class_ex(&ce, CairoGradient_ce_ptr, "CairoGradient" TSRMLS_CC); + CairoLinearGradient_ce_ptr->create_object = CairoLinearGradient_object_new; + memcpy(&CairoLinearGradient_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + + +/* }}} Class CairoLinearGradient */ + +/* {{{ Class CairoRadialGradient */ + +static zend_class_entry * CairoRadialGradient_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(float cx0, float cy0, float radius0, float cx1, float cy1, float radius1) + */ +PHP_METHOD(CairoRadialGradient, __construct) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double cx0 = 0.0; + double cy0 = 0.0; + double radius0 = 0.0; + double cx1 = 0.0; + double cy1 = 0.0; + double radius1 = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odddddd", &_this_zval, CairoRadialGradient_ce_ptr, &cx0, &cy0, &radius0, &cx1, &cy1, &radius1) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->pattern = cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1); + +} +/* }}} __construct */ + + + +/* {{{ proto array getRadialCircles() + */ +PHP_METHOD(CairoRadialGradient, getRadialCircles) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x0, y0, r0, x1, y1, r1; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoRadialGradient_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_get_radial_circles(curr->pattern, &x0, &y0, &r0, &x1, &y1, &r1); + + array_init(return_value); + add_assoc_double(return_value, "x0", x0); + add_assoc_double(return_value, "y0", y0); + add_assoc_double(return_value, "r0", r0); + add_assoc_double(return_value, "x1", x1); + add_assoc_double(return_value, "y1", y1); + add_assoc_double(return_value, "r1", r1); + +} +/* }}} getRadialCircles */ + + +static zend_function_entry CairoRadialGradient_methods[] = { + PHP_ME(CairoRadialGradient, __construct, CairoRadialGradient____constuct_args, /**/ZEND_ACC_PUBLIC| ZEND_ACC_CTOR) + PHP_ME(CairoRadialGradient, getRadialCircles, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoRadialGradient_handlers; + +static zend_object_value CairoRadialGradient_object_new(zend_class_entry *ce TSRMLS_CC) +{ + zend_object_value retval; + retval = CairoGradient_object_new(ce TSRMLS_CC); + retval.handlers = &CairoRadialGradient_handlers; + return retval; +} + +static void class_init_CairoRadialGradient(void) +{ + zend_class_entry ce; + INIT_CLASS_ENTRY(ce, "CairoRadialGradient", CairoRadialGradient_methods); + CairoRadialGradient_ce_ptr = zend_register_internal_class_ex(&ce, CairoGradient_ce_ptr, "CairoGradient" TSRMLS_CC); + CairoRadialGradient_ce_ptr->create_object = CairoRadialGradient_object_new; + memcpy(&CairoRadialGradient_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + +/* }}} Class CairoRadialGradient */ + +/* {{{ Class CairoSolidPattern */ + +static zend_class_entry * CairoSolidPattern_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(float r, float g, float b [, float a]) + */ +PHP_METHOD(CairoSolidPattern, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + double r = 0.0; + double g = 0.0; + double b = 0.0; + double a = 1.0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd|d", &r, &g, &b, &a) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->pattern = cairo_pattern_create_rgba(r, g, b, a); + +} +/* }}} __construct */ + + + +/* {{{ proto array getRgba() + */ +PHP_METHOD(CairoSolidPattern, getRgba) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double r,g,b,a; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSolidPattern_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_get_rgba(curr->pattern, &r, &g, &b, &a); + + array_init(return_value); + add_assoc_double(return_value, "red", r); + add_assoc_double(return_value, "green", g); + add_assoc_double(return_value, "blue", b); + add_assoc_double(return_value, "alpha", a); + +} +/* }}} getRgba */ + + +static zend_function_entry CairoSolidPattern_methods[] = { + PHP_ME(CairoSolidPattern, __construct, CairoSolidPattern____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoSolidPattern, getRgba, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoSolidPattern_handlers; + +static zend_object_value CairoSolidPattern_object_new(zend_class_entry *ce TSRMLS_CC) +{ + zend_object_value retval; + retval = CairoPattern_object_new(ce TSRMLS_CC); + retval.handlers = &CairoSolidPattern_handlers; + return retval; + +} + +static void class_init_CairoSolidPattern(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoSolidPattern", CairoSolidPattern_methods); + CairoSolidPattern_ce_ptr = zend_register_internal_class_ex(&ce, CairoPattern_ce_ptr, "CairoPattern" TSRMLS_CC); + CairoSolidPattern_ce_ptr->create_object = CairoSolidPattern_object_new; + memcpy(&CairoSolidPattern_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + +/* }}} Class CairoSolidPattern */ + +/* {{{ Class CairoSurfacePattern */ + +static zend_class_entry * CairoSurfacePattern_ce_ptr = NULL; + +/* {{{ Methods */ + + +/* {{{ proto void construct(object s) + */ +PHP_METHOD(CairoSurfacePattern, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + zval * s = NULL; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &s) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + surface_object *sobj = (surface_object *)zend_objects_get_address(s TSRMLS_CC); + curr->pattern = cairo_pattern_create_for_surface(sobj->surface); + +} +/* }}} __construct */ + + +/* {{{ proto int getFilter() + */ +PHP_METHOD(CairoSurfacePattern, getFilter) +{ + zend_class_entry * _this_ce; + int filter; + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurfacePattern_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + filter = cairo_pattern_get_filter(curr->pattern); + RETURN_LONG(filter); +} +/* }}} getFilter */ + + + +/* {{{ proto object getSurface() + */ +PHP_METHOD(CairoSurfacePattern, getSurface) +{ + zend_class_entry * _this_ce; + zend_class_entry *surface_ce; + cairo_surface_t *surface; + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurfacePattern_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_get_surface(curr->pattern, &surface); + surface_ce = get_CairoSurface_ce_ptr(surface); + + object_init_ex(return_value,surface_ce); + surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); + sobj->surface = cairo_surface_reference(surface); +} +/* }}} getSurface */ + + + + +/* {{{ proto void setFilter(int filter) + */ +PHP_METHOD(CairoSurfacePattern, setFilter) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long filter = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoSurfacePattern_ce_ptr, &filter) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_pattern_set_filter(curr->pattern, filter); +} +/* }}} setFilter */ + + +static zend_function_entry CairoSurfacePattern_methods[] = { + PHP_ME(CairoSurfacePattern, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoSurfacePattern, getFilter, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurfacePattern, getSurface, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurfacePattern, setFilter, CairoSurfacePattern__set_filter_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_handlers CairoSurfacePattern_handlers; + +static zend_object_value CairoSurfacePattern_object_new(zend_class_entry *ce TSRMLS_CC) +{ + zend_object_value retval; + retval = CairoPattern_object_new(ce TSRMLS_CC); + retval.handlers = &CairoSurfacePattern_handlers; + return retval; +} + +static void class_init_CairoSurfacePattern(void) +{ + zend_class_entry ce; + INIT_CLASS_ENTRY(ce, "CairoSurfacePattern", CairoSurfacePattern_methods); + CairoSurfacePattern_ce_ptr = zend_register_internal_class_ex(&ce, CairoPattern_ce_ptr, "CairoPattern" TSRMLS_CC); + CairoSurfacePattern_ce_ptr->create_object = CairoSurfacePattern_object_new; + memcpy(&CairoSurfacePattern_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + + +/* }}} Class CairoSurfacePattern */ + +/* {{{ Helper functions */ + +zend_class_entry * +get_CairoPattern_ce_ptr(cairo_pattern_t *pattern) +{ + zend_class_entry *type; + if(pattern == NULL) + return NULL; + switch(cairo_pattern_get_type(pattern)) { + case CAIRO_PATTERN_TYPE_SOLID: + type = CairoSolidPattern_ce_ptr; + break; + case CAIRO_PATTERN_TYPE_SURFACE: + type = CairoSurfacePattern_ce_ptr; + break; + case CAIRO_PATTERN_TYPE_LINEAR: + type = CairoLinearGradient_ce_ptr; + break; + case CAIRO_PATTERN_TYPE_RADIAL: + type = CairoRadialGradient_ce_ptr; + break; + default: + php_error(E_ERROR,"Unsupported Pattern"); + return NULL; + } + return type; +} +/* }}} Helper functions */ + diff --git a/src/cairo/CairoSurface.c b/src/cairo/CairoSurface.c new file mode 100644 index 0000000..2ee2cf8 --- /dev/null +++ b/src/cairo/CairoSurface.c @@ -0,0 +1,1566 @@ +/* {{{ Class CairoSurface */ + +static zend_class_entry * CairoSurface_ce_ptr = NULL; +static zend_object_handlers CairoSurface_handlers; + +static cairo_status_t +_write_func(void *closure, const unsigned char *data, unsigned int length) +{ + int written; + php_stream *zs = (php_stream *)closure ; + written = php_stream_write(zs, data, length); + //written = php_stream_write_string(zs, data); + if(written == length) + return CAIRO_STATUS_SUCCESS; + else { + printf("is it an error ?"); + // CAIRO_STATUS_WRITE_ERROR; + } +} + +static cairo_status_t +_read_func(void *closure, const unsigned char *data, unsigned int length) +{ + int read; + php_stream *zs = (php_stream *)closure; + //data = emalloc(length); + read = php_stream_read(zs, data, length); + if(read == length) + return CAIRO_STATUS_SUCCESS; + else { + printf("is it an error"); + } + +} + + +/* +typedef struct _surface_object { + zend_object std; + cairo_surface_t *surface; +} surface_object; +*/ + +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + php_print("wtf"); + return; + } + + php_print("No direct call for this constructor"); + + +} +/* }}} __construct */ + + + +/* {{{ proto object createSimilar(int content, int width, int height) + */ +PHP_METHOD(CairoSurface, createSimilar) +{ + zend_class_entry * _this_ce, *ce; + + zval * _this_zval = NULL; + cairo_surface_t *sur; + int content; + long width = 0; + long height = 0; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Olll", &_this_zval, CairoSurface_ce_ptr, &content, &width, &height) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + sur = cairo_surface_create_similar(curr->surface, content, width, height); + ce = get_CairoSurface_ce_ptr(sur); + object_init_ex(return_value, ce); + surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); + sobj->surface=sur; + +} +/* }}} createSimilar */ + + +/* {{{ proto void finish() + */ +PHP_METHOD(CairoSurface, finish) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_surface_finish(curr->surface); +} +/* }}} finish */ + + + +/* {{{ proto void flush() + */ +PHP_METHOD(CairoSurface, flush) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_surface_flush(curr->surface); + +} +/* }}} flush */ + + + +/* {{{ proto int getContent() + */ +PHP_METHOD(CairoSurface, getContent) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x; + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x=cairo_surface_get_content(curr->surface); + RETURN_LONG(x); +} +/* }}} getContent */ + + + +/* {{{ proto array getDeviceOffset() + */ +PHP_METHOD(CairoSurface, getDeviceOffset) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x_offset, y_offset; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_surface_get_device_offset(curr->surface, &x_offset, &y_offset); + + array_init(return_value); + add_assoc_double(return_value, "x", x_offset); + add_assoc_double(return_value, "y", y_offset); + +} +/* }}} getDeviceOffset */ + + + +/* {{{ proto object getFontOptions() + */ +PHP_METHOD(CairoSurface, getFontOptions) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + cairo_font_options_t *options = cairo_font_options_create(); + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + cairo_surface_get_font_options(curr->surface, options); + object_init_ex(return_value, CairoFontOptions_ce_ptr); + fontoptions_object *fobj = (fontoptions_object *)zend_objects_get_address(return_value TSRMLS_CC); + fobj->fontoptions=options; + +} +/* }}} getFontOptions */ + + + +/* {{{ proto void markDirtyRectangle([int x, int y, int width, int height]) + */ +PHP_METHOD(CairoSurface, markDirtyRectangle) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long x = 0; + long y = 0; + long width = -1; + long height = -1; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|llll", &_this_zval, CairoSurface_ce_ptr, &x, &y, &width, &height) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_surface_mark_dirty_rectangle(curr->surface, x, y, width, height); + +} +/* }}} markDirtyRectangle */ + + + +/* {{{ proto void setDeviceOffset(float x_offset, float y_offset) + */ +PHP_METHOD(CairoSurface, setDeviceOffset) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x_offset = 0.0; + double y_offset = 0.0; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoSurface_ce_ptr, &x_offset, &y_offset) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_surface_set_device_offset(curr->surface, x_offset, y_offset); + +} +/* }}} setDeviceOffset */ + + + +/* {{{ proto void setFallbackResolution(float x_ppi, float y_ppi) + */ +PHP_METHOD(CairoSurface, setFallbackResolution) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double x_ppi = 0.0; + double y_ppi = 0.0; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoSurface_ce_ptr, &x_ppi, &y_ppi) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_surface_set_fallback_resolution(curr->surface, x_ppi, y_ppi); + +} +/* }}} setFallbackResolution */ + + + +/* {{{ proto void writeToPng(string file) + */ +PHP_METHOD(CairoSurface, writeToPng) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * file = NULL; + int file_len = 0; + cairo_status_t status; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoSurface_ce_ptr, &file, &file_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + status = cairo_surface_write_to_png(curr->surface, file); + +} +/* }}} writeToPng */ + + +/* {{{ proto void writeToPngStream(stream file) + */ +PHP_METHOD(CairoSurface, writeToPngStream) +{ + zend_class_entry *_this_ce; + FILE *file; + zval *_this_zval = NULL; + cairo_status_t status; + zval *zstream; + php_stream *stream; + int err; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Or", &_this_zval, CairoSurface_ce_ptr, &zstream)) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + php_stream_from_zval(stream, &zstream); + status = cairo_surface_write_to_png_stream(curr->surface, _write_func, stream); + +} + +/* }}} writeToPngStream*/ + + +static zend_function_entry CairoSurface_methods[] = { + PHP_ME(CairoSurface, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoSurface, createSimilar, CairoSurface__create_similar_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, finish, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, flush, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, getContent, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, getDeviceOffset, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, getFontOptions, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, markDirtyRectangle, CairoSurface__mark_dirty_rectangle_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, setDeviceOffset, CairoSurface__set_device_offset_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, setFallbackResolution, CairoSurface__set_fallback_resolution_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, writeToPng, CairoSurface__write_to_png_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoSurface, writeToPngStream, CairoSurface__write_to_png_stream_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + + +static void CairoSurface_object_dtor(void *object) +{ + surface_object *surface = (surface_object *)object; + zend_hash_destroy(surface->std.properties); + FREE_HASHTABLE(surface->std.properties); + if(surface->surface){ + cairo_surface_finish(surface->surface); + cairo_surface_destroy(surface->surface); + + } + efree(object); +} + +static zend_object_value CairoSurface_object_new(zend_class_entry *ce) +{ + zend_object_value retval; + surface_object *surface; + zval *temp; + + surface = emalloc(sizeof(surface_object)); + memset(surface,0,sizeof(surface_object)); + + surface->std.ce=ce; + + ALLOC_HASHTABLE(surface->std.properties); + zend_hash_init(surface->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(surface->std.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref,(void *) &temp, sizeof(zval *)); + retval.handle=zend_objects_store_put(surface, NULL, (zend_objects_free_object_storage_t)CairoSurface_object_dtor, NULL TSRMLS_CC); + retval.handlers = &CairoSurface_handlers; + return retval; +} + +static void class_init_CairoSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoSurface", CairoSurface_methods); + CairoSurface_ce_ptr = zend_register_internal_class(&ce); + CairoSurface_ce_ptr->create_object = CairoSurface_object_new; + memcpy(&CairoSurface_handlers, zend_get_std_object_handlers(),sizeof(zend_object_handlers)); + CairoSurface_handlers.clone_obj = NULL; +} + +/* }}} Class CairoSurface */ + +/* {{{ Class CairoImageSurface -- done :)*/ + +static zend_class_entry * CairoImageSurface_ce_ptr = NULL; +static zend_object_handlers CairoImageSurface_handlers; + + +/* {{{ Methods */ + + +/* {{{ proto void construct(int format, int widthm, int height) + */ +PHP_METHOD(CairoImageSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + cairo_format_t format = 0; + long widthm = 0; + long height = 0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll", &format, &widthm, &height) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->surface = cairo_image_surface_create(format, widthm, height); + +} +/* }}} __construct */ + + + +/* {{{ proto void createFromData(string obj, int format, int width, int height [, int stride]) + */ +PHP_METHOD(CairoImageSurface, createFromData) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * buffer = NULL; + int buffer_len = 0; + long format = 0; + long width = 0; + long height = 0; + long stride = -1; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oslll|l", &_this_zval, CairoImageSurface_ce_ptr, &buffer, &buffer_len, &format, &width, &height, &stride) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_surface_finish(curr->surface); + cairo_surface_destroy(curr->surface); + + if(stride < 0 ){ + switch(format) { + case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_RGB24: + stride = width * 4; + break; + case CAIRO_FORMAT_RGB16_565: + stride = width * 2; + break; + case CAIRO_FORMAT_A8: + stride = width; + break; + case CAIRO_FORMAT_A1: + stride = (width + 1) / 8; + break; + default: + php_error(E_ERROR, "Unknown format"); + return; + + } + } + /* + if (height * stride > buffer_len) { + php_error(E_ERROR,"buffer is not long enough"); + return; + } + */ + curr->surface = cairo_image_surface_create_for_data(buffer, format, width, height, stride); + +} +/* }}} createFromData */ + + + +/* {{{ proto void createFromPng(string file) + */ +PHP_METHOD(CairoImageSurface, createFromPng) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + const char * file = NULL; + int file_len = 0; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &_this_zval, CairoImageSurface_ce_ptr, &file, &file_len) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + curr->surface = cairo_image_surface_create_from_png(file); + +} +/* }}} createFromPng */ + + + +/* {{{ proto void createFromPngStream(stream zstream) + */ + +PHP_METHOD(CairoImageSurface, createFromPngStream) +{ + zend_class_entry *_this_ce; + FILE *file; + zval *_this_zval = NULL; + cairo_status_t status; + zval *zstream; + php_stream *stream; + int err; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Or", &_this_zval, CairoImageSurface_ce_ptr, &zstream)) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + php_stream_from_zval(stream, &zstream); + curr->surface = cairo_image_surface_create_from_png_stream( _read_func, stream); + + +} + +/* }}} createFromPngStream*/ + + + +/* {{{ proto string getData() -- not required + */ +PHP_METHOD(CairoImageSurface, getData) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + char *str; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoImageSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + str = cairo_image_surface_get_data(curr->surface); + RETURN_STRING(str, 0); +} +/* }}} getData */ + + + +/* {{{ proto int getFormat() + */ +PHP_METHOD(CairoImageSurface, getFormat) +{ + zend_class_entry * _this_ce; + long x; + zval * _this_zval = NULL; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoImageSurface_ce_ptr) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x = cairo_image_surface_get_format(curr->surface); + RETURN_LONG(x); +} +/* }}} getFormat */ + + + +/* {{{ proto int getHeight() + */ +PHP_METHOD(CairoImageSurface, getHeight) +{ + zend_class_entry * _this_ce; + zval * _this_zval = NULL; + long x; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoImageSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + x = cairo_image_surface_get_height(curr->surface); + + RETURN_LONG(x); +} +/* }}} getHeight */ + + + +/* {{{ proto int getStride() + */ +PHP_METHOD(CairoImageSurface, getStride) +{ + zend_class_entry * _this_ce; + zval * _this_zval = NULL; + long x; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoImageSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + x = cairo_image_surface_get_stride(curr->surface); + + RETURN_LONG(x); +} +/* }}} getStride */ + + + +/* {{{ proto int getWidth() + */ +PHP_METHOD(CairoImageSurface, getWidth) +{ + zend_class_entry * _this_ce; + zval * _this_zval = NULL; + long x; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoImageSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + + surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + x = cairo_image_surface_get_width(curr->surface); + RETURN_LONG(x); +} +/* }}} getWidth */ + + +static zend_function_entry CairoImageSurface_methods[] = { + PHP_ME(CairoImageSurface, __construct, CairoImageSurface____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoImageSurface, createFromData, CairoImageSurface__create_from_data_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, createFromPng, CairoImageSurface__create_from_png_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, createFromPngStream, CairoImageSurface__create_from_png_stream_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, getData, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, getFormat, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, getHeight, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, getStride, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoImageSurface, getWidth, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoImageSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoImageSurface_handlers; + return retval; +} + + +static void class_init_CairoImageSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoImageSurface", CairoImageSurface_methods); + CairoImageSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoImageSurface_ce_ptr->create_object = CairoImageSurface_object_new; + memcpy(&CairoImageSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + +/* }}} Class CairoImageSurface */ + +/* {{{ Class CairoPDFSurface */ + +static zend_class_entry * CairoPDFSurface_ce_ptr = NULL; +static zend_object_handlers CairoPDFSurface_handlers; +/* {{{ Methods */ + + +/* {{{ proto void construct(string file, float wpts, float hpts) + */ +PHP_METHOD(CairoPDFSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + zval *zstream = NULL; + const char * file = NULL; + int file_len = 0; + double wpts = 0.0; + double hpts = 0.0; + php_stream *stream; + int argc = ZEND_NUM_ARGS(); + zval ***args, *obj; + + args = (zval **)safe_emalloc(argc, sizeof(zval *),0); + if(ZEND_NUM_ARGS()== 0 || + zend_get_parameters_array_ex(argc, args)== FAILURE) { + printf("ERROR"); + efree(args); + WRONG_PARAM_COUNT; + } + + obj = *(args[1]); + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + wpts = Z_DVAL_P(obj); + break; + case IS_LONG: + wpts = Z_LVAL_P(obj); + break; + default : + printf("Error!!!"); + return; + } + + obj = *(args[2]); + + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + hpts = Z_DVAL_P(obj); + break; + case IS_LONG: + hpts = Z_LVAL_P(obj); + break; + default : + printf("Error!!!"); + return; + } + + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + obj = *(args[0]); + if(Z_TYPE_P(obj)==IS_STRING) { + file = Z_STRVAL_P(obj); + curr->surface = cairo_pdf_surface_create(file, wpts, hpts); + } + else if(Z_TYPE_P(obj)==IS_RESOURCE) { + zstream = obj; + php_stream_from_zval(stream, &zstream); + curr->surface = cairo_pdf_surface_create_for_stream(_write_func, stream, wpts, hpts); + } + else { + printf("ERROR\n"); + } + + efree(args); +} +/* }}} __construct */ + + + +/* {{{ proto void setSize(float wptd, float hpts) + */ +PHP_METHOD(CairoPDFSurface, setSize) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double wpts = 0.0; + double hpts = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoPDFSurface_ce_ptr, &wpts, &hpts) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pdf_surface_set_size(curr->surface, wpts, hpts); + +} +/* }}} setSize */ + + +static zend_function_entry CairoPDFSurface_methods[] = { + PHP_ME(CairoPDFSurface, __construct, CairoPDFSurface____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoPDFSurface, setSize, CairoPDFSurface__set_size_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoPDFSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoPDFSurface_handlers; + return retval; +} + +static void class_init_CairoPDFSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoPDFSurface", CairoPDFSurface_methods); + CairoPDFSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoPDFSurface_ce_ptr->create_object = CairoPDFSurface_object_new; + memcpy(&CairoPDFSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + +} + +/* }}} Class CairoPDFSurface */ + +/* {{{ Class CairoPSSurface */ + +static zend_class_entry * CairoPSSurface_ce_ptr = NULL; +static zend_object_handlers CairoPSSurface_handlers; +/* {{{ Methods */ + + +/* {{{ proto void construct(string file | stream stream, float wpts, float hpts) + */ +PHP_METHOD(CairoPSSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + zval *zstream = NULL; + const char * file = NULL; + int file_len = 0; + double wpts = 0.0; + double hpts = 0.0; + php_stream *stream; + int argc = ZEND_NUM_ARGS(); + zval ***args, *obj; + + args = (zval **)safe_emalloc(argc, sizeof(zval *),0); + if(ZEND_NUM_ARGS()== 0 || + zend_get_parameters_array_ex(argc, args)== FAILURE) { + printf("ERROR"); + efree(args); + WRONG_PARAM_COUNT; + } + + obj = *(args[1]); + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + wpts = Z_DVAL_P(obj); + break; + case IS_LONG: + wpts = Z_LVAL_P(obj); + break; + default : + printf("Error!!!"); + return; + } + + obj = *(args[2]); + + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + hpts = Z_DVAL_P(obj); + break; + case IS_LONG: + hpts = Z_LVAL_P(obj); + break; + default : + printf("Error!!!"); + return; + } + + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + obj = *(args[0]); + if(Z_TYPE_P(obj)==IS_STRING) { + file = Z_STRVAL_P(obj); + curr->surface = cairo_ps_surface_create(file, wpts, hpts); + } + else if(Z_TYPE_P(obj)==IS_RESOURCE) { + zstream = obj; + php_stream_from_zval(stream, &zstream); + curr->surface = cairo_ps_surface_create_for_stream(_write_func, stream, wpts, hpts); + } + else { + printf("ERROR\n"); + } + + efree(args); + + + + +} +/* }}} __construct */ + + + +/* {{{ proto void dscBeginPageSetup() + */ +PHP_METHOD(CairoPSSurface, dscBeginPageSetup) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_ps_surface_dsc_begin_page_setup(curr->surface); + phpCAIRO_SURFACE_ERROR(curr->surface); + + + +} +/* }}} dscBeginPageSetup */ + + + +/* {{{ proto void dscBeginSetup() + */ +PHP_METHOD(CairoPSSurface, dscBeginSetup) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_ps_surface_dsc_begin_setup(curr->surface); + phpCAIRO_SURFACE_ERROR(curr->surface); + +} +/* }}} dscBeginSetup */ + + + +/* {{{ proto void dscComment() + */ +PHP_METHOD(CairoPSSurface, dscComment) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_ps_surface_dsc_comment(curr->surface); + phpCAIRO_SURFACE_ERROR(curr->surface); + +} +/* }}} dscComment */ + + + +/* {{{ proto array getLevels() -- cairo 1.6 + */ +PHP_METHOD(CairoPSSurface, getLevels) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + array_init(return_value); + + do { + /* ONLY for CAIRO 1.6 */ + } while (0); +} +/* }}} getLevels */ + + + +/* {{{ proto string getLevelString() --cairo 1.6 + */ +PHP_METHOD(CairoPSSurface, getLevelString) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + do { + /* ONLY for CAIRO 1.6*/ + } while (0); +} +/* }}} getLevelString */ + + + +/* {{{ proto void restrictToLevel(int level) --cairo 1.6 + */ +PHP_METHOD(CairoPSSurface, restrictToLevel) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long level = 0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoPSSurface_ce_ptr, &level) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + do { + /* ONLY for CAIRO 1.6 */ + } while (0); +} +/* }}} restrictToLevel */ + + + +/* {{{ proto void setEps() --cairo 1.6 + */ +PHP_METHOD(CairoPSSurface, setEps) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPSSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + do { + /* ONLY for CAIRO 1.6 */ + } while (0); +} +/* }}} setEps */ + + + +/* {{{ proto void setSize(float wpts, float hpts) + */ +PHP_METHOD(CairoPSSurface, setSize) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + double wpts = 0.0; + double hpts = 0.0; + + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Odd", &_this_zval, CairoPSSurface_ce_ptr, &wpts, &hpts) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_ps_surface_set_size(curr->surface, wpts, hpts); + +} +/* }}} setSize */ + + +static zend_function_entry CairoPSSurface_methods[] = { + PHP_ME(CairoPSSurface, __construct, CairoPSSurface____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoPSSurface, dscBeginPageSetup, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, dscBeginSetup, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, dscComment, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, getLevels, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, getLevelString, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, restrictToLevel, CairoPSSurface__restrict_to_level_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, setEps, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPSSurface, setSize, CairoPSSurface__set_size_args, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoPSSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoPSSurface_handlers; + return retval; +} + +static void class_init_CairoPSSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoPSSurface", CairoPSSurface_methods); + CairoPSSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoPSSurface_ce_ptr->create_object = CairoPSSurface_object_new; + memcpy(&CairoPSSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); +} + +/* }}} Class CairoPSSurface */ + +/* {{{ Class CairoQuartzSurface */ + +static zend_class_entry * CairoQuartzSurface_ce_ptr = NULL; +static zend_object_handlers CairoQuartzSurface_handlers; +/* {{{ Methods */ + + +/* {{{ proto void construct(float wpixels, float hpixels [, int format]) + */ +PHP_METHOD(CairoQuartzSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + double wpixels = 0.0; + double hpixels = 0.0; + long format = 0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd|l", &wpixels, &hpixels, &format) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + + php_error(E_ERROR, "CANNOT BE CALLED"); RETURN_FALSE; + +} +/* }}} __construct */ + + +static zend_function_entry CairoQuartzSurface_methods[] = { + PHP_ME(CairoQuartzSurface, __construct, CairoQuartzSurface____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoQuartzSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoQuartzSurface_handlers; + return retval; +} + +static void class_init_CairoQuartzSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoQuartzSurface", CairoQuartzSurface_methods); + CairoQuartzSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoQuartzSurface_ce_ptr->create_object = CairoQuartzSurface_object_new; + memcpy(&CairoQuartzSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + +} + +/* }}} Class CairoQuartzSurface */ + +/* {{{ Class CairoSVGSurface */ + +static zend_class_entry * CairoSVGSurface_ce_ptr = NULL; +static zend_object_handlers CairoSVGSurface_handlers; + + +/* {{{ Methods */ + + +/* {{{ proto void construct(string file, float wpts, float hpts) + */ +PHP_METHOD(CairoSVGSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + zval *zstream = NULL; + const char * file = NULL; + int file_len = 0; + double wpts = 0.0; + double hpts = 0.0; + php_stream *stream; + int argc = ZEND_NUM_ARGS(); + zval ***args, *obj; + + args = (zval **)safe_emalloc(argc, sizeof(zval *),0); + if(ZEND_NUM_ARGS()== 0 || + zend_get_parameters_array_ex(argc, args)== FAILURE) { + printf("ERROR"); + efree(args); + WRONG_PARAM_COUNT; + } + + obj = *(args[1]); + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + wpts = Z_DVAL_P(obj); + break; + case IS_LONG: + wpts = Z_LVAL_P(obj); + break; + default : + printf("error!!!"); + return; + } + + obj = *(args[2]); + + switch(Z_TYPE_P(obj)) { + case IS_DOUBLE: + hpts = Z_DVAL_P(obj); + break; + case IS_LONG: + hpts = Z_LVAL_P(obj); + break; + default : + printf("Error!!!"); + return; + } + + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + obj = *(args[0]); + if(Z_TYPE_P(obj)==IS_STRING) { + file = Z_STRVAL_P(obj); + curr->surface = cairo_svg_surface_create(file, wpts, hpts); + } + else if(Z_TYPE_P(obj)==IS_RESOURCE) { + zstream = obj; + php_stream_from_zval(stream, &zstream); + curr->surface = cairo_svg_surface_create_for_stream(_write_func, stream, wpts, hpts); + } + else { + printf("ERROR\n"); + } + + efree(args); + + +} +/* }}} __construct */ + + +static zend_function_entry CairoSVGSurface_methods[] = { + PHP_ME(CairoSVGSurface, __construct, CairoSVGSurface____construct_args, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoSVGSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoSVGSurface_handlers; + return retval; +} + +static void class_init_CairoSVGSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoSVGSurface", CairoSVGSurface_methods); + CairoSVGSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoSVGSurface_ce_ptr->create_object = CairoSVGSurface_object_new; + memcpy(&CairoSVGSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + +} + +/* }}} Class CairoSVGSurface */ + +/* {{{ Class CairoWin32Surface -- Have to work on this aswell */ + +static zend_class_entry * CairoWin32Surface_ce_ptr = NULL; +static zend_object_handlers CairoWin32Surface_handlers; + +/* {{{ Methods */ + + +/* {{{ proto void construct(int hdc) + */ +PHP_METHOD(CairoWin32Surface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + long hdc = 0; + + + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &hdc) == FAILURE) { + return; + } + + _this_zval = getThis(); + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + curr->surface = cairo_win32_surface_create(hdc, NULL); +} +/* }}} __construct */ + + +static zend_function_entry CairoWin32Surface_methods[] = { + PHP_ME(CairoWin32Surface, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoWin32Surface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoWin32Surface_handlers; + return retval; +} + +static void class_init_CairoWin32Surface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoWin32Surface", CairoWin32Surface_methods); + CairoWin32Surface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoWin32Surface_ce_ptr->create_object = CairoWin32Surface_object_new; + memcpy(&CairoWin32Surface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + +} + +/* }}} Class CairoWin32Surface */ + +/* {{{ Class CairoXlibSurface */ + +static zend_class_entry * CairoXlibSurface_ce_ptr = NULL; +static zend_object_handlers CairoXlibSurface_handlers; +/* {{{ Methods */ + + +/* {{{ proto void construct() + */ +PHP_METHOD(CairoXlibSurface, __construct) +{ + zend_class_entry * _this_ce; + zval * _this_zval; + + + + if (ZEND_NUM_ARGS()>0) { + WRONG_PARAM_COUNT; + } + + _this_zval = getThis(); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + php_error(E_WARNING, "Cannot Be Initialized"); RETURN_FALSE; + +} +/* }}} __construct */ + + + +/* {{{ proto int getDepth() + */ +PHP_METHOD(CairoXlibSurface, getDepth) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long depth; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoXlibSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + + depth = cairo_xlib_surface_get_depth(curr->surface); + + RETURN_LONG(depth); +} +/* }}} getDepth */ + + + +/* {{{ proto int getHeight() + */ +PHP_METHOD(CairoXlibSurface, getHeight) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long height; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoXlibSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + height = cairo_xlib_surface_get_height(curr->surface); + + RETURN_LONG(height); +} +/* }}} getHeight */ + + + +/* {{{ proto int getWidth() + */ +PHP_METHOD(CairoXlibSurface, getWidth) +{ + zend_class_entry * _this_ce; + + zval * _this_zval = NULL; + long width; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoXlibSurface_ce_ptr) == FAILURE) { + return; + } + + _this_ce = Z_OBJCE_P(_this_zval); + surface_object *curr =(surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + width = cairo_xlib_surface_get_width(curr->surface); + + RETURN_LONG(width); +} +/* }}} getWidth */ + + +static zend_function_entry CairoXlibSurface_methods[] = { + PHP_ME(CairoXlibSurface, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(CairoXlibSurface, getDepth, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoXlibSurface, getHeight, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoXlibSurface, getWidth, NULL, /**/ZEND_ACC_PUBLIC) + { NULL, NULL, NULL } +}; + +/* }}} Methods */ + +static zend_object_value CairoXlibSurface_object_new(zend_class_entry *ce TSRMLS_DC) +{ + zend_object_value retval; + retval=CairoSurface_object_new(ce TSRMLS_CC); + retval.handlers = &CairoXlibSurface_handlers; + return retval; +} + +static void class_init_CairoXlibSurface(void) +{ + zend_class_entry ce; + + INIT_CLASS_ENTRY(ce, "CairoXlibSurface", CairoXlibSurface_methods); + CairoXlibSurface_ce_ptr = zend_register_internal_class_ex(&ce, CairoSurface_ce_ptr, "CairoSurface" TSRMLS_CC); + CairoXlibSurface_ce_ptr->create_object = CairoXlibSurface_object_new; + memcpy(&CairoXlibSurface_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); + +} + +/* }}} Class CairoXlibSurface */ + +/* {{{ Helper Functions */ +zend_class_entry * +get_CairoSurface_ce_ptr(cairo_surface_t *surface) +{ + zend_class_entry *type; + if(surface == NULL) + return; + + switch(cairo_surface_get_type(surface)) { + case CAIRO_SURFACE_TYPE_IMAGE: + type = CairoImageSurface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_PDF: + type = CairoPDFSurface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_PS: + type = CairoPSSurface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_SVG: + type = CairoSVGSurface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_WIN32: + type = CairoWin32Surface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_XLIB: + type = CairoXlibSurface_ce_ptr; + break; + case CAIRO_SURFACE_TYPE_QUARTZ: + type = CairoQuartzSurface_ce_ptr; + break; + default: + php_error(E_ERROR,"Unsupported Surface Type"); + return NULL; + } + return type; +} + +/* }}} Helper Function*/ + + diff --git a/src/cairo/EXPERIMENTAL b/src/cairo/EXPERIMENTAL new file mode 100644 index 0000000..6443e99 --- /dev/null +++ b/src/cairo/EXPERIMENTAL @@ -0,0 +1,5 @@ +this extension is experimental, +its functions may change their names +or move to extension all together +so do not rely to much on them +you have been warned! diff --git a/src/cairo/LICENSE b/src/cairo/LICENSE new file mode 100644 index 0000000..d4335c2 --- /dev/null +++ b/src/cairo/LICENSE @@ -0,0 +1,68 @@ +-------------------------------------------------------------------- + The PHP License, Version 3.0 +Copyright (c) 1999 - 2003 The PHP Group. All rights reserved. +-------------------------------------------------------------------- + +Redistribution and use in source and binary forms, with or without +modification, is permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. 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. + + 3. The name "PHP" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact group@php.net. + + 4. Products derived from this software may not be called "PHP", nor + may "PHP" appear in their name, without prior written permission + from group@php.net. You may indicate that your software works in + conjunction with PHP by saying "Foo for PHP" instead of calling + it "PHP Foo" or "phpfoo" + + 5. The PHP Group may publish revised and/or new versions of the + license from time to time. Each version will be given a + distinguishing version number. + Once covered code has been published under a particular version + of the license, you may always continue to use it under the terms + of that version. You may also choose to use such covered code + under the terms of any subsequent version of the license + published by the PHP Group. No one other than the PHP Group has + the right to modify the terms applicable to covered code created + under this License. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes PHP, freely available from + ". + +THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND +ANY EXPRESSED 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 PHP +DEVELOPMENT TEAM OR ITS 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. + +-------------------------------------------------------------------- + +This software consists of voluntary contributions made by many +individuals on behalf of the PHP Group. + +The PHP Group can be contacted via Email at group@php.net. + +For more information on the PHP Group and the PHP project, +please see . + +This product includes the Zend Engine, freely available at +. diff --git a/src/cairo/Makefile b/src/cairo/Makefile new file mode 100644 index 0000000..50435b5 --- /dev/null +++ b/src/cairo/Makefile @@ -0,0 +1,196 @@ +srcdir = /home/akshat/php-ext/cairo/phpCairo/cairo +builddir = /home/akshat/php-ext/cairo/phpCairo/cairo +top_srcdir = /home/akshat/php-ext/cairo/phpCairo/cairo +top_builddir = /home/akshat/php-ext/cairo/phpCairo/cairo +EGREP = /bin/grep -E +SED = /bin/sed +CONFIGURE_COMMAND = './configure' +CONFIGURE_OPTIONS = +SHLIB_SUFFIX_NAME = so +SHLIB_DL_SUFFIX_NAME = so +RE2C = re2c +AWK = gawk +PHPCAIRO_SHARED_LIBADD = +shared_objects_cairo = Cairo.lo +PHP_PECL_EXTENSION = cairo +PHP_MODULES = $(phplibdir)/cairo.la +all_targets = $(PHP_MODULES) +install_targets = install-modules install-headers +prefix = /usr/lib/php5 +exec_prefix = $(prefix) +libdir = ${exec_prefix}/lib +prefix = /usr/lib/php5 +phplibdir = /home/akshat/php-ext/cairo/phpCairo/cairo/modules +phpincludedir = /usr/lib/php5/include/php +CC = gcc +CFLAGS = -g -O2 -I/usr/include/cairo +CFLAGS_CLEAN = $(CFLAGS) +CPP = gcc -E +CPPFLAGS = -DHAVE_CONFIG_H +CXX = +CXXFLAGS = +CXXFLAGS_CLEAN = $(CXXFLAGS) +EXTENSION_DIR = /usr/lib/php5/lib/php/extensions/debug-non-zts-20060613 +PHP_EXECUTABLE = /usr/lib/php5/bin/php +EXTRA_LDFLAGS = +EXTRA_LIBS = +INCLUDES = -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib +LFLAGS = +LDFLAGS = -lcairo +SHARED_LIBTOOL = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +SHELL = /bin/sh +INSTALL_HEADERS = +mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p +INSTALL = $(top_srcdir)/build/shtool install -c +INSTALL_DATA = $(INSTALL) -m 644 + +DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir) +COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH) + +all: $(all_targets) + @echo + @echo "Build complete." + @echo "Don't forget to run 'make test'." + @echo + +build-modules: $(PHP_MODULES) + +libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ + -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 + +libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) + $(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so + +install: $(all_targets) $(install_targets) + +install-sapi: $(OVERALL_TARGET) + @echo "Installing PHP SAPI module: $(PHP_SAPI)" + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) + -@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \ + for i in 0.0.0 0.0 0; do \ + if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \ + $(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \ + break; \ + fi; \ + done; \ + fi + @$(INSTALL_IT) + +install-modules: build-modules + @test -d modules && \ + $(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) + @echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/" + @rm -f modules/*.la >/dev/null 2>&1 + @$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) + +install-headers: + -@if test "$(INSTALL_HEADERS)"; then \ + for i in `echo $(INSTALL_HEADERS)`; do \ + i=`$(top_srcdir)/build/shtool path -d $$i`; \ + paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \ + done; \ + $(mkinstalldirs) $$paths && \ + echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \ + for i in `echo $(INSTALL_HEADERS)`; do \ + if test "$(PHP_PECL_EXTENSION)"; then \ + src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \ + else \ + src=$$i; \ + fi; \ + if test -f "$(top_srcdir)/$$src"; then \ + $(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + elif test -f "$(top_builddir)/$$src"; then \ + $(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + else \ + (cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \ + fi \ + done; \ + fi + +PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' +PHP_TEST_SHARED_EXTENSIONS = ` \ + if test "x$(PHP_MODULES)" != "x"; then \ + for i in $(PHP_MODULES)""; do \ + . $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ + done; \ + fi` + +test: all + -@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ + TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -U -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \ + elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -U -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +utest: all + -@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -u -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +ntest: all + -@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -N -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +clean: + find . -name \*.gcno -o -name \*.gcda | xargs rm -f + find . -name \*.lo -o -name \*.o | xargs rm -f + find . -name \*.la -o -name \*.a | xargs rm -f + find . -name \*.so | xargs rm -f + find . -name .libs -a -type d|xargs rm -rf + rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/* + +distclean: clean + rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp + $(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f + find . -name Makefile | xargs rm -f + +.PHONY: all clean install distclean test +.NOEXPORT: +Cairo.lo: /home/akshat/php-ext/cairo/phpCairo/cairo/Cairo.c + $(LIBTOOL) --mode=compile $(CC) -I. -I/home/akshat/php-ext/cairo/phpCairo/cairo $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /home/akshat/php-ext/cairo/phpCairo/cairo/Cairo.c -o Cairo.lo +$(phplibdir)/cairo.la: ./cairo.la + $(LIBTOOL) --mode=install cp ./cairo.la $(phplibdir) + +./cairo.la: $(shared_objects_cairo) $(CAIRO_SHARED_DEPENDENCIES) + $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_cairo) $(CAIRO_SHARED_LIBADD) + diff --git a/src/cairo/Makefile.fragments b/src/cairo/Makefile.fragments new file mode 100644 index 0000000..e69de29 diff --git a/src/cairo/Makefile.global b/src/cairo/Makefile.global new file mode 100644 index 0000000..b4cec63 --- /dev/null +++ b/src/cairo/Makefile.global @@ -0,0 +1,145 @@ +mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p +INSTALL = $(top_srcdir)/build/shtool install -c +INSTALL_DATA = $(INSTALL) -m 644 + +DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir) +COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH) + +all: $(all_targets) + @echo + @echo "Build complete." + @echo "Don't forget to run 'make test'." + @echo + +build-modules: $(PHP_MODULES) + +libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) + $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ + -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 + +libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) + $(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so + +install: $(all_targets) $(install_targets) + +install-sapi: $(OVERALL_TARGET) + @echo "Installing PHP SAPI module: $(PHP_SAPI)" + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) + -@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \ + for i in 0.0.0 0.0 0; do \ + if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \ + $(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \ + break; \ + fi; \ + done; \ + fi + @$(INSTALL_IT) + +install-modules: build-modules + @test -d modules && \ + $(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) + @echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/" + @rm -f modules/*.la >/dev/null 2>&1 + @$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) + +install-headers: + -@if test "$(INSTALL_HEADERS)"; then \ + for i in `echo $(INSTALL_HEADERS)`; do \ + i=`$(top_srcdir)/build/shtool path -d $$i`; \ + paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \ + done; \ + $(mkinstalldirs) $$paths && \ + echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \ + for i in `echo $(INSTALL_HEADERS)`; do \ + if test "$(PHP_PECL_EXTENSION)"; then \ + src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \ + else \ + src=$$i; \ + fi; \ + if test -f "$(top_srcdir)/$$src"; then \ + $(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + elif test -f "$(top_builddir)/$$src"; then \ + $(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + else \ + (cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \ + cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \ + fi \ + done; \ + fi + +PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' +PHP_TEST_SHARED_EXTENSIONS = ` \ + if test "x$(PHP_MODULES)" != "x"; then \ + for i in $(PHP_MODULES)""; do \ + . $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ + done; \ + fi` + +test: all + -@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ + TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -U -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \ + elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -U -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +utest: all + -@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -u -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +ntest: all + -@if test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \ + INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(top_builddir)/$(SAPI_CLI_PATH) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -c $(top_builddir)/tmp-php.ini -N -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi + +clean: + find . -name \*.gcno -o -name \*.gcda | xargs rm -f + find . -name \*.lo -o -name \*.o | xargs rm -f + find . -name \*.la -o -name \*.a | xargs rm -f + find . -name \*.so | xargs rm -f + find . -name .libs -a -type d|xargs rm -rf + rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/* + +distclean: clean + rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp + $(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f + find . -name Makefile | xargs rm -f + +.PHONY: all clean install distclean test +.NOEXPORT: diff --git a/src/cairo/Makefile.objects b/src/cairo/Makefile.objects new file mode 100644 index 0000000..2dee373 --- /dev/null +++ b/src/cairo/Makefile.objects @@ -0,0 +1,8 @@ +Cairo.lo: /home/akshat/php-ext/cairo/phpCairo/cairo/Cairo.c + $(LIBTOOL) --mode=compile $(CC) -I. -I/home/akshat/php-ext/cairo/phpCairo/cairo $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /home/akshat/php-ext/cairo/phpCairo/cairo/Cairo.c -o Cairo.lo +$(phplibdir)/cairo.la: ./cairo.la + $(LIBTOOL) --mode=install cp ./cairo.la $(phplibdir) + +./cairo.la: $(shared_objects_cairo) $(CAIRO_SHARED_DEPENDENCIES) + $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_cairo) $(CAIRO_SHARED_LIBADD) + diff --git a/src/cairo/README b/src/cairo/README new file mode 100644 index 0000000..b473aba --- /dev/null +++ b/src/cairo/README @@ -0,0 +1,70 @@ +This is a standalone PHP extension created using CodeGen_PECL 1.1.2 + +HACKING +======= + +There are two ways to modify an extension created using CodeGen_PECL: + +1) you can modify the generated code as with any other PHP extension + +2) you can add custom code to the CodeGen_PECL XML source and re-run pecl-gen + +The 2nd approach may look a bit complicated but you have be aware that any +manual changes to the generated code will be lost if you ever change the +XML specs and re-run PECL-Gen. All changes done before have to be applied +to the newly generated code again. +Adding code snippets to the XML source itself on the other hand may be a +bit more complicated but this way your custom code will always be in the +generated code no matter how often you rerun CodeGen_PECL. + + +BUILDING ON UNIX etc. +===================== + +To compile your new extension, you will have to execute the following steps: + +1. $ ./phpize +2. $ ./configure [--enable--phpCairo] +3. $ make +4. $ make test +5. $ [sudo] make install + + + +BUILDING ON WINDOWS +=================== + +The extension provides the VisualStudio V6 project file + + phpCairo.dsp +To compile the extension you open this file using VisualStudio, +select the apropriate configuration for your installation +(either "Release_TS" or "Debug_TS") and create "php_phpCairo.dll" + +After successfull compilation you have to copy the newly +created "phpCairo.dll" to the PHP +extension directory (default: C:\PHP\extensions). + + +TESTING +======= + +You can now load the extension using a php.ini directive + + extension="phpCairo.[so|dll]" + +or load it at runtime using the dl() function + + dl("phpCairo.[so|dll]"); + +The extension should now be available, you can test this +using the extension_loaded() function: + + if (extension_loaded("phpCairo")) + echo "phpCairo loaded :)"; + else + echo "something is wrong :("; + +The extension will also add its own block to the output +of phpinfo(); + diff --git a/src/cairo/acinclude.m4 b/src/cairo/acinclude.m4 new file mode 100644 index 0000000..6dd3d2d --- /dev/null +++ b/src/cairo/acinclude.m4 @@ -0,0 +1,2847 @@ +dnl +dnl $Id: acinclude.m4,v 1.332.2.14.2.26 2007/08/20 14:28:45 jani Exp $ +dnl +dnl This file contains local autoconf functions. +dnl + +dnl ------------------------------------------------------------------------- +dnl Output stylize macros for configure (help/runtime) +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_HELP_SEPARATOR(title) +dnl +dnl Adds separator title into the configure --help display. +dnl +AC_DEFUN([PHP_HELP_SEPARATOR],[ +AC_ARG_ENABLE([],[ +$1 +],[]) +]) + +dnl +dnl PHP_CONFIGURE_PART(title) +dnl +dnl Adds separator title configure output (idea borrowed from mm) +dnl +AC_DEFUN([PHP_CONFIGURE_PART],[ + AC_MSG_RESULT() + AC_MSG_RESULT([${T_MD}$1${T_ME}]) +]) + +dnl ------------------------------------------------------------------------- +dnl Build system helper macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_DEF_HAVE(what) +dnl +dnl Generates 'AC_DEFINE(HAVE_WHAT, 1, [ ])' +dnl +AC_DEFUN([PHP_DEF_HAVE],[AC_DEFINE([HAVE_]translit($1,a-z_.-,A-Z___), 1, [ ])]) + +dnl +dnl PHP_RUN_ONCE(namespace, variable, code) +dnl +dnl execute code, if variable is not set in namespace +dnl +AC_DEFUN([PHP_RUN_ONCE],[ + changequote({,}) + unique=`echo $2|$SED 's/[^a-zA-Z0-9]/_/g'` + changequote([,]) + cmd="echo $ac_n \"\$$1$unique$ac_c\"" + if test -n "$unique" && test "`eval $cmd`" = "" ; then + eval "$1$unique=set" + $3 + fi +]) + +dnl +dnl PHP_EXPAND_PATH(path, variable) +dnl +dnl expands path to an absolute path and assigns it to variable +dnl +AC_DEFUN([PHP_EXPAND_PATH],[ + if test -z "$1" || echo "$1" | grep '^/' >/dev/null ; then + $2=$1 + else + changequote({,}) + ep_dir="`echo $1|$SED 's%/*[^/][^/]*/*$%%'`" + changequote([,]) + ep_realdir="`(cd \"$ep_dir\" && pwd)`" + $2="$ep_realdir/`basename \"$1\"`" + fi +]) + +dnl +dnl PHP_DEFINE(WHAT [, value[, directory]]) +dnl +dnl Creates builddir/include/what.h and in there #define WHAT value +dnl +AC_DEFUN([PHP_DEFINE],[ + [echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h] +]) + +dnl +dnl PHP_SUBST(varname) +dnl +dnl Adds variable with it's value into Makefile, e.g.: +dnl CC = gcc +dnl +AC_DEFUN([PHP_SUBST],[ + PHP_VAR_SUBST="$PHP_VAR_SUBST $1" +]) + +dnl +dnl PHP_SUBST_OLD(varname) +dnl +dnl Same as PHP_SUBST() but also substitutes all @VARNAME@ +dnl instances in every file passed to AC_OUTPUT() +dnl +AC_DEFUN([PHP_SUBST_OLD],[ + PHP_SUBST($1) + AC_SUBST($1) +]) + +dnl +dnl PHP_OUTPUT(file) +dnl +dnl Adds "file" to the list of files generated by AC_OUTPUT +dnl This macro can be used several times. +dnl +AC_DEFUN([PHP_OUTPUT],[ + PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1" +]) + + +dnl ------------------------------------------------------------------------- +dnl Build system base macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_CANONICAL_HOST_TARGET +dnl +AC_DEFUN([PHP_CANONICAL_HOST_TARGET],[ + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_CANONICAL_TARGET])dnl + dnl Make sure we do not continue if host_alias is empty. + if test -z "$host_alias" && test -n "$host"; then + host_alias=$host + fi + if test -z "$host_alias"; then + AC_MSG_ERROR([host_alias is not set!]) + fi +]) + +dnl +dnl PHP_INIT_BUILD_SYSTEM +dnl +AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[ +AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl +test -d include || $php_shtool mkdir include +> Makefile.objects +> Makefile.fragments +dnl We need to play tricks here to avoid matching the grep line itself +pattern=define +$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null +]) + +dnl +dnl PHP_GEN_GLOBAL_MAKEFILE +dnl +dnl Generates the global makefile. +dnl +AC_DEFUN([PHP_GEN_GLOBAL_MAKEFILE],[ + cat >Makefile <> Makefile + done + + cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile +]) + +dnl +dnl PHP_ADD_MAKEFILE_FRAGMENT([srcfile [, ext_srcdir [, ext_builddir]]]) +dnl +dnl Processes a file called Makefile.frag in the source directory +dnl of the most recently added extension. $(srcdir) and $(builddir) +dnl are substituted with the proper paths. Can be used to supply +dnl custom rules and/or additional targets. +dnl +AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[ + ifelse($1,,src=$ext_srcdir/Makefile.frag,src=$1) + ifelse($2,,ac_srcdir=$ext_srcdir,ac_srcdir=$2) + ifelse($3,,ac_builddir=$ext_builddir,ac_builddir=$3) + test -f "$src" && $SED -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments +]) + +dnl +dnl PHP_ADD_SOURCES(source-path, sources [, special-flags [, type]]) +dnl +dnl Adds sources which are located relative to source-path to the +dnl array of type type. Sources are processed with optional +dnl special-flags which are passed to the compiler. Sources +dnl can be either written in C or C++ (filenames shall end in .c +dnl or .cpp, respectively). +dnl +dnl Note: If source-path begins with a "/", the "/" is removed and +dnl the path is interpreted relative to the top build-directory. +dnl +dnl which array to append to? +AC_DEFUN([PHP_ADD_SOURCES],[ + PHP_ADD_SOURCES_X($1, $2, $3, ifelse($4,cli,PHP_CLI_OBJS,ifelse($4,sapi,PHP_SAPI_OBJS,PHP_GLOBAL_OBJS))) +]) + +dnl +dnl _PHP_ASSIGN_BUILD_VARS(type) +dnl internal, don't use +AC_DEFUN([_PHP_ASSIGN_BUILD_VARS],[ +ifelse($1,shared,[ + b_c_pre=$shared_c_pre + b_cxx_pre=$shared_cxx_pre + b_c_meta=$shared_c_meta + b_cxx_meta=$shared_cxx_meta + b_c_post=$shared_c_post + b_cxx_post=$shared_cxx_post +],[ + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post +])dnl + b_lo=[$]$1_lo +]) + +dnl +dnl PHP_ADD_SOURCES_X(source-path, sources[, special-flags[, target-var[, shared[, special-post-flags]]]]) +dnl +dnl Additional to PHP_ADD_SOURCES (see above), this lets you set the +dnl name of the array target-var directly, as well as whether +dnl shared objects will be built from the sources. +dnl +dnl Should not be used directly. +dnl +AC_DEFUN([PHP_ADD_SOURCES_X],[ +dnl relative to source- or build-directory? +dnl ac_srcdir/ac_bdir include trailing slash + case $1 in + ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*[)] ac_srcdir=`echo "$1"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$1/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + +dnl how to build .. shared or static? + ifelse($5,yes,_PHP_ASSIGN_BUILD_VARS(shared),_PHP_ASSIGN_BUILD_VARS(php)) + +dnl iterate over the sources + old_IFS=[$]IFS + for ac_src in $2; do + +dnl remove the suffix + IFS=. + set $ac_src + ac_obj=[$]1 + IFS=$old_IFS + +dnl append to the array which has been dynamically chosen at m4 time + $4="[$]$4 [$]ac_bdir[$]ac_obj.lo" + +dnl choose the right compiler/flags/etc. for the source-file + case $ac_src in + *.c[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.s[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.S[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.cpp|*.cc|*.cxx[)] ac_comp="$b_cxx_pre $3 $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_cxx_post" ;; + esac + +dnl create a rule for the object/source combo + cat >>Makefile.objects< conftest.c + cmd='$CC $1 -c conftest.c' + if eval $cmd 2>&1 | $EGREP -e $1 >/dev/null ; then + ac_result=no + else + ac_result=yes + fi + eval $gcc_arg_name=$ac_result + rm -f conftest.* + ]) + if eval test "\$$gcc_arg_name" = "yes"; then + $2 + else + : + $3 + fi +]) + +dnl +dnl PHP_LIBGCC_LIBPATH(gcc) +dnl +dnl Stores the location of libgcc in libgcc_libpath +dnl +AC_DEFUN([PHP_LIBGCC_LIBPATH],[ + changequote({,}) + libgcc_libpath=`$1 --print-libgcc-file-name|$SED 's%/*[^/][^/]*$%%'` + changequote([,]) +]) + +dnl ------------------------------------------------------------------------- +dnl Macros to modify LIBS, INCLUDES, etc. variables +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_REMOVE_USR_LIB(NAME) +dnl +dnl Removes all -L/usr/$PHP_LIBDIR entries from variable NAME +dnl +AC_DEFUN([PHP_REMOVE_USR_LIB],[ + unset ac_new_flags + for i in [$]$1; do + case [$]i in + -L/usr/$PHP_LIBDIR|-L/usr/$PHP_LIBDIR/[)] ;; + *[)] ac_new_flags="[$]ac_new_flags [$]i" ;; + esac + done + $1=[$]ac_new_flags +]) + +dnl +dnl PHP_EVAL_LIBLINE(libline, SHARED-LIBADD) +dnl +dnl Use this macro, if you need to add libraries and or library search +dnl paths to the PHP build system which are only given in compiler +dnl notation. +dnl +AC_DEFUN([PHP_EVAL_LIBLINE],[ + for ac_i in $1; do + case $ac_i in + -pthread[)] + if test "$ext_shared" = "yes"; then + $2="[$]$2 -pthread" + else + PHP_RUN_ONCE(EXTRA_LDFLAGS, [$ac_i], [EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i"]) + fi + ;; + -l*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_LIBRARY($ac_ii,1,$2) + ;; + -L*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_LIBPATH($ac_ii,$2) + ;; + esac + done +]) + +dnl +dnl PHP_EVAL_INCLINE(headerline) +dnl +dnl Use this macro, if you need to add header search paths to the PHP +dnl build system which are only given in compiler notation. +dnl +AC_DEFUN([PHP_EVAL_INCLINE],[ + for ac_i in $1; do + case $ac_i in + -I*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_INCLUDE($ac_ii) + ;; + esac + done +]) + +dnl internal, don't use +AC_DEFUN([_PHP_ADD_LIBPATH_GLOBAL],[ + PHP_RUN_ONCE(LIBPATH, $1, [ + test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$1" + LDFLAGS="$LDFLAGS -L$1" + PHP_RPATHS="$PHP_RPATHS $1" + ]) +])dnl +dnl +dnl +dnl PHP_ADD_LIBPATH(path [, SHARED-LIBADD]) +dnl +dnl Adds a path to linkpath/runpath (LDFLAGS) +dnl +AC_DEFUN([PHP_ADD_LIBPATH],[ + if test "$1" != "/usr/$PHP_LIBDIR" && test "$1" != "/usr/lib" && test "$1" != "/usr/lib64"; then + PHP_EXPAND_PATH($1, ai_p) + ifelse([$2],,[ + _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) + ],[ + if test "$ext_shared" = "yes"; then + $2="-L$ai_p [$]$2" + test -n "$ld_runpath_switch" && $2="$ld_runpath_switch$ai_p [$]$2" + else + _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) + fi + ]) + fi +]) + +dnl +dnl PHP_UTILIZE_RPATHS() +dnl +dnl builds RPATHS/LDFLAGS from PHP_RPATHS +dnl +AC_DEFUN([PHP_UTILIZE_RPATHS],[ + OLD_RPATHS=$PHP_RPATHS + unset PHP_RPATHS + + for i in $OLD_RPATHS; do +dnl Can be passed to native cc/libtool + PHP_LDFLAGS="$PHP_LDFLAGS -L$i" +dnl Libtool-specific + PHP_RPATHS="$PHP_RPATHS -R $i" +dnl cc-specific + NATIVE_RPATHS="$NATIVE_RPATHS $ld_runpath_switch$i" + done + + if test "$PHP_RPATH" = "no"; then + unset PHP_RPATHS + unset NATIVE_RPATHS + fi +]) + +dnl +dnl PHP_ADD_INCLUDE(path [,before]) +dnl +dnl add an include path. +dnl if before is 1, add in the beginning of INCLUDES. +dnl +AC_DEFUN([PHP_ADD_INCLUDE],[ + if test "$1" != "/usr/include"; then + PHP_EXPAND_PATH($1, ai_p) + PHP_RUN_ONCE(INCLUDEPATH, $ai_p, [ + if test "$2"; then + INCLUDES="-I$ai_p $INCLUDES" + else + INCLUDES="$INCLUDES -I$ai_p" + fi + ]) + fi +]) + +dnl internal, don't use +AC_DEFUN([_PHP_X_ADD_LIBRARY],[dnl + ifelse([$2],,$3="-l$1 [$]$3", $3="[$]$3 -l$1") dnl +])dnl +dnl +dnl internal, don't use +AC_DEFUN([_PHP_ADD_LIBRARY_SKELETON],[ + case $1 in + c|c_r|pthread*[)] ;; + *[)] ifelse($3,,[ + _PHP_X_ADD_LIBRARY($1,$2,$5) + ],[ + if test "$ext_shared" = "yes"; then + _PHP_X_ADD_LIBRARY($1,$2,$3) + else + $4($1,$2) + fi + ]) ;; + esac +])dnl +dnl +dnl +dnl PHP_ADD_LIBRARY(library[, append[, shared-libadd]]) +dnl +dnl add a library to the link line +dnl +AC_DEFUN([PHP_ADD_LIBRARY],[ + _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY],[LIBS]) +]) + +dnl +dnl PHP_ADD_LIBRARY_DEFER(library[, append[, shared-libadd]]) +dnl +dnl add a library to the link line (deferred, not used during configure) +dnl +AC_DEFUN([PHP_ADD_LIBRARY_DEFER],[ + _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY_DEFER],[DLIBS]) +]) + +dnl +dnl PHP_ADD_LIBRARY_WITH_PATH(library, path[, shared-libadd]) +dnl +dnl add a library to the link line and path to linkpath/runpath. +dnl if shared-libadd is not empty and $ext_shared is yes, +dnl shared-libadd will be assigned the library information +dnl +AC_DEFUN([PHP_ADD_LIBRARY_WITH_PATH],[ +ifelse($3,,[ + if test -n "$2"; then + PHP_ADD_LIBPATH($2) + fi + PHP_ADD_LIBRARY($1) +],[ + if test "$ext_shared" = "yes"; then + $3="-l$1 [$]$3" + if test -n "$2"; then + PHP_ADD_LIBPATH($2,$3) + fi + else + PHP_ADD_LIBRARY_WITH_PATH($1,$2) + fi +]) +]) + +dnl +dnl PHP_ADD_LIBRARY_DEFER_WITH_PATH(library, path[, shared-libadd]) +dnl +dnl add a library to the link line (deferred) +dnl and path to linkpath/runpath (not deferred) +dnl if shared-libadd is not empty and $ext_shared is yes, +dnl shared-libadd will be assigned the library information +dnl +AC_DEFUN([PHP_ADD_LIBRARY_DEFER_WITH_PATH],[ +ifelse($3,,[ + if test -n "$2"; then + PHP_ADD_LIBPATH($2) + fi + PHP_ADD_LIBRARY_DEFER($1) +],[ + if test "$ext_shared" = "yes"; then + $3="-l$1 [$]$3" + if test -n "$2"; then + PHP_ADD_LIBPATH($2,$3) + fi + else + PHP_ADD_LIBRARY_DEFER_WITH_PATH($1,$2) + fi +]) +]) + +dnl +dnl PHP_ADD_FRAMEWORK(framework [,before]) +dnl +dnl add a (Darwin / Mac OS X) framework to the link +dnl line. if before is 1, the framework is added +dnl to the beginning of the line. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORK], [ + PHP_RUN_ONCE(FRAMEWORKS, $1, [ + if test "$2"; then + PHP_FRAMEWORKS="-framework $1 $PHP_FRAMEWORKS" + else + PHP_FRAMEWORKS="$PHP_FRAMEWORKS -framework $1" + fi + ]) +]) + +dnl +dnl PHP_ADD_FRAMEWORKPATH(path [,before]) +dnl +dnl add a (Darwin / Mac OS X) framework path to the link +dnl and include lines. default paths include (but are +dnl not limited to) /Local/Library/Frameworks and +dnl /System/Library/Frameworks, so these don't need +dnl to be specifically added. if before is 1, the +dnl framework path is added to the beginning of the +dnl relevant lines. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORKPATH], [ + PHP_EXPAND_PATH($1, ai_p) + PHP_RUN_ONCE(FRAMEWORKPATH, $ai_p, [ + if test "$2"; then + PHP_FRAMEWORKPATH="-F$ai_p $PHP_FRAMEWORKPATH" + else + PHP_FRAMEWORKPATH="$PHP_FRAMEWORKPATH -F$ai_p" + fi + ]) +]) + +dnl +dnl PHP_ADD_FRAMEWORK_WITH_PATH(framework, path) +dnl +dnl Adds a (Darwin / Mac OS X) framework path and the +dnl framework itself to the link and include lines. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORK_WITH_PATH], [ + PHP_ADD_FRAMEWORKPATH($2) + PHP_ADD_FRAMEWORK($1) +]) + +dnl +dnl PHP_SET_LIBTOOL_VARIABLE(var) +dnl +dnl Set libtool variable +dnl +AC_DEFUN([PHP_SET_LIBTOOL_VARIABLE],[ + if test -z "$LIBTOOL"; then + LIBTOOL='$(SHELL) $(top_builddir)/libtool $1' + else + LIBTOOL="$LIBTOOL $1" + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Wrapper macros for AC_ARG_WITH / AC_ARG_ENABLE +dnl ------------------------------------------------------------------------- + +dnl PHP_ARG_ANALYZE_EX +dnl internal +AC_DEFUN([PHP_ARG_ANALYZE_EX],[ +ext_output="yes, shared" +ext_shared=yes +case [$]$1 in +shared,*[)] + $1=`echo "[$]$1"|$SED 's/^shared,//'` + ;; +shared[)] + $1=yes + ;; +no[)] + ext_output=no + ext_shared=no + ;; +*[)] + ext_output=yes + ext_shared=no + ;; +esac + +PHP_ALWAYS_SHARED([$1]) +]) + +dnl PHP_ARG_ANALYZE +dnl internal +AC_DEFUN([PHP_ARG_ANALYZE],[ +ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])],[ext_output=ifelse([$]$1,,no,[$]$1)]) +ifelse([$2],,,[AC_MSG_RESULT([$ext_output])]) +]) + +dnl +dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val[, extension-or-not]]) +dnl Sets PHP_ARG_NAME either to the user value or to the default value. +dnl default-val defaults to no. This will also set the variable ext_shared, +dnl and will overwrite any previous variable of that name. +dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run +dnl the PHP_ARG_ANALYZE_EX. +dnl +AC_DEFUN([PHP_ARG_WITH],[ +php_with_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) +PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) +]) + +dnl PHP_REAL_ARG_WITH +dnl internal +AC_DEFUN([PHP_REAL_ARG_WITH],[ +ifelse([$2],,,[AC_MSG_CHECKING([$2])]) +AC_ARG_WITH($1,[$3],$5=[$]withval, +[ + $5=ifelse($4,,no,$4) + + if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then + $5=$PHP_ENABLE_ALL + fi +]) +PHP_ARG_ANALYZE($5,[$2],$6) +]) + +dnl +dnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val[, extension-or-not]]) +dnl Sets PHP_ARG_NAME either to the user value or to the default value. +dnl default-val defaults to no. This will also set the variable ext_shared, +dnl and will overwrite any previous variable of that name. +dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run +dnl the PHP_ARG_ANALYZE_EX. +dnl +AC_DEFUN([PHP_ARG_ENABLE],[ +php_enable_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) +PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) +]) + +dnl PHP_REAL_ARG_ENABLE +dnl internal +AC_DEFUN([PHP_REAL_ARG_ENABLE],[ +ifelse([$2],,,[AC_MSG_CHECKING([$2])]) +AC_ARG_ENABLE($1,[$3],$5=[$]enableval, +[ + $5=ifelse($4,,no,$4) + + if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then + $5=$PHP_ENABLE_ALL + fi +]) +PHP_ARG_ANALYZE($5,[$2],$6) +]) + +dnl ------------------------------------------------------------------------- +dnl Build macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_BUILD_THREAD_SAFE +dnl +AC_DEFUN([PHP_BUILD_THREAD_SAFE],[ + enable_maintainer_zts=yes + if test "$pthreads_working" != "yes"; then + AC_MSG_ERROR([ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads.]) + fi +]) + +dnl +dnl PHP_REQUIRE_CXX +dnl +AC_DEFUN([PHP_REQUIRE_CXX],[ + if test -z "$php_cxx_done"; then + AC_PROG_CXX + AC_PROG_CXXCPP + php_cxx_done=yes + fi +]) + +dnl +dnl PHP_BUILD_SHARED +dnl +AC_DEFUN([PHP_BUILD_SHARED],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] + php_build_target=shared + + php_c_pre=$shared_c_pre + php_c_meta=$shared_c_meta + php_c_post=$shared_c_post + php_cxx_pre=$shared_cxx_pre + php_cxx_meta=$shared_cxx_meta + php_cxx_post=$shared_cxx_post + php_lo=$shared_lo +]) + +dnl +dnl PHP_BUILD_STATIC +dnl +AC_DEFUN([PHP_BUILD_STATIC],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] + php_build_target=static +]) + +dnl +dnl PHP_BUILD_BUNDLE +dnl +AC_DEFUN([PHP_BUILD_BUNDLE],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libs/libphp[]$PHP_MAJOR_VERSION[.bundle] + php_build_target=static +]) + +dnl +dnl PHP_BUILD_PROGRAM +dnl +AC_DEFUN([PHP_BUILD_PROGRAM],[ + OVERALL_TARGET=[]ifelse($1,,php,$1) + php_c_pre='$(LIBTOOL) --mode=compile $(CC)' + php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' + php_c_post= + php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' + php_cxx_post= + php_lo=lo + + case $with_pic in + yes) pic_setting='-prefer-pic';; + no) pic_setting='-prefer-non-pic';; + esac + + shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' + shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting + shared_c_post= + shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting + shared_cxx_post= + shared_lo=lo + + php_build_target=program +]) + +dnl +dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx) +dnl +dnl Basically sets up the link-stage for building module-name +dnl from object_var in build-dir. +dnl +AC_DEFUN([PHP_SHARED_MODULE],[ + install_modules="install-modules" + + case $host_alias in + *aix*[)] + suffix=so + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -Wl,-G -o '$3'/$1.la -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) && mv -f '$3'/.libs/$1.so '$3'/$1.so' + ;; + *netware*[)] + suffix=nlm + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)' + ;; + *[)] + suffix=la + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)' + ;; + esac + + PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix" + PHP_SUBST($2) + cat >>Makefile.objects<> $2 +]) +dnl +dnl _PHP_CHECK_SIZEOF(type, cross-value, extra-headers [, found-action [, not-found-action]]) +dnl +AC_DEFUN([_PHP_CHECK_SIZEOF], [ + php_cache_value=php_cv_sizeof_[]$1 + AC_CACHE_VAL(php_cv_sizeof_[]$1, [ + old_LIBS=$LIBS + LIBS= + old_LDFLAGS=$LDFLAGS + LDFLAGS= + AC_TRY_RUN([#include +#if STDC_HEADERS +#include +#include +#endif +#ifdef HAVE_INTTYPES_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +$3 + +int main() +{ + FILE *fp = fopen("conftestval", "w"); + if (!fp) return(1); + fprintf(fp, "%d\n", sizeof($1)); + return(0); +} + ], [ + eval $php_cache_value=`cat conftestval` + ], [ + eval $php_cache_value=0 + ], [ + ifelse([$2],,[eval $php_cache_value=0], [eval $php_cache_value=$2]) +]) + LDFLAGS=$old_LDFLAGS + LIBS=$old_LIBS +]) + if eval test "\$$php_cache_value" != "0"; then +ifelse([$4],[],:,[$4]) +ifelse([$5],[],,[else $5]) + fi +]) + +dnl +dnl PHP_CHECK_SIZEOF(type, cross-value, extra-headers) +dnl +AC_DEFUN(PHP_CHECK_SIZEOF, [ + AC_MSG_CHECKING([size of $1]) + _PHP_CHECK_SIZEOF($1, $2, $3, [ + AC_DEFINE_UNQUOTED([SIZEOF_]translit($1,a-z,A-Z_), [$]php_cv_sizeof_[]$1, [Size of $1]) + AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z,A-Z_), 1, [Whether $1 is available]) + ]) + AC_MSG_RESULT([[$][php_cv_sizeof_]translit($1, ,_)]) +]) + +dnl +dnl PHP_CHECK_TYPES(type-list, include-file [, extra-headers]) +dnl +AC_DEFUN([PHP_CHECK_TYPES], [ + for php_typename in $1; do + AC_MSG_CHECKING([whether $php_typename exists]) + _PHP_CHECK_SIZEOF($php_typename, 0, $3, [ + _PHP_DEF_HAVE_FILE($php_typename, $2) + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + done +]) + +dnl +dnl PHP_CHECK_IN_ADDR_T +dnl +AC_DEFUN([PHP_CHECK_IN_ADDR_T], [ +dnl AIX keeps in_addr_t in /usr/include/netinet/in.h +AC_MSG_CHECKING([for in_addr_t]) +AC_CACHE_VAL(ac_cv_type_in_addr_t, +[AC_EGREP_CPP(dnl +changequote(<<,>>)dnl +<>dnl +changequote([,]), [#include +#if STDC_HEADERS +#include +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif], ac_cv_type_in_addr_t=yes, ac_cv_type_in_addr_t=no)])dnl +AC_MSG_RESULT([$ac_cv_type_in_addr_t]) +if test $ac_cv_type_in_addr_t = no; then + AC_DEFINE(in_addr_t, u_int, [ ]) +fi +]) + +dnl +dnl PHP_TIME_R_TYPE +dnl +dnl Check type of reentrant time-related functions +dnl Type can be: irix, hpux or POSIX +dnl +AC_DEFUN([PHP_TIME_R_TYPE],[ +AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[ +AC_TRY_RUN([ +#include + +main() { +char buf[27]; +struct tm t; +time_t old = 0; +int r, s; + +s = gmtime_r(&old, &t); +r = (int) asctime_r(&t, buf, 26); +if (r == s && s == 0) return (0); +return (1); +} +],[ + ac_cv_time_r_type=hpux +],[ + AC_TRY_RUN([ +#include +main() { + struct tm t, *s; + time_t old = 0; + char buf[27], *p; + + s = gmtime_r(&old, &t); + p = asctime_r(&t, buf, 26); + if (p == buf && s == &t) return (0); + return (1); +} + ],[ + ac_cv_time_r_type=irix + ],[ + ac_cv_time_r_type=POSIX + ],[ + ac_cv_time_r_type=POSIX + ]) +],[ + ac_cv_time_r_type=POSIX +]) +]) + case $ac_cv_time_r_type in + hpux[)] AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;; + irix[)] AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;; + esac +]) + +dnl +dnl PHP_DOES_PWRITE_WORK +dnl internal +AC_DEFUN([PHP_DOES_PWRITE_WORK],[ + AC_TRY_RUN([ +#include +#include +#include +#include +#include +$1 + main() { + int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600); + + if (fd < 0) exit(1); + if (pwrite(fd, "text", 4, 0) != 4) exit(1); + /* Linux glibc breakage until 2.2.5 */ + if (pwrite(fd, "text", 4, -1) != -1 || errno != EINVAL) exit(1); + exit(0); + } + + ],[ + ac_cv_pwrite=yes + ],[ + ac_cv_pwrite=no + ],[ + ac_cv_pwrite=no + ]) +]) + +dnl PHP_DOES_PREAD_WORK +dnl internal +AC_DEFUN([PHP_DOES_PREAD_WORK],[ + echo test > conftest_in + AC_TRY_RUN([ +#include +#include +#include +#include +#include +$1 + main() { + char buf[3]; + int fd = open("conftest_in", O_RDONLY); + if (fd < 0) exit(1); + if (pread(fd, buf, 2, 0) != 2) exit(1); + /* Linux glibc breakage until 2.2.5 */ + if (pread(fd, buf, 2, -1) != -1 || errno != EINVAL) exit(1); + exit(0); + } + ],[ + ac_cv_pread=yes + ],[ + ac_cv_pread=no + ],[ + ac_cv_pread=no + ]) + rm -f conftest_in +]) + +dnl +dnl PHP_PWRITE_TEST +dnl +AC_DEFUN([PHP_PWRITE_TEST],[ + AC_CACHE_CHECK(whether pwrite works,ac_cv_pwrite,[ + PHP_DOES_PWRITE_WORK + if test "$ac_cv_pwrite" = "no"; then + PHP_DOES_PWRITE_WORK([ssize_t pwrite(int, void *, size_t, off64_t);]) + if test "$ac_cv_pwrite" = "yes"; then + ac_cv_pwrite=64 + fi + fi + ]) + + if test "$ac_cv_pwrite" != "no"; then + AC_DEFINE(HAVE_PWRITE, 1, [ ]) + if test "$ac_cv_pwrite" = "64"; then + AC_DEFINE(PHP_PWRITE_64, 1, [whether pwrite64 is default]) + fi + fi +]) + +dnl +dnl PHP_PREAD_TEST +dnl +AC_DEFUN([PHP_PREAD_TEST],[ + AC_CACHE_CHECK(whether pread works,ac_cv_pread,[ + PHP_DOES_PREAD_WORK + if test "$ac_cv_pread" = "no"; then + PHP_DOES_PREAD_WORK([ssize_t pread(int, void *, size_t, off64_t);]) + if test "$ac_cv_pread" = "yes"; then + ac_cv_pread=64 + fi + fi + ]) + + if test "$ac_cv_pread" != "no"; then + AC_DEFINE(HAVE_PREAD, 1, [ ]) + if test "$ac_cv_pread" = "64"; then + AC_DEFINE(PHP_PREAD_64, 1, [whether pread64 is default]) + fi + fi +]) + +dnl +dnl PHP_MISSING_TIME_R_DECL +dnl +AC_DEFUN([PHP_MISSING_TIME_R_DECL],[ + AC_MSG_CHECKING([for missing declarations of reentrant functions]) + AC_TRY_COMPILE([#include ],[struct tm *(*func)() = localtime_r],[ + : + ],[ + AC_DEFINE(MISSING_LOCALTIME_R_DECL,1,[Whether localtime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[struct tm *(*func)() = gmtime_r],[ + : + ],[ + AC_DEFINE(MISSING_GMTIME_R_DECL,1,[Whether gmtime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = asctime_r],[ + : + ],[ + AC_DEFINE(MISSING_ASCTIME_R_DECL,1,[Whether asctime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = ctime_r],[ + : + ],[ + AC_DEFINE(MISSING_CTIME_R_DECL,1,[Whether ctime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = strtok_r],[ + : + ],[ + AC_DEFINE(MISSING_STRTOK_R_DECL,1,[Whether strtok_r is declared]) + ]) + AC_MSG_RESULT([done]) +]) + +dnl +dnl PHP_READDIR_R_TYPE +dnl +AC_DEFUN([PHP_READDIR_R_TYPE],[ + dnl HAVE_READDIR_R is also defined by libmysql + AC_CHECK_FUNC(readdir_r,ac_cv_func_readdir_r=yes,ac_cv_func_readdir=no) + if test "$ac_cv_func_readdir_r" = "yes"; then + AC_CACHE_CHECK(for type of readdir_r, ac_cv_what_readdir_r,[ + AC_TRY_RUN([ +#define _REENTRANT +#include +#include + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + +main() { + DIR *dir; + char entry[sizeof(struct dirent)+PATH_MAX]; + struct dirent *pentry = (struct dirent *) &entry; + + dir = opendir("/"); + if (!dir) + exit(1); + if (readdir_r(dir, (struct dirent *) entry, &pentry) == 0) + exit(0); + exit(1); +} + ],[ + ac_cv_what_readdir_r=POSIX + ],[ + AC_TRY_CPP([ +#define _REENTRANT +#include +#include +int readdir_r(DIR *, struct dirent *); + ],[ + ac_cv_what_readdir_r=old-style + ],[ + ac_cv_what_readdir_r=none + ]) + ],[ + ac_cv_what_readdir_r=none + ]) + ]) + case $ac_cv_what_readdir_r in + POSIX) + AC_DEFINE(HAVE_POSIX_READDIR_R,1,[whether you have POSIX readdir_r]);; + old-style) + AC_DEFINE(HAVE_OLD_READDIR_R,1,[whether you have old-style readdir_r]);; + esac + fi +]) + +dnl +dnl PHP_TM_GMTOFF +dnl +AC_DEFUN([PHP_TM_GMTOFF],[ +AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, +[AC_TRY_COMPILE([#include +#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;], + ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)]) + +if test "$ac_cv_struct_tm_gmtoff" = yes; then + AC_DEFINE(HAVE_TM_GMTOFF,1,[whether you have tm_gmtoff in struct tm]) +fi +]) + +dnl +dnl PHP_STRUCT_FLOCK +dnl +AC_DEFUN([PHP_STRUCT_FLOCK],[ +AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock, + AC_TRY_COMPILE([ +#include +#include + ], + [struct flock x;], + [ + ac_cv_struct_flock=yes + ],[ + ac_cv_struct_flock=no + ]) +) +if test "$ac_cv_struct_flock" = "yes" ; then + AC_DEFINE(HAVE_STRUCT_FLOCK, 1,[whether you have struct flock]) +fi +]) + +dnl +dnl PHP_SOCKLEN_T +dnl +AC_DEFUN([PHP_SOCKLEN_T],[ +AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t, + AC_TRY_COMPILE([ +#include +#include +],[ +socklen_t x; +],[ + ac_cv_socklen_t=yes +],[ + ac_cv_socklen_t=no +])) +if test "$ac_cv_socklen_t" = "yes"; then + AC_DEFINE(HAVE_SOCKLEN_T, 1, [Whether you have socklen_t]) +fi +]) + +dnl +dnl PHP_MISSING_FCLOSE_DECL +dnl +dnl See if we have broken header files like SunOS has. +dnl +AC_DEFUN([PHP_MISSING_FCLOSE_DECL],[ + AC_MSG_CHECKING([for fclose declaration]) + AC_TRY_COMPILE([#include ],[int (*func)() = fclose],[ + AC_DEFINE(MISSING_FCLOSE_DECL,0,[ ]) + AC_MSG_RESULT([ok]) + ],[ + AC_DEFINE(MISSING_FCLOSE_DECL,1,[ ]) + AC_MSG_RESULT([missing]) + ]) +]) + +dnl +dnl PHP_AC_BROKEN_SPRINTF +dnl +dnl Check for broken sprintf(), C99 conformance +dnl +AC_DEFUN([PHP_AC_BROKEN_SPRINTF],[ + AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[ + AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[ + ac_cv_broken_sprintf=no + ],[ + ac_cv_broken_sprintf=yes + ],[ + ac_cv_broken_sprintf=no + ]) + ]) + if test "$ac_cv_broken_sprintf" = "yes"; then + AC_DEFINE(PHP_BROKEN_SPRINTF, 1, [Whether sprintf is C99 conform]) + else + AC_DEFINE(PHP_BROKEN_SPRINTF, 0, [Whether sprintf is C99 conform]) + fi +]) + +dnl +dnl PHP_AC_BROKEN_SNPRINTF +dnl +dnl Check for broken snprintf(), C99 conformance +dnl +AC_DEFUN([PHP_AC_BROKEN_SNPRINTF],[ + AC_CACHE_CHECK(whether snprintf is broken, ac_cv_broken_snprintf,[ + AC_TRY_RUN([ +#define NULL (0L) +main() { + char buf[20]; + int res = 0; + res = res || (snprintf(buf, 2, "marcus") != 6); + res = res || (buf[1] != '\0'); + /* Implementations may consider this as an encoding error */ + snprintf(buf, 0, "boerger"); + /* However, they MUST ignore the pointer */ + res = res || (buf[0] != 'm'); + res = res || (snprintf(NULL, 0, "boerger") != 7); + res = res || (snprintf(buf, sizeof(buf), "%f", 0.12345678) != 8); + exit(res); +} + ],[ + ac_cv_broken_snprintf=no + ],[ + ac_cv_broken_snprintf=yes + ],[ + ac_cv_broken_snprintf=no + ]) + ]) + if test "$ac_cv_broken_snprintf" = "yes"; then + AC_DEFINE(PHP_BROKEN_SNPRINTF, 1, [Whether snprintf is C99 conform]) + else + AC_DEFINE(PHP_BROKEN_SNPRINTF, 0, [Whether snprintf is C99 conform]) + fi +]) + +dnl +dnl PHP_SOLARIS_PIC_WEIRDNESS +dnl +dnl Solaris requires main code to be position independent in order +dnl to let shared objects find symbols. Weird. Ugly. +dnl +dnl Must be run after all --with-NN options that let the user +dnl choose dynamic extensions, and after the gcc test. +dnl +AC_DEFUN([PHP_SOLARIS_PIC_WEIRDNESS],[ + AC_MSG_CHECKING([whether -fPIC is required]) + if test -n "$EXT_SHARED"; then + os=`uname -sr 2>/dev/null` + case $os in + "SunOS 5.6"|"SunOS 5.7"[)] + case $CC in + gcc*|egcs*) + CFLAGS="$CFLAGS -fPIC";; + *[)] + CFLAGS="$CFLAGS -fpic";; + esac + AC_MSG_RESULT([yes]);; + *[)] + AC_MSG_RESULT([no]);; + esac + else + AC_MSG_RESULT([no]) + fi +]) + +dnl +dnl PHP_SYS_LFS +dnl +dnl The problem is that the default compilation flags in Solaris 2.6 won't +dnl let programs access large files; you need to tell the compiler that +dnl you actually want your programs to work on large files. For more +dnl details about this brain damage please see: +dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html +dnl +dnl Written by Paul Eggert . +dnl +AC_DEFUN([PHP_SYS_LFS], +[dnl + # If available, prefer support for large files unless the user specified + # one of the CPPFLAGS, LDFLAGS, or LIBS variables. + AC_MSG_CHECKING([whether large file support needs explicit enabling]) + ac_getconfs='' + ac_result=yes + ac_set='' + ac_shellvars='CPPFLAGS LDFLAGS LIBS' + for ac_shellvar in $ac_shellvars; do + case $ac_shellvar in + CPPFLAGS[)] ac_lfsvar=LFS_CFLAGS ;; + *[)] ac_lfsvar=LFS_$ac_shellvar ;; + esac + eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar + (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; } + ac_getconf=`getconf $ac_lfsvar` + ac_getconfs=$ac_getconfs$ac_getconf + eval ac_test_$ac_shellvar=\$ac_getconf + done + case "$ac_result$ac_getconfs" in + yes[)] ac_result=no ;; + esac + case "$ac_result$ac_set" in + yes?*[)] ac_result="yes, but $ac_set is already set, so use its settings" + esac + AC_MSG_RESULT([$ac_result]) + case $ac_result in + yes[)] + for ac_shellvar in $ac_shellvars; do + eval $ac_shellvar=\$ac_test_$ac_shellvar + done ;; + esac +]) + +dnl +dnl PHP_SOCKADDR_CHECKS +dnl +AC_DEFUN([PHP_SOCKADDR_CHECKS], [ + dnl Check for struct sockaddr_storage exists + AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage, + [AC_TRY_COMPILE([#include +#include ], + [struct sockaddr_storage s; s], + [ac_cv_sockaddr_storage=yes], [ac_cv_sockaddr_storage=no]) + ]) + if test "$ac_cv_sockaddr_storage" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Whether you have struct sockaddr_storage]) + fi + dnl Check if field sa_len exists in struct sockaddr + AC_CACHE_CHECK([for field sa_len in struct sockaddr],ac_cv_sockaddr_sa_len,[ + AC_TRY_COMPILE([#include +#include ], + [static struct sockaddr sa; int n = (int) sa.sa_len; return n;], + [ac_cv_sockaddr_sa_len=yes], [ac_cv_sockaddr_sa_len=no]) + ]) + if test "$ac_cv_sockaddr_sa_len" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has field sa_len]) + fi +]) + +dnl +dnl PHP_DECLARED_TIMEZONE +dnl +AC_DEFUN([PHP_DECLARED_TIMEZONE],[ + AC_CACHE_CHECK(for declared timezone, ac_cv_declared_timezone,[ + AC_TRY_COMPILE([ +#include +#include +#ifdef HAVE_SYS_TIME_H +#include +#endif +],[ + time_t foo = (time_t) timezone; +],[ + ac_cv_declared_timezone=yes +],[ + ac_cv_declared_timezone=no +])]) + if test "$ac_cv_declared_timezone" = "yes"; then + AC_DEFINE(HAVE_DECLARED_TIMEZONE, 1, [Whether system headers declare timezone]) + fi +]) + +dnl +dnl PHP_EBCDIC +dnl +AC_DEFUN([PHP_EBCDIC], [ + AC_CACHE_CHECK([whether system uses EBCDIC],ac_cv_ebcdic,[ + AC_TRY_RUN( [ +int main(void) { + return (unsigned char)'A' != (unsigned char)0xC1; +} +],[ + ac_cv_ebcdic=yes +],[ + ac_cv_ebcdic=no +],[ + ac_cv_ebcdic=no +])]) + if test "$ac_cv_ebcdic" = "yes"; then + AC_DEFINE(CHARSET_EBCDIC,1, [Define if system uses EBCDIC]) + fi +]) + +dnl +dnl PHP_BROKEN_GETCWD +dnl +dnl Some systems, notably Solaris, cause getcwd() or realpath to fail if a +dnl component of the path has execute but not read permissions +dnl +AC_DEFUN([PHP_BROKEN_GETCWD],[ + AC_MSG_CHECKING([for broken getcwd]) + os=`uname -sr 2>/dev/null` + case $os in + SunOS*[)] + AC_DEFINE(HAVE_BROKEN_GETCWD,1, [Define if system has broken getcwd]) + AC_MSG_RESULT([yes]);; + *[)] + AC_MSG_RESULT([no]);; + esac +]) + +dnl +dnl PHP_BROKEN_GLIBC_FOPEN_APPEND +dnl +AC_DEFUN([PHP_BROKEN_GLIBC_FOPEN_APPEND], [ + AC_MSG_CHECKING([for broken libc stdio]) + AC_CACHE_VAL(have_broken_glibc_fopen_append,[ + AC_TRY_RUN([ +#include +int main(int argc, char *argv[]) +{ + FILE *fp; + long position; + char *filename = "/tmp/phpglibccheck"; + + fp = fopen(filename, "w"); + if (fp == NULL) { + perror("fopen"); + exit(2); + } + fputs("foobar", fp); + fclose(fp); + + fp = fopen(filename, "a+"); + position = ftell(fp); + fclose(fp); + unlink(filename); + if (position == 0) + return 1; + return 0; +} +], +[have_broken_glibc_fopen_append=no], +[have_broken_glibc_fopen_append=yes ], +AC_TRY_COMPILE([ +#include +],[ +#if !__GLIBC_PREREQ(2,2) +choke me +#endif +], +[have_broken_glibc_fopen_append=yes], +[have_broken_glibc_fopen_append=no ]) +)]) + + if test "$have_broken_glibc_fopen_append" = "yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_BROKEN_GLIBC_FOPEN_APPEND,1, [Define if your glibc borks on fopen with mode a+]) + else + AC_MSG_RESULT(no) + fi +]) + +dnl +dnl PHP_FOPENCOOKIE +dnl +AC_DEFUN([PHP_FOPENCOOKIE], [ + AC_CHECK_FUNC(fopencookie, [have_glibc_fopencookie=yes]) + + if test "$have_glibc_fopencookie" = "yes"; then +dnl this comes in two flavors: +dnl newer glibcs (since 2.1.2 ? ) +dnl have a type called cookie_io_functions_t +AC_TRY_COMPILE([ +#define _GNU_SOURCE +#include +], [cookie_io_functions_t cookie;], [have_cookie_io_functions_t=yes], []) + + if test "$have_cookie_io_functions_t" = "yes"; then + cookie_io_functions_t=cookie_io_functions_t + have_fopen_cookie=yes + +dnl even newer glibcs have a different seeker definition... +AC_TRY_RUN([ +#define _GNU_SOURCE +#include + +struct cookiedata { + __off64_t pos; +}; + +__ssize_t reader(void *cookie, char *buffer, size_t size) +{ return size; } +__ssize_t writer(void *cookie, const char *buffer, size_t size) +{ return size; } +int closer(void *cookie) +{ return 0; } +int seeker(void *cookie, __off64_t *position, int whence) +{ ((struct cookiedata*)cookie)->pos = *position; return 0; } + +cookie_io_functions_t funcs = {reader, writer, seeker, closer}; + +main() { + struct cookiedata g = { 0 }; + FILE *fp = fopencookie(&g, "r", funcs); + + if (fp && fseek(fp, 8192, SEEK_SET) == 0 && g.pos == 8192) + exit(0); + exit(1); +} + +], [ + cookie_io_functions_use_off64_t=yes +], [ + cookie_io_functions_use_off64_t=no +], [ + cookie_io_functions_use_off64_t=no +]) + + else + +dnl older glibc versions (up to 2.1.2 ?) +dnl call it _IO_cookie_io_functions_t +AC_TRY_COMPILE([ +#define _GNU_SOURCE +#include +], [ _IO_cookie_io_functions_t cookie; ], [have_IO_cookie_io_functions_t=yes], []) + if test "$have_cookie_io_functions_t" = "yes" ; then + cookie_io_functions_t=_IO_cookie_io_functions_t + have_fopen_cookie=yes + fi + fi + + if test "$have_fopen_cookie" = "yes" ; then + AC_DEFINE(HAVE_FOPENCOOKIE, 1, [ ]) + AC_DEFINE_UNQUOTED(COOKIE_IO_FUNCTIONS_T, $cookie_io_functions_t, [ ]) + if test "$cookie_io_functions_use_off64_t" = "yes" ; then + AC_DEFINE(COOKIE_SEEKER_USES_OFF64_T, 1, [ ]) + fi + fi + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Library/function existance and build sanity checks +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_CHECK_LIBRARY(library, function [, action-found [, action-not-found [, extra-libs]]]) +dnl +dnl Wrapper for AC_CHECK_LIB +dnl +AC_DEFUN([PHP_CHECK_LIBRARY], [ + save_old_LDFLAGS=$LDFLAGS + ac_stuff="$5" + + save_ext_shared=$ext_shared + ext_shared=yes + PHP_EVAL_LIBLINE([$]ac_stuff, LDFLAGS) + AC_CHECK_LIB([$1],[$2],[ + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + $3 + ],[ + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + unset ac_cv_lib_$1[]_$2 + $4 + ])dnl +]) + +dnl +dnl PHP_CHECK_FRAMEWORK(framework, function [, action-found [, action-not-found ]]) +dnl +dnl El cheapo wrapper for AC_CHECK_LIB +dnl +AC_DEFUN([PHP_CHECK_FRAMEWORK], [ + save_old_LDFLAGS=$LDFLAGS + LDFLAGS="-framework $1 $LDFLAGS" + dnl supplying "c" to AC_CHECK_LIB is technically cheating, but + dnl rewriting AC_CHECK_LIB is overkill and this only affects + dnl the "checking.." output anyway. + AC_CHECK_LIB(c,[$2],[ + LDFLAGS=$save_old_LDFLAGS + $3 + ],[ + LDFLAGS=$save_old_LDFLAGS + $4 + ]) +]) + +dnl +dnl PHP_CHECK_FUNC_LIB(func, libs) +dnl +dnl This macro checks whether 'func' or '__func' exists +dnl in the specified library. +dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. +dnl This should be called in the ACTION-IF-NOT-FOUND part of PHP_CHECK_FUNC +dnl +dnl +dnl autoconf undefines the builtin "shift" :-( +dnl If possible, we use the builtin shift anyway, otherwise we use +dnl the ubercool definition I have tested so far with FreeBSD/GNU m4 +ifdef([builtin],[builtin(define, phpshift, [builtin(shift, $@)])],[ +define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])))])]) +]) +dnl +AC_DEFUN([PHP_CHECK_FUNC_LIB],[ + ifelse($2,,:,[ + unset ac_cv_lib_$2[]_$1 + unset ac_cv_lib_$2[]___$1 + unset found + AC_CHECK_LIB($2, $1, [found=yes], [ + AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) + ]) + + if test "$found" = "yes"; then + ac_libs=$LIBS + LIBS="$LIBS -l$2" + AC_TRY_RUN([main() { return (0); }],[found=yes],[found=no],[found=no]) + LIBS=$ac_libs + fi + + if test "$found" = "yes"; then + PHP_ADD_LIBRARY($2) + PHP_DEF_HAVE($1) + PHP_DEF_HAVE(lib$2) + ac_cv_func_$1=yes + else + PHP_CHECK_FUNC_LIB($1,phpshift(phpshift($@))) + fi + ]) +]) + +dnl +dnl PHP_CHECK_FUNC(func, ...) +dnl +dnl This macro checks whether 'func' or '__func' exists +dnl in the default libraries and as a fall back in the specified library. +dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. +dnl +AC_DEFUN([PHP_CHECK_FUNC],[ + unset ac_cv_func_$1 + unset ac_cv_func___$1 + unset found + + AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) + + case $found in + yes[)] + PHP_DEF_HAVE($1) + ac_cv_func_$1=yes + ;; + ifelse($#,1,,[ + *[)] PHP_CHECK_FUNC_LIB($@) ;; + ]) + esac +]) + +dnl +dnl PHP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs [, extra-source]]) +dnl +dnl This macro checks whether build works and given function exists. +dnl +AC_DEFUN([PHP_TEST_BUILD], [ + old_LIBS=$LIBS + LIBS="$4 $LIBS" + AC_TRY_RUN([ + $5 + char $1(); + int main() { + $1(); + return 0; + } + ], [ + LIBS=$old_LIBS + $2 + ],[ + LIBS=$old_LIBS + $3 + ],[ + LIBS=$old_LIBS + ]) +]) + +dnl ------------------------------------------------------------------------- +dnl Platform characteristics checks +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_SHLIB_SUFFIX_NAMES +dnl +dnl Determines link library suffix SHLIB_SUFFIX_NAME +dnl which can be: .so, .sl or .dylib +dnl +dnl Determines shared library suffix SHLIB_DL_SUFFIX_NAME +dnl suffix can be: .so or .sl +dnl +AC_DEFUN([PHP_SHLIB_SUFFIX_NAMES],[ + AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl + PHP_SUBST_OLD(SHLIB_SUFFIX_NAME) + PHP_SUBST_OLD(SHLIB_DL_SUFFIX_NAME) + SHLIB_SUFFIX_NAME=so + SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME + case $host_alias in + *hpux*[)] + SHLIB_SUFFIX_NAME=sl + SHLIB_DL_SUFFIX_NAME=sl + ;; + *darwin*[)] + SHLIB_SUFFIX_NAME=dylib + SHLIB_DL_SUFFIX_NAME=so + ;; + esac +]) + +dnl +dnl PHP_CHECK_64BIT([do if 32], [do if 64]) +dnl +dnl This macro is used to detect if we're at 64-bit platform or not. +dnl It could be useful for those external libs, that have different precompiled +dnl versions in different directories. +dnl +AC_DEFUN([PHP_CHECK_64BIT],[ + AC_CHECK_SIZEOF(long int, 4) + AC_MSG_CHECKING([checking if we're at 64-bit platform]) + if test "$ac_cv_sizeof_long_int" = "4" ; then + AC_MSG_RESULT([no]) + $1 + else + AC_MSG_RESULT([yes]) + $2 + fi +]) + +dnl +dnl PHP_C_BIGENDIAN +dnl +dnl Replacement macro for AC_C_BIGENDIAN +dnl +AC_DEFUN([PHP_C_BIGENDIAN], +[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php, + [ + ac_cv_c_bigendian_php=unknown + AC_TRY_RUN( + [ +int main(void) +{ + short one = 1; + char *cp = (char *)&one; + + if (*cp == 0) { + return(0); + } else { + return(1); + } +} + ], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown]) + ]) + if test $ac_cv_c_bigendian_php = yes; then + AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word]) + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Checks for programs: PHP_PROG_ +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_PROG_SENDMAIL +dnl +dnl Search for the sendmail binary +dnl +AC_DEFUN([PHP_PROG_SENDMAIL], [ + PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib:/usr/lib64 + AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:$PHP_ALT_PATH) + PHP_SUBST(PROG_SENDMAIL) +]) + +dnl +dnl PHP_PROG_AWK +dnl +dnl Some vendors force mawk before gawk; mawk is broken so we don't like that +dnl +AC_DEFUN([PHP_PROG_AWK], [ + AC_CHECK_PROGS(AWK, gawk nawk awk mawk, bork, /usr/xpg4/bin/:$PATH) + case "$AWK" in + *mawk) + AC_MSG_WARN([mawk is known to have problems on some systems. You should install GNU awk]) + ;; + *gawk) + ;; + bork) + AC_MSG_ERROR([Could not find awk; Install GNU awk]) + ;; + *) + AC_MSG_CHECKING([if $AWK is broken]) + if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then + AC_MSG_RESULT([yes]) + AC_MSG_ERROR([You should install GNU awk]) + else + AC_MSG_RESULT([no]) + fi + ;; + esac + PHP_SUBST(AWK) +]) + +dnl +dnl PHP_PROG_BISON +dnl +dnl Search for bison and check it's version +dnl +AC_DEFUN([PHP_PROG_BISON], [ + AC_PROG_YACC + LIBZEND_BISON_CHECK + PHP_SUBST(YACC) +]) + +dnl +dnl PHP_PROG_LEX +dnl +dnl Search for (f)lex and check it's version +dnl +AC_DEFUN([PHP_PROG_LEX], [ +dnl we only support certain flex versions + flex_version_list="2.5.4" + + AC_PROG_LEX + if test "$LEX" = "flex"; then +dnl AC_DECL_YYTEXT is obsolete since autoconf 2.50 and merged into AC_PROG_LEX +dnl this is what causes that annoying "PHP_PROG_LEX is expanded from" warning with autoconf 2.50+ +dnl it should be removed once we drop support of autoconf 2.13 (if ever) + AC_DECL_YYTEXT + : + fi + dnl ## Make flex scanners use const if they can, even if __STDC__ is not + dnl ## true, for compilers like Sun's that only set __STDC__ true in + dnl ## "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode + AC_C_CONST + if test "$ac_cv_c_const" = "yes" ; then + LEX_CFLAGS="-DYY_USE_CONST" + fi + + if test "$LEX" = "flex"; then + AC_CACHE_CHECK([for flex version], php_cv_flex_version, [ + flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'` + php_cv_flex_version=invalid + for flex_check_version in $flex_version_list; do + if test "$flex_version" = "$flex_check_version"; then + php_cv_flex_version="$flex_check_version (ok)" + fi + done + ]) + else + flex_version=none + fi + + case $php_cv_flex_version in + ""|invalid[)] + if test -f "$abs_srcdir/Zend/zend_language_scanner.c" && test -f "$abs_srcdir/Zend/zend_ini_scanner.c"; then + AC_MSG_WARN([flex versions supported for regeneration of the Zend/PHP parsers: $flex_version_list (found: $flex_version)]) + else + flex_msg="Supported flex versions are: $flex_version_list" + if test "$flex_version" = "none"; then + flex_msg="flex not found. flex is required to generate the Zend/PHP parsers! $flex_msg" + else + flex_msg="Found invalid flex version: $flex_version. $flex_msg" + fi + AC_MSG_ERROR([$flex_msg]) + fi + LEX="exit 0;" + ;; + esac + PHP_SUBST(LEX) +]) + +dnl +dnl PHP_PROG_RE2C +dnl +dnl Search for the re2c binary and check the version +dnl +AC_DEFUN([PHP_PROG_RE2C],[ + AC_CHECK_PROG(RE2C, re2c, re2c) + if test -n "$RE2C"; then + AC_CACHE_CHECK([for re2c version], php_cv_re2c_version, [ + re2c_vernum=`re2c --vernum 2>/dev/null` + if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1200"; then + php_cv_re2c_version=invalid + else + php_cv_re2c_version="`re2c --version | cut -d ' ' -f 2 2>/dev/null` (ok)" + fi + ]) + fi + case $php_cv_re2c_version in + ""|invalid[)] + AC_MSG_WARN([You will need re2c 0.12.0 or later if you want to regenerate PHP parsers.]) + RE2C="exit 0;" + ;; + esac + PHP_SUBST(RE2C) +]) + +dnl ------------------------------------------------------------------------- +dnl Common setup macros: PHP_SETUP_ +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_SETUP_ICU([shared-add]) +dnl +dnl Common setup macro for ICU +dnl +AC_DEFUN([PHP_SETUP_ICU],[ + PHP_ARG_WITH(icu-dir,, + [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) + + if test "$PHP_ICU_DIR" = "no"; then + PHP_ICU_DIR=DEFAULT + fi + + if test "$PHP_ICU_DIR" = "DEFAULT"; then + dnl Try to find icu-config + AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) + else + ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" + fi + + AC_MSG_CHECKING([for location of ICU headers and libraries]) + + dnl Trust icu-config to know better what the install prefix is.. + icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` + if test "$?" != "0" || test -z "$icu_install_prefix"; then + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) + else + AC_MSG_RESULT([$icu_install_prefix]) + + dnl Check ICU version + AC_MSG_CHECKING([for ICU 3.4 or greater]) + icu_version_full=`$ICU_CONFIG --version` + ac_IFS=$IFS + IFS="." + set $icu_version_full + IFS=$ac_IFS + icu_version=`expr [$]1 \* 1000 + [$]2` + AC_MSG_RESULT([found $icu_version_full]) + + if test "$icu_version" -lt "3004"; then + AC_MSG_ERROR([ICU version 3.4 or later is required]) + fi + + ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` + ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` + PHP_EVAL_INCLINE($ICU_INCS) + PHP_EVAL_LIBLINE($ICU_LIBS, $1) + fi +]) + +dnl +dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for kerberos +dnl +AC_DEFUN([PHP_SETUP_KERBEROS],[ + found_kerberos=no + unset KERBEROS_CFLAGS + unset KERBEROS_LIBS + + dnl First try to find krb5-config + if test -z "$KRB5_CONFIG"; then + AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin]) + fi + + dnl If krb5-config is found try using it + if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then + KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi` + KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi` + + if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then + found_kerberos=yes + PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1) + PHP_EVAL_INCLINE($KERBEROS_CFLAGS) + fi + fi + + dnl If still not found use old skool method + if test "$found_kerberos" = "no"; then + + if test "$PHP_KERBEROS" = "yes"; then + PHP_KERBEROS="/usr/kerberos /usr/local /usr" + fi + + for i in $PHP_KERBEROS; do + if test -f $i/$PHP_LIBDIR/libkrb5.a || test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME; then + PHP_KERBEROS_DIR=$i + break + fi + done + + if test "$PHP_KERBEROS_DIR"; then + found_kerberos=yes + PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, $1) + PHP_ADD_LIBRARY(gssapi_krb5, 1, $1) + PHP_ADD_LIBRARY(krb5, 1, $1) + PHP_ADD_LIBRARY(k5crypto, 1, $1) + PHP_ADD_LIBRARY(com_err, 1, $1) + PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include) + fi + fi + + if test "$found_kerberos" = "yes"; then +ifelse([$2],[],:,[$2]) +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for openssl +dnl +AC_DEFUN([PHP_SETUP_OPENSSL],[ + found_openssl=no + unset OPENSSL_INCDIR + unset OPENSSL_LIBDIR + + dnl Empty variable means 'no' + test -z "$PHP_OPENSSL" && PHP_OPENSSL=no + test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no + + dnl Fallbacks for different configure options + if test "$PHP_OPENSSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_OPENSSL + elif test "$PHP_IMAP_SSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_IMAP_SSL + fi + + dnl First try to find pkg-config + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + dnl If pkg-config is found try using it + if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then + if $PKG_CONFIG --atleast-version=0.9.6 openssl; then + found_openssl=yes + OPENSSL_LIBS=`$PKG_CONFIG --libs openssl` + OPENSSL_INCS=`$PKG_CONFIG --cflags-only-I openssl` + OPENSSL_INCDIR=`$PKG_CONFIG --variable=includedir openssl` + else + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + fi + + if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then + PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) + PHP_EVAL_INCLINE($OPENSSL_INCS) + fi + fi + + dnl If pkg-config fails for some reason, revert to the old method + if test "$found_openssl" = "no"; then + + if test "$PHP_OPENSSL_DIR" = "yes"; then + PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" + fi + + for i in $PHP_OPENSSL_DIR; do + if test -r $i/include/openssl/evp.h; then + OPENSSL_INCDIR=$i/include + fi + if test -r $i/$PHP_LIBDIR/libssl.a -o -r $i/$PHP_LIBDIR/libssl.$SHLIB_SUFFIX_NAME; then + OPENSSL_LIBDIR=$i/$PHP_LIBDIR + fi + test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR" && break + done + + if test -z "$OPENSSL_INCDIR"; then + AC_MSG_ERROR([Cannot find OpenSSL's ]) + fi + + if test -z "$OPENSSL_LIBDIR"; then + AC_MSG_ERROR([Cannot find OpenSSL's libraries]) + fi + + old_CPPFLAGS=$CPPFLAGS + CPPFLAGS=-I$OPENSSL_INCDIR + AC_MSG_CHECKING([for OpenSSL version]) + AC_EGREP_CPP(yes,[ +#include +#if OPENSSL_VERSION_NUMBER >= 0x0090600fL + yes +#endif + ],[ + AC_MSG_RESULT([>= 0.9.6]) + ],[ + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + ]) + CPPFLAGS=$old_CPPFLAGS + + PHP_ADD_INCLUDE($OPENSSL_INCDIR) + + PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [ + PHP_ADD_LIBRARY(crypto,,$1) + ],[ + AC_MSG_ERROR([libcrypto not found!]) + ],[ + -L$OPENSSL_LIBDIR + ]) + + old_LIBS=$LIBS + LIBS="$LIBS -lcrypto" + PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [ + found_openssl=yes + ],[ + AC_MSG_ERROR([libssl not found!]) + ],[ + -L$OPENSSL_LIBDIR + ]) + LIBS=$old_LIBS + PHP_ADD_LIBRARY(ssl,,$1) + + PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1) + fi + + if test "$found_openssl" = "yes"; then + dnl For apache 1.3.x static build + OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR + AC_SUBST(OPENSSL_INCDIR_OPT) + +ifelse([$2],[],:,[$2]) +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for iconv +dnl +AC_DEFUN([PHP_SETUP_ICONV], [ + found_iconv=no + unset ICONV_DIR + + # Create the directories for a VPATH build: + $php_shtool mkdir -p ext/iconv + + echo > ext/iconv/php_have_bsd_iconv.h + echo > ext/iconv/php_have_glibc_iconv.h + echo > ext/iconv/php_have_libiconv.h + echo > ext/iconv/php_have_iconv.h + echo > ext/iconv/php_php_iconv_impl.h + echo > ext/iconv/php_php_iconv_h_path.h + echo > ext/iconv/php_iconv_supports_errno.h + + dnl + dnl Check libc first if no path is provided in --with-iconv + dnl + if test "$PHP_ICONV" = "yes"; then + AC_CHECK_FUNC(iconv, [ + found_iconv=yes + ],[ + AC_CHECK_FUNC(libiconv,[ + PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_LIBICONV, 1, [ ]) + found_iconv=yes + ]) + ]) + fi + + dnl + dnl Check external libs for iconv funcs + dnl + if test "$found_iconv" = "no"; then + + for i in $PHP_ICONV /usr/local /usr; do + if test -r $i/include/giconv.h; then + AC_DEFINE(HAVE_GICONV_H, 1, [ ]) + ICONV_DIR=$i + iconv_lib_name=giconv + break + elif test -r $i/include/iconv.h; then + ICONV_DIR=$i + iconv_lib_name=iconv + break + fi + done + + if test -z "$ICONV_DIR"; then + AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=
]) + fi + + if test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.a || + test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.$SHLIB_SUFFIX_NAME + then + PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [ + found_iconv=yes + PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_LIBICONV,1,[ ]) + ], [ + PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [ + found_iconv=yes + ], [], [ + -L$ICONV_DIR/$PHP_LIBDIR + ]) + ], [ + -L$ICONV_DIR/$PHP_LIBDIR + ]) + fi + fi + + if test "$found_iconv" = "yes"; then + PHP_DEFINE(HAVE_ICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_ICONV,1,[ ]) + if test -n "$ICONV_DIR"; then + PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/$PHP_LIBDIR, $1) + PHP_ADD_INCLUDE($ICONV_DIR/include) + fi + $2 +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_LIBXML(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for libxml +dnl +AC_DEFUN([PHP_SETUP_LIBXML], [ +AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, +[ + for i in $PHP_LIBXML_DIR /usr/local /usr; do + if test -x "$i/bin/xml2-config"; then + ac_cv_php_xml2_config_path="$i/bin/xml2-config" + break + fi + done +]) + + if test -x "$ac_cv_php_xml2_config_path"; then + XML2_CONFIG="$ac_cv_php_xml2_config_path" + libxml_full_version=`$XML2_CONFIG --version` + ac_IFS=$IFS + IFS="." + set $libxml_full_version + IFS=$ac_IFS + LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` + if test "$LIBXML_VERSION" -ge "2006011"; then + LIBXML_LIBS=`$XML2_CONFIG --libs` + LIBXML_INCS=`$XML2_CONFIG --cflags` + PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) + PHP_EVAL_INCLINE($LIBXML_INCS) + + dnl Check that build works with given libs + AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ + PHP_TEST_BUILD(xmlInitParser, + [ + php_cv_libxml_build_works=yes + ], [ + AC_MSG_RESULT(no) + AC_MSG_ERROR([build test failed. Please check the config.log for details.]) + ], [ + [$]$1 + ]) + ]) + if test "$php_cv_libxml_build_works" = "yes"; then + AC_DEFINE(HAVE_LIBXML, 1, [ ]) + fi + $2 + else + AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) + fi +ifelse([$3],[],,[else $3]) + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Misc. macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_INSTALL_HEADERS(path [, file ...]) +dnl +dnl PHP header files to be installed +dnl +AC_DEFUN([PHP_INSTALL_HEADERS],[ + ifelse([$2],[],[ + for header_file in $1; do + PHP_RUN_ONCE(INSTALLHEADERS, $header_file, [ + INSTALL_HEADERS="$INSTALL_HEADERS $header_file" + ]) + done + ], [ + header_path=$1 + for header_file in $2; do + hp_hf="$header_path/$header_file" + PHP_RUN_ONCE(INSTALLHEADERS, $hp_hf, [ + INSTALL_HEADERS="$INSTALL_HEADERS $hp_hf" + ]) + done + ]) +]) + +dnl +dnl PHP_AP_EXTRACT_VERSION(/path/httpd) +dnl +dnl This macro is used to get a comparable +dnl version for apache1/2. +dnl +AC_DEFUN([PHP_AP_EXTRACT_VERSION],[ + ac_output=`$1 -v 2>&1 | grep version` + ac_IFS=$IFS +IFS="- /. +" + set $ac_output + IFS=$ac_IFS + + APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6` +]) + +dnl +dnl PHP_DEBUG_MACRO(filename) +dnl +AC_DEFUN([PHP_DEBUG_MACRO],[ + DEBUG_LOG=$1 + cat >$1 <conftest.$ac_ext <>$1 2>&1 + rm -fr conftest* +]) + +dnl +dnl PHP_CONFIG_NICE(filename) +dnl +dnl Generates the config.nice file +dnl +AC_DEFUN([PHP_CONFIG_NICE],[ + AC_REQUIRE([AC_PROG_EGREP]) + AC_REQUIRE([LT_AC_PROG_SED]) + PHP_SUBST_OLD(EGREP) + PHP_SUBST_OLD(SED) + test -f $1 && mv $1 $1.old + rm -f $1.old + cat >$1<> $1 + fi + done + + echo "'[$]0' \\" >> $1 + if test `expr -- [$]0 : "'.*"` = 0; then + CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]0'" + else + CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]0" + fi + for arg in $ac_configure_args; do + if test `expr -- $arg : "'.*"` = 0; then + if test `expr -- $arg : "--.*"` = 0; then + break; + fi + echo "'[$]arg' \\" >> $1 + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'" + else + if test `expr -- $arg : "'--.*"` = 0; then + break; + fi + echo "[$]arg \\" >> $1 + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg" + fi + done + echo '"[$]@"' >> $1 + chmod +x $1 + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS" + PHP_SUBST_OLD(CONFIGURE_COMMAND) + PHP_SUBST_OLD(CONFIGURE_OPTIONS) +]) + +dnl +dnl PHP_CHECK_CONFIGURE_OPTIONS +dnl +AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[ + for arg in $ac_configure_args; do + case $arg in + --with-*[)] + arg_name="`echo [$]arg | $SED -e 's/--with-/with-/g' -e 's/=.*//g'`" + ;; + --without-*[)] + arg_name="`echo [$]arg | $SED -e 's/--without-/with-/g' -e 's/=.*//g'`" + ;; + --enable-*[)] + arg_name="`echo [$]arg | $SED -e 's/--enable-/enable-/g' -e 's/=.*//g'`" + ;; + --disable-*[)] + arg_name="`echo [$]arg | $SED -e 's/--disable-/enable-/g' -e 's/=.*//g'`" + ;; + *[)] + continue + ;; + esac + case $arg_name in + # Allow --disable-all / --enable-all + enable-all[)];; + + # Allow certain libtool options + enable-libtool-lock | with-pic | with-tags | enable-shared | enable-static | enable-fast-install | with-gnu-ld[)];; + + # Allow certain TSRM options + with-tsrm-pth | with-tsrm-st | with-tsrm-pthreads[)];; + + # Allow certain Zend options + with-zend-vm | enable-maintainer-zts | enable-inline-optimization[)];; + + # All the rest must be set using the PHP_ARG_* macros + # PHP_ARG_* macros set php_enable_ or php_with_ + *[)] + # Options that exist before PHP 6 + if test "$PHP_MAJOR_VERSION" -lt "6"; then + case $arg_name in + enable-zend-multibyte[)] continue;; + esac + fi + is_arg_set=php_[]`echo [$]arg_name | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-' 'abcdefghijklmnopqrstuvwxyz_'` + if eval test "x\$$is_arg_set" = "x"; then + PHP_UNKNOWN_CONFIGURE_OPTIONS="$PHP_UNKNOWN_CONFIGURE_OPTIONS +[$]arg" + fi + ;; + esac + done +]) + +dnl +dnl PHP_CHECK_PDO_INCLUDES([found [, not-found]]) +dnl +AC_DEFUN([PHP_CHECK_PDO_INCLUDES],[ + AC_CACHE_CHECK([for PDO includes], pdo_inc_path, [ + AC_MSG_CHECKING([for PDO includes]) + if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$abs_srcdir/ext + elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$abs_srcdir/ext + elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$prefix/include/php/ext + fi + ]) + if test -n "$pdo_inc_path"; then +ifelse([$1],[],:,[$1]) + else +ifelse([$2],[],[AC_MSG_ERROR([Cannot find php_pdo_driver.h.])],[$2]) + fi +]) + +dnl +dnl PHP_DETECT_ICC +dnl +AC_DEFUN([PHP_DETECT_ICC], +[ + ICC="no" + AC_MSG_CHECKING([for icc]) + AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER], + ICC="no" + AC_MSG_RESULT([no]), + ICC="yes" + AC_MSG_RESULT([yes]) + ) +]) + +dnl +dnl PHP_CRYPT_R_STYLE +dnl detect the style of crypt_r() is any is available +dnl see APR_CHECK_CRYPT_R_STYLE() for original version +dnl +AC_DEFUN([PHP_CRYPT_R_STYLE], +[ + AC_CACHE_CHECK([which data struct is used by crypt_r], php_cv_crypt_r_style,[ + php_cv_crypt_r_style=none + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#include +],[ +CRYPTD buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=cryptd) + + if test "$php_cv_crypt_r_style" = "none"; then + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#include +],[ +struct crypt_data buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=struct_crypt_data) + fi + + if test "$php_cv_crypt_r_style" = "none"; then + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#define _GNU_SOURCE +#include +],[ +struct crypt_data buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=struct_crypt_data_gnu_source) + fi + ]) + + if test "$php_cv_crypt_r_style" = "cryptd"; then + AC_DEFINE(CRYPT_R_CRYPTD, 1, [Define if crypt_r has uses CRYPTD]) + fi + if test "$php_cv_crypt_r_style" = "struct_crypt_data" -o "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then + AC_DEFINE(CRYPT_R_STRUCT_CRYPT_DATA, 1, [Define if crypt_r uses struct crypt_data]) + fi + if test "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then + AC_DEFINE(CRYPT_R_GNU_SOURCE, 1, [Define if struct crypt_data requires _GNU_SOURCE]) + fi + if test "$php_cv_crypt_r_style" = "none"; then + AC_MSG_ERROR([Unable to detect data struct used by crypt_r]) + fi +]) + +dnl +dnl PHP_TEST_WRITE_STDOUT +dnl +AC_DEFUN([PHP_TEST_WRITE_STDOUT],[ + AC_CACHE_CHECK(whether writing to stdout works,ac_cv_write_stdout,[ + AC_TRY_RUN([ +#ifdef HAVE_UNISTD_H +#include +#endif + +#define TEXT "This is the test message -- " + +main() +{ + int n; + + n = write(1, TEXT, sizeof(TEXT)-1); + return (!(n == sizeof(TEXT)-1)); +} + ],[ + ac_cv_write_stdout=yes + ],[ + ac_cv_write_stdout=no + ],[ + ac_cv_write_stdout=no + ]) + ]) + if test "$ac_cv_write_stdout" = "yes"; then + AC_DEFINE(PHP_WRITE_STDOUT, 1, [whether write(2) works]) + fi +]) + diff --git a/src/cairo/aclocal.m4 b/src/cairo/aclocal.m4 new file mode 100644 index 0000000..4cd2a9b --- /dev/null +++ b/src/cairo/aclocal.m4 @@ -0,0 +1,9093 @@ +dnl +dnl $Id: acinclude.m4,v 1.332.2.14.2.26 2007/08/20 14:28:45 jani Exp $ +dnl +dnl This file contains local autoconf functions. +dnl + +dnl ------------------------------------------------------------------------- +dnl Output stylize macros for configure (help/runtime) +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_HELP_SEPARATOR(title) +dnl +dnl Adds separator title into the configure --help display. +dnl +AC_DEFUN([PHP_HELP_SEPARATOR],[ +AC_ARG_ENABLE([],[ +$1 +],[]) +]) + +dnl +dnl PHP_CONFIGURE_PART(title) +dnl +dnl Adds separator title configure output (idea borrowed from mm) +dnl +AC_DEFUN([PHP_CONFIGURE_PART],[ + AC_MSG_RESULT() + AC_MSG_RESULT([${T_MD}$1${T_ME}]) +]) + +dnl ------------------------------------------------------------------------- +dnl Build system helper macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_DEF_HAVE(what) +dnl +dnl Generates 'AC_DEFINE(HAVE_WHAT, 1, [ ])' +dnl +AC_DEFUN([PHP_DEF_HAVE],[AC_DEFINE([HAVE_]translit($1,a-z_.-,A-Z___), 1, [ ])]) + +dnl +dnl PHP_RUN_ONCE(namespace, variable, code) +dnl +dnl execute code, if variable is not set in namespace +dnl +AC_DEFUN([PHP_RUN_ONCE],[ + changequote({,}) + unique=`echo $2|$SED 's/[^a-zA-Z0-9]/_/g'` + changequote([,]) + cmd="echo $ac_n \"\$$1$unique$ac_c\"" + if test -n "$unique" && test "`eval $cmd`" = "" ; then + eval "$1$unique=set" + $3 + fi +]) + +dnl +dnl PHP_EXPAND_PATH(path, variable) +dnl +dnl expands path to an absolute path and assigns it to variable +dnl +AC_DEFUN([PHP_EXPAND_PATH],[ + if test -z "$1" || echo "$1" | grep '^/' >/dev/null ; then + $2=$1 + else + changequote({,}) + ep_dir="`echo $1|$SED 's%/*[^/][^/]*/*$%%'`" + changequote([,]) + ep_realdir="`(cd \"$ep_dir\" && pwd)`" + $2="$ep_realdir/`basename \"$1\"`" + fi +]) + +dnl +dnl PHP_DEFINE(WHAT [, value[, directory]]) +dnl +dnl Creates builddir/include/what.h and in there #define WHAT value +dnl +AC_DEFUN([PHP_DEFINE],[ + [echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h] +]) + +dnl +dnl PHP_SUBST(varname) +dnl +dnl Adds variable with it's value into Makefile, e.g.: +dnl CC = gcc +dnl +AC_DEFUN([PHP_SUBST],[ + PHP_VAR_SUBST="$PHP_VAR_SUBST $1" +]) + +dnl +dnl PHP_SUBST_OLD(varname) +dnl +dnl Same as PHP_SUBST() but also substitutes all @VARNAME@ +dnl instances in every file passed to AC_OUTPUT() +dnl +AC_DEFUN([PHP_SUBST_OLD],[ + PHP_SUBST($1) + AC_SUBST($1) +]) + +dnl +dnl PHP_OUTPUT(file) +dnl +dnl Adds "file" to the list of files generated by AC_OUTPUT +dnl This macro can be used several times. +dnl +AC_DEFUN([PHP_OUTPUT],[ + PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1" +]) + + +dnl ------------------------------------------------------------------------- +dnl Build system base macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_CANONICAL_HOST_TARGET +dnl +AC_DEFUN([PHP_CANONICAL_HOST_TARGET],[ + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_CANONICAL_TARGET])dnl + dnl Make sure we do not continue if host_alias is empty. + if test -z "$host_alias" && test -n "$host"; then + host_alias=$host + fi + if test -z "$host_alias"; then + AC_MSG_ERROR([host_alias is not set!]) + fi +]) + +dnl +dnl PHP_INIT_BUILD_SYSTEM +dnl +AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[ +AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl +test -d include || $php_shtool mkdir include +> Makefile.objects +> Makefile.fragments +dnl We need to play tricks here to avoid matching the grep line itself +pattern=define +$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null +]) + +dnl +dnl PHP_GEN_GLOBAL_MAKEFILE +dnl +dnl Generates the global makefile. +dnl +AC_DEFUN([PHP_GEN_GLOBAL_MAKEFILE],[ + cat >Makefile <> Makefile + done + + cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile +]) + +dnl +dnl PHP_ADD_MAKEFILE_FRAGMENT([srcfile [, ext_srcdir [, ext_builddir]]]) +dnl +dnl Processes a file called Makefile.frag in the source directory +dnl of the most recently added extension. $(srcdir) and $(builddir) +dnl are substituted with the proper paths. Can be used to supply +dnl custom rules and/or additional targets. +dnl +AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[ + ifelse($1,,src=$ext_srcdir/Makefile.frag,src=$1) + ifelse($2,,ac_srcdir=$ext_srcdir,ac_srcdir=$2) + ifelse($3,,ac_builddir=$ext_builddir,ac_builddir=$3) + test -f "$src" && $SED -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments +]) + +dnl +dnl PHP_ADD_SOURCES(source-path, sources [, special-flags [, type]]) +dnl +dnl Adds sources which are located relative to source-path to the +dnl array of type type. Sources are processed with optional +dnl special-flags which are passed to the compiler. Sources +dnl can be either written in C or C++ (filenames shall end in .c +dnl or .cpp, respectively). +dnl +dnl Note: If source-path begins with a "/", the "/" is removed and +dnl the path is interpreted relative to the top build-directory. +dnl +dnl which array to append to? +AC_DEFUN([PHP_ADD_SOURCES],[ + PHP_ADD_SOURCES_X($1, $2, $3, ifelse($4,cli,PHP_CLI_OBJS,ifelse($4,sapi,PHP_SAPI_OBJS,PHP_GLOBAL_OBJS))) +]) + +dnl +dnl _PHP_ASSIGN_BUILD_VARS(type) +dnl internal, don't use +AC_DEFUN([_PHP_ASSIGN_BUILD_VARS],[ +ifelse($1,shared,[ + b_c_pre=$shared_c_pre + b_cxx_pre=$shared_cxx_pre + b_c_meta=$shared_c_meta + b_cxx_meta=$shared_cxx_meta + b_c_post=$shared_c_post + b_cxx_post=$shared_cxx_post +],[ + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post +])dnl + b_lo=[$]$1_lo +]) + +dnl +dnl PHP_ADD_SOURCES_X(source-path, sources[, special-flags[, target-var[, shared[, special-post-flags]]]]) +dnl +dnl Additional to PHP_ADD_SOURCES (see above), this lets you set the +dnl name of the array target-var directly, as well as whether +dnl shared objects will be built from the sources. +dnl +dnl Should not be used directly. +dnl +AC_DEFUN([PHP_ADD_SOURCES_X],[ +dnl relative to source- or build-directory? +dnl ac_srcdir/ac_bdir include trailing slash + case $1 in + ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*[)] ac_srcdir=`echo "$1"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$1/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + +dnl how to build .. shared or static? + ifelse($5,yes,_PHP_ASSIGN_BUILD_VARS(shared),_PHP_ASSIGN_BUILD_VARS(php)) + +dnl iterate over the sources + old_IFS=[$]IFS + for ac_src in $2; do + +dnl remove the suffix + IFS=. + set $ac_src + ac_obj=[$]1 + IFS=$old_IFS + +dnl append to the array which has been dynamically chosen at m4 time + $4="[$]$4 [$]ac_bdir[$]ac_obj.lo" + +dnl choose the right compiler/flags/etc. for the source-file + case $ac_src in + *.c[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.s[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.S[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; + *.cpp|*.cc|*.cxx[)] ac_comp="$b_cxx_pre $3 $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_cxx_post" ;; + esac + +dnl create a rule for the object/source combo + cat >>Makefile.objects< conftest.c + cmd='$CC $1 -c conftest.c' + if eval $cmd 2>&1 | $EGREP -e $1 >/dev/null ; then + ac_result=no + else + ac_result=yes + fi + eval $gcc_arg_name=$ac_result + rm -f conftest.* + ]) + if eval test "\$$gcc_arg_name" = "yes"; then + $2 + else + : + $3 + fi +]) + +dnl +dnl PHP_LIBGCC_LIBPATH(gcc) +dnl +dnl Stores the location of libgcc in libgcc_libpath +dnl +AC_DEFUN([PHP_LIBGCC_LIBPATH],[ + changequote({,}) + libgcc_libpath=`$1 --print-libgcc-file-name|$SED 's%/*[^/][^/]*$%%'` + changequote([,]) +]) + +dnl ------------------------------------------------------------------------- +dnl Macros to modify LIBS, INCLUDES, etc. variables +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_REMOVE_USR_LIB(NAME) +dnl +dnl Removes all -L/usr/$PHP_LIBDIR entries from variable NAME +dnl +AC_DEFUN([PHP_REMOVE_USR_LIB],[ + unset ac_new_flags + for i in [$]$1; do + case [$]i in + -L/usr/$PHP_LIBDIR|-L/usr/$PHP_LIBDIR/[)] ;; + *[)] ac_new_flags="[$]ac_new_flags [$]i" ;; + esac + done + $1=[$]ac_new_flags +]) + +dnl +dnl PHP_EVAL_LIBLINE(libline, SHARED-LIBADD) +dnl +dnl Use this macro, if you need to add libraries and or library search +dnl paths to the PHP build system which are only given in compiler +dnl notation. +dnl +AC_DEFUN([PHP_EVAL_LIBLINE],[ + for ac_i in $1; do + case $ac_i in + -pthread[)] + if test "$ext_shared" = "yes"; then + $2="[$]$2 -pthread" + else + PHP_RUN_ONCE(EXTRA_LDFLAGS, [$ac_i], [EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i"]) + fi + ;; + -l*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_LIBRARY($ac_ii,1,$2) + ;; + -L*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_LIBPATH($ac_ii,$2) + ;; + esac + done +]) + +dnl +dnl PHP_EVAL_INCLINE(headerline) +dnl +dnl Use this macro, if you need to add header search paths to the PHP +dnl build system which are only given in compiler notation. +dnl +AC_DEFUN([PHP_EVAL_INCLINE],[ + for ac_i in $1; do + case $ac_i in + -I*[)] + ac_ii=`echo $ac_i|cut -c 3-` + PHP_ADD_INCLUDE($ac_ii) + ;; + esac + done +]) + +dnl internal, don't use +AC_DEFUN([_PHP_ADD_LIBPATH_GLOBAL],[ + PHP_RUN_ONCE(LIBPATH, $1, [ + test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$1" + LDFLAGS="$LDFLAGS -L$1" + PHP_RPATHS="$PHP_RPATHS $1" + ]) +])dnl +dnl +dnl +dnl PHP_ADD_LIBPATH(path [, SHARED-LIBADD]) +dnl +dnl Adds a path to linkpath/runpath (LDFLAGS) +dnl +AC_DEFUN([PHP_ADD_LIBPATH],[ + if test "$1" != "/usr/$PHP_LIBDIR" && test "$1" != "/usr/lib" && test "$1" != "/usr/lib64"; then + PHP_EXPAND_PATH($1, ai_p) + ifelse([$2],,[ + _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) + ],[ + if test "$ext_shared" = "yes"; then + $2="-L$ai_p [$]$2" + test -n "$ld_runpath_switch" && $2="$ld_runpath_switch$ai_p [$]$2" + else + _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) + fi + ]) + fi +]) + +dnl +dnl PHP_UTILIZE_RPATHS() +dnl +dnl builds RPATHS/LDFLAGS from PHP_RPATHS +dnl +AC_DEFUN([PHP_UTILIZE_RPATHS],[ + OLD_RPATHS=$PHP_RPATHS + unset PHP_RPATHS + + for i in $OLD_RPATHS; do +dnl Can be passed to native cc/libtool + PHP_LDFLAGS="$PHP_LDFLAGS -L$i" +dnl Libtool-specific + PHP_RPATHS="$PHP_RPATHS -R $i" +dnl cc-specific + NATIVE_RPATHS="$NATIVE_RPATHS $ld_runpath_switch$i" + done + + if test "$PHP_RPATH" = "no"; then + unset PHP_RPATHS + unset NATIVE_RPATHS + fi +]) + +dnl +dnl PHP_ADD_INCLUDE(path [,before]) +dnl +dnl add an include path. +dnl if before is 1, add in the beginning of INCLUDES. +dnl +AC_DEFUN([PHP_ADD_INCLUDE],[ + if test "$1" != "/usr/include"; then + PHP_EXPAND_PATH($1, ai_p) + PHP_RUN_ONCE(INCLUDEPATH, $ai_p, [ + if test "$2"; then + INCLUDES="-I$ai_p $INCLUDES" + else + INCLUDES="$INCLUDES -I$ai_p" + fi + ]) + fi +]) + +dnl internal, don't use +AC_DEFUN([_PHP_X_ADD_LIBRARY],[dnl + ifelse([$2],,$3="-l$1 [$]$3", $3="[$]$3 -l$1") dnl +])dnl +dnl +dnl internal, don't use +AC_DEFUN([_PHP_ADD_LIBRARY_SKELETON],[ + case $1 in + c|c_r|pthread*[)] ;; + *[)] ifelse($3,,[ + _PHP_X_ADD_LIBRARY($1,$2,$5) + ],[ + if test "$ext_shared" = "yes"; then + _PHP_X_ADD_LIBRARY($1,$2,$3) + else + $4($1,$2) + fi + ]) ;; + esac +])dnl +dnl +dnl +dnl PHP_ADD_LIBRARY(library[, append[, shared-libadd]]) +dnl +dnl add a library to the link line +dnl +AC_DEFUN([PHP_ADD_LIBRARY],[ + _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY],[LIBS]) +]) + +dnl +dnl PHP_ADD_LIBRARY_DEFER(library[, append[, shared-libadd]]) +dnl +dnl add a library to the link line (deferred, not used during configure) +dnl +AC_DEFUN([PHP_ADD_LIBRARY_DEFER],[ + _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY_DEFER],[DLIBS]) +]) + +dnl +dnl PHP_ADD_LIBRARY_WITH_PATH(library, path[, shared-libadd]) +dnl +dnl add a library to the link line and path to linkpath/runpath. +dnl if shared-libadd is not empty and $ext_shared is yes, +dnl shared-libadd will be assigned the library information +dnl +AC_DEFUN([PHP_ADD_LIBRARY_WITH_PATH],[ +ifelse($3,,[ + if test -n "$2"; then + PHP_ADD_LIBPATH($2) + fi + PHP_ADD_LIBRARY($1) +],[ + if test "$ext_shared" = "yes"; then + $3="-l$1 [$]$3" + if test -n "$2"; then + PHP_ADD_LIBPATH($2,$3) + fi + else + PHP_ADD_LIBRARY_WITH_PATH($1,$2) + fi +]) +]) + +dnl +dnl PHP_ADD_LIBRARY_DEFER_WITH_PATH(library, path[, shared-libadd]) +dnl +dnl add a library to the link line (deferred) +dnl and path to linkpath/runpath (not deferred) +dnl if shared-libadd is not empty and $ext_shared is yes, +dnl shared-libadd will be assigned the library information +dnl +AC_DEFUN([PHP_ADD_LIBRARY_DEFER_WITH_PATH],[ +ifelse($3,,[ + if test -n "$2"; then + PHP_ADD_LIBPATH($2) + fi + PHP_ADD_LIBRARY_DEFER($1) +],[ + if test "$ext_shared" = "yes"; then + $3="-l$1 [$]$3" + if test -n "$2"; then + PHP_ADD_LIBPATH($2,$3) + fi + else + PHP_ADD_LIBRARY_DEFER_WITH_PATH($1,$2) + fi +]) +]) + +dnl +dnl PHP_ADD_FRAMEWORK(framework [,before]) +dnl +dnl add a (Darwin / Mac OS X) framework to the link +dnl line. if before is 1, the framework is added +dnl to the beginning of the line. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORK], [ + PHP_RUN_ONCE(FRAMEWORKS, $1, [ + if test "$2"; then + PHP_FRAMEWORKS="-framework $1 $PHP_FRAMEWORKS" + else + PHP_FRAMEWORKS="$PHP_FRAMEWORKS -framework $1" + fi + ]) +]) + +dnl +dnl PHP_ADD_FRAMEWORKPATH(path [,before]) +dnl +dnl add a (Darwin / Mac OS X) framework path to the link +dnl and include lines. default paths include (but are +dnl not limited to) /Local/Library/Frameworks and +dnl /System/Library/Frameworks, so these don't need +dnl to be specifically added. if before is 1, the +dnl framework path is added to the beginning of the +dnl relevant lines. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORKPATH], [ + PHP_EXPAND_PATH($1, ai_p) + PHP_RUN_ONCE(FRAMEWORKPATH, $ai_p, [ + if test "$2"; then + PHP_FRAMEWORKPATH="-F$ai_p $PHP_FRAMEWORKPATH" + else + PHP_FRAMEWORKPATH="$PHP_FRAMEWORKPATH -F$ai_p" + fi + ]) +]) + +dnl +dnl PHP_ADD_FRAMEWORK_WITH_PATH(framework, path) +dnl +dnl Adds a (Darwin / Mac OS X) framework path and the +dnl framework itself to the link and include lines. +dnl +AC_DEFUN([PHP_ADD_FRAMEWORK_WITH_PATH], [ + PHP_ADD_FRAMEWORKPATH($2) + PHP_ADD_FRAMEWORK($1) +]) + +dnl +dnl PHP_SET_LIBTOOL_VARIABLE(var) +dnl +dnl Set libtool variable +dnl +AC_DEFUN([PHP_SET_LIBTOOL_VARIABLE],[ + if test -z "$LIBTOOL"; then + LIBTOOL='$(SHELL) $(top_builddir)/libtool $1' + else + LIBTOOL="$LIBTOOL $1" + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Wrapper macros for AC_ARG_WITH / AC_ARG_ENABLE +dnl ------------------------------------------------------------------------- + +dnl PHP_ARG_ANALYZE_EX +dnl internal +AC_DEFUN([PHP_ARG_ANALYZE_EX],[ +ext_output="yes, shared" +ext_shared=yes +case [$]$1 in +shared,*[)] + $1=`echo "[$]$1"|$SED 's/^shared,//'` + ;; +shared[)] + $1=yes + ;; +no[)] + ext_output=no + ext_shared=no + ;; +*[)] + ext_output=yes + ext_shared=no + ;; +esac + +PHP_ALWAYS_SHARED([$1]) +]) + +dnl PHP_ARG_ANALYZE +dnl internal +AC_DEFUN([PHP_ARG_ANALYZE],[ +ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])],[ext_output=ifelse([$]$1,,no,[$]$1)]) +ifelse([$2],,,[AC_MSG_RESULT([$ext_output])]) +]) + +dnl +dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val[, extension-or-not]]) +dnl Sets PHP_ARG_NAME either to the user value or to the default value. +dnl default-val defaults to no. This will also set the variable ext_shared, +dnl and will overwrite any previous variable of that name. +dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run +dnl the PHP_ARG_ANALYZE_EX. +dnl +AC_DEFUN([PHP_ARG_WITH],[ +php_with_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) +PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) +]) + +dnl PHP_REAL_ARG_WITH +dnl internal +AC_DEFUN([PHP_REAL_ARG_WITH],[ +ifelse([$2],,,[AC_MSG_CHECKING([$2])]) +AC_ARG_WITH($1,[$3],$5=[$]withval, +[ + $5=ifelse($4,,no,$4) + + if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then + $5=$PHP_ENABLE_ALL + fi +]) +PHP_ARG_ANALYZE($5,[$2],$6) +]) + +dnl +dnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val[, extension-or-not]]) +dnl Sets PHP_ARG_NAME either to the user value or to the default value. +dnl default-val defaults to no. This will also set the variable ext_shared, +dnl and will overwrite any previous variable of that name. +dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run +dnl the PHP_ARG_ANALYZE_EX. +dnl +AC_DEFUN([PHP_ARG_ENABLE],[ +php_enable_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) +PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) +]) + +dnl PHP_REAL_ARG_ENABLE +dnl internal +AC_DEFUN([PHP_REAL_ARG_ENABLE],[ +ifelse([$2],,,[AC_MSG_CHECKING([$2])]) +AC_ARG_ENABLE($1,[$3],$5=[$]enableval, +[ + $5=ifelse($4,,no,$4) + + if test "$PHP_ENABLE_ALL" && test "$6" = "yes"; then + $5=$PHP_ENABLE_ALL + fi +]) +PHP_ARG_ANALYZE($5,[$2],$6) +]) + +dnl ------------------------------------------------------------------------- +dnl Build macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_BUILD_THREAD_SAFE +dnl +AC_DEFUN([PHP_BUILD_THREAD_SAFE],[ + enable_maintainer_zts=yes + if test "$pthreads_working" != "yes"; then + AC_MSG_ERROR([ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads.]) + fi +]) + +dnl +dnl PHP_REQUIRE_CXX +dnl +AC_DEFUN([PHP_REQUIRE_CXX],[ + if test -z "$php_cxx_done"; then + AC_PROG_CXX + AC_PROG_CXXCPP + php_cxx_done=yes + fi +]) + +dnl +dnl PHP_BUILD_SHARED +dnl +AC_DEFUN([PHP_BUILD_SHARED],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] + php_build_target=shared + + php_c_pre=$shared_c_pre + php_c_meta=$shared_c_meta + php_c_post=$shared_c_post + php_cxx_pre=$shared_cxx_pre + php_cxx_meta=$shared_cxx_meta + php_cxx_post=$shared_cxx_post + php_lo=$shared_lo +]) + +dnl +dnl PHP_BUILD_STATIC +dnl +AC_DEFUN([PHP_BUILD_STATIC],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] + php_build_target=static +]) + +dnl +dnl PHP_BUILD_BUNDLE +dnl +AC_DEFUN([PHP_BUILD_BUNDLE],[ + PHP_BUILD_PROGRAM + OVERALL_TARGET=libs/libphp[]$PHP_MAJOR_VERSION[.bundle] + php_build_target=static +]) + +dnl +dnl PHP_BUILD_PROGRAM +dnl +AC_DEFUN([PHP_BUILD_PROGRAM],[ + OVERALL_TARGET=[]ifelse($1,,php,$1) + php_c_pre='$(LIBTOOL) --mode=compile $(CC)' + php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' + php_c_post= + php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' + php_cxx_post= + php_lo=lo + + case $with_pic in + yes) pic_setting='-prefer-pic';; + no) pic_setting='-prefer-non-pic';; + esac + + shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' + shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting + shared_c_post= + shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting + shared_cxx_post= + shared_lo=lo + + php_build_target=program +]) + +dnl +dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx) +dnl +dnl Basically sets up the link-stage for building module-name +dnl from object_var in build-dir. +dnl +AC_DEFUN([PHP_SHARED_MODULE],[ + install_modules="install-modules" + + case $host_alias in + *aix*[)] + suffix=so + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -Wl,-G -o '$3'/$1.la -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) && mv -f '$3'/.libs/$1.so '$3'/$1.so' + ;; + *netware*[)] + suffix=nlm + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)' + ;; + *[)] + suffix=la + link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)' + ;; + esac + + PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix" + PHP_SUBST($2) + cat >>Makefile.objects<> $2 +]) +dnl +dnl _PHP_CHECK_SIZEOF(type, cross-value, extra-headers [, found-action [, not-found-action]]) +dnl +AC_DEFUN([_PHP_CHECK_SIZEOF], [ + php_cache_value=php_cv_sizeof_[]$1 + AC_CACHE_VAL(php_cv_sizeof_[]$1, [ + old_LIBS=$LIBS + LIBS= + old_LDFLAGS=$LDFLAGS + LDFLAGS= + AC_TRY_RUN([#include +#if STDC_HEADERS +#include +#include +#endif +#ifdef HAVE_INTTYPES_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +$3 + +int main() +{ + FILE *fp = fopen("conftestval", "w"); + if (!fp) return(1); + fprintf(fp, "%d\n", sizeof($1)); + return(0); +} + ], [ + eval $php_cache_value=`cat conftestval` + ], [ + eval $php_cache_value=0 + ], [ + ifelse([$2],,[eval $php_cache_value=0], [eval $php_cache_value=$2]) +]) + LDFLAGS=$old_LDFLAGS + LIBS=$old_LIBS +]) + if eval test "\$$php_cache_value" != "0"; then +ifelse([$4],[],:,[$4]) +ifelse([$5],[],,[else $5]) + fi +]) + +dnl +dnl PHP_CHECK_SIZEOF(type, cross-value, extra-headers) +dnl +AC_DEFUN(PHP_CHECK_SIZEOF, [ + AC_MSG_CHECKING([size of $1]) + _PHP_CHECK_SIZEOF($1, $2, $3, [ + AC_DEFINE_UNQUOTED([SIZEOF_]translit($1,a-z,A-Z_), [$]php_cv_sizeof_[]$1, [Size of $1]) + AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z,A-Z_), 1, [Whether $1 is available]) + ]) + AC_MSG_RESULT([[$][php_cv_sizeof_]translit($1, ,_)]) +]) + +dnl +dnl PHP_CHECK_TYPES(type-list, include-file [, extra-headers]) +dnl +AC_DEFUN([PHP_CHECK_TYPES], [ + for php_typename in $1; do + AC_MSG_CHECKING([whether $php_typename exists]) + _PHP_CHECK_SIZEOF($php_typename, 0, $3, [ + _PHP_DEF_HAVE_FILE($php_typename, $2) + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + done +]) + +dnl +dnl PHP_CHECK_IN_ADDR_T +dnl +AC_DEFUN([PHP_CHECK_IN_ADDR_T], [ +dnl AIX keeps in_addr_t in /usr/include/netinet/in.h +AC_MSG_CHECKING([for in_addr_t]) +AC_CACHE_VAL(ac_cv_type_in_addr_t, +[AC_EGREP_CPP(dnl +changequote(<<,>>)dnl +<>dnl +changequote([,]), [#include +#if STDC_HEADERS +#include +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif], ac_cv_type_in_addr_t=yes, ac_cv_type_in_addr_t=no)])dnl +AC_MSG_RESULT([$ac_cv_type_in_addr_t]) +if test $ac_cv_type_in_addr_t = no; then + AC_DEFINE(in_addr_t, u_int, [ ]) +fi +]) + +dnl +dnl PHP_TIME_R_TYPE +dnl +dnl Check type of reentrant time-related functions +dnl Type can be: irix, hpux or POSIX +dnl +AC_DEFUN([PHP_TIME_R_TYPE],[ +AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[ +AC_TRY_RUN([ +#include + +main() { +char buf[27]; +struct tm t; +time_t old = 0; +int r, s; + +s = gmtime_r(&old, &t); +r = (int) asctime_r(&t, buf, 26); +if (r == s && s == 0) return (0); +return (1); +} +],[ + ac_cv_time_r_type=hpux +],[ + AC_TRY_RUN([ +#include +main() { + struct tm t, *s; + time_t old = 0; + char buf[27], *p; + + s = gmtime_r(&old, &t); + p = asctime_r(&t, buf, 26); + if (p == buf && s == &t) return (0); + return (1); +} + ],[ + ac_cv_time_r_type=irix + ],[ + ac_cv_time_r_type=POSIX + ],[ + ac_cv_time_r_type=POSIX + ]) +],[ + ac_cv_time_r_type=POSIX +]) +]) + case $ac_cv_time_r_type in + hpux[)] AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;; + irix[)] AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;; + esac +]) + +dnl +dnl PHP_DOES_PWRITE_WORK +dnl internal +AC_DEFUN([PHP_DOES_PWRITE_WORK],[ + AC_TRY_RUN([ +#include +#include +#include +#include +#include +$1 + main() { + int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600); + + if (fd < 0) exit(1); + if (pwrite(fd, "text", 4, 0) != 4) exit(1); + /* Linux glibc breakage until 2.2.5 */ + if (pwrite(fd, "text", 4, -1) != -1 || errno != EINVAL) exit(1); + exit(0); + } + + ],[ + ac_cv_pwrite=yes + ],[ + ac_cv_pwrite=no + ],[ + ac_cv_pwrite=no + ]) +]) + +dnl PHP_DOES_PREAD_WORK +dnl internal +AC_DEFUN([PHP_DOES_PREAD_WORK],[ + echo test > conftest_in + AC_TRY_RUN([ +#include +#include +#include +#include +#include +$1 + main() { + char buf[3]; + int fd = open("conftest_in", O_RDONLY); + if (fd < 0) exit(1); + if (pread(fd, buf, 2, 0) != 2) exit(1); + /* Linux glibc breakage until 2.2.5 */ + if (pread(fd, buf, 2, -1) != -1 || errno != EINVAL) exit(1); + exit(0); + } + ],[ + ac_cv_pread=yes + ],[ + ac_cv_pread=no + ],[ + ac_cv_pread=no + ]) + rm -f conftest_in +]) + +dnl +dnl PHP_PWRITE_TEST +dnl +AC_DEFUN([PHP_PWRITE_TEST],[ + AC_CACHE_CHECK(whether pwrite works,ac_cv_pwrite,[ + PHP_DOES_PWRITE_WORK + if test "$ac_cv_pwrite" = "no"; then + PHP_DOES_PWRITE_WORK([ssize_t pwrite(int, void *, size_t, off64_t);]) + if test "$ac_cv_pwrite" = "yes"; then + ac_cv_pwrite=64 + fi + fi + ]) + + if test "$ac_cv_pwrite" != "no"; then + AC_DEFINE(HAVE_PWRITE, 1, [ ]) + if test "$ac_cv_pwrite" = "64"; then + AC_DEFINE(PHP_PWRITE_64, 1, [whether pwrite64 is default]) + fi + fi +]) + +dnl +dnl PHP_PREAD_TEST +dnl +AC_DEFUN([PHP_PREAD_TEST],[ + AC_CACHE_CHECK(whether pread works,ac_cv_pread,[ + PHP_DOES_PREAD_WORK + if test "$ac_cv_pread" = "no"; then + PHP_DOES_PREAD_WORK([ssize_t pread(int, void *, size_t, off64_t);]) + if test "$ac_cv_pread" = "yes"; then + ac_cv_pread=64 + fi + fi + ]) + + if test "$ac_cv_pread" != "no"; then + AC_DEFINE(HAVE_PREAD, 1, [ ]) + if test "$ac_cv_pread" = "64"; then + AC_DEFINE(PHP_PREAD_64, 1, [whether pread64 is default]) + fi + fi +]) + +dnl +dnl PHP_MISSING_TIME_R_DECL +dnl +AC_DEFUN([PHP_MISSING_TIME_R_DECL],[ + AC_MSG_CHECKING([for missing declarations of reentrant functions]) + AC_TRY_COMPILE([#include ],[struct tm *(*func)() = localtime_r],[ + : + ],[ + AC_DEFINE(MISSING_LOCALTIME_R_DECL,1,[Whether localtime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[struct tm *(*func)() = gmtime_r],[ + : + ],[ + AC_DEFINE(MISSING_GMTIME_R_DECL,1,[Whether gmtime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = asctime_r],[ + : + ],[ + AC_DEFINE(MISSING_ASCTIME_R_DECL,1,[Whether asctime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = ctime_r],[ + : + ],[ + AC_DEFINE(MISSING_CTIME_R_DECL,1,[Whether ctime_r is declared]) + ]) + AC_TRY_COMPILE([#include ],[char *(*func)() = strtok_r],[ + : + ],[ + AC_DEFINE(MISSING_STRTOK_R_DECL,1,[Whether strtok_r is declared]) + ]) + AC_MSG_RESULT([done]) +]) + +dnl +dnl PHP_READDIR_R_TYPE +dnl +AC_DEFUN([PHP_READDIR_R_TYPE],[ + dnl HAVE_READDIR_R is also defined by libmysql + AC_CHECK_FUNC(readdir_r,ac_cv_func_readdir_r=yes,ac_cv_func_readdir=no) + if test "$ac_cv_func_readdir_r" = "yes"; then + AC_CACHE_CHECK(for type of readdir_r, ac_cv_what_readdir_r,[ + AC_TRY_RUN([ +#define _REENTRANT +#include +#include + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + +main() { + DIR *dir; + char entry[sizeof(struct dirent)+PATH_MAX]; + struct dirent *pentry = (struct dirent *) &entry; + + dir = opendir("/"); + if (!dir) + exit(1); + if (readdir_r(dir, (struct dirent *) entry, &pentry) == 0) + exit(0); + exit(1); +} + ],[ + ac_cv_what_readdir_r=POSIX + ],[ + AC_TRY_CPP([ +#define _REENTRANT +#include +#include +int readdir_r(DIR *, struct dirent *); + ],[ + ac_cv_what_readdir_r=old-style + ],[ + ac_cv_what_readdir_r=none + ]) + ],[ + ac_cv_what_readdir_r=none + ]) + ]) + case $ac_cv_what_readdir_r in + POSIX) + AC_DEFINE(HAVE_POSIX_READDIR_R,1,[whether you have POSIX readdir_r]);; + old-style) + AC_DEFINE(HAVE_OLD_READDIR_R,1,[whether you have old-style readdir_r]);; + esac + fi +]) + +dnl +dnl PHP_TM_GMTOFF +dnl +AC_DEFUN([PHP_TM_GMTOFF],[ +AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, +[AC_TRY_COMPILE([#include +#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;], + ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)]) + +if test "$ac_cv_struct_tm_gmtoff" = yes; then + AC_DEFINE(HAVE_TM_GMTOFF,1,[whether you have tm_gmtoff in struct tm]) +fi +]) + +dnl +dnl PHP_STRUCT_FLOCK +dnl +AC_DEFUN([PHP_STRUCT_FLOCK],[ +AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock, + AC_TRY_COMPILE([ +#include +#include + ], + [struct flock x;], + [ + ac_cv_struct_flock=yes + ],[ + ac_cv_struct_flock=no + ]) +) +if test "$ac_cv_struct_flock" = "yes" ; then + AC_DEFINE(HAVE_STRUCT_FLOCK, 1,[whether you have struct flock]) +fi +]) + +dnl +dnl PHP_SOCKLEN_T +dnl +AC_DEFUN([PHP_SOCKLEN_T],[ +AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t, + AC_TRY_COMPILE([ +#include +#include +],[ +socklen_t x; +],[ + ac_cv_socklen_t=yes +],[ + ac_cv_socklen_t=no +])) +if test "$ac_cv_socklen_t" = "yes"; then + AC_DEFINE(HAVE_SOCKLEN_T, 1, [Whether you have socklen_t]) +fi +]) + +dnl +dnl PHP_MISSING_FCLOSE_DECL +dnl +dnl See if we have broken header files like SunOS has. +dnl +AC_DEFUN([PHP_MISSING_FCLOSE_DECL],[ + AC_MSG_CHECKING([for fclose declaration]) + AC_TRY_COMPILE([#include ],[int (*func)() = fclose],[ + AC_DEFINE(MISSING_FCLOSE_DECL,0,[ ]) + AC_MSG_RESULT([ok]) + ],[ + AC_DEFINE(MISSING_FCLOSE_DECL,1,[ ]) + AC_MSG_RESULT([missing]) + ]) +]) + +dnl +dnl PHP_AC_BROKEN_SPRINTF +dnl +dnl Check for broken sprintf(), C99 conformance +dnl +AC_DEFUN([PHP_AC_BROKEN_SPRINTF],[ + AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[ + AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[ + ac_cv_broken_sprintf=no + ],[ + ac_cv_broken_sprintf=yes + ],[ + ac_cv_broken_sprintf=no + ]) + ]) + if test "$ac_cv_broken_sprintf" = "yes"; then + AC_DEFINE(PHP_BROKEN_SPRINTF, 1, [Whether sprintf is C99 conform]) + else + AC_DEFINE(PHP_BROKEN_SPRINTF, 0, [Whether sprintf is C99 conform]) + fi +]) + +dnl +dnl PHP_AC_BROKEN_SNPRINTF +dnl +dnl Check for broken snprintf(), C99 conformance +dnl +AC_DEFUN([PHP_AC_BROKEN_SNPRINTF],[ + AC_CACHE_CHECK(whether snprintf is broken, ac_cv_broken_snprintf,[ + AC_TRY_RUN([ +#define NULL (0L) +main() { + char buf[20]; + int res = 0; + res = res || (snprintf(buf, 2, "marcus") != 6); + res = res || (buf[1] != '\0'); + /* Implementations may consider this as an encoding error */ + snprintf(buf, 0, "boerger"); + /* However, they MUST ignore the pointer */ + res = res || (buf[0] != 'm'); + res = res || (snprintf(NULL, 0, "boerger") != 7); + res = res || (snprintf(buf, sizeof(buf), "%f", 0.12345678) != 8); + exit(res); +} + ],[ + ac_cv_broken_snprintf=no + ],[ + ac_cv_broken_snprintf=yes + ],[ + ac_cv_broken_snprintf=no + ]) + ]) + if test "$ac_cv_broken_snprintf" = "yes"; then + AC_DEFINE(PHP_BROKEN_SNPRINTF, 1, [Whether snprintf is C99 conform]) + else + AC_DEFINE(PHP_BROKEN_SNPRINTF, 0, [Whether snprintf is C99 conform]) + fi +]) + +dnl +dnl PHP_SOLARIS_PIC_WEIRDNESS +dnl +dnl Solaris requires main code to be position independent in order +dnl to let shared objects find symbols. Weird. Ugly. +dnl +dnl Must be run after all --with-NN options that let the user +dnl choose dynamic extensions, and after the gcc test. +dnl +AC_DEFUN([PHP_SOLARIS_PIC_WEIRDNESS],[ + AC_MSG_CHECKING([whether -fPIC is required]) + if test -n "$EXT_SHARED"; then + os=`uname -sr 2>/dev/null` + case $os in + "SunOS 5.6"|"SunOS 5.7"[)] + case $CC in + gcc*|egcs*) + CFLAGS="$CFLAGS -fPIC";; + *[)] + CFLAGS="$CFLAGS -fpic";; + esac + AC_MSG_RESULT([yes]);; + *[)] + AC_MSG_RESULT([no]);; + esac + else + AC_MSG_RESULT([no]) + fi +]) + +dnl +dnl PHP_SYS_LFS +dnl +dnl The problem is that the default compilation flags in Solaris 2.6 won't +dnl let programs access large files; you need to tell the compiler that +dnl you actually want your programs to work on large files. For more +dnl details about this brain damage please see: +dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html +dnl +dnl Written by Paul Eggert . +dnl +AC_DEFUN([PHP_SYS_LFS], +[dnl + # If available, prefer support for large files unless the user specified + # one of the CPPFLAGS, LDFLAGS, or LIBS variables. + AC_MSG_CHECKING([whether large file support needs explicit enabling]) + ac_getconfs='' + ac_result=yes + ac_set='' + ac_shellvars='CPPFLAGS LDFLAGS LIBS' + for ac_shellvar in $ac_shellvars; do + case $ac_shellvar in + CPPFLAGS[)] ac_lfsvar=LFS_CFLAGS ;; + *[)] ac_lfsvar=LFS_$ac_shellvar ;; + esac + eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar + (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; } + ac_getconf=`getconf $ac_lfsvar` + ac_getconfs=$ac_getconfs$ac_getconf + eval ac_test_$ac_shellvar=\$ac_getconf + done + case "$ac_result$ac_getconfs" in + yes[)] ac_result=no ;; + esac + case "$ac_result$ac_set" in + yes?*[)] ac_result="yes, but $ac_set is already set, so use its settings" + esac + AC_MSG_RESULT([$ac_result]) + case $ac_result in + yes[)] + for ac_shellvar in $ac_shellvars; do + eval $ac_shellvar=\$ac_test_$ac_shellvar + done ;; + esac +]) + +dnl +dnl PHP_SOCKADDR_CHECKS +dnl +AC_DEFUN([PHP_SOCKADDR_CHECKS], [ + dnl Check for struct sockaddr_storage exists + AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage, + [AC_TRY_COMPILE([#include +#include ], + [struct sockaddr_storage s; s], + [ac_cv_sockaddr_storage=yes], [ac_cv_sockaddr_storage=no]) + ]) + if test "$ac_cv_sockaddr_storage" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Whether you have struct sockaddr_storage]) + fi + dnl Check if field sa_len exists in struct sockaddr + AC_CACHE_CHECK([for field sa_len in struct sockaddr],ac_cv_sockaddr_sa_len,[ + AC_TRY_COMPILE([#include +#include ], + [static struct sockaddr sa; int n = (int) sa.sa_len; return n;], + [ac_cv_sockaddr_sa_len=yes], [ac_cv_sockaddr_sa_len=no]) + ]) + if test "$ac_cv_sockaddr_sa_len" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has field sa_len]) + fi +]) + +dnl +dnl PHP_DECLARED_TIMEZONE +dnl +AC_DEFUN([PHP_DECLARED_TIMEZONE],[ + AC_CACHE_CHECK(for declared timezone, ac_cv_declared_timezone,[ + AC_TRY_COMPILE([ +#include +#include +#ifdef HAVE_SYS_TIME_H +#include +#endif +],[ + time_t foo = (time_t) timezone; +],[ + ac_cv_declared_timezone=yes +],[ + ac_cv_declared_timezone=no +])]) + if test "$ac_cv_declared_timezone" = "yes"; then + AC_DEFINE(HAVE_DECLARED_TIMEZONE, 1, [Whether system headers declare timezone]) + fi +]) + +dnl +dnl PHP_EBCDIC +dnl +AC_DEFUN([PHP_EBCDIC], [ + AC_CACHE_CHECK([whether system uses EBCDIC],ac_cv_ebcdic,[ + AC_TRY_RUN( [ +int main(void) { + return (unsigned char)'A' != (unsigned char)0xC1; +} +],[ + ac_cv_ebcdic=yes +],[ + ac_cv_ebcdic=no +],[ + ac_cv_ebcdic=no +])]) + if test "$ac_cv_ebcdic" = "yes"; then + AC_DEFINE(CHARSET_EBCDIC,1, [Define if system uses EBCDIC]) + fi +]) + +dnl +dnl PHP_BROKEN_GETCWD +dnl +dnl Some systems, notably Solaris, cause getcwd() or realpath to fail if a +dnl component of the path has execute but not read permissions +dnl +AC_DEFUN([PHP_BROKEN_GETCWD],[ + AC_MSG_CHECKING([for broken getcwd]) + os=`uname -sr 2>/dev/null` + case $os in + SunOS*[)] + AC_DEFINE(HAVE_BROKEN_GETCWD,1, [Define if system has broken getcwd]) + AC_MSG_RESULT([yes]);; + *[)] + AC_MSG_RESULT([no]);; + esac +]) + +dnl +dnl PHP_BROKEN_GLIBC_FOPEN_APPEND +dnl +AC_DEFUN([PHP_BROKEN_GLIBC_FOPEN_APPEND], [ + AC_MSG_CHECKING([for broken libc stdio]) + AC_CACHE_VAL(have_broken_glibc_fopen_append,[ + AC_TRY_RUN([ +#include +int main(int argc, char *argv[]) +{ + FILE *fp; + long position; + char *filename = "/tmp/phpglibccheck"; + + fp = fopen(filename, "w"); + if (fp == NULL) { + perror("fopen"); + exit(2); + } + fputs("foobar", fp); + fclose(fp); + + fp = fopen(filename, "a+"); + position = ftell(fp); + fclose(fp); + unlink(filename); + if (position == 0) + return 1; + return 0; +} +], +[have_broken_glibc_fopen_append=no], +[have_broken_glibc_fopen_append=yes ], +AC_TRY_COMPILE([ +#include +],[ +#if !__GLIBC_PREREQ(2,2) +choke me +#endif +], +[have_broken_glibc_fopen_append=yes], +[have_broken_glibc_fopen_append=no ]) +)]) + + if test "$have_broken_glibc_fopen_append" = "yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_BROKEN_GLIBC_FOPEN_APPEND,1, [Define if your glibc borks on fopen with mode a+]) + else + AC_MSG_RESULT(no) + fi +]) + +dnl +dnl PHP_FOPENCOOKIE +dnl +AC_DEFUN([PHP_FOPENCOOKIE], [ + AC_CHECK_FUNC(fopencookie, [have_glibc_fopencookie=yes]) + + if test "$have_glibc_fopencookie" = "yes"; then +dnl this comes in two flavors: +dnl newer glibcs (since 2.1.2 ? ) +dnl have a type called cookie_io_functions_t +AC_TRY_COMPILE([ +#define _GNU_SOURCE +#include +], [cookie_io_functions_t cookie;], [have_cookie_io_functions_t=yes], []) + + if test "$have_cookie_io_functions_t" = "yes"; then + cookie_io_functions_t=cookie_io_functions_t + have_fopen_cookie=yes + +dnl even newer glibcs have a different seeker definition... +AC_TRY_RUN([ +#define _GNU_SOURCE +#include + +struct cookiedata { + __off64_t pos; +}; + +__ssize_t reader(void *cookie, char *buffer, size_t size) +{ return size; } +__ssize_t writer(void *cookie, const char *buffer, size_t size) +{ return size; } +int closer(void *cookie) +{ return 0; } +int seeker(void *cookie, __off64_t *position, int whence) +{ ((struct cookiedata*)cookie)->pos = *position; return 0; } + +cookie_io_functions_t funcs = {reader, writer, seeker, closer}; + +main() { + struct cookiedata g = { 0 }; + FILE *fp = fopencookie(&g, "r", funcs); + + if (fp && fseek(fp, 8192, SEEK_SET) == 0 && g.pos == 8192) + exit(0); + exit(1); +} + +], [ + cookie_io_functions_use_off64_t=yes +], [ + cookie_io_functions_use_off64_t=no +], [ + cookie_io_functions_use_off64_t=no +]) + + else + +dnl older glibc versions (up to 2.1.2 ?) +dnl call it _IO_cookie_io_functions_t +AC_TRY_COMPILE([ +#define _GNU_SOURCE +#include +], [ _IO_cookie_io_functions_t cookie; ], [have_IO_cookie_io_functions_t=yes], []) + if test "$have_cookie_io_functions_t" = "yes" ; then + cookie_io_functions_t=_IO_cookie_io_functions_t + have_fopen_cookie=yes + fi + fi + + if test "$have_fopen_cookie" = "yes" ; then + AC_DEFINE(HAVE_FOPENCOOKIE, 1, [ ]) + AC_DEFINE_UNQUOTED(COOKIE_IO_FUNCTIONS_T, $cookie_io_functions_t, [ ]) + if test "$cookie_io_functions_use_off64_t" = "yes" ; then + AC_DEFINE(COOKIE_SEEKER_USES_OFF64_T, 1, [ ]) + fi + fi + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Library/function existance and build sanity checks +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_CHECK_LIBRARY(library, function [, action-found [, action-not-found [, extra-libs]]]) +dnl +dnl Wrapper for AC_CHECK_LIB +dnl +AC_DEFUN([PHP_CHECK_LIBRARY], [ + save_old_LDFLAGS=$LDFLAGS + ac_stuff="$5" + + save_ext_shared=$ext_shared + ext_shared=yes + PHP_EVAL_LIBLINE([$]ac_stuff, LDFLAGS) + AC_CHECK_LIB([$1],[$2],[ + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + $3 + ],[ + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + unset ac_cv_lib_$1[]_$2 + $4 + ])dnl +]) + +dnl +dnl PHP_CHECK_FRAMEWORK(framework, function [, action-found [, action-not-found ]]) +dnl +dnl El cheapo wrapper for AC_CHECK_LIB +dnl +AC_DEFUN([PHP_CHECK_FRAMEWORK], [ + save_old_LDFLAGS=$LDFLAGS + LDFLAGS="-framework $1 $LDFLAGS" + dnl supplying "c" to AC_CHECK_LIB is technically cheating, but + dnl rewriting AC_CHECK_LIB is overkill and this only affects + dnl the "checking.." output anyway. + AC_CHECK_LIB(c,[$2],[ + LDFLAGS=$save_old_LDFLAGS + $3 + ],[ + LDFLAGS=$save_old_LDFLAGS + $4 + ]) +]) + +dnl +dnl PHP_CHECK_FUNC_LIB(func, libs) +dnl +dnl This macro checks whether 'func' or '__func' exists +dnl in the specified library. +dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. +dnl This should be called in the ACTION-IF-NOT-FOUND part of PHP_CHECK_FUNC +dnl +dnl +dnl autoconf undefines the builtin "shift" :-( +dnl If possible, we use the builtin shift anyway, otherwise we use +dnl the ubercool definition I have tested so far with FreeBSD/GNU m4 +ifdef([builtin],[builtin(define, phpshift, [builtin(shift, $@)])],[ +define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])))])]) +]) +dnl +AC_DEFUN([PHP_CHECK_FUNC_LIB],[ + ifelse($2,,:,[ + unset ac_cv_lib_$2[]_$1 + unset ac_cv_lib_$2[]___$1 + unset found + AC_CHECK_LIB($2, $1, [found=yes], [ + AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) + ]) + + if test "$found" = "yes"; then + ac_libs=$LIBS + LIBS="$LIBS -l$2" + AC_TRY_RUN([main() { return (0); }],[found=yes],[found=no],[found=no]) + LIBS=$ac_libs + fi + + if test "$found" = "yes"; then + PHP_ADD_LIBRARY($2) + PHP_DEF_HAVE($1) + PHP_DEF_HAVE(lib$2) + ac_cv_func_$1=yes + else + PHP_CHECK_FUNC_LIB($1,phpshift(phpshift($@))) + fi + ]) +]) + +dnl +dnl PHP_CHECK_FUNC(func, ...) +dnl +dnl This macro checks whether 'func' or '__func' exists +dnl in the default libraries and as a fall back in the specified library. +dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. +dnl +AC_DEFUN([PHP_CHECK_FUNC],[ + unset ac_cv_func_$1 + unset ac_cv_func___$1 + unset found + + AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) + + case $found in + yes[)] + PHP_DEF_HAVE($1) + ac_cv_func_$1=yes + ;; + ifelse($#,1,,[ + *[)] PHP_CHECK_FUNC_LIB($@) ;; + ]) + esac +]) + +dnl +dnl PHP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs [, extra-source]]) +dnl +dnl This macro checks whether build works and given function exists. +dnl +AC_DEFUN([PHP_TEST_BUILD], [ + old_LIBS=$LIBS + LIBS="$4 $LIBS" + AC_TRY_RUN([ + $5 + char $1(); + int main() { + $1(); + return 0; + } + ], [ + LIBS=$old_LIBS + $2 + ],[ + LIBS=$old_LIBS + $3 + ],[ + LIBS=$old_LIBS + ]) +]) + +dnl ------------------------------------------------------------------------- +dnl Platform characteristics checks +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_SHLIB_SUFFIX_NAMES +dnl +dnl Determines link library suffix SHLIB_SUFFIX_NAME +dnl which can be: .so, .sl or .dylib +dnl +dnl Determines shared library suffix SHLIB_DL_SUFFIX_NAME +dnl suffix can be: .so or .sl +dnl +AC_DEFUN([PHP_SHLIB_SUFFIX_NAMES],[ + AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl + PHP_SUBST_OLD(SHLIB_SUFFIX_NAME) + PHP_SUBST_OLD(SHLIB_DL_SUFFIX_NAME) + SHLIB_SUFFIX_NAME=so + SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME + case $host_alias in + *hpux*[)] + SHLIB_SUFFIX_NAME=sl + SHLIB_DL_SUFFIX_NAME=sl + ;; + *darwin*[)] + SHLIB_SUFFIX_NAME=dylib + SHLIB_DL_SUFFIX_NAME=so + ;; + esac +]) + +dnl +dnl PHP_CHECK_64BIT([do if 32], [do if 64]) +dnl +dnl This macro is used to detect if we're at 64-bit platform or not. +dnl It could be useful for those external libs, that have different precompiled +dnl versions in different directories. +dnl +AC_DEFUN([PHP_CHECK_64BIT],[ + AC_CHECK_SIZEOF(long int, 4) + AC_MSG_CHECKING([checking if we're at 64-bit platform]) + if test "$ac_cv_sizeof_long_int" = "4" ; then + AC_MSG_RESULT([no]) + $1 + else + AC_MSG_RESULT([yes]) + $2 + fi +]) + +dnl +dnl PHP_C_BIGENDIAN +dnl +dnl Replacement macro for AC_C_BIGENDIAN +dnl +AC_DEFUN([PHP_C_BIGENDIAN], +[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php, + [ + ac_cv_c_bigendian_php=unknown + AC_TRY_RUN( + [ +int main(void) +{ + short one = 1; + char *cp = (char *)&one; + + if (*cp == 0) { + return(0); + } else { + return(1); + } +} + ], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown]) + ]) + if test $ac_cv_c_bigendian_php = yes; then + AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word]) + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Checks for programs: PHP_PROG_ +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_PROG_SENDMAIL +dnl +dnl Search for the sendmail binary +dnl +AC_DEFUN([PHP_PROG_SENDMAIL], [ + PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib:/usr/lib64 + AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:$PHP_ALT_PATH) + PHP_SUBST(PROG_SENDMAIL) +]) + +dnl +dnl PHP_PROG_AWK +dnl +dnl Some vendors force mawk before gawk; mawk is broken so we don't like that +dnl +AC_DEFUN([PHP_PROG_AWK], [ + AC_CHECK_PROGS(AWK, gawk nawk awk mawk, bork, /usr/xpg4/bin/:$PATH) + case "$AWK" in + *mawk) + AC_MSG_WARN([mawk is known to have problems on some systems. You should install GNU awk]) + ;; + *gawk) + ;; + bork) + AC_MSG_ERROR([Could not find awk; Install GNU awk]) + ;; + *) + AC_MSG_CHECKING([if $AWK is broken]) + if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then + AC_MSG_RESULT([yes]) + AC_MSG_ERROR([You should install GNU awk]) + else + AC_MSG_RESULT([no]) + fi + ;; + esac + PHP_SUBST(AWK) +]) + +dnl +dnl PHP_PROG_BISON +dnl +dnl Search for bison and check it's version +dnl +AC_DEFUN([PHP_PROG_BISON], [ + AC_PROG_YACC + LIBZEND_BISON_CHECK + PHP_SUBST(YACC) +]) + +dnl +dnl PHP_PROG_LEX +dnl +dnl Search for (f)lex and check it's version +dnl +AC_DEFUN([PHP_PROG_LEX], [ +dnl we only support certain flex versions + flex_version_list="2.5.4" + + AC_PROG_LEX + if test "$LEX" = "flex"; then +dnl AC_DECL_YYTEXT is obsolete since autoconf 2.50 and merged into AC_PROG_LEX +dnl this is what causes that annoying "PHP_PROG_LEX is expanded from" warning with autoconf 2.50+ +dnl it should be removed once we drop support of autoconf 2.13 (if ever) + AC_DECL_YYTEXT + : + fi + dnl ## Make flex scanners use const if they can, even if __STDC__ is not + dnl ## true, for compilers like Sun's that only set __STDC__ true in + dnl ## "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode + AC_C_CONST + if test "$ac_cv_c_const" = "yes" ; then + LEX_CFLAGS="-DYY_USE_CONST" + fi + + if test "$LEX" = "flex"; then + AC_CACHE_CHECK([for flex version], php_cv_flex_version, [ + flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'` + php_cv_flex_version=invalid + for flex_check_version in $flex_version_list; do + if test "$flex_version" = "$flex_check_version"; then + php_cv_flex_version="$flex_check_version (ok)" + fi + done + ]) + else + flex_version=none + fi + + case $php_cv_flex_version in + ""|invalid[)] + if test -f "$abs_srcdir/Zend/zend_language_scanner.c" && test -f "$abs_srcdir/Zend/zend_ini_scanner.c"; then + AC_MSG_WARN([flex versions supported for regeneration of the Zend/PHP parsers: $flex_version_list (found: $flex_version)]) + else + flex_msg="Supported flex versions are: $flex_version_list" + if test "$flex_version" = "none"; then + flex_msg="flex not found. flex is required to generate the Zend/PHP parsers! $flex_msg" + else + flex_msg="Found invalid flex version: $flex_version. $flex_msg" + fi + AC_MSG_ERROR([$flex_msg]) + fi + LEX="exit 0;" + ;; + esac + PHP_SUBST(LEX) +]) + +dnl +dnl PHP_PROG_RE2C +dnl +dnl Search for the re2c binary and check the version +dnl +AC_DEFUN([PHP_PROG_RE2C],[ + AC_CHECK_PROG(RE2C, re2c, re2c) + if test -n "$RE2C"; then + AC_CACHE_CHECK([for re2c version], php_cv_re2c_version, [ + re2c_vernum=`re2c --vernum 2>/dev/null` + if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1200"; then + php_cv_re2c_version=invalid + else + php_cv_re2c_version="`re2c --version | cut -d ' ' -f 2 2>/dev/null` (ok)" + fi + ]) + fi + case $php_cv_re2c_version in + ""|invalid[)] + AC_MSG_WARN([You will need re2c 0.12.0 or later if you want to regenerate PHP parsers.]) + RE2C="exit 0;" + ;; + esac + PHP_SUBST(RE2C) +]) + +dnl ------------------------------------------------------------------------- +dnl Common setup macros: PHP_SETUP_ +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_SETUP_ICU([shared-add]) +dnl +dnl Common setup macro for ICU +dnl +AC_DEFUN([PHP_SETUP_ICU],[ + PHP_ARG_WITH(icu-dir,, + [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) + + if test "$PHP_ICU_DIR" = "no"; then + PHP_ICU_DIR=DEFAULT + fi + + if test "$PHP_ICU_DIR" = "DEFAULT"; then + dnl Try to find icu-config + AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) + else + ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" + fi + + AC_MSG_CHECKING([for location of ICU headers and libraries]) + + dnl Trust icu-config to know better what the install prefix is.. + icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` + if test "$?" != "0" || test -z "$icu_install_prefix"; then + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) + else + AC_MSG_RESULT([$icu_install_prefix]) + + dnl Check ICU version + AC_MSG_CHECKING([for ICU 3.4 or greater]) + icu_version_full=`$ICU_CONFIG --version` + ac_IFS=$IFS + IFS="." + set $icu_version_full + IFS=$ac_IFS + icu_version=`expr [$]1 \* 1000 + [$]2` + AC_MSG_RESULT([found $icu_version_full]) + + if test "$icu_version" -lt "3004"; then + AC_MSG_ERROR([ICU version 3.4 or later is required]) + fi + + ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` + ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` + PHP_EVAL_INCLINE($ICU_INCS) + PHP_EVAL_LIBLINE($ICU_LIBS, $1) + fi +]) + +dnl +dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for kerberos +dnl +AC_DEFUN([PHP_SETUP_KERBEROS],[ + found_kerberos=no + unset KERBEROS_CFLAGS + unset KERBEROS_LIBS + + dnl First try to find krb5-config + if test -z "$KRB5_CONFIG"; then + AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin]) + fi + + dnl If krb5-config is found try using it + if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then + KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi` + KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi` + + if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then + found_kerberos=yes + PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1) + PHP_EVAL_INCLINE($KERBEROS_CFLAGS) + fi + fi + + dnl If still not found use old skool method + if test "$found_kerberos" = "no"; then + + if test "$PHP_KERBEROS" = "yes"; then + PHP_KERBEROS="/usr/kerberos /usr/local /usr" + fi + + for i in $PHP_KERBEROS; do + if test -f $i/$PHP_LIBDIR/libkrb5.a || test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME; then + PHP_KERBEROS_DIR=$i + break + fi + done + + if test "$PHP_KERBEROS_DIR"; then + found_kerberos=yes + PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, $1) + PHP_ADD_LIBRARY(gssapi_krb5, 1, $1) + PHP_ADD_LIBRARY(krb5, 1, $1) + PHP_ADD_LIBRARY(k5crypto, 1, $1) + PHP_ADD_LIBRARY(com_err, 1, $1) + PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include) + fi + fi + + if test "$found_kerberos" = "yes"; then +ifelse([$2],[],:,[$2]) +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for openssl +dnl +AC_DEFUN([PHP_SETUP_OPENSSL],[ + found_openssl=no + unset OPENSSL_INCDIR + unset OPENSSL_LIBDIR + + dnl Empty variable means 'no' + test -z "$PHP_OPENSSL" && PHP_OPENSSL=no + test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no + + dnl Fallbacks for different configure options + if test "$PHP_OPENSSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_OPENSSL + elif test "$PHP_IMAP_SSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_IMAP_SSL + fi + + dnl First try to find pkg-config + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + dnl If pkg-config is found try using it + if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then + if $PKG_CONFIG --atleast-version=0.9.6 openssl; then + found_openssl=yes + OPENSSL_LIBS=`$PKG_CONFIG --libs openssl` + OPENSSL_INCS=`$PKG_CONFIG --cflags-only-I openssl` + OPENSSL_INCDIR=`$PKG_CONFIG --variable=includedir openssl` + else + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + fi + + if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then + PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) + PHP_EVAL_INCLINE($OPENSSL_INCS) + fi + fi + + dnl If pkg-config fails for some reason, revert to the old method + if test "$found_openssl" = "no"; then + + if test "$PHP_OPENSSL_DIR" = "yes"; then + PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" + fi + + for i in $PHP_OPENSSL_DIR; do + if test -r $i/include/openssl/evp.h; then + OPENSSL_INCDIR=$i/include + fi + if test -r $i/$PHP_LIBDIR/libssl.a -o -r $i/$PHP_LIBDIR/libssl.$SHLIB_SUFFIX_NAME; then + OPENSSL_LIBDIR=$i/$PHP_LIBDIR + fi + test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR" && break + done + + if test -z "$OPENSSL_INCDIR"; then + AC_MSG_ERROR([Cannot find OpenSSL's ]) + fi + + if test -z "$OPENSSL_LIBDIR"; then + AC_MSG_ERROR([Cannot find OpenSSL's libraries]) + fi + + old_CPPFLAGS=$CPPFLAGS + CPPFLAGS=-I$OPENSSL_INCDIR + AC_MSG_CHECKING([for OpenSSL version]) + AC_EGREP_CPP(yes,[ +#include +#if OPENSSL_VERSION_NUMBER >= 0x0090600fL + yes +#endif + ],[ + AC_MSG_RESULT([>= 0.9.6]) + ],[ + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + ]) + CPPFLAGS=$old_CPPFLAGS + + PHP_ADD_INCLUDE($OPENSSL_INCDIR) + + PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [ + PHP_ADD_LIBRARY(crypto,,$1) + ],[ + AC_MSG_ERROR([libcrypto not found!]) + ],[ + -L$OPENSSL_LIBDIR + ]) + + old_LIBS=$LIBS + LIBS="$LIBS -lcrypto" + PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [ + found_openssl=yes + ],[ + AC_MSG_ERROR([libssl not found!]) + ],[ + -L$OPENSSL_LIBDIR + ]) + LIBS=$old_LIBS + PHP_ADD_LIBRARY(ssl,,$1) + + PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1) + fi + + if test "$found_openssl" = "yes"; then + dnl For apache 1.3.x static build + OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR + AC_SUBST(OPENSSL_INCDIR_OPT) + +ifelse([$2],[],:,[$2]) +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for iconv +dnl +AC_DEFUN([PHP_SETUP_ICONV], [ + found_iconv=no + unset ICONV_DIR + + # Create the directories for a VPATH build: + $php_shtool mkdir -p ext/iconv + + echo > ext/iconv/php_have_bsd_iconv.h + echo > ext/iconv/php_have_glibc_iconv.h + echo > ext/iconv/php_have_libiconv.h + echo > ext/iconv/php_have_iconv.h + echo > ext/iconv/php_php_iconv_impl.h + echo > ext/iconv/php_php_iconv_h_path.h + echo > ext/iconv/php_iconv_supports_errno.h + + dnl + dnl Check libc first if no path is provided in --with-iconv + dnl + if test "$PHP_ICONV" = "yes"; then + AC_CHECK_FUNC(iconv, [ + found_iconv=yes + ],[ + AC_CHECK_FUNC(libiconv,[ + PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_LIBICONV, 1, [ ]) + found_iconv=yes + ]) + ]) + fi + + dnl + dnl Check external libs for iconv funcs + dnl + if test "$found_iconv" = "no"; then + + for i in $PHP_ICONV /usr/local /usr; do + if test -r $i/include/giconv.h; then + AC_DEFINE(HAVE_GICONV_H, 1, [ ]) + ICONV_DIR=$i + iconv_lib_name=giconv + break + elif test -r $i/include/iconv.h; then + ICONV_DIR=$i + iconv_lib_name=iconv + break + fi + done + + if test -z "$ICONV_DIR"; then + AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=]) + fi + + if test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.a || + test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.$SHLIB_SUFFIX_NAME + then + PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [ + found_iconv=yes + PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_LIBICONV,1,[ ]) + ], [ + PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [ + found_iconv=yes + ], [], [ + -L$ICONV_DIR/$PHP_LIBDIR + ]) + ], [ + -L$ICONV_DIR/$PHP_LIBDIR + ]) + fi + fi + + if test "$found_iconv" = "yes"; then + PHP_DEFINE(HAVE_ICONV,1,[ext/iconv]) + AC_DEFINE(HAVE_ICONV,1,[ ]) + if test -n "$ICONV_DIR"; then + PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/$PHP_LIBDIR, $1) + PHP_ADD_INCLUDE($ICONV_DIR/include) + fi + $2 +ifelse([$3],[],,[else $3]) + fi +]) + +dnl +dnl PHP_SETUP_LIBXML(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for libxml +dnl +AC_DEFUN([PHP_SETUP_LIBXML], [ +AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, +[ + for i in $PHP_LIBXML_DIR /usr/local /usr; do + if test -x "$i/bin/xml2-config"; then + ac_cv_php_xml2_config_path="$i/bin/xml2-config" + break + fi + done +]) + + if test -x "$ac_cv_php_xml2_config_path"; then + XML2_CONFIG="$ac_cv_php_xml2_config_path" + libxml_full_version=`$XML2_CONFIG --version` + ac_IFS=$IFS + IFS="." + set $libxml_full_version + IFS=$ac_IFS + LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` + if test "$LIBXML_VERSION" -ge "2006011"; then + LIBXML_LIBS=`$XML2_CONFIG --libs` + LIBXML_INCS=`$XML2_CONFIG --cflags` + PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) + PHP_EVAL_INCLINE($LIBXML_INCS) + + dnl Check that build works with given libs + AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ + PHP_TEST_BUILD(xmlInitParser, + [ + php_cv_libxml_build_works=yes + ], [ + AC_MSG_RESULT(no) + AC_MSG_ERROR([build test failed. Please check the config.log for details.]) + ], [ + [$]$1 + ]) + ]) + if test "$php_cv_libxml_build_works" = "yes"; then + AC_DEFINE(HAVE_LIBXML, 1, [ ]) + fi + $2 + else + AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) + fi +ifelse([$3],[],,[else $3]) + fi +]) + +dnl ------------------------------------------------------------------------- +dnl Misc. macros +dnl ------------------------------------------------------------------------- + +dnl +dnl PHP_INSTALL_HEADERS(path [, file ...]) +dnl +dnl PHP header files to be installed +dnl +AC_DEFUN([PHP_INSTALL_HEADERS],[ + ifelse([$2],[],[ + for header_file in $1; do + PHP_RUN_ONCE(INSTALLHEADERS, $header_file, [ + INSTALL_HEADERS="$INSTALL_HEADERS $header_file" + ]) + done + ], [ + header_path=$1 + for header_file in $2; do + hp_hf="$header_path/$header_file" + PHP_RUN_ONCE(INSTALLHEADERS, $hp_hf, [ + INSTALL_HEADERS="$INSTALL_HEADERS $hp_hf" + ]) + done + ]) +]) + +dnl +dnl PHP_AP_EXTRACT_VERSION(/path/httpd) +dnl +dnl This macro is used to get a comparable +dnl version for apache1/2. +dnl +AC_DEFUN([PHP_AP_EXTRACT_VERSION],[ + ac_output=`$1 -v 2>&1 | grep version` + ac_IFS=$IFS +IFS="- /. +" + set $ac_output + IFS=$ac_IFS + + APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6` +]) + +dnl +dnl PHP_DEBUG_MACRO(filename) +dnl +AC_DEFUN([PHP_DEBUG_MACRO],[ + DEBUG_LOG=$1 + cat >$1 <conftest.$ac_ext <>$1 2>&1 + rm -fr conftest* +]) + +dnl +dnl PHP_CONFIG_NICE(filename) +dnl +dnl Generates the config.nice file +dnl +AC_DEFUN([PHP_CONFIG_NICE],[ + AC_REQUIRE([AC_PROG_EGREP]) + AC_REQUIRE([LT_AC_PROG_SED]) + PHP_SUBST_OLD(EGREP) + PHP_SUBST_OLD(SED) + test -f $1 && mv $1 $1.old + rm -f $1.old + cat >$1<> $1 + fi + done + + echo "'[$]0' \\" >> $1 + if test `expr -- [$]0 : "'.*"` = 0; then + CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]0'" + else + CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]0" + fi + for arg in $ac_configure_args; do + if test `expr -- $arg : "'.*"` = 0; then + if test `expr -- $arg : "--.*"` = 0; then + break; + fi + echo "'[$]arg' \\" >> $1 + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'" + else + if test `expr -- $arg : "'--.*"` = 0; then + break; + fi + echo "[$]arg \\" >> $1 + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg" + fi + done + echo '"[$]@"' >> $1 + chmod +x $1 + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS" + PHP_SUBST_OLD(CONFIGURE_COMMAND) + PHP_SUBST_OLD(CONFIGURE_OPTIONS) +]) + +dnl +dnl PHP_CHECK_CONFIGURE_OPTIONS +dnl +AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[ + for arg in $ac_configure_args; do + case $arg in + --with-*[)] + arg_name="`echo [$]arg | $SED -e 's/--with-/with-/g' -e 's/=.*//g'`" + ;; + --without-*[)] + arg_name="`echo [$]arg | $SED -e 's/--without-/with-/g' -e 's/=.*//g'`" + ;; + --enable-*[)] + arg_name="`echo [$]arg | $SED -e 's/--enable-/enable-/g' -e 's/=.*//g'`" + ;; + --disable-*[)] + arg_name="`echo [$]arg | $SED -e 's/--disable-/enable-/g' -e 's/=.*//g'`" + ;; + *[)] + continue + ;; + esac + case $arg_name in + # Allow --disable-all / --enable-all + enable-all[)];; + + # Allow certain libtool options + enable-libtool-lock | with-pic | with-tags | enable-shared | enable-static | enable-fast-install | with-gnu-ld[)];; + + # Allow certain TSRM options + with-tsrm-pth | with-tsrm-st | with-tsrm-pthreads[)];; + + # Allow certain Zend options + with-zend-vm | enable-maintainer-zts | enable-inline-optimization[)];; + + # All the rest must be set using the PHP_ARG_* macros + # PHP_ARG_* macros set php_enable_ or php_with_ + *[)] + # Options that exist before PHP 6 + if test "$PHP_MAJOR_VERSION" -lt "6"; then + case $arg_name in + enable-zend-multibyte[)] continue;; + esac + fi + is_arg_set=php_[]`echo [$]arg_name | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-' 'abcdefghijklmnopqrstuvwxyz_'` + if eval test "x\$$is_arg_set" = "x"; then + PHP_UNKNOWN_CONFIGURE_OPTIONS="$PHP_UNKNOWN_CONFIGURE_OPTIONS +[$]arg" + fi + ;; + esac + done +]) + +dnl +dnl PHP_CHECK_PDO_INCLUDES([found [, not-found]]) +dnl +AC_DEFUN([PHP_CHECK_PDO_INCLUDES],[ + AC_CACHE_CHECK([for PDO includes], pdo_inc_path, [ + AC_MSG_CHECKING([for PDO includes]) + if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$abs_srcdir/ext + elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$abs_srcdir/ext + elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then + pdo_inc_path=$prefix/include/php/ext + fi + ]) + if test -n "$pdo_inc_path"; then +ifelse([$1],[],:,[$1]) + else +ifelse([$2],[],[AC_MSG_ERROR([Cannot find php_pdo_driver.h.])],[$2]) + fi +]) + +dnl +dnl PHP_DETECT_ICC +dnl +AC_DEFUN([PHP_DETECT_ICC], +[ + ICC="no" + AC_MSG_CHECKING([for icc]) + AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER], + ICC="no" + AC_MSG_RESULT([no]), + ICC="yes" + AC_MSG_RESULT([yes]) + ) +]) + +dnl +dnl PHP_CRYPT_R_STYLE +dnl detect the style of crypt_r() is any is available +dnl see APR_CHECK_CRYPT_R_STYLE() for original version +dnl +AC_DEFUN([PHP_CRYPT_R_STYLE], +[ + AC_CACHE_CHECK([which data struct is used by crypt_r], php_cv_crypt_r_style,[ + php_cv_crypt_r_style=none + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#include +],[ +CRYPTD buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=cryptd) + + if test "$php_cv_crypt_r_style" = "none"; then + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#include +],[ +struct crypt_data buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=struct_crypt_data) + fi + + if test "$php_cv_crypt_r_style" = "none"; then + AC_TRY_COMPILE([ +#define _REENTRANT 1 +#define _GNU_SOURCE +#include +],[ +struct crypt_data buffer; +crypt_r("passwd", "hash", &buffer); +], +php_cv_crypt_r_style=struct_crypt_data_gnu_source) + fi + ]) + + if test "$php_cv_crypt_r_style" = "cryptd"; then + AC_DEFINE(CRYPT_R_CRYPTD, 1, [Define if crypt_r has uses CRYPTD]) + fi + if test "$php_cv_crypt_r_style" = "struct_crypt_data" -o "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then + AC_DEFINE(CRYPT_R_STRUCT_CRYPT_DATA, 1, [Define if crypt_r uses struct crypt_data]) + fi + if test "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then + AC_DEFINE(CRYPT_R_GNU_SOURCE, 1, [Define if struct crypt_data requires _GNU_SOURCE]) + fi + if test "$php_cv_crypt_r_style" = "none"; then + AC_MSG_ERROR([Unable to detect data struct used by crypt_r]) + fi +]) + +dnl +dnl PHP_TEST_WRITE_STDOUT +dnl +AC_DEFUN([PHP_TEST_WRITE_STDOUT],[ + AC_CACHE_CHECK(whether writing to stdout works,ac_cv_write_stdout,[ + AC_TRY_RUN([ +#ifdef HAVE_UNISTD_H +#include +#endif + +#define TEXT "This is the test message -- " + +main() +{ + int n; + + n = write(1, TEXT, sizeof(TEXT)-1); + return (!(n == sizeof(TEXT)-1)); +} + ],[ + ac_cv_write_stdout=yes + ],[ + ac_cv_write_stdout=no + ],[ + ac_cv_write_stdout=no + ]) + ]) + if test "$ac_cv_write_stdout" = "yes"; then + AC_DEFINE(PHP_WRITE_STDOUT, 1, [whether write(2) works]) + fi +]) + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 1996 +## +## 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 47 AC_PROG_LIBTOOL + +ifdef([AC_ACVERSION],[ +# autoconf 2.13 compatibility +# Set PATH_SEPARATOR variable +# --------------------------------- +# Find the correct PATH separator. Usually this is :', but +# DJGPP uses ;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) lt_cv_sys_path_separator=';' ;; + *) lt_cv_sys_path_separator=':' ;; + esac + PATH_SEPARATOR=$lt_cv_sys_path_separator +fi +]) + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +ifdef([AC_PROVIDE_IFELSE], + [], + [define([AC_PROVIDE_IFELSE], + [ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) + +dnl dnl And a similar setup for Fortran 77 support +dnl AC_PROVIDE_IFELSE([AC_PROG_F77], +dnl [AC_LIBTOOL_F77], +dnl [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +dnl ])]) + +dnl dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. +dnl AC_PROVIDE_IFELSE([AC_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [ifdef([AC_PROG_GCJ], +dnl [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) +dnl ifdef([A][M_PROG_GCJ], +dnl [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) +dnl ifdef([LT_AC_PROG_GCJ], +dnl [define([LT_AC_PROG_GCJ], +dnl defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +dnl ]) +])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +dnl AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[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 avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], +[ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], +[ --with-pic try to use only PIC/non-PIC objects [default=use both]], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +dnl autoconf 2.13 compatibility +dnl _LT_AC_TRY_LINK() +AC_DEFUN(_LT_AC_TRY_LINK, [ +cat > conftest.$ac_ext <&5 + cat conftest.$ac_ext >&6 +ifelse([$2], , , [$2 + rm -rf conftest* +])dnl +fi +rm -f conftest*]) + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# 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. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[_LT_AC_TRY_LINK([ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_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. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${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 </dev/null 2>&1 && unset CDPATH + +if test -z "$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 && + echo_test_string=`eval $cmd` && + (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. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[dnl +#AC_ARG_ENABLE([libtool-lock], +#[ --disable-libtool-lock avoid locking (might break parallel builds)]) +#test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # 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.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "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 + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # 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 + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_RESTORE]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # 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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:__oline__: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$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 "X$_lt_linker_boilerplate" | $Xsed > conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + 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 + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + *) + # 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. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:__oline__: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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 .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + 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 + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != 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_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; 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 +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[[123]]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], +[ --with-tags[=TAGS] include additional configurations [automatic] +], +[tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file \`$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file \`$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using \`LTCC=$LTCC', extracted from \`$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + 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_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + +# F77) +# if test -n "$F77" && test "X$F77" != "Xno"; then +# AC_LIBTOOL_LANG_F77_CONFIG +# else +# tagname="" +# fi +# ;; +# +# GCJ) +# if test -n "$GCJ" && test "X$GCJ" != "Xno"; then +# AC_LIBTOOL_LANG_GCJ_CONFIG +# else +# tagname="" +# fi +# ;; +# +# RC) +# AC_LIBTOOL_LANG_RC_CONFIG +# ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +ifdef([AC_PROG_EGREP], [], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + 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 + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[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 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + 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_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_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +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 +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# --------------- +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([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 +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +#AC_DEFUN([AC_LIBTOOL_F77], +#[AC_REQUIRE([_LT_AC_LANG_F77]) +#])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +#AC_DEFUN([_LT_AC_LANG_F77], +#[AC_REQUIRE([AC_PROG_F77]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +#])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +#AC_DEFUN([AC_LIBTOOL_GCJ], +#[AC_REQUIRE([_LT_AC_LANG_GCJ]) +#])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +#AC_DEFUN([_LT_AC_LANG_GCJ], +#[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], +# [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], +# [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], +# [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], +# [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], +# [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +#])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +#AC_DEFUN([AC_LIBTOOL_RC], +#[AC_REQUIRE([LT_AC_PROG_RC]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +#])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_SAVE +AC_LANG_C + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([\`$CC' requires \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## 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... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_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_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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_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 + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${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 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='$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 "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + 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]].*|aix5*) + 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. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=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 + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + 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 + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=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. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_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}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$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' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$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) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_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' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$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; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_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' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='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; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # 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."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_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' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=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::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_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 -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_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` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # 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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_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' + + # 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\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$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... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +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 +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# 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 + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $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. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# 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=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDRT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_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" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--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 + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-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_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # 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 + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_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' + else + _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_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' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[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 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, 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. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_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' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_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~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + 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 + # 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 + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_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' + else + _LT_AC_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 + 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]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + 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. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=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 + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + 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 + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=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. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_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 + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | kfreebsd*-gnu | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_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' + else + _LT_AC_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 + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_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_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_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~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = 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 + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) 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. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$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_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +#AC_DEFUN([LT_AC_PROG_GCJ], +#[AC_CHECK_TOOL(GCJ, gcj, no) +# test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" +# AC_SUBST(GCJFLAGS) +#]) + +#AC_DEFUN([LT_AC_PROG_RC], +#[AC_CHECK_TOOL(RC, windres, no) +#]) + +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if test -f "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) diff --git a/src/cairo/autom4te.cache/output.0 b/src/cairo/autom4te.cache/output.0 new file mode 100644 index 0000000..0230212 --- /dev/null +++ b/src/cairo/autom4te.cache/output.0 @@ -0,0 +1,14689 @@ +@%:@! /bin/sh + + + +# Forbidden tokens and exceptions. + + + +# Actually reserved by M4sh. + +# All the M4sugar macros start with `m4_', except `dnl' kept as is +# for sake of simplicity. + + + +# _m4_divert_diversion should be defined: +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61. +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +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$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${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 </dev/null 2>&1 && unset CDPATH + +if test -z "$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 && + echo_test_string=`eval $cmd` && + (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. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="config.m4" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +GREP +EGREP +SED +CONFIGURE_COMMAND +CONFIGURE_OPTIONS +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +target +target_cpu +target_vendor +target_os +SHLIB_SUFFIX_NAME +SHLIB_DL_SUFFIX_NAME +RE2C +AWK +LN_S +ECHO +AR +RANLIB +STRIP +CPP +CXXCPP +LIBTOOL +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXXCPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/PACKAGE@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-cairo Enable phpCairo support + --enable-shared=PKGS build shared libraries default=yes + --enable-static=PKGS build static libraries default=yes + --enable-fast-install=PKGS optimize for fast installation default=yes + --disable-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-libdir=NAME Look for libraries in .../NAME rather than .../lib + --with-php-config=PATH Path to php-config php-config + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-pic try to use only PIC/non-PIC objects default=use both + --with-tags=TAGS include additional configurations automatic + + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXXCPP C++ preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +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 + + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if test -f "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EGREP" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SED" + + + + test -f config.nice && mv config.nice config.nice.old + rm -f config.nice.old + cat >config.nice<> config.nice + fi + done + + echo "'$0' \\" >> config.nice + if test `expr -- $0 : "'.*"` = 0; then + CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$0'" + else + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $0" + fi + for arg in $ac_configure_args; do + if test `expr -- $arg : "'.*"` = 0; then + if test `expr -- $arg : "--.*"` = 0; then + break; + fi + echo "'$arg' \\" >> config.nice + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '$arg'" + else + if test `expr -- $arg : "'--.*"` = 0; then + break; + fi + echo "$arg \\" >> config.nice + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS $arg" + fi + done + echo '"$@"' >> config.nice + chmod +x config.nice + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CONFIGURE_COMMAND" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CONFIGURE_OPTIONS" + + + + + +abs_srcdir=`(cd $srcdir && pwd)` +abs_builddir=`pwd` + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + 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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +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 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + 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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +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 +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$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 +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* 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" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +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) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +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$CC" != xcc; then + { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; } +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +cat >>confdefs.h <<\_ACEOF +@%:@define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + + + +php_with_libdir=lib + +{ echo "$as_me:$LINENO: checking for system library directory" >&5 +echo $ECHO_N "checking for system library directory... $ECHO_C" >&6; } + +# Check whether --with-libdir was given. +if test "${with_libdir+set}" = set; then + withval=$with_libdir; PHP_LIBDIR=$withval +else + + PHP_LIBDIR=lib + + if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then + PHP_LIBDIR=$PHP_ENABLE_ALL + fi + +fi + + +ext_output=$PHP_LIBDIR +{ echo "$as_me:$LINENO: result: $ext_output" >&5 +echo "${ECHO_T}$ext_output" >&6; } + + + + + + +{ echo "$as_me:$LINENO: checking if compiler supports -R" >&5 +echo $ECHO_N "checking if compiler supports -R... $ECHO_C" >&6; } +if test "${php_cv_cc_dashr+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + SAVE_LIBS=$LIBS + LIBS="-R /usr/$PHP_LIBDIR $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + php_cv_cc_dashr=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + php_cv_cc_dashr=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS +fi + +{ echo "$as_me:$LINENO: result: $php_cv_cc_dashr" >&5 +echo "${ECHO_T}$php_cv_cc_dashr" >&6; } +if test $php_cv_cc_dashr = "yes"; then + ld_runpath_switch=-R +else + { echo "$as_me:$LINENO: checking if compiler supports -Wl,-rpath," >&5 +echo $ECHO_N "checking if compiler supports -Wl,-rpath,... $ECHO_C" >&6; } + if test "${php_cv_cc_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + SAVE_LIBS=$LIBS + LIBS="-Wl,-rpath,/usr/$PHP_LIBDIR $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + php_cv_cc_rpath=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + php_cv_cc_rpath=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS +fi + + { echo "$as_me:$LINENO: result: $php_cv_cc_rpath" >&5 +echo "${ECHO_T}$php_cv_cc_rpath" >&6; } + if test $php_cv_cc_rpath = "yes"; then + ld_runpath_switch=-Wl,-rpath, + else + ld_runpath_switch=-L + fi +fi +if test "$PHP_RPATH" = "no"; then + ld_runpath_switch= +fi + +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 + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +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 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking target system type" >&5 +echo $ECHO_N "checking target system type... $ECHO_C" >&6; } +if test "${ac_cv_target+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +echo "${ECHO_T}$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 +echo "$as_me: error: invalid value of canonical target" >&2;} + { (exit 1); exit 1; }; };; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + if test -z "$host_alias" && test -n "$host"; then + host_alias=$host + fi + if test -z "$host_alias"; then + { { echo "$as_me:$LINENO: error: host_alias is not set!" >&5 +echo "$as_me: error: host_alias is not set!" >&2;} + { (exit 1); exit 1; }; } + fi + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHLIB_SUFFIX_NAME" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHLIB_DL_SUFFIX_NAME" + + + + SHLIB_SUFFIX_NAME=so + SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME + case $host_alias in + *hpux*) + SHLIB_SUFFIX_NAME=sl + SHLIB_DL_SUFFIX_NAME=sl + ;; + *darwin*) + SHLIB_SUFFIX_NAME=dylib + SHLIB_DL_SUFFIX_NAME=so + ;; + esac + + + +php_with_php_config=php-config + + + +# Check whether --with-php-config was given. +if test "${with_php_config+set}" = set; then + withval=$with_php_config; PHP_PHP_CONFIG=$withval +else + + PHP_PHP_CONFIG=php-config + + if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then + PHP_PHP_CONFIG=$PHP_ENABLE_ALL + fi + +fi + + +ext_output=$PHP_PHP_CONFIG + + + + + +PHP_CONFIG=$PHP_PHP_CONFIG +prefix=`$PHP_CONFIG --prefix 2>/dev/null` +phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null` +INCLUDES=`$PHP_CONFIG --includes 2>/dev/null` +EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null` +PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null` + +if test -z "$prefix"; then + { { echo "$as_me:$LINENO: error: Cannot find php-config. Please use --with-php-config=PATH" >&5 +echo "$as_me: error: Cannot find php-config. Please use --with-php-config=PATH" >&2;} + { (exit 1); exit 1; }; } +fi + +php_shtool=$srcdir/build/shtool + +test -d include || $php_shtool mkdir include +> Makefile.objects +> Makefile.fragments +pattern=define +$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null + + +{ echo "$as_me:$LINENO: checking for PHP prefix" >&5 +echo $ECHO_N "checking for PHP prefix... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $prefix" >&5 +echo "${ECHO_T}$prefix" >&6; } +{ echo "$as_me:$LINENO: checking for PHP includes" >&5 +echo $ECHO_N "checking for PHP includes... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $INCLUDES" >&5 +echo "${ECHO_T}$INCLUDES" >&6; } +{ echo "$as_me:$LINENO: checking for PHP extension directory" >&5 +echo $ECHO_N "checking for PHP extension directory... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $EXTENSION_DIR" >&5 +echo "${ECHO_T}$EXTENSION_DIR" >&6; } +{ echo "$as_me:$LINENO: checking for PHP installed headers prefix" >&5 +echo $ECHO_N "checking for PHP installed headers prefix... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $phpincludedir" >&5 +echo "${ECHO_T}$phpincludedir" >&6; } + + + + OVERALL_TARGET=php + php_c_pre='$(LIBTOOL) --mode=compile $(CC)' + php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' + php_c_post= + php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' + php_cxx_post= + php_lo=lo + + case $with_pic in + yes) pic_setting='-prefer-pic';; + no) pic_setting='-prefer-non-pic';; + esac + + shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' + shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting + shared_c_post= + shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting + shared_cxx_post= + shared_lo=lo + + php_build_target=program + + OVERALL_TARGET=libphp$PHP_MAJOR_VERSION.la + php_build_target=shared + + php_c_pre=$shared_c_pre + php_c_meta=$shared_c_meta + php_c_post=$shared_c_post + php_cxx_pre=$shared_cxx_pre + php_cxx_meta=$shared_cxx_meta + php_cxx_post=$shared_cxx_post + php_lo=$shared_lo + + + + # Extract the first word of "re2c", so it can be a program name with args. +set dummy re2c; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RE2C+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RE2C"; then + ac_cv_prog_RE2C="$RE2C" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RE2C="re2c" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RE2C=$ac_cv_prog_RE2C +if test -n "$RE2C"; then + { echo "$as_me:$LINENO: result: $RE2C" >&5 +echo "${ECHO_T}$RE2C" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + if test -n "$RE2C"; then + { echo "$as_me:$LINENO: checking for re2c version" >&5 +echo $ECHO_N "checking for re2c version... $ECHO_C" >&6; } +if test "${php_cv_re2c_version+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + re2c_vernum=`re2c --vernum 2>/dev/null` + if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1200"; then + php_cv_re2c_version=invalid + else + php_cv_re2c_version="`re2c --version | cut -d ' ' -f 2 2>/dev/null` (ok)" + fi + +fi +{ echo "$as_me:$LINENO: result: $php_cv_re2c_version" >&5 +echo "${ECHO_T}$php_cv_re2c_version" >&6; } + fi + case $php_cv_re2c_version in + ""|invalid) + { echo "$as_me:$LINENO: WARNING: You will need re2c 0.12.0 or later if you want to regenerate PHP parsers." >&5 +echo "$as_me: WARNING: You will need re2c 0.12.0 or later if you want to regenerate PHP parsers." >&2;} + RE2C="exit 0;" + ;; + esac + + PHP_VAR_SUBST="$PHP_VAR_SUBST RE2C" + + + + for ac_prog in gawk nawk awk mawk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +as_dummy="/usr/xpg4/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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done +test -n "$AWK" || AWK="bork" + + case "$AWK" in + *mawk) + { echo "$as_me:$LINENO: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&5 +echo "$as_me: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&2;} + ;; + *gawk) + ;; + bork) + { { echo "$as_me:$LINENO: error: Could not find awk; Install GNU awk" >&5 +echo "$as_me: error: Could not find awk; Install GNU awk" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + { echo "$as_me:$LINENO: checking if $AWK is broken" >&5 +echo $ECHO_N "checking if $AWK is broken... $ECHO_C" >&6; } + if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + { { echo "$as_me:$LINENO: error: You should install GNU awk" >&5 +echo "$as_me: error: You should install GNU awk" >&2;} + { (exit 1); exit 1; }; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi + ;; + esac + + PHP_VAR_SUBST="$PHP_VAR_SUBST AWK" + + + + + +php_enable_cairo=no + +{ echo "$as_me:$LINENO: checking whether to enable phpCairo functions" >&5 +echo $ECHO_N "checking whether to enable phpCairo functions... $ECHO_C" >&6; } +# Check whether --enable-cairo was given. +if test "${enable_cairo+set}" = set; then + enableval=$enable_cairo; PHP_CAIRO=$enableval +else + + PHP_CAIRO=no + + if test "$PHP_ENABLE_ALL" && test "yes" = "yes"; then + PHP_CAIRO=$PHP_ENABLE_ALL + fi + +fi + + + +ext_output="yes, shared" +ext_shared=yes +case $PHP_CAIRO in +shared,*) + PHP_CAIRO=`echo "$PHP_CAIRO"|$SED 's/^shared,//'` + ;; +shared) + PHP_CAIRO=yes + ;; +no) + ext_output=no + ext_shared=no + ;; +*) + ext_output=yes + ext_shared=no + ;; +esac + + + ext_output="yes, shared" + ext_shared=yes + test "$PHP_CAIRO" = "no" && PHP_CAIRO=yes + + +{ echo "$as_me:$LINENO: result: $ext_output" >&5 +echo "${ECHO_T}$ext_output" >&6; } + + + + +if test "$PHP_CAIRO" != "no"; then + export OLD_CPPFLAGS="$CPPFLAGS" + export CPPFLAGS="$CPPFLAGS $INCLUDES -DHAVE_CAIRO" + + { echo "$as_me:$LINENO: checking PHP version" >&5 +echo $ECHO_N "checking PHP version... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + +#if PHP_VERSION_ID < 50000 +#error this extension requires at least PHP version 5.0.0 +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: need at least PHP 5.0.0" >&5 +echo "$as_me: error: need at least PHP 5.0.0" >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + export CPPFLAGS="$OLD_CPPFLAGS" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHPCAIRO_SHARED_LIBADD" + + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_PHPCAIRO 1 +_ACEOF + + + + ext_builddir=. + ext_srcdir=$abs_srcdir + + ac_extra= + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" != "cli"; then + PHP_CAIRO_SHARED=no + + + case "" in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=`echo """"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/""/"; ac_bdir="""/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in Cairo.c ; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_extra $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + cat >>Makefile.objects<>Makefile.objects<>Makefile.objects<>Makefile.objects<>confdefs.h <<_ACEOF +@%:@define COMPILE_DL_CAIRO 1 +_ACEOF + + fi + fi + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" = "cli"; then + PHP_CAIRO_SHARED=no + if test "$PHP_SAPI" = "cgi"; then + + + case "" in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=`echo """"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/""/"; ac_bdir="""/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in Cairo.c ; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_extra $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + cat >>Makefile.objects<>Makefile.objects<&5 +echo $ECHO_N "checking for pkg-config... $ECHO_C" >&6; } + if test ! -f "$PKG_CONFIG"; then + PKG_CONFIG=`which pkg-config` + fi + if test -f "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6; } + { echo "$as_me:$LINENO: checking for cairo" >&5 +echo $ECHO_N "checking for cairo... $ECHO_C" >&6; } + + if $PKG_CONFIG --exists cairo; then + { echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6; } + LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs cairo`" + CFLAGS="$CFLAGS `$PKG_CONFIG --cflags cairo`" + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_CAIRO 1 +_ACEOF + + else + { echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6; } + { { echo "$as_me:$LINENO: error: Ooops ! no cairo detected in the system" >&5 +echo "$as_me: error: Ooops ! no cairo detected in the system" >&2;} + { (exit 1); exit 1; }; } + fi + else + { echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6; } + { { echo "$as_me:$LINENO: error: Ooops ! no pkg-config found .... " >&5 +echo "$as_me: error: Ooops ! no pkg-config found .... " >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +enable_static=no +enable_shared=yes + + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + +# 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. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&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 + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +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_file_magic_cmd='func_win32_libid' + ;; + +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'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | kfreebsd*-gnu | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + 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_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_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +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 + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +#AC_ARG_ENABLE([libtool-lock], +#[ --disable-libtool-lock avoid locking (might break parallel builds)]) +#test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext 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 + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +esac + +need_locks="$enable_libtool_lock" + + +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 +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +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 + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +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 +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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 +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +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 + +fi + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + 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 + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + *) + # 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. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris* | sysv5*) + symcode='[BDRT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +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 avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" + +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 + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# +# Check for any special shared library compilation flags. +# +lt_prog_cc_shlib= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + lt_prog_cc_shlib='-belf' + ;; + esac +fi +if test -n "$lt_prog_cc_shlib"; then + { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 +echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} + if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : + else + { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 +echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} + lt_cv_prog_cc_can_build_shared=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_prog_compiler_static" + printf "$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 "X$_lt_linker_boilerplate" | $Xsed > conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + +## 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... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # 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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:__oline__: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-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='-Bstatic' + fi + ;; + + amigaos*) + # 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='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # 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='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # 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='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + sco3.2v5*) + lt_prog_compiler_pic='-Kpic' + lt_prog_compiler_static='-dn' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:__oline__: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:__oline__: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=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 .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&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 + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +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 + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [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 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, 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. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + 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' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + 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' + 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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; 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~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + 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' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +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' + else + ld_shlibs=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + 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' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + 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 + # 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 + 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' + 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 + 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].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + 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='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = 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 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=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=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + 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 + + # 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=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='-berok' + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${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' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec=' ' + 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 $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # 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 "$deplibs" | $SED -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 + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + 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 + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | kfreebsd*-gnu | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + 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' + 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 + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*|ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -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' + ;; + esac + else + case $host_cpu in + hppa*64*|ia64*) + archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + 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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + 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' + 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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + 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 ${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='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -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; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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' + fi + hardcode_libdir_separator=: + ;; + + sco3.2v5*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=no + hardcode_shlibpath_var=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv5*) + no_undefined_flag=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + hardcode_libdir_flag_spec= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = 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 + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds 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. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + 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:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + 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* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[123]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != 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_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; 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 + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* 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 shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* 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 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which librarie types wil actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: result: +creating $ofile" >&5 +echo "${ECHO_T} +creating $ofile" >&6; } + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# 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 + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +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 + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# 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 + +# 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 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# 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 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + 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 + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + 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_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= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# 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= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen 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. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&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 + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$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 -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -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 "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + 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].*|aix5*) + 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_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + 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 + hardcode_direct_CXX=yes + 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 + + # 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. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${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 $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols_CXX=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX=' ' + 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 $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + 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}--image-base=0x10000000 ${wl}--out-implib,$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}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + 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' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + 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 + ;; + freebsd[12]*) + # 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* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + 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) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + hardcode_libdir_separator_CXX=: + ;; + ia64*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + *) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + hardcode_direct_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*|ia64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + 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; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + ia64*|hppa*64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${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 + ;; + 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" && echo -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 -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${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=: + ;; + linux*) + 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; echo $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*) + # 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*) + # Portland Group C++ compiler + 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' + + 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; $echo \"$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=`echo $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; echo $list' + ;; + 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::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + 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='echo' + ;; + osf3*) + 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 + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + 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" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + 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. + # + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + 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 "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + 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. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + 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" && echo -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' + 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$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` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + 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 "\-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 + ;; + sco*) + archive_cmds_need_lc_CXX=no + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + 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*) + # 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 C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # 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 -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 -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\"" + 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 \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + archive_cmds_need_lc_CXX=no + ;; + 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 +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$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... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; 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 + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $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 + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p 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 + ;; + + *.$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 + +# PORTME: override above test on systems where it is broken +case $host_os in +solaris*) + case $cc_basename in + CC*) + # 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. + postdeps_CXX='-lCstd -lCrun' + ;; + esac +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # 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*) + # 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' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # 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' + ;; + 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= + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # 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_AC_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 + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + 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* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_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="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + 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*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # 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' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + 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*) + ;; + sco*) + case $cc_basename in + CC*) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # 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 + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:__oline__: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_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 +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 + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:__oline__: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || 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 .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&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 + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +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 + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # 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 + 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")) && (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*) + export_symbols_cmds_CXX='$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' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = 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 + +# +# 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. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_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:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + 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* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[123]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&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-existant 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_AC_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 +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; 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 + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* 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 shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* 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 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# 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 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +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 + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# 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 + +# 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_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# 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 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 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_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 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# 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 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + 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 + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +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 + + else + tagname="" + fi + ;; + +# F77) +# if test -n "$F77" && test "X$F77" != "Xno"; then +# AC_LIBTOOL_LANG_F77_CONFIG +# else +# tagname="" +# fi +# ;; +# +# GCJ) +# if test -n "$GCJ" && test "X$GCJ" != "Xno"; then +# AC_LIBTOOL_LANG_GCJ_CONFIG +# else +# tagname="" +# fi +# ;; +# +# RC) +# AC_LIBTOOL_LANG_RC_CONFIG +# ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + +all_targets='$(PHP_MODULES)' +install_targets="install-modules install-headers" +phplibdir="`pwd`/modules" +CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H" +CFLAGS_CLEAN='$(CFLAGS)' +CXXFLAGS_CLEAN='$(CXXFLAGS)' + +test "$prefix" = "NONE" && prefix="/usr/local" +test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHP_MODULES" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST all_targets" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST install_targets" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST exec_prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST libdir" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST phplibdir" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST phpincludedir" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CC" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CFLAGS_CLEAN" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CPP" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CPPFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXX" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXXFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXXFLAGS_CLEAN" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTENSION_DIR" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHP_EXECUTABLE" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTRA_LDFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTRA_LIBS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST INCLUDES" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LDFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHARED_LIBTOOL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LIBTOOL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHELL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST INSTALL_HEADERS" + + + + $php_shtool mkdir -p $BUILD_DIR + + + cat >Makefile <> Makefile + done + + cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile + + +test -d modules || $php_shtool mkdir modules +touch .deps + +ac_config_headers="$ac_config_headers config.h" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +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'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration headers: +$config_headers + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +for ac_tag in :H $CONFIG_HEADERS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then 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. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" + ;; + + + esac + +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/src/cairo/autom4te.cache/requests b/src/cairo/autom4te.cache/requests new file mode 100644 index 0000000..cfdf42e --- /dev/null +++ b/src/cairo/autom4te.cache/requests @@ -0,0 +1,64 @@ +# This file was generated. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.in' + ], + { + 'AM_PROG_F77_C_O' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_forbid' => 1, + 'AC_INIT' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_SUBST' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_LINKS' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'm4_sinclude' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + '_m4_warn' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_CONFIG_FILES' => 1, + 'include' => 1, + 'LT_INIT' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_FC_FREEFORM' => 1, + 'AH_OUTPUT' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AM_PROG_CC_C_O' => 1, + 'm4_pattern_allow' => 1, + 'sinclude' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'm4_include' => 1, + 'AC_SUBST_TRACE' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/src/cairo/autom4te.cache/traces.0 b/src/cairo/autom4te.cache/traces.0 new file mode 100644 index 0000000..9d4e941 --- /dev/null +++ b/src/cairo/autom4te.cache/traces.0 @@ -0,0 +1,552 @@ +m4trace:configure.in:6: -1- AC_INIT([config.m4]) +m4trace:configure.in:6: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.in:6: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.in:6: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.in:6: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.in:6: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.in:6: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.in:6: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.in:6: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.in:6: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.in:6: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.in:6: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.in:6: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.in:6: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.in:6: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.in:6: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.in:6: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.in:6: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.in:6: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.in:6: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.in:6: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.in:6: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.in:6: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.in:6: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.in:6: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.in:6: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.in:6: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.in:6: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.in:6: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.in:6: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.in:6: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.in:6: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.in:6: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.in:6: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.in:6: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.in:6: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.in:6: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.in:6: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.in:6: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.in:6: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.in:6: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.in:6: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.in:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.in:6: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +#undef PACKAGE_NAME]) +m4trace:configure.in:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.in:6: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME]) +m4trace:configure.in:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.in:6: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +#undef PACKAGE_VERSION]) +m4trace:configure.in:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.in:6: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING]) +m4trace:configure.in:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.in:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.in:6: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT]) +m4trace:configure.in:6: -1- AC_SUBST([DEFS]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.in:6: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.in:6: -1- AC_SUBST([ECHO_C]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.in:6: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.in:6: -1- AC_SUBST([ECHO_N]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.in:6: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.in:6: -1- AC_SUBST([ECHO_T]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.in:6: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.in:6: -1- AC_SUBST([LIBS]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.in:6: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.in:6: -1- AC_SUBST([build_alias]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.in:6: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.in:6: -1- AC_SUBST([host_alias]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.in:6: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.in:6: -1- AC_SUBST([target_alias]) +m4trace:configure.in:6: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.in:6: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.in:8: -1- AC_SUBST([GREP]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.in:8: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.in:8: -1- AC_SUBST([GREP]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.in:8: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.in:8: -1- AC_SUBST([EGREP]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.in:8: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.in:8: -1- AC_SUBST([EGREP]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.in:8: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.in:8: -1- AC_SUBST([EGREP]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.in:8: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.in:8: -1- AC_SUBST([SED]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.in:8: -1- m4_pattern_allow([^SED$]) +m4trace:configure.in:8: -1- AC_SUBST([CONFIGURE_COMMAND]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([CONFIGURE_COMMAND]) +m4trace:configure.in:8: -1- m4_pattern_allow([^CONFIGURE_COMMAND$]) +m4trace:configure.in:8: -1- AC_SUBST([CONFIGURE_OPTIONS]) +m4trace:configure.in:8: -1- AC_SUBST_TRACE([CONFIGURE_OPTIONS]) +m4trace:configure.in:8: -1- m4_pattern_allow([^CONFIGURE_OPTIONS$]) +m4trace:configure.in:23: -1- AC_SUBST([CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.in:23: -1- AC_SUBST([CFLAGS]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.in:23: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.in:23: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.in:23: -1- AC_SUBST([LIBS]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.in:23: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.in:23: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.in:23: -1- AC_SUBST([CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.in:23: -1- AC_SUBST([CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.in:23: -1- AC_SUBST([CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.in:23: -1- AC_SUBST([CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.in:23: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.in:23: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.in:23: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.in:23: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.in:23: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.in:23: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.in:23: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.in:24: -1- AC_DEFINE_TRACE_LITERAL([NO_MINUS_C_MINUS_O]) +m4trace:configure.in:24: -1- m4_pattern_allow([^NO_MINUS_C_MINUS_O$]) +m4trace:configure.in:24: -1- AH_OUTPUT([NO_MINUS_C_MINUS_O], [/* Define to 1 if your C compiler doesn\'t accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O]) +m4trace:configure.in:30: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2415: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +aclocal.m4:329: PHP_RUNPATH_SWITCH is expanded from... +configure.in:30: the top level]) +m4trace:configure.in:30: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2415: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +aclocal.m4:329: PHP_RUNPATH_SWITCH is expanded from... +configure.in:30: the top level]) +m4trace:configure.in:31: -1- AC_CANONICAL_HOST +m4trace:configure.in:31: -1- AC_CANONICAL_BUILD +m4trace:configure.in:31: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.in:31: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.in:31: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([build]) +m4trace:configure.in:31: -1- m4_pattern_allow([^build$]) +m4trace:configure.in:31: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.in:31: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.in:31: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.in:31: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.in:31: -1- AC_SUBST([build_os]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.in:31: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.in:31: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([host]) +m4trace:configure.in:31: -1- m4_pattern_allow([^host$]) +m4trace:configure.in:31: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.in:31: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.in:31: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.in:31: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.in:31: -1- AC_SUBST([host_os]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.in:31: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.in:31: -1- AC_CANONICAL_TARGET +m4trace:configure.in:31: -1- AC_SUBST([target], [$ac_cv_target]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([target]) +m4trace:configure.in:31: -1- m4_pattern_allow([^target$]) +m4trace:configure.in:31: -1- AC_SUBST([target_cpu], [$[1]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([target_cpu]) +m4trace:configure.in:31: -1- m4_pattern_allow([^target_cpu$]) +m4trace:configure.in:31: -1- AC_SUBST([target_vendor], [$[2]]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([target_vendor]) +m4trace:configure.in:31: -1- m4_pattern_allow([^target_vendor$]) +m4trace:configure.in:31: -1- AC_SUBST([target_os]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([target_os]) +m4trace:configure.in:31: -1- m4_pattern_allow([^target_os$]) +m4trace:configure.in:31: -1- AC_SUBST([SHLIB_SUFFIX_NAME]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([SHLIB_SUFFIX_NAME]) +m4trace:configure.in:31: -1- m4_pattern_allow([^SHLIB_SUFFIX_NAME$]) +m4trace:configure.in:31: -1- AC_SUBST([SHLIB_DL_SUFFIX_NAME]) +m4trace:configure.in:31: -1- AC_SUBST_TRACE([SHLIB_DL_SUFFIX_NAME]) +m4trace:configure.in:31: -1- m4_pattern_allow([^SHLIB_DL_SUFFIX_NAME$]) +m4trace:configure.in:65: -1- AC_SUBST([RE2C]) +m4trace:configure.in:65: -1- AC_SUBST_TRACE([RE2C]) +m4trace:configure.in:65: -1- m4_pattern_allow([^RE2C$]) +m4trace:configure.in:66: -1- AC_SUBST([AWK]) +m4trace:configure.in:66: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.in:66: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.in:68: -1- sinclude([config.m4]) +m4trace:config.m4:19: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from... +config.m4:19: the top level]) +m4trace:config.m4:25: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PHPCAIRO]) +m4trace:config.m4:25: -1- m4_pattern_allow([^HAVE_PHPCAIRO$]) +m4trace:config.m4:25: -1- AH_OUTPUT([HAVE_PHPCAIRO], [/* */ +#undef HAVE_PHPCAIRO]) +m4trace:config.m4:27: -1- AC_DEFINE_TRACE_LITERAL([COMPILE_DL_CAIRO]) +m4trace:config.m4:27: -1- m4_pattern_allow([^COMPILE_DL_CAIRO$]) +m4trace:config.m4:27: -1- AH_OUTPUT([COMPILE_DL_CAIRO], [/* Whether to build cairo as dynamic module */ +#undef COMPILE_DL_CAIRO]) +m4trace:config.m4:41: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CAIRO]) +m4trace:config.m4:41: -1- m4_pattern_allow([^HAVE_CAIRO$]) +m4trace:config.m4:41: -1- AH_OUTPUT([HAVE_CAIRO], [/* whther cairo exists in the system */ +#undef HAVE_CAIRO]) +m4trace:configure.in:77: -1- AC_PROG_LIBTOOL +m4trace:configure.in:77: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.in:77: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.in:77: -1- AC_SUBST([ECHO]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([ECHO]) +m4trace:configure.in:77: -1- m4_pattern_allow([^ECHO$]) +m4trace:configure.in:77: -1- AC_SUBST([AR]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.in:77: -1- m4_pattern_allow([^AR$]) +m4trace:configure.in:77: -1- AC_SUBST([RANLIB]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.in:77: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.in:77: -1- AC_SUBST([STRIP]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.in:77: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:170: AC_LANG_SAVE is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [../../lib/autoconf/c.m4:73: AC_LANG_C is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: \`$CC' requires \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, )' to build shared libraries], [aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' requires \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, )' to build shared libraries], [aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: add \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, )' to the CC or CFLAGS env variable and reconfigure], [aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: add \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, )' to the CC or CFLAGS env variable and reconfigure], [aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:170: AC_LANG_SAVE is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from... +aclocal.m4:3474: _LT_AC_LOCK is expanded from... +aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [../../lib/autoconf/c.m4:73: AC_LANG_C is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from... +aclocal.m4:3474: _LT_AC_LOCK is expanded from... +aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2415: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from... +aclocal.m4:3474: _LT_AC_LOCK is expanded from... +aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from... +../../lib/autoconf/general.m4:1905: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from... +aclocal.m4:3474: _LT_AC_LOCK is expanded from... +aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe], [aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe], [aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H]) +m4trace:configure.in:77: -1- AC_SUBST([CPP]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.in:77: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.in:77: -1- AC_SUBST([CPP]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.in:77: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.in:77: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H]) +m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +aclocal.m4:5568: _LT_AC_LANG_C_CONFIG is expanded from... +aclocal.m4:5463: AC_LIBTOOL_LANG_C_CONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _LT_AC_TAGCONFIG +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: output file \`$ofile' does not exist], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not exist], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not look like a libtool script], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:170: AC_LANG_SAVE is expanded from... +aclocal.m4:6520: _LT_AC_LANG_CXX_CONFIG is expanded from... +aclocal.m4:5576: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from... +aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [../../lib/autoconf/c.m4:105: AC_LANG_CPLUSPLUS is expanded from... +aclocal.m4:6520: _LT_AC_LANG_CXX_CONFIG is expanded from... +aclocal.m4:5576: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from... +aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- AC_SUBST([CXXCPP]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.in:77: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.in:77: -1- AC_SUBST([CXXCPP]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.in:77: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe], [aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:6520: _LT_AC_LANG_CXX_CONFIG is expanded from... +aclocal.m4:5576: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from... +aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe], [aclocal.m4:3941: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from... +aclocal.m4:6520: _LT_AC_LANG_CXX_CONFIG is expanded from... +aclocal.m4:5576: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from... +aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from... +aclocal.m4:6520: _LT_AC_LANG_CXX_CONFIG is expanded from... +aclocal.m4:5576: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from... +aclocal.m4:4708: _LT_AC_TAGCONFIG is expanded from... +aclocal.m4:3080: AC_LIBTOOL_SETUP is expanded from... +aclocal.m4:2938: _AC_PROG_LIBTOOL is expanded from... +aclocal.m4:2918: AC_PROG_LIBTOOL is expanded from... +configure.in:77: the top level]) +m4trace:configure.in:77: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.in:77: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.in:77: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.in:126: -1- AC_CONFIG_HEADERS([config.h]) +m4trace:configure.in:128: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.in:128: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.in:128: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.in:128: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.in:128: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.in:128: -1- m4_pattern_allow([^LTLIBOBJS$]) diff --git a/src/cairo/build/libtool.m4 b/src/cairo/build/libtool.m4 new file mode 100644 index 0000000..a4ccb3c --- /dev/null +++ b/src/cairo/build/libtool.m4 @@ -0,0 +1,6246 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 1996 +## +## 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 47 AC_PROG_LIBTOOL + +ifdef([AC_ACVERSION],[ +# autoconf 2.13 compatibility +# Set PATH_SEPARATOR variable +# --------------------------------- +# Find the correct PATH separator. Usually this is :', but +# DJGPP uses ;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) lt_cv_sys_path_separator=';' ;; + *) lt_cv_sys_path_separator=':' ;; + esac + PATH_SEPARATOR=$lt_cv_sys_path_separator +fi +]) + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +ifdef([AC_PROVIDE_IFELSE], + [], + [define([AC_PROVIDE_IFELSE], + [ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) + +dnl dnl And a similar setup for Fortran 77 support +dnl AC_PROVIDE_IFELSE([AC_PROG_F77], +dnl [AC_LIBTOOL_F77], +dnl [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +dnl ])]) + +dnl dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. +dnl AC_PROVIDE_IFELSE([AC_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], +dnl [AC_LIBTOOL_GCJ], +dnl [ifdef([AC_PROG_GCJ], +dnl [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) +dnl ifdef([A][M_PROG_GCJ], +dnl [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) +dnl ifdef([LT_AC_PROG_GCJ], +dnl [define([LT_AC_PROG_GCJ], +dnl defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +dnl ]) +])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +dnl AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[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 avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], +[ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], +[ --with-pic try to use only PIC/non-PIC objects [default=use both]], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +dnl autoconf 2.13 compatibility +dnl _LT_AC_TRY_LINK() +AC_DEFUN(_LT_AC_TRY_LINK, [ +cat > conftest.$ac_ext <&5 + cat conftest.$ac_ext >&6 +ifelse([$2], , , [$2 + rm -rf conftest* +])dnl +fi +rm -f conftest*]) + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# 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. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[_LT_AC_TRY_LINK([ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_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. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${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 </dev/null 2>&1 && unset CDPATH + +if test -z "$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 && + echo_test_string=`eval $cmd` && + (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. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[dnl +#AC_ARG_ENABLE([libtool-lock], +#[ --disable-libtool-lock avoid locking (might break parallel builds)]) +#test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # 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.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "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 + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # 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 + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_RESTORE]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # 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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:__oline__: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$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 "X$_lt_linker_boilerplate" | $Xsed > conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + 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 + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + *) + # 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. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:__oline__: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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 .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + 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 + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != 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_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; 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 +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[[123]]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], +[ --with-tags[=TAGS] include additional configurations [automatic] +], +[tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file \`$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file \`$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using \`LTCC=$LTCC', extracted from \`$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + 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_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + +# F77) +# if test -n "$F77" && test "X$F77" != "Xno"; then +# AC_LIBTOOL_LANG_F77_CONFIG +# else +# tagname="" +# fi +# ;; +# +# GCJ) +# if test -n "$GCJ" && test "X$GCJ" != "Xno"; then +# AC_LIBTOOL_LANG_GCJ_CONFIG +# else +# tagname="" +# fi +# ;; +# +# RC) +# AC_LIBTOOL_LANG_RC_CONFIG +# ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +ifdef([AC_PROG_EGREP], [], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + 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 + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[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 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + 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_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_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +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 +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# --------------- +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([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 +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +#AC_DEFUN([AC_LIBTOOL_F77], +#[AC_REQUIRE([_LT_AC_LANG_F77]) +#])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +#AC_DEFUN([_LT_AC_LANG_F77], +#[AC_REQUIRE([AC_PROG_F77]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +#])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +#AC_DEFUN([AC_LIBTOOL_GCJ], +#[AC_REQUIRE([_LT_AC_LANG_GCJ]) +#])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +#AC_DEFUN([_LT_AC_LANG_GCJ], +#[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], +# [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], +# [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], +# [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], +# [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], +# [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +#])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +#AC_DEFUN([AC_LIBTOOL_RC], +#[AC_REQUIRE([LT_AC_PROG_RC]) +#_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +#])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_SAVE +AC_LANG_C + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([\`$CC' requires \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add \`$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## 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... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_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_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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_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 + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${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 + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='$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 "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + 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]].*|aix5*) + 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. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=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 + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + 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 + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=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. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_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}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$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' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$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) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_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' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$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; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_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' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='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; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # 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."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_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' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=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::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + 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. + _LT_AC_TAGVAR(archive_cmds, $1)='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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_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 -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_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` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # 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"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # 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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$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. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_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' + + # 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\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$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 \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$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... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +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 +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# 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 + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $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. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# 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=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDRT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_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" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--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 + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-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_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # 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 + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_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' + else + _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_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' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[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 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, 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. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_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' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_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~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + 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 + # 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 + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_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' + else + _LT_AC_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 + 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]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + 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. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=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 + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + 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 + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=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. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_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 + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | kfreebsd*-gnu | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_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' + else + _LT_AC_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 + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_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_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_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~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = 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 + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) 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. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$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_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +#AC_DEFUN([LT_AC_PROG_GCJ], +#[AC_CHECK_TOOL(GCJ, gcj, no) +# test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" +# AC_SUBST(GCJFLAGS) +#]) + +#AC_DEFUN([LT_AC_PROG_RC], +#[AC_CHECK_TOOL(RC, windres, no) +#]) + +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if test -f "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) diff --git a/src/cairo/build/mkdep.awk b/src/cairo/build/mkdep.awk new file mode 100644 index 0000000..e77056c --- /dev/null +++ b/src/cairo/build/mkdep.awk @@ -0,0 +1,75 @@ +# +----------------------------------------------------------------------+ +# | PHP Version 5 | +# +----------------------------------------------------------------------+ +# | Copyright (c) 2000-2006 The PHP Group | +# +----------------------------------------------------------------------+ +# | This source file is subject to version 3.01 of the PHP license, | +# | that is bundled with this package in the file LICENSE, and is | +# | available through the world-wide-web at the following url: | +# | http://www.php.net/license/3_01.txt | +# | If you did not receive a copy of the PHP license and are unable to | +# | obtain it through the world-wide-web, please send a note to | +# | license@php.net so we can mail you a copy immediately. | +# +----------------------------------------------------------------------+ +# | Author: Sascha Schumann | +# +----------------------------------------------------------------------+ +# +# $Id: mkdep.awk,v 1.8.2.1 2006/01/01 12:50:00 sniper Exp $ +# +# Usage: +# +# echo top_srcdir top_builddir srcdir CPP [CPP-ARGS] filenames | \ +# awk -f mkdep.awk > dependencies + + +{ + top_srcdir=$1 + top_builddir=$2 + srcdir=$3 + cmd=$4 + + for (i = 5; i <= NF; i++) { + if (match($i, "^-[A-Z]") == 0) + break; + cmd=cmd " " $i + } + + dif=i-1 + + for (; i <= NF; i++) + filenames[i-dif]=$i + + no_files=NF-dif + + for(i = 1; i <= no_files; i++) { + if (system("test -r " filenames[i]) != 0) + continue + + target=filenames[i] + sub(srcdir "/", "", target) + target2=target + sub("\.(c|cpp)$", ".lo", target); + sub("\.(c|cpp)$", ".slo", target2); + + for (e in used) + delete used[e] + + cmdx=cmd " " filenames[i] + done=0 + while ((cmdx | getline) > 0) { + if (match($0, "^# [0-9]* \".*\.h\"") != 0) { + if (sub(top_srcdir, "$(top_srcdir)", $3) == 0) + sub(top_builddir, "$(top_builddir)", $3) + if (substr($3,2,1) != "/" && used[$3] != 1) { + if (done == 0) + printf(target " " target2 ":") + done=1 + printf(" \\\n\t" substr($3,2,length($3)-2)) + used[$3] = 1; + } + } + } + if (done == 1) + print "\n" + } +} diff --git a/src/cairo/build/scan_makefile_in.awk b/src/cairo/build/scan_makefile_in.awk new file mode 100644 index 0000000..0c6d203 --- /dev/null +++ b/src/cairo/build/scan_makefile_in.awk @@ -0,0 +1,32 @@ +BEGIN { + mode=0 + sources="" +} + +mode == 0 && /^LTLIBRARY_SOURCES.*\\$/ { + if (match($0, "[^=]*$")) { + sources=substr($0, RSTART, RLENGTH-1) + } + mode=1 + next +} + +mode == 0 && /^LTLIBRARY_SOURCES.*/ { + if (match($0, "[^=]*$")) { + sources=substr($0, RSTART, RLENGTH) + } +} + +mode == 1 && /.*\\$/ { + sources=sources substr($0, 0, length - 1) + next +} + +mode == 1 { + sources=sources $0 + mode=0 +} + +END { + print sources +} diff --git a/src/cairo/build/shtool b/src/cairo/build/shtool new file mode 100755 index 0000000..8d95db5 --- /dev/null +++ b/src/cairo/build/shtool @@ -0,0 +1,1719 @@ +#!/bin/sh +## +## GNU shtool -- The GNU Portable Shell Tool +## Copyright (c) 1994-2006 Ralf S. Engelschall +## +## See http://www.gnu.org/software/shtool/ for more information. +## See ftp://ftp.gnu.org/gnu/shtool/ for latest version. +## +## Version: 2.0.6 (19-Apr-2006) +## Contents: 5/19 available modules +## + +## +## 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, or contact Ralf S. Engelschall . +## +## NOTICE: Given that you include this file verbatim into your own +## source tree, you are justified in saying that it remains separate +## from your package, and that this way you are simply just using GNU +## shtool. So, in this situation, there is no requirement that your +## package itself is licensed under the GNU General Public License in +## order to take advantage of GNU shtool. +## + +## +## Usage: shtool [] [ [] []] +## +## Available commands: +## echo Print string with optional construct expansion +## install Install a program, script or datafile +## mkdir Make one or more directories +## platform Platform Identification Utility +## path Deal with program paths +## +## Not available commands (because module was not built-in): +## mdate Pretty-print modification time of a file or dir +## table Pretty-print a field-separated list as a table +## prop Display progress with a running propeller +## move Move files with simultaneous substitution +## mkln Make link with calculation of relative paths +## mkshadow Make a shadow tree through symbolic links +## fixperm Fix file permissions inside a source tree +## rotate Logfile rotation +## tarball Roll distribution tarballs +## subst Apply sed(1) substitution operations +## arx Extended archive command +## slo Separate linker options by library class +## scpp Sharing C Pre-Processor +## version Maintain a version information file +## + +# maximum Bourne-Shell compatibility +if [ ".$ZSH_VERSION" != . ] && (emulate sh) >/dev/null 2>&1; then + # reconfigure zsh(1) + emulate sh + NULLCMD=: + alias -g '${1+"$@"}'='"$@"' +elif [ ".$BASH_VERSION" != . ] && (set -o posix) >/dev/null 2>&1; then + # reconfigure bash(1) + set -o posix +fi + +# maximum independence of NLS nuisances +for var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $var=C; export $var) 2>&1`"); then + eval $var=C; export $var + else + unset $var + fi +done + +# initial command line handling +if [ $# -eq 0 ]; then + echo "$0:Error: invalid command line" 1>&2 + echo "$0:Hint: run \`$0 -h' for usage" 1>&2 + exit 1 +fi +if [ ".$1" = ".-h" ] || [ ".$1" = ".--help" ]; then + echo "This is GNU shtool, version 2.0.6 (19-Apr-2006)" + echo 'Copyright (c) 1994-2006 Ralf S. Engelschall ' + echo 'Report bugs to ' + echo '' + echo 'Usage: shtool [] [ [] []]' + echo '' + echo 'Available global :' + echo ' -v, --version display shtool version information' + echo ' -h, --help display shtool usage help page (this one)' + echo ' -d, --debug display shell trace information' + echo ' -r, --recreate recreate this shtool script via shtoolize' + echo '' + echo 'Available [] []:' + echo ' echo [-n|--newline] [-e|--expand] [ ...]' + echo ' install [-v|--verbose] [-t|--trace] [-d|--mkdir] [-c|--copy]' + echo ' [-C|--compare-copy] [-s|--strip] [-m|--mode ]' + echo ' [-o|--owner ] [-g|--group ] [-e|--exec' + echo ' ] [ ...] ' + echo ' mkdir [-t|--trace] [-f|--force] [-p|--parents] [-m|--mode' + echo ' ] [-o|--owner ] [-g|--group ] ' + echo ' [ ...]' + echo ' platform [-F|--format ] [-S|--sep ] [-C|--conc' + echo ' ] [-L|--lower] [-U|--upper] [-v|--verbose]' + echo ' [-c|--concise] [-n|--no-newline] [-t|--type ]' + echo ' [-V|--version] [-h|--help]' + echo ' path [-s|--suppress] [-r|--reverse] [-d|--dirname] [-b|--basename]' + echo ' [-m|--magic] [-p|--path ] [ ...]' + echo '' + echo 'Not available (because module was not built-in):' + echo ' mdate [-n|--newline] [-z|--zero] [-s|--shorten] [-d|--digits]' + echo ' [-f|--field-sep ] [-o|--order ] ' + echo ' table [-F|--field-sep ] [-w|--width ] [-c|--columns' + echo ' ] [-s|--strip ] ...' + echo ' prop [-p|--prefix ]' + echo ' move [-v|--verbose] [-t|--trace] [-e|--expand] [-p|--preserve]' + echo ' ' + echo ' mkln [-t|--trace] [-f|--force] [-s|--symbolic] ' + echo ' [ ...] ' + echo ' mkshadow [-v|--verbose] [-t|--trace] [-a|--all] ' + echo ' fixperm [-v|--verbose] [-t|--trace] [ ...]' + echo ' rotate [-v|--verbose] [-t|--trace] [-f|--force] [-n|--num-files' + echo ' ] [-s|--size ] [-c|--copy] [-r|--remove]' + echo ' [-a|--archive-dir ] [-z|--compress [:]]' + echo ' [-b|--background] [-d|--delay] [-p|--pad ] [-m|--mode' + echo ' ] [-o|--owner ] [-g|--group ] [-M|--migrate' + echo ' ] [-P|--prolog ] [-E|--epilog ] [...]' + echo ' tarball [-t|--trace] [-v|--verbose] [-o|--output ]' + echo ' [-c|--compress ] [-d|--directory ] [-u|--user' + echo ' ] [-g|--group ] [-e|--exclude ]' + echo ' [ ...]' + echo ' subst [-v|--verbose] [-t|--trace] [-n|--nop] [-w|--warning]' + echo ' [-q|--quiet] [-s|--stealth] [-i|--interactive] [-b|--backup' + echo ' ] [-e|--exec ] [-f|--file ] []' + echo ' [...]' + echo ' arx [-t|--trace] [-C|--command ] [' + echo ' ...]' + echo ' slo [-p|--prefix ] -- -L -l [-L -l' + echo ' ...]' + echo ' scpp [-v|--verbose] [-p|--preserve] [-f|--filter ]' + echo ' [-o|--output ] [-t|--template ] [-M|--mark' + echo ' ] [-D|--define ] [-C|--class ]' + echo ' [ ...]' + echo ' version [-l|--language ] [-n|--name ] [-p|--prefix' + echo ' ] [-s|--set ] [-e|--edit] [-i|--increase' + echo ' ] [-d|--display ] ' + echo '' + exit 0 +fi +if [ ".$1" = ".-v" ] || [ ".$1" = ".--version" ]; then + echo "GNU shtool 2.0.6 (19-Apr-2006)" + exit 0 +fi +if [ ".$1" = ".-r" ] || [ ".$1" = ".--recreate" ]; then + shtoolize -oshtool echo install mkdir platform path + exit 0 +fi +if [ ".$1" = ".-d" ] || [ ".$1" = ".--debug" ]; then + shift + set -x +fi +name=`echo "$0" | sed -e 's;.*/\([^/]*\)$;\1;' -e 's;-sh$;;' -e 's;\.sh$;;'` +case "$name" in + echo|install|mkdir|platform|path ) + # implicit tool command selection + tool="$name" + ;; + * ) + # explicit tool command selection + tool="$1" + shift + ;; +esac +arg_spec="" +opt_spec="" +gen_tmpfile=no + +## +## DISPATCH INTO SCRIPT PROLOG +## + +case $tool in + echo ) + str_tool="echo" + str_usage="[-n|--newline] [-e|--expand] [ ...]" + arg_spec="0+" + opt_spec="n.e." + opt_alias="n:newline,e:expand" + opt_n=no + opt_e=no + ;; + install ) + str_tool="install" + str_usage="[-v|--verbose] [-t|--trace] [-d|--mkdir] [-c|--copy] [-C|--compare-copy] [-s|--strip] [-m|--mode ] [-o|--owner ] [-g|--group ] [-e|--exec ] [ ...] " + arg_spec="1+" + opt_spec="v.t.d.c.C.s.m:o:g:e+" + opt_alias="v:verbose,t:trace,d:mkdir,c:copy,C:compare-copy,s:strip,m:mode,o:owner,g:group,e:exec" + opt_v=no + opt_t=no + opt_d=no + opt_c=no + opt_C=no + opt_s=no + opt_m="0755" + opt_o="" + opt_g="" + opt_e="" + ;; + mkdir ) + str_tool="mkdir" + str_usage="[-t|--trace] [-f|--force] [-p|--parents] [-m|--mode ] [-o|--owner ] [-g|--group ] [ ...]" + arg_spec="1+" + opt_spec="t.f.p.m:o:g:" + opt_alias="t:trace,f:force,p:parents,m:mode,o:owner,g:group" + opt_t=no + opt_f=no + opt_p=no + opt_m="" + opt_o="" + opt_g="" + ;; + platform ) + str_tool="platform" + str_usage="[-F|--format ] [-S|--sep ] [-C|--conc ] [-L|--lower] [-U|--upper] [-v|--verbose] [-c|--concise] [-n|--no-newline] [-t|--type ] [-V|--version] [-h|--help]" + arg_spec="0=" + opt_spec="F:S:C:L.U.v.c.n.t:d.V.h." + opt_alias="F:format,S:sep,C:conc,L:lower,U:upper,v:verbose,c:consise,t:type,n:no-newline,V:version,h:help" + opt_F="%{sp} (%{ap})" + opt_S=" " + opt_C="/" + opt_L=no + opt_U=no + opt_t="" + opt_v=no + opt_c=no + opt_n=no + opt_V=no + opt_h=no + ;; + path ) + str_tool="path" + str_usage="[-s|--suppress] [-r|--reverse] [-d|--dirname] [-b|--basename] [-m|--magic] [-p|--path ] [ ...]" + gen_tmpfile=yes + arg_spec="1+" + opt_spec="s.r.d.b.m.p:" + opt_alias="s:suppress,r:reverse,d:dirname,b:basename,m:magic,p:path" + opt_s=no + opt_r=no + opt_d=no + opt_b=no + opt_m=no + opt_p="$PATH" + ;; + -* ) + echo "$0:Error: unknown option \`$tool'" 2>&1 + echo "$0:Hint: run \`$0 -h' for usage" 2>&1 + exit 1 + ;; + * ) + echo "$0:Error: unknown command \`$tool'" 2>&1 + echo "$0:Hint: run \`$0 -h' for usage" 2>&1 + exit 1 + ;; +esac + +## +## COMMON UTILITY CODE +## + +# commonly used ASCII values +ASC_TAB=" " +ASC_NL=" +" + +# determine name of tool +if [ ".$tool" != . ]; then + # used inside shtool script + toolcmd="$0 $tool" + toolcmdhelp="shtool $tool" + msgprefix="shtool:$tool" +else + # used as standalone script + toolcmd="$0" + toolcmdhelp="sh $0" + msgprefix="$str_tool" +fi + +# parse argument specification string +eval `echo $arg_spec |\ + sed -e 's/^\([0-9]*\)\([+=]\)/arg_NUMS=\1; arg_MODE=\2/'` + +# parse option specification string +eval `echo h.$opt_spec |\ + sed -e 's/\([a-zA-Z0-9]\)\([.:+]\)/opt_MODE_\1=\2;/g'` + +# parse option alias string +eval `echo h:help,$opt_alias |\ + sed -e 's/-/_/g' -e 's/\([a-zA-Z0-9]\):\([^,]*\),*/opt_ALIAS_\2=\1;/g'` + +# interate over argument line +opt_PREV='' +while [ $# -gt 0 ]; do + # special option stops processing + if [ ".$1" = ".--" ]; then + shift + break + fi + + # determine option and argument + opt_ARG_OK=no + if [ ".$opt_PREV" != . ]; then + # merge previous seen option with argument + opt_OPT="$opt_PREV" + opt_ARG="$1" + opt_ARG_OK=yes + opt_PREV='' + else + # split argument into option and argument + case "$1" in + --[a-zA-Z0-9]*=*) + eval `echo "x$1" |\ + sed -e 's/^x--\([a-zA-Z0-9-]*\)=\(.*\)$/opt_OPT="\1";opt_ARG="\2"/'` + opt_STR=`echo $opt_OPT | sed -e 's/-/_/g'` + eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}" + ;; + --[a-zA-Z0-9]*) + opt_OPT=`echo "x$1" | cut -c4-` + opt_STR=`echo $opt_OPT | sed -e 's/-/_/g'` + eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}" + opt_ARG='' + ;; + -[a-zA-Z0-9]*) + eval `echo "x$1" |\ + sed -e 's/^x-\([a-zA-Z0-9]\)/opt_OPT="\1";/' \ + -e 's/";\(.*\)$/"; opt_ARG="\1"/'` + ;; + -[a-zA-Z0-9]) + opt_OPT=`echo "x$1" | cut -c3-` + opt_ARG='' + ;; + *) + break + ;; + esac + fi + + # eat up option + shift + + # determine whether option needs an argument + eval "opt_MODE=\$opt_MODE_${opt_OPT}" + if [ ".$opt_ARG" = . ] && [ ".$opt_ARG_OK" != .yes ]; then + if [ ".$opt_MODE" = ".:" ] || [ ".$opt_MODE" = ".+" ]; then + opt_PREV="$opt_OPT" + continue + fi + fi + + # process option + case $opt_MODE in + '.' ) + # boolean option + eval "opt_${opt_OPT}=yes" + ;; + ':' ) + # option with argument (multiple occurances override) + eval "opt_${opt_OPT}=\"\$opt_ARG\"" + ;; + '+' ) + # option with argument (multiple occurances append) + eval "opt_${opt_OPT}=\"\$opt_${opt_OPT}\${ASC_NL}\$opt_ARG\"" + ;; + * ) + echo "$msgprefix:Error: unknown option: \`$opt_OPT'" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2 + exit 1 + ;; + esac +done +if [ ".$opt_PREV" != . ]; then + echo "$msgprefix:Error: missing argument to option \`$opt_PREV'" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2 + exit 1 +fi + +# process help option +if [ ".$opt_h" = .yes ]; then + echo "Usage: $toolcmdhelp $str_usage" + exit 0 +fi + +# complain about incorrect number of arguments +case $arg_MODE in + '=' ) + if [ $# -ne $arg_NUMS ]; then + echo "$msgprefix:Error: invalid number of arguments (exactly $arg_NUMS expected)" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2 + exit 1 + fi + ;; + '+' ) + if [ $# -lt $arg_NUMS ]; then + echo "$msgprefix:Error: invalid number of arguments (at least $arg_NUMS expected)" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2 + exit 1 + fi + ;; +esac + +# establish a temporary file on request +if [ ".$gen_tmpfile" = .yes ]; then + # create (explicitly) secure temporary directory + if [ ".$TMPDIR" != . ]; then + tmpdir="$TMPDIR" + elif [ ".$TEMPDIR" != . ]; then + tmpdir="$TEMPDIR" + else + tmpdir="/tmp" + fi + tmpdir="$tmpdir/.shtool.$$" + ( umask 077 + rm -rf "$tmpdir" >/dev/null 2>&1 || true + mkdir "$tmpdir" >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "$msgprefix:Error: failed to create temporary directory \`$tmpdir'" 1>&2 + exit 1 + fi + ) + + # create (implicitly) secure temporary file + tmpfile="$tmpdir/shtool.tmp" + touch "$tmpfile" +fi + +# utility function: map string to lower case +util_lower () { + echo "$1" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' +} + +# utility function: map string to upper case +util_upper () { + echo "$1" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +} + +# cleanup procedure +shtool_exit () { + rc="$1" + if [ ".$gen_tmpfile" = .yes ]; then + rm -rf "$tmpdir" >/dev/null 2>&1 || true + fi + exit $rc +} + +## +## DISPATCH INTO SCRIPT BODY +## + +case $tool in + +echo ) + ## + ## echo -- Print string with optional construct expansion + ## Copyright (c) 1998-2006 Ralf S. Engelschall + ## + + text="$*" + + # check for broken escape sequence expansion + seo='' + bytes=`echo '\1' | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" != .3 ]; then + bytes=`echo -E '\1' | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" = .3 ]; then + seo='-E' + fi + fi + + # check for existing -n option (to suppress newline) + minusn='' + bytes=`echo -n 123 2>/dev/null | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" = .3 ]; then + minusn='-n' + fi + + # determine terminal bold sequence + term_bold='' + term_norm='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%[Bb]'`" != . ]; then + case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + term_bold=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + term_norm=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + term_bold=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + term_norm=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + # for all others, we try to use a possibly existing `tput' or `tcout' utility + * ) + paths=`echo $PATH | sed -e 's/:/ /g'` + for tool in tput tcout; do + for dir in $paths; do + if [ -r "$dir/$tool" ]; then + for seq in bold md smso; do # 'smso' is last + bold="`$dir/$tool $seq 2>/dev/null`" + if [ ".$bold" != . ]; then + term_bold="$bold" + break + fi + done + if [ ".$term_bold" != . ]; then + for seq in sgr0 me rmso init reset; do # 'reset' is last + norm="`$dir/$tool $seq 2>/dev/null`" + if [ ".$norm" != . ]; then + term_norm="$norm" + break + fi + done + fi + break + fi + done + if [ ".$term_bold" != . ] && [ ".$term_norm" != . ]; then + break; + fi + done + ;; + esac + if [ ".$term_bold" = . ] || [ ".$term_norm" = . ]; then + echo "$msgprefix:Warning: unable to determine terminal sequence for bold mode" 1>&2 + term_bold='' + term_norm='' + fi + fi + + # determine user name + username='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%[uUgG]'`" != . ]; then + username="`(id -un) 2>/dev/null`" + if [ ".$username" = . ]; then + str="`(id) 2>/dev/null`" + if [ ".`echo $str | grep '^uid[ ]*=[ ]*[0-9]*('`" != . ]; then + username=`echo $str | sed -e 's/^uid[ ]*=[ ]*[0-9]*(//' -e 's/).*$//'` + fi + if [ ".$username" = . ]; then + username="$LOGNAME" + if [ ".$username" = . ]; then + username="$USER" + if [ ".$username" = . ]; then + username="`(whoami) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$username" = . ]; then + username="`(who am i) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$username" = . ]; then + username='unknown' + fi + fi + fi + fi + fi + fi + fi + + # determine user id + userid='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%U'`" != . ]; then + userid="`(id -u) 2>/dev/null`" + if [ ".$userid" = . ]; then + userid="`(id -u ${username}) 2>/dev/null`" + if [ ".$userid" = . ]; then + str="`(id) 2>/dev/null`" + if [ ".`echo $str | grep '^uid[ ]*=[ ]*[0-9]*('`" != . ]; then + userid=`echo $str | sed -e 's/^uid[ ]*=[ ]*//' -e 's/(.*$//'` + fi + if [ ".$userid" = . ]; then + userid=`(getent passwd ${username}) 2>/dev/null | \ + sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$userid" = . ]; then + userid=`grep "^${username}:" /etc/passwd 2>/dev/null | \ + sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$userid" = . ]; then + userid=`(ypcat passwd) 2>/dev/null | + grep "^${username}:" | \ + sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$userid" = . ]; then + userid='?' + fi + fi + fi + fi + fi + fi + fi + + # determine (primary) group id + groupid='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%[gG]'`" != . ]; then + groupid="`(id -g ${username}) 2>/dev/null`" + if [ ".$groupid" = . ]; then + str="`(id) 2>/dev/null`" + if [ ".`echo $str | grep 'gid[ ]*=[ ]*[0-9]*('`" != . ]; then + groupid=`echo $str | sed -e 's/^.*gid[ ]*=[ ]*//' -e 's/(.*$//'` + fi + if [ ".$groupid" = . ]; then + groupid=`(getent passwd ${username}) 2>/dev/null | \ + sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$groupid" = . ]; then + groupid=`grep "^${username}:" /etc/passwd 2>/dev/null | \ + sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$groupid" = . ]; then + groupid=`(ypcat passwd) 2>/dev/null | grep "^${username}:" | \ + sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$groupid" = . ]; then + groupid='?' + fi + fi + fi + fi + fi + fi + + # determine (primary) group name + groupname='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%g'`" != . ]; then + groupname="`(id -gn ${username}) 2>/dev/null`" + if [ ".$groupname" = . ]; then + str="`(id) 2>/dev/null`" + if [ ".`echo $str | grep 'gid[ ]*=[ ]*[0-9]*('`" != . ]; then + groupname=`echo $str | sed -e 's/^.*gid[ ]*=[ ]*[0-9]*(//' -e 's/).*$//'` + fi + if [ ".$groupname" = . ]; then + groupname=`(getent group) 2>/dev/null | \ + grep "^[^:]*:[^:]*:${groupid}:" | \ + sed -e 's/:.*$//'` + if [ ".$groupname" = . ]; then + groupname=`grep "^[^:]*:[^:]*:${groupid}:" /etc/group 2>/dev/null | \ + sed -e 's/:.*$//'` + if [ ".$groupname" = . ]; then + groupname=`(ypcat group) 2>/dev/null | \ + grep "^[^:]*:[^:]*:${groupid}:" | \ + sed -e 's/:.*$//'` + if [ ".$groupname" = . ]; then + groupname='?' + fi + fi + fi + fi + fi + fi + + # determine host and domain name + hostname='' + domainname='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%h'`" != . ]; then + hostname="`(uname -n) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$hostname" = . ]; then + hostname="`(hostname) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$hostname" = . ]; then + hostname='unknown' + fi + fi + case $hostname in + *.* ) + domainname=".`echo $hostname | cut -d. -f2-`" + hostname="`echo $hostname | cut -d. -f1`" + ;; + esac + fi + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%d'`" != . ]; then + if [ ".$domainname" = . ]; then + if [ -f /etc/resolv.conf ]; then + domainname="`grep '^[ ]*domain' /etc/resolv.conf | sed -e 'q' |\ + sed -e 's/.*domain//' \ + -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ + -e 's/^\.//' -e 's/^/./' |\ + awk '{ printf("%s", $1); }'`" + if [ ".$domainname" = . ]; then + domainname="`grep '^[ ]*search' /etc/resolv.conf | sed -e 'q' |\ + sed -e 's/.*search//' \ + -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ + -e 's/ .*//' -e 's/ .*//' \ + -e 's/^\.//' -e 's/^/./' |\ + awk '{ printf("%s", $1); }'`" + fi + fi + fi + fi + + # determine current time + time_day='' + time_month='' + time_year='' + time_monthname='' + if [ ".$opt_e" = .yes ] && [ ".`echo $text | grep '%[DMYm]'`" != . ]; then + time_day=`date '+%d'` + time_month=`date '+%m'` + time_year=`date '+%Y' 2>/dev/null` + if [ ".$time_year" = . ]; then + time_year=`date '+%y'` + case $time_year in + [5-9][0-9]) time_year="19$time_year" ;; + [0-4][0-9]) time_year="20$time_year" ;; + esac + fi + case $time_month in + 1|01) time_monthname='Jan' ;; + 2|02) time_monthname='Feb' ;; + 3|03) time_monthname='Mar' ;; + 4|04) time_monthname='Apr' ;; + 5|05) time_monthname='May' ;; + 6|06) time_monthname='Jun' ;; + 7|07) time_monthname='Jul' ;; + 8|08) time_monthname='Aug' ;; + 9|09) time_monthname='Sep' ;; + 10) time_monthname='Oct' ;; + 11) time_monthname='Nov' ;; + 12) time_monthname='Dec' ;; + esac + fi + + # expand special ``%x'' constructs + if [ ".$opt_e" = .yes ]; then + text=`echo $seo "$text" |\ + sed -e "s/%B/${term_bold}/g" \ + -e "s/%b/${term_norm}/g" \ + -e "s/%u/${username}/g" \ + -e "s/%U/${userid}/g" \ + -e "s/%g/${groupname}/g" \ + -e "s/%G/${groupid}/g" \ + -e "s/%h/${hostname}/g" \ + -e "s/%d/${domainname}/g" \ + -e "s/%D/${time_day}/g" \ + -e "s/%M/${time_month}/g" \ + -e "s/%Y/${time_year}/g" \ + -e "s/%m/${time_monthname}/g" 2>/dev/null` + fi + + # create output + if [ .$opt_n = .no ]; then + echo $seo "$text" + else + # the harder part: echo -n is best, because + # awk may complain about some \xx sequences. + if [ ".$minusn" != . ]; then + echo $seo $minusn "$text" + else + echo dummy | awk '{ printf("%s", TEXT); }' TEXT="$text" + fi + fi + + shtool_exit 0 + ;; + +install ) + ## + ## install -- Install a program, script or datafile + ## Copyright (c) 1997-2006 Ralf S. Engelschall + ## + + # special case: "shtool install -d [...]" internally + # maps to "shtool mkdir -f -p -m 755 [...]" + if [ "$opt_d" = yes ]; then + cmd="$0 mkdir -f -p -m 755" + if [ ".$opt_o" != . ]; then + cmd="$cmd -o '$opt_o'" + fi + if [ ".$opt_g" != . ]; then + cmd="$cmd -g '$opt_g'" + fi + if [ ".$opt_v" = .yes ]; then + cmd="$cmd -v" + fi + if [ ".$opt_t" = .yes ]; then + cmd="$cmd -t" + fi + for dir in "$@"; do + eval "$cmd $dir" || shtool_exit $? + done + shtool_exit 0 + fi + + # determine source(s) and destination + argc=$# + srcs="" + while [ $# -gt 1 ]; do + srcs="$srcs $1" + shift + done + dstpath="$1" + + # type check for destination + dstisdir=0 + if [ -d $dstpath ]; then + dstpath=`echo "$dstpath" | sed -e 's:/$::'` + dstisdir=1 + fi + + # consistency check for destination + if [ $argc -gt 2 ] && [ $dstisdir = 0 ]; then + echo "$msgprefix:Error: multiple sources require destination to be directory" 1>&2 + shtool_exit 1 + fi + + # iterate over all source(s) + for src in $srcs; do + dst=$dstpath + + # if destination is a directory, append the input filename + if [ $dstisdir = 1 ]; then + dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'` + dst="$dst/$dstfile" + fi + + # check for correct arguments + if [ ".$src" = ".$dst" ]; then + echo "$msgprefix:Warning: source and destination are the same - skipped" 1>&2 + continue + fi + if [ -d "$src" ]; then + echo "$msgprefix:Warning: source \`$src' is a directory - skipped" 1>&2 + continue + fi + + # make a temp file name in the destination directory + dsttmp=`echo $dst |\ + sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' -e 's;^$;.;' \ + -e "s;\$;/#INST@$$#;"` + + # verbosity + if [ ".$opt_v" = .yes ]; then + echo "$src -> $dst" 1>&2 + fi + + # copy or move the file name to the temp name + # (because we might be not allowed to change the source) + if [ ".$opt_C" = .yes ]; then + opt_c=yes + fi + if [ ".$opt_c" = .yes ]; then + if [ ".$opt_t" = .yes ]; then + echo "cp $src $dsttmp" 1>&2 + fi + cp $src $dsttmp || shtool_exit $? + else + if [ ".$opt_t" = .yes ]; then + echo "mv $src $dsttmp" 1>&2 + fi + mv $src $dsttmp || shtool_exit $? + fi + + # adjust the target file + if [ ".$opt_e" != . ]; then + sed='sed' + OIFS="$IFS"; IFS="$ASC_NL"; set -- $opt_e; IFS="$OIFS" + for e + do + sed="$sed -e '$e'" + done + cp $dsttmp $dsttmp.old + chmod u+w $dsttmp + eval "$sed <$dsttmp.old >$dsttmp" || shtool_exit $? + rm -f $dsttmp.old + fi + if [ ".$opt_s" = .yes ]; then + if [ ".$opt_t" = .yes ]; then + echo "strip $dsttmp" 1>&2 + fi + strip $dsttmp || shtool_exit $? + fi + if [ ".$opt_o" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chown $opt_o $dsttmp" 1>&2 + fi + chown $opt_o $dsttmp || shtool_exit $? + fi + if [ ".$opt_g" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chgrp $opt_g $dsttmp" 1>&2 + fi + chgrp $opt_g $dsttmp || shtool_exit $? + fi + if [ ".$opt_m" != ".-" ]; then + if [ ".$opt_t" = .yes ]; then + echo "chmod $opt_m $dsttmp" 1>&2 + fi + chmod $opt_m $dsttmp || shtool_exit $? + fi + + # determine whether to do a quick install + # (has to be done _after_ the strip was already done) + quick=no + if [ ".$opt_C" = .yes ]; then + if [ -r $dst ]; then + if cmp -s $src $dst; then + quick=yes + fi + fi + fi + + # finally, install the file to the real destination + if [ $quick = yes ]; then + if [ ".$opt_t" = .yes ]; then + echo "rm -f $dsttmp" 1>&2 + fi + rm -f $dsttmp + else + if [ ".$opt_t" = .yes ]; then + echo "rm -f $dst && mv $dsttmp $dst" 1>&2 + fi + rm -f $dst && mv $dsttmp $dst + fi + done + + shtool_exit 0 + ;; + +mkdir ) + ## + ## mkdir -- Make one or more directories + ## Copyright (c) 1996-2006 Ralf S. Engelschall + ## + + errstatus=0 + for p in ${1+"$@"}; do + # if the directory already exists... + if [ -d "$p" ]; then + if [ ".$opt_f" = .no ] && [ ".$opt_p" = .no ]; then + echo "$msgprefix:Error: directory already exists: $p" 1>&2 + errstatus=1 + break + else + continue + fi + fi + # if the directory has to be created... + if [ ".$opt_p" = .no ]; then + if [ ".$opt_t" = .yes ]; then + echo "mkdir $p" 1>&2 + fi + mkdir $p || errstatus=$? + if [ ".$opt_o" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chown $opt_o $p" 1>&2 + fi + chown $opt_o $p || errstatus=$? + fi + if [ ".$opt_g" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chgrp $opt_g $p" 1>&2 + fi + chgrp $opt_g $p || errstatus=$? + fi + if [ ".$opt_m" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chmod $opt_m $p" 1>&2 + fi + chmod $opt_m $p || errstatus=$? + fi + else + # the smart situation + set fnord `echo ":$p" |\ + sed -e 's/^:\//%/' \ + -e 's/^://' \ + -e 's/\// /g' \ + -e 's/^%/\//'` + shift + pathcomp='' + for d in ${1+"$@"}; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp="./$pathcomp" ;; + esac + if [ ! -d "$pathcomp" ]; then + if [ ".$opt_t" = .yes ]; then + echo "mkdir $pathcomp" 1>&2 + fi + mkdir $pathcomp || errstatus=$? + if [ ".$opt_o" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chown $opt_o $pathcomp" 1>&2 + fi + chown $opt_o $pathcomp || errstatus=$? + fi + if [ ".$opt_g" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chgrp $opt_g $pathcomp" 1>&2 + fi + chgrp $opt_g $pathcomp || errstatus=$? + fi + if [ ".$opt_m" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chmod $opt_m $pathcomp" 1>&2 + fi + chmod $opt_m $pathcomp || errstatus=$? + fi + fi + pathcomp="$pathcomp/" + done + fi + done + + shtool_exit $errstatus + ;; + +platform ) + ## + ## platform -- Platform Identification Utility + ## Copyright (c) 2003-2006 Ralf S. Engelschall + ## + + # option post-processing + if [ ".$opt_t" != . ]; then + case "$opt_t" in + binary ) + # binary package id (OpenPKG RPM) + opt_F="%-%" + opt_L=yes + opt_S="" + opt_C="+" + ;; + build ) + # build time checking (OpenPKG RPM) + opt_F="%-%" + opt_L=yes + opt_S="" + opt_C="+" + ;; + gnu ) + # GNU config.guess style -- + opt_F="%-unknown-%" + opt_L=yes + opt_S="" + opt_C="+" + ;; + web ) + # non-whitespace HTTP Server-header id + opt_F="%-%" + opt_S="/" + opt_C="+" + ;; + summary) + # human readable verbose summary information + opt_F="Class: %[sc] (%[ac])\\nProduct: %[sp] (%[ap])\\nTechnology: %[st] (%[at])" + opt_S=" " + opt_C="/" + ;; + all-in-one ) + # full-table all-in-one information + opt_F="" + opt_F="${opt_F}concise architecture class: %\\n" + opt_F="${opt_F}regular architecture class: %{ac}\\n" + opt_F="${opt_F}verbose architecture class: %[ac]\\n" + opt_F="${opt_F}concise architecture product: %\\n" + opt_F="${opt_F}regular architecture product: %{ap}\\n" + opt_F="${opt_F}verbose architecture product: %[ap]\\n" + opt_F="${opt_F}concise architecture technology: %\\n" + opt_F="${opt_F}regular architecture technology: %{at}\\n" + opt_F="${opt_F}verbose architecture technology: %[at]\\n" + opt_F="${opt_F}concise system class: %\\n" + opt_F="${opt_F}regular system class: %{sc}\\n" + opt_F="${opt_F}verbose system class: %[sc]\\n" + opt_F="${opt_F}concise system product: %\\n" + opt_F="${opt_F}regular system product: %{sp}\\n" + opt_F="${opt_F}verbose system product: %[sp]\\n" + opt_F="${opt_F}concise system technology: %\\n" + opt_F="${opt_F}regular system technology: %{st}\\n" + opt_F="${opt_F}verbose system technology: %[st]" + ;; + * ) + echo "$msgprefix:Error: invalid type \`$opt_t'" 1>&2 + exit 1 + ;; + esac + fi + + # assemble initial platform information + UNAME_MACHINE=`(uname -m) 2>/dev/null` ||\ + UNAME_MACHINE=`(uname -p) 2>/dev/null` ||\ + UNAME_MACHINE='unknown' + UNAME_SYSTEM=`(uname -s) 2>/dev/null` ||\ + UNAME_SYSTEM='unknown' + UNAME_RELEASE=`(uname -r) 2>/dev/null` ||\ + UNAME_RELEASE=`(uname -v) 2>/dev/null` ||\ + UNAME_RELEASE='unknown' + + UNAME="${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}" + + AC=""; AP=""; AT="" + SC=""; SP=""; ST="" + + # dispatch into platform specific sections + case "${UNAME}" in + + # FreeBSD + *:FreeBSD:* ) + # determine architecture + AC="${UNAME_MACHINE}" + case "${AC}" in + i386 ) AC="iX86" ;; + esac + AP="${AC}" + AT="${AP}" + if [ ".${AT}" = ".iX86" ]; then + case "`(/sbin/sysctl -n hw.model) 2>&1`" in + *"Xeon"* | *"Pentium Pro"* | *"Cyrix 6x86MX"* | *"Pentium II"* | *"Pentium III"* | *"Pentium 4"* | *"Celeron"* ) AT="i686" ;; + *"Pentium"* ) AT="i586" ;; *"i486[SD]X"* | *"Cyrix 486"* | *"Cyrix [56]x86"* | *"Blue Lightning" | *"Cyrix 486S/DX" ) AT="i486" ;; + *"i386[SD]X"* | *"NexGen 586"* ) AT="i386" ;; + esac + fi + # determine system + r=`echo "${UNAME_RELEASE}" |\ + sed -e 's;[()];;' -e 's/\(-.*\)$/[\1]/'` + ST="FreeBSD ${r}" + SP="${ST}" + case "${r}" in + 1.* ) SC="4.3BSD" ;; + * ) SC="4.4BSD" ;; + esac + ;; + + # NetBSD + *:NetBSD:* ) + # determine architecture + AT="${UNAME_MACHINE}" + AP="${AT}" + case "${AP}" in + i[3-6]86 ) AP="iX86" ;; + esac + AC="${AP}" + # determine system + r=`echo "${UNAME_RELEASE}" | sed -e 's/\([-_].*\)$/[\1]/'` + ST="NetBSD ${r}" + SP="${ST}" + case "${r}" in + 0.* ) SC="4.3BSD" ;; + * ) SC="4.4BSD" ;; + esac + ;; + + # OpenBSD + *:OpenBSD:* ) + # determine architecture + AT="${UNAME_MACHINE}" + AP="${AT}" + case "${AP}" in + i[3-6]86 ) AP="iX86" ;; + esac + AC="${AP}" + # determine system + r=`echo "${UNAME_RELEASE}" | sed -e 's/\([-_].*\)$/[\1]/'` + ST="OpenBSD ${r}" + SP="${ST}" + SC="4.4BSD" + ;; + + # GNU/Linux + *:Linux:* ) + # determine architecture + AT="${UNAME_MACHINE}" + case "${AT}" in + ia64 ) AT="IA64" ;; + x86_64 ) AT='AMD64' ;; + parisc ) AT="HPPA32" ;; + parisc64 ) AT="HPPA64" ;; + esac + AP="${AT}" + case "${AP}" in + i[3-6]86 ) AP='iX86' ;; + esac + AC="${AP}" + # determine system + v_kern=`echo "${UNAME_RELEASE}" |\ + sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/'` + v_libc=`(strings /lib/libc.so.* | grep '^GLIBC_' | sed -e 's/^GLIBC_//' |\ + env -i sort -n | sed -n -e '$p' | sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/') 2>/dev/null` + ST="GNU/${v_libc}/<${v_kern}>" + if [ -f /etc/lsb-release ]; then + eval `( . /etc/lsb-release + echo "SC=\"LSB${LSB_VERSION}\"" + if [ ".${DISTRIB_ID}" != . -a ".${DISTRIB_RELEASE}" != . ]; then + echo "SP=\"${DISTRIB_ID} ${DISTRIB_RELEASE}\"" + fi + ) 2>/dev/null` + fi + if [ ".$SP" = . ]; then + for tagfile in x \ + `cd /etc && \ + /bin/ls *[_-]release *[_-]version 2>/dev/null | env -i sort | \ + sed -e '/^redhat-release$/d' -e '/^lsb-release$/d'; \ + echo redhat-release lsb-release` + do + [ ".${tagfile}" = .x ] && continue + [ ! -f "/etc/${tagfile}" ] && continue + n=`echo ${tagfile} | sed -e 's/[_-]release$//' -e 's/[_-]version$//'` + v=`(grep VERSION /etc/${tagfile}; cat /etc/${tagfile}) | grep '[0-9]' | sed -e 'q' |\ + sed -e 's/^/#/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \ + -e 's/^#.*$//'` + case "`util_lower ${n}`" in + redhat ) + if [ ".`grep 'Red Hat Enterprise Linux' /etc/${tagfile}`" != . ]; then + n="ed at nterprise inux" + else + n="ed at inux" + fi + ;; + debian ) n="Debian[ GNU/Linux]" ;; + ubuntu ) n="Ubuntu[ GNU/Linux]" ;; + fedora ) n=" Core[ GNU/Linux]" ;; + suse ) n="SuSE[ Linux]" ;; + mandrake*|mandriva ) n="Mandriva[ Linux]" ;; + gentoo ) n="Gentoo[ GNU/Linux]" ;; + slackware ) n="Slackware[ Linux]" ;; + turbolinux ) n="TurboLinux" ;; + unitedlinux ) n="UnitedLinux" ;; + * ) n="${n}[ GNU/Linux]" ;; + esac + case "$n" in + *"<"*">"* ) SP="$n <$v>" ;; + * ) SP="$n $v" ;; + esac + break + done + fi + [ ".$SP" = . ] && SP="${ST}" + [ ".$SC" = . ] && SC="LSB" + ;; + + # Sun Solaris + *:SunOS:* ) + # determine architecture + AT="${UNAME_MACHINE}" + case "${AT}" in + i86pc ) + AT="iX86" + case "`(/bin/isainfo -k) 2>&1`" in + amd64 ) AT="AMD64" ;; + esac + ;; + esac + AP="${AT}" + case "${AP}" in + sun4[cdm] ) AP="SPARC32" ;; + sun4[uv] ) AP="SPARC64" ;; + sun4* ) AP="SPARC" ;; + esac + AC="${AP}" + case "${AC}" in + SPARC* ) AC="SPARC" ;; + esac + # determine system + ST="[Sun ]SunOS ${UNAME_RELEASE}" + v=`echo "${UNAME_RELEASE}" |\ + sed -e 's;^4\.;1.;' \ + -e 's;^5\.\([0-6]\)[^0-9]*$;2.\1;' \ + -e 's;^5\.\([0-9][0-9]*\).*;\1;'` + SP="[Sun ]Solaris $v" + case "${UNAME_RELEASE}" in + 4.* ) SC="4.3BSD" ;; + 5.* ) SC="SVR4" ;; + esac + ;; + + # SCO UnixWare + *:UnixWare:* ) + # determine architecture + AT="${UNAME_MACHINE}" + case "${AT}" in + i[3-6]86 | ix86at ) AT="iX86" ;; + esac + AP="${AT}" + # determine system + v=`/sbin/uname -v` + ST="[SCO ]UnixWare ${v}" + SP="${ST}" + SC="SVR${UNAME_RELEASE}" + ;; + + # QNX + *:QNX:* ) + # determine architecture + AT="${UNAME_MACHINE}" + case "${AT}" in + x86pc ) AT="iX86" ;; + esac + AP="${AT}" + # determine system + v="${UNAME_RELEASE}" + ST="QNX[ Neutrino RTOS] ${v}" + v=`echo "${v}" | sed -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;'` + SP="QNX[ Neutrino RTOS] ${v}" + SC="QNX" + ;; + + # SGI IRIX + *:IRIX*:* ) + # determine architecture + AT="${UNAME_MACHINE}" + AP="${AT}" + case "${AP}:${UNAME_SYSTEM}" in + IP*:IRIX64 ) AP="MIPS64" ;; + IP*:* ) AP="MIPS" ;; + esac + AC="${AP}" + # determine system + v=`(/bin/uname -R || /bin/uname -r) 2>/dev/null | sed -e 's;[0-9.]* ;;'` + ST="[SGI ]IRIX ${v}" + v="${UNAME_RELEASE}" + SP="[SGI ]IRIX ${v}" + SC="4.2BSD/SVR3" + ;; + + # HP HP-UX + *:HP-UX:* ) + # determine architecture + AT="${UNAME_MACHINE}" + case "${AT}" in + ia64 ) AT="IA64" ;; + 9000/[34]?? ) AT=M68K ;; + 9000/[678][0-9][0-9]) + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523 ) AT="HPPA1.0" ;; + 528 ) AT="HPPA1.1" ;; + 532 ) AT="HPPA2.0" + case "${sc_kernel_bits}" in + 32 ) AT="${AT}n" ;; + 64 ) AT="${AT}w" ;; + esac + ;; + esac + ;; + esac + AP="${AT}" + case "${AP}" in + HPPA* ) AP="HPPA" ;; + esac + AC="${AP}" + # determine system + v=`echo "${UNAME_RELEASE}" | sed -e 's;^[^0-9]*;;'` + ST="[HP ]-" + SP="${ST}" + case "${v}" in + 10.* ) SC="SVR4.2" ;; + [7-9]* ) SC="SVR4" ;; + esac + ;; + + # HP Tru64 (OSF1) + *:OSF1:* ) + # determine architecture + AP="${UNAME_MACHINE}" + case "${AP}" in + alpha ) AP="Alpha" ;; + esac + alpha_type=`(/usr/sbin/psrinfo -v) 2>/dev/null |\ + sed -n -e 's/^.*The alpha \([^ ][^ ]*\).*processor.*$/\1/p' | sed -e 'q'` + AT="${AP}${alpha_type}" + AC="${AP}" + # determine system + v=`echo "${UNAME_RELEASE}" | sed -e 's;^[VTX];;'` + ST="[HP ]Tru64 ${v}" + SP="${ST}" + SC="OSF1" + ;; + + # IBM AIX + *:AIX:* ) + cpu_arch=rs6000 + if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then + cpu_id=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if [ ".`/usr/sbin/lsattr -El ${cpu_id} | grep -i powerpc`" != . ]; then + cpu_arch=powerpc + fi + elif [ -d /QOpenSys ]; then + # IBM i5/OS (aka OS/400) with PASE (Portable Application Solutions Environment) + cpu_arch=powerpc + fi + if [ -x /usr/bin/oslevel ]; then + os_level=`/usr/bin/oslevel` + else + os_level="`uname -v`.`uname -r`" + fi + os_level=`echo "${os_level}" |\ + sed -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\)\(\.[0-9][0-9]*\)\(.*\)$;<\1>\2[\3];' \ + -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\)\(.*\)$;<\1>\2;'` + AT="${cpu_arch}" + AP="${AT}" + AC="${AP}" + ST="[IBM ]${os_level}" + SP="${ST}" + case "${os_level}" in + [12]* ) SC="SVR2" ;; + * ) SC="SVR4" ;; + esac + ;; + + # Apple MacOS X Darwin + *:Darwin:* ) + AT=`uname -p` + case "${AT}" in + powerpc ) AT="PPC" ;; + esac + AP="${AT}" + AC="${AP}" + case "${AC}" in + i?86 ) AC="iX86" ;; + esac + ST="[Apple ]${UNAME_SYSTEM} ${UNAME_RELEASE}" + SP="${ST}" + SC="4.4BSD/Mach3" + ;; + + # TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO + # *:XXX:* ) + # ... + # ;; + + # ...A STILL UNKNOWN PLATFORM... + * ) + AT=`echo "${UNAME_MACHINE}" | sed -e "s; ;${opt_C};g"` + AP="${AT}" + AC="${AP}" + v=`echo "${UNAME_RELEASE}" |\ + sed -e 's/^/#/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \ + -e 's/^#.*$/?/'` + ST="${UNAME_SYSTEM} ${v}" + SP="${ST}" + SC="${SP}" + ;; + + esac + + # provide fallback values + [ ".$AT" = . ] && AT="${AP:-${AC}}" + [ ".$AP" = . ] && AP="${AT:-${AC}}" + [ ".$AC" = . ] && AC="${AP:-${AT}}" + [ ".$ST" = . ] && ST="${SP:-${SC}}" + [ ".$SP" = . ] && SP="${ST:-${SC}}" + [ ".$SC" = . ] && SC="${SP:-${ST}}" + + # support explicit enforced verbose/concise output + if [ ".$opt_v" = .yes ]; then + opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%[\1]/g'` + elif [ ".$opt_c" = .yes ]; then + opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%<\1>/g'` + fi + + # provide verbose and concise variants + AC_V=""; AC_N=""; AC_C="" + AP_V=""; AP_N=""; AP_C="" + AT_V=""; AT_N=""; AT_C="" + SC_V=""; SC_N=""; SC_C="" + SP_V=""; SP_N=""; SP_C="" + ST_V=""; ST_N=""; ST_C="" + for var_lc in at ap ac st sp sc; do + case "$opt_F" in + *"%[${val_lc}]"* | *"%{${val_lc}}"* | *"%${val_lc}"* | *"%<${val_lc}>"* ) + var_uc=`util_upper "$var_lc"` + eval "val=\"\$${var_uc}\"" + val_V=""; val_N=""; val_C="" + case "$opt_F" in + *"%[${var_lc}]"* ) + val_V=`echo ":$val" | \ + sed -e 's/^://' \ + -e 's;\[\([^]]*\)\];\1;g' \ + -e 's;<\([^>]*\)>;\1;g' \ + -e "s; ;§§;g" \ + -e "s;/;%%;g" \ + -e "s;§§;${opt_S};g" \ + -e "s;%%;${opt_C};g"` + eval "${var_uc}_V=\"\${val_V}\"" + ;; + esac + case "$opt_F" in + *"%{${var_lc}}"* | *"%${var_lc}"* ) + val_N=`echo ":$val" | \ + sed -e 's/^://' \ + -e 's;\[\([^]]*\)\];;g' \ + -e 's;<\([^>]*\)>;\1;g' \ + -e "s; ;§§;g" \ + -e "s;/;%%;g" \ + -e "s;§§;${opt_S};g" \ + -e "s;%%;${opt_C};g"` + eval "${var_uc}_N=\"\${val_N}\"" + ;; + esac + case "$opt_F" in + *"%<${var_lc}>"* ) + val_C=`echo ":$val" | \ + sed -e 's/^://' \ + -e 's;\[\([^]]*\)\];;g' \ + -e 's;[^<]*<\([^>]*\)>[^<]*;\1;g' \ + -e "s; ;§§;g" \ + -e "s;/;%%;g" \ + -e "s;§§;${opt_S};g" \ + -e "s;%%;${opt_C};g"` + eval "${var_uc}_C=\"\${val_C}\"" + ;; + esac + ;; + esac + done + + # create output string + output=`echo ":$opt_F" |\ + sed -e "s/^://" \ + -e "s;%\\[ac\\];${AC_V};g" \ + -e "s;%{ac};${AC_N};g" \ + -e "s;%ac;${AC_N};g" \ + -e "s;%;${AC_C};g" \ + -e "s;%\\[ap\\];${AP_V};g" \ + -e "s;%{ap};${AP_N};g" \ + -e "s;%ap;${AP_N};g" \ + -e "s;%;${AP_C};g" \ + -e "s;%\\[at\\];${AT_V};g" \ + -e "s;%{at};${AT_N};g" \ + -e "s;%at;${AT_N};g" \ + -e "s;%;${AT_C};g" \ + -e "s;%\\[sc\\];${SC_V};g" \ + -e "s;%{sc};${SC_N};g" \ + -e "s;%sc;${SC_N};g" \ + -e "s;%;${SC_C};g" \ + -e "s;%\\[sp\\];${SP_V};g" \ + -e "s;%{sp};${SP_N};g" \ + -e "s;%sp;${SP_N};g" \ + -e "s;%;${SP_C};g" \ + -e "s;%\\[st\\];${ST_V};g" \ + -e "s;%{st};${ST_N};g" \ + -e "s;%st;${ST_N};g" \ + -e "s;%;${ST_C};g" \ + -e 's/\\\\n/^/g' |\ + tr '^' '\012'` + + # support lower/upper-case mapping + if [ ".$opt_L" = .yes ]; then + output=`util_lower "$output"` + elif [ ".$opt_U" = .yes ]; then + output=`util_upper "$output"` + fi + + # display output string + if [ ".$opt_n" = .yes ]; then + echo . | awk '{ printf("%s", output); }' output="$output" + else + echo "$output" + fi + + shtool_exit 0 + ;; + +path ) + ## + ## path -- Deal with program paths + ## Copyright (c) 1998-2006 Ralf S. Engelschall + ## + + namelist="$*" + + # check whether the test command supports the -x option + if [ -x /bin/sh ] 2>/dev/null; then + minusx="-x" + else + minusx="-r" + fi + + # split path string + paths="`echo $opt_p |\ + sed -e 's/^:/.:/' \ + -e 's/::/:.:/g' \ + -e 's/:$/:./' \ + -e 's/:/ /g'`" + + # SPECIAL REQUEST + # translate forward to reverse path + if [ ".$opt_r" = .yes ]; then + if [ "x$namelist" = "x." ]; then + rp='.' + else + rp='' + for pe in `IFS="$IFS/"; echo $namelist`; do + rp="../$rp" + done + fi + echo $rp | sed -e 's:/$::' + shtool_exit 0 + fi + + # SPECIAL REQUEST + # strip out directory or base name + if [ ".$opt_d" = .yes ]; then + echo "$namelist" |\ + sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' + shtool_exit 0 + fi + if [ ".$opt_b" = .yes ]; then + echo "$namelist" |\ + sed -e 's;.*/\([^/]*\)$;\1;' + shtool_exit 0 + fi + + # MAGIC SITUATION + # Perl Interpreter (perl) + if [ ".$opt_m" = .yes ] && [ ".$namelist" = .perl ]; then + rm -f $tmpfile >/dev/null 2>&1 + touch $tmpfile + found=0 + pc=99 + for dir in $paths; do + dir=`echo $dir | sed -e 's;/*$;;'` + nc=99 + for name in perl perl5 miniperl; do + if [ $minusx "$dir/$name" ] && [ ! -d "$dir/$name" ]; then + perl="$dir/$name" + pv=`$perl -e 'printf("%.3f", $]);'` + echo "$pv:$pc:$nc:$perl" >>$tmpfile + found=1 + fi + nc=`expr $nc - 1` + done + pc=`expr $pc - 1` + done + if [ $found = 1 ]; then + perl="`cat $tmpfile | sort -r -u | sed -e 'q' | cut -d: -f4`" + rm -f $tmpfile >/dev/null 2>&1 + echo "$perl" + shtool_exit 0 + fi + rm -f $tmpfile >/dev/null 2>&1 + shtool_exit 1 + fi + + # MAGIC SITUATION + # C pre-processor (cpp) + if [ ".$opt_m" = .yes ] && [ ".$namelist" = .cpp ]; then + echo >$tmpfile.c "#include " + echo >>$tmpfile.c "Syntax Error" + # 1. try the standard cc -E approach + cpp="${CC-cc} -E" + (eval "$cpp $tmpfile.c >/dev/null") 2>$tmpfile.out + my_error=`grep -v '^ *+' $tmpfile.out` + if [ ".$my_error" != . ]; then + # 2. try the cc -E approach and GCC's -traditional-ccp option + cpp="${CC-cc} -E -traditional-cpp" + (eval "$cpp $tmpfile.c >/dev/null") 2>$tmpfile.out + my_error=`grep -v '^ *+' $tmpfile.out` + if [ ".$my_error" != . ]; then + # 3. try a standalone cpp command in path and lib dirs + for path in $paths /lib /usr/lib /usr/local/lib; do + path=`echo $path | sed -e 's;/*$;;'` + if [ $minusx "$path/cpp" ] && [ ! -d "$path/cpp" ]; then + cpp="$path/cpp" + break + fi + done + if [ ".$cpp" != . ]; then + (eval "$cpp $tmpfile.c >/dev/null") 2>$tmpfile.out + my_error=`grep -v '^ *+' $tmpfile.out` + if [ ".$my_error" != . ]; then + # ok, we gave up... + cpp='' + fi + fi + fi + fi + rm -f $tmpfile >/dev/null 2>&1 + rm -f $tmpfile.c $tmpfile.out >/dev/null 2>&1 + if [ ".$cpp" != . ]; then + echo "$cpp" + shtool_exit 0 + fi + shtool_exit 1 + fi + + # STANDARD SITUATION + # iterate over names + for name in $namelist; do + # iterate over paths + for path in $paths; do + path=`echo $path | sed -e 's;/*$;;'` + if [ $minusx "$path/$name" ] && [ ! -d "$path/$name" ]; then + if [ ".$opt_s" != .yes ]; then + echo "$path/$name" + fi + shtool_exit 0 + fi + done + done + + shtool_exit 1 + ;; + +esac + +shtool_exit 0 + diff --git a/src/cairo/cairo.la b/src/cairo/cairo.la new file mode 100644 index 0000000..f1979c1 --- /dev/null +++ b/src/cairo/cairo.la @@ -0,0 +1,35 @@ +# cairo.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='cairo.so' + +# Names of this library. +library_names='cairo.so cairo.so cairo.so' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs=' /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../..//libcairo.la /usr/lib/libfontconfig.la /usr/lib/libfreetype.la /usr/lib/libxml2.la /usr/lib/libpng12.la -lz /usr/lib/libXrender.la /usr/lib/libX11.la /usr/lib/libXau.la /usr/lib/libXdmcp.la -ldl -lm' + +# Version information for cairo. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/home/akshat/php-ext/cairo/phpCairo/cairo/modules' diff --git a/src/cairo/cairo.xml b/src/cairo/cairo.xml new file mode 100644 index 0000000..5c7b90d --- /dev/null +++ b/src/cairo/cairo.xml @@ -0,0 +1,1016 @@ + + + + + PHP bindings for Cairo Graphic Library + + This extension offers you object oriented support for Cairo. + + php + + aki + Akshat Gupta + g.akshat@gmail.com + lead + + + + 0.1 + 2006-06-10 + alpha + First alpha version + + + + + + + The main drawing class + + + + void construct(object obj) + + + + + void append_path(object p) + + + + + void arc(float xc, float yc, float radius, float angle1, float angle2) + + + + + void arc_negative(float xc, float yc, float radius, float angle1, float angle2) + + + + + void clip() + + + + + array clip_extents() + + + + + + void clip_preserve() + + + + + void close_path() + + + + + object copy_clip_rectangle_list() + /*using iterator in php5.0 to store the + list. Pass the array to an iterator during the + object definition and jobs done */ + + + + void copy_page() + + + + + object copy_path() + + + + + object copy_path_flat() + + + + + void curve_to (float x1, float y1, float x2, float y2, float x3, float y3) + + + + + array device_to_user(float x, float y) + + + + + array device_to_user_distance(float x, float y) + + + + + void fill() + + + + + array fill_extents() + + + + + void fill_preserve() + + + + + array font_extents() + + + + + int get_antialias() + + + + + array get_current_point() + + + + + array get_dash() + + + + + int get_dash_count() + + + + + int get_fill_rule() + + + + + object get_font_face() + + + + + object get_font_matrix() + + + + + object get_font_options() + + + + + object get_group_target() + + + + + int get_line_cap() + + + + + int get_line_join() + + + + + float get_line_width() + + + + + object get_matrix() + + + + + float get_matrix_limit() + + + + + int get_operator() + + + + + object get_scaled_font() + + + + + object get_source() + + + + + object get_target() + + + + + float get_tolerance() + + + + + array get_extents(object obj[,int num]) + /*This might be a prob*/ + + + + void glyph_pat(object obh[,int num]) + + + + + bool has_current_point() + /* ONLY for CAIRO 1.6 */ + + + + + void identity_matrix() + + + + + bool in_fill(float x, float y) + + + + + bool in_stroke(float x, float y) + + + + + void line_to(float x, float y) + + + + + void mask(object p) + + + + + void mask_surface(object s[,float surface_x, float surface_y]) + + + + + void move_to(float x, float y) + + + + + void new_path() + + + + + void new_sub_path() + + + + + void paint() + + + + + void paint_with_alpha(float alpha) + + + + + array path_extents([object path]) + /* ONLY for CAIRO 1.6 */ + + + + object pop_group() + + + + + void pop_group_to_source() + + + + + void push_group() + + + + + void push_group_with_content(int content) + + + + + void rectangle(float x, float y, float width, float height) + + + + + void rel_curve_to(float x1, float y1, float x2, float y2, float x3, float y3) + + + + + void rel_line_to(float x, float y) + + + + + void rel_move_to(float x, float y) + + + + + void reset_clip() + + + + + void restore() + + + + + void rotate(float angle) + + + + + void save() + + + + + void scale(float x, float y) + + + + + void select_font_face(object obj[, int slant, int weight]) + + + + + void set_antialias([int antialias]) + + + + + void set_dash(object dashes [,float offset]) + + + + + void set_fill_rule(int fill_rule) + + + + + void set_font_face([object obj]) + + + + + void set_font_matrix(object matrix) + + + + + void set_font_options(object options) + + + + + void set_font_size(float size) + + + + + void set_line_cap(int line_cap) + + + + + void set_line_join(int line_join) + + + + + void set_line_width(float width) + + + + + void set_matrix(object matix) + + + + + void set_miter_limit(float limit) + + + + + void set_operator(int op) + + + + + void set_source(object p) + + + + + void set_source_rgb(float red, float green, float blue) + + + + + void set_source_rgba(float red, float green, float blue [,float alpha]) + + + + + void set_source_surface(object surface [,float x, float y]) + + + + + void set_tolerance(float tolerance) + + + + + void show_glyphs(object glyphs [,int num_glyphs]) + + + + + void show_page() + + + + + void show_text(object obj) + + + + + void stroke() + + + + + array stroke_extents() + + + + + void stroke_preserve() + + + + + array text_extents(object extents) + + + + + void text_path(object obj) + + + + + void transform(object matrix) + + + + + void translate(float tx, float ty) + + + + + array user_to_device(float x, float y) + + + + + array user_to_device_distance(float dx, float dy) + + + + + + + + void construct() + /* not allowede to create an object directly*/ + + + + void destruct() + + + + + + + + + void construct() + + + + + int get_antialias() + + + + + int get_hint_metrics() + + + + + int get_hint_style() + + + + + int get_subpixel_order() + + + + + void set_antialias([int aa]) + + + + + void set_hint_metrics([int hm]) + + + + + void set_hint_style([int hs]) + + + + + void set_subpixel_order([int so]) + + + + + + + + void construct([float xx, float yx, float xy, float yy, float x0, float y0]) + + + + + object inti_rotate(float radians) + + + + + void invert() + + + + + object multiply(object o2) + + + + + void rotate(float radians) + + + + + void scale(float sx, float xy) + + + + + array transform_distance(float dx, float dy) + + + + + array transform_point(float x, float y) + + + + + void translate(float tx, float ty) + + + + + + + + + + void construct() + + + + + string str() + + + + + + + + + void contruct() + + + + + object get_matrix() + + + + + void set_matrix(object m) + + + + + + + + + void construct() + + + + + void add_color_stop_rgb(float offset, float red, float green, float blue) + + + + + void add_color_stop_rgba(float offset, float red, float green, float blue, float alpha) + + + + + + + + + void construct(float x0, float y0, float x1, float y1) + + + + + array get_linear_points() + + + + + + + + + void construct(float cx0, float cy0, float radius0, float cx1, float cy1, float radius1) + + + + + array get_radial_circles() + + + + + + + + + void construct(float r, float g, float b [, float a]) + + + + + array get_rgba() + + + + + + + + + void construct(object s) + + + + + int get_extend() + + + + + int get_filter() + + + + + object get_surface() + + + + + void set_extend(int extend) + + + + + void set_filter(int filter) + + + + + + + + + void construct(object ff, object mx1, object mx2, object fo) + + + + + array extents() + + + + + object get_font_face() + + + + + array text_extents(string str) + + + + + + + + + void construct() + + + + + object create_similar(int content, int width, int height) + + + + + void finish() + + + + + void flush() + + + + + int get_content() + + + + + array get_device_offset() + + + + + object get_font_options() + + + + + void mark_dirty_rectangle([int x, int y, int width, int height]) + + + + + void set_device_offset(float x_offset, float y_offset) + + + + + void set_fallback_resolution(float x_ppi, float y_ppi) + + + + + void write_to_png(string file) + + + + + + + + + void construct(int format, int widthm, int height) + + + + + object create_from_data(object obj, int format, int width, int height [, int stride]) + + + + + object create_from_png(string file) + + + + + string get_data() + + + + + int get_format() + + + + + int get_height() + + + + + int get_stride() + + + + + int get_width() + + + + + + + + + + void construct(string file, float wpts, float hpts) + + + + + void set_size(float wptd, float hpts) + + + + + + + + + void construct(string file, float wpts, float hpts) + + + + + void dsc_begin_page_setup() + + + + + void dsc_begin_setup() + + + + + void dsc_comment() + + + + + array get_levels() + /* ONLY for CAIRO 1.6*/ + + + + string get_level_string() + /* ONLY for CAIRO 1.6*/ + + + + void restrict_to_level(int level) + /* ONLY for CAIRO 1.6 */ + + + + void set_eps() + /* ONLY for CAIRO 1.6 */ + + + + void set_size(float wpts, float hpts) + + + + + + + + + void construct(float wpixels, float hpixels [, int format]) + + + + + + + + void construct(string file, float wpts, float hpts) + + + + + + + + + void construct(int hdc) + + + + + + + + + void construct() + + + + + int get_depth() + + + + + int get_height() + + + + + int get_width() + + + + + + + + + + + int cairo_version() + + + + + string cairo_version_string() + + + + diff --git a/src/cairo/config.guess b/src/cairo/config.guess new file mode 100755 index 0000000..af7f02d --- /dev/null +++ b/src/cairo/config.guess @@ -0,0 +1,1519 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, 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. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +if [ "${UNAME_SYSTEM}" = "Linux" ] ; then + eval $set_cc_for_build + cat << EOF > $dummy.c + #include + #ifdef __UCLIBC__ + # ifdef __UCLIBC_CONFIG_VERSION__ + LIBC=uclibc __UCLIBC_CONFIG_VERSION__ + # else + LIBC=uclibc + # endif + #else + LIBC=gnu + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` +fi + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" + exit ;; + esac + # This should get integrated into the C code below, but now we hack + if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/src/cairo/config.h b/src/cairo/config.h new file mode 100644 index 0000000..d367412 --- /dev/null +++ b/src/cairo/config.h @@ -0,0 +1,62 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Whether to build cairo as dynamic module */ +#define COMPILE_DL_CAIRO 1 + +/* whther cairo exists in the system */ +#define HAVE_CAIRO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* */ +#define HAVE_PHPCAIRO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/src/cairo/config.h.in b/src/cairo/config.h.in new file mode 100644 index 0000000..2a58ad8 --- /dev/null +++ b/src/cairo/config.h.in @@ -0,0 +1,61 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Whether to build cairo as dynamic module */ +#undef COMPILE_DL_CAIRO + +/* whther cairo exists in the system */ +#undef HAVE_CAIRO + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* */ +#undef HAVE_PHPCAIRO + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS diff --git a/src/cairo/config.h.in~ b/src/cairo/config.h.in~ new file mode 100644 index 0000000..1052cfd --- /dev/null +++ b/src/cairo/config.h.in~ @@ -0,0 +1,61 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Whether to build phpCairo as dynamic module */ +#undef COMPILE_DL_PHPCAIRO + +/* whther cairo exists in the system */ +#undef HAVE_CAIRO + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* */ +#undef HAVE_PHPCAIRO + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS diff --git a/src/cairo/config.log b/src/cairo/config.log new file mode 100644 index 0000000..ee8f262 --- /dev/null +++ b/src/cairo/config.log @@ -0,0 +1,534 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = scorpion +uname -m = i686 +uname -r = 2.6.23-gentoo +uname -s = Linux +uname -v = #7 SMP Wed Jan 9 15:27:58 IST 2008 + +/usr/bin/uname -p = Intel(R) Pentium(R) M processor 1.60GHz +/bin/uname -X = unknown + +/bin/arch = i686 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +/usr/bin/hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /bin +PATH: /opt/bin +PATH: /usr/i686-pc-linux-gnu/gcc-bin/3.4.6 +PATH: /usr/kde/3.5/bin +PATH: /usr/qt/3/bin +PATH: /opt/limewire + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1892: checking for grep that handles long lines and -e +configure:1966: result: /bin/grep +configure:1971: checking for egrep +configure:2049: result: /bin/grep -E +configure:2054: checking for a sed that does not truncate output +configure:2108: result: /bin/sed +configure:2231: checking for gcc +configure:2247: found /usr/bin/gcc +configure:2258: result: gcc +configure:2496: checking for C compiler version +configure:2503: gcc --version >&5 +gcc (GCC) 3.4.6 (Gentoo 3.4.6-r2 p1.5, HTB-3.4.4-1.00, ssp-3.4.6-1.0, pie-8.7.10) +Copyright (C) 2006 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2506: $? = 0 +configure:2513: gcc -v >&5 +Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/specs +Configured with: /var/tmp/portage/sys-devel/gcc-3.4.6-r2/work/gcc-3.4.6/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.6 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include/g++-v3 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --disable-libgcj --with-arch=i686 --enable-languages=c,c++,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu +Thread model: posix +gcc version 3.4.6 (Gentoo 3.4.6-r2 p1.5, HTB-3.4.4-1.00, ssp-3.4.6-1.0, pie-8.7.10) +configure:2516: $? = 0 +configure:2523: gcc -V >&5 +gcc: `-V' option must have argument +configure:2526: $? = 1 +configure:2549: checking for C compiler default output file name +configure:2576: gcc conftest.c >&5 +configure:2579: $? = 0 +configure:2617: result: a.out +configure:2634: checking whether the C compiler works +configure:2644: ./a.out +configure:2647: $? = 0 +configure:2664: result: yes +configure:2671: checking whether we are cross compiling +configure:2673: result: no +configure:2676: checking for suffix of executables +configure:2683: gcc -o conftest conftest.c >&5 +configure:2686: $? = 0 +configure:2710: result: +configure:2716: checking for suffix of object files +configure:2742: gcc -c conftest.c >&5 +configure:2745: $? = 0 +configure:2768: result: o +configure:2772: checking whether we are using the GNU C compiler +configure:2801: gcc -c conftest.c >&5 +configure:2807: $? = 0 +configure:2824: result: yes +configure:2829: checking whether gcc accepts -g +configure:2859: gcc -c -g conftest.c >&5 +configure:2865: $? = 0 +configure:2964: result: yes +configure:2981: checking for gcc option to accept ISO C89 +configure:3055: gcc -c -g -O2 conftest.c >&5 +configure:3061: $? = 0 +configure:3084: result: none needed +configure:3103: checking whether gcc and cc understand -c and -o together +configure:3138: gcc -c conftest.c -o conftest2.o >&5 +configure:3141: $? = 0 +configure:3147: gcc -c conftest.c -o conftest2.o >&5 +configure:3150: $? = 0 +configure:3161: cc -c conftest.c >&5 +configure:3164: $? = 0 +configure:3172: cc -c conftest.c -o conftest2.o >&5 +configure:3175: $? = 0 +configure:3181: cc -c conftest.c -o conftest2.o >&5 +configure:3184: $? = 0 +configure:3202: result: yes +configure:3218: checking for system library directory +configure:3236: result: lib +configure:3244: checking if compiler supports -R +configure:3273: gcc -o conftest -g -O2 conftest.c -R /usr/lib >&5 +gcc: unrecognized option `-R' +/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib: No such file: File format not recognized +collect2: ld returned 1 exit status +configure:3279: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| /* end confdefs.h. */ +| +| int +| main () +| { +| +| ; +| return 0; +| } +configure:3298: result: no +configure:3303: checking if compiler supports -Wl,-rpath, +configure:3332: gcc -o conftest -g -O2 conftest.c -Wl,-rpath,/usr/lib >&5 +configure:3338: $? = 0 +configure:3357: result: yes +configure:3406: checking build system type +configure:3424: result: i686-pc-linux-gnu +configure:3446: checking host system type +configure:3461: result: i686-pc-linux-gnu +configure:3483: checking target system type +configure:3498: result: i686-pc-linux-gnu +configure:3610: checking for PHP prefix +configure:3612: result: /usr/lib/php5 +configure:3614: checking for PHP includes +configure:3616: result: -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib +configure:3618: checking for PHP extension directory +configure:3620: result: /usr/lib/php5/lib/php/extensions/debug-non-zts-20060613 +configure:3622: checking for PHP installed headers prefix +configure:3624: result: /usr/lib/php5/include/php +configure:3668: checking for re2c +configure:3684: found /usr/bin/re2c +configure:3695: result: re2c +configure:3704: checking for re2c version +configure:3718: result: 0.12.0 (ok) +configure:3737: checking for gawk +configure:3754: found /usr/bin/gawk +configure:3765: result: gawk +configure:3813: checking whether to enable phpCairo functions +configure:3855: result: yes, shared +configure:3865: checking PHP version +configure:3892: gcc -c -g -O2 -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib -DHAVE_CAIRO conftest.c >&5 +configure:3898: $? = 0 +configure:3903: result: ok +configure:4211: checking for pkg-config +configure:4217: result: found +configure:4219: checking for cairo +configure:4223: result: found +configure:4338: checking for ld used by gcc +configure:4405: result: /usr/i686-pc-linux-gnu/bin/ld +configure:4414: checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld +configure:4429: result: yes +configure:4434: checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files +configure:4441: result: -r +configure:4459: checking for BSD-compatible nm +configure:4501: result: /usr/bin/nm -B +configure:4505: checking whether ln -s works +configure:4509: result: yes +configure:4516: checking how to recognise dependent libraries +configure:4688: result: pass_all +configure:4896: checking how to run the C preprocessor +configure:4936: gcc -E conftest.c +configure:4942: $? = 0 +configure:4973: gcc -E conftest.c +conftest.c:11:28: ac_nonexistent.h: No such file or directory +configure:4979: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define HAVE_PHPCAIRO 1 +| #define COMPILE_DL_CAIRO 1 +| #define HAVE_CAIRO 1 +| /* end confdefs.h. */ +| #include +configure:5012: result: gcc -E +configure:5041: gcc -E conftest.c +configure:5047: $? = 0 +configure:5078: gcc -E conftest.c +conftest.c:11:28: ac_nonexistent.h: No such file or directory +configure:5084: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define HAVE_PHPCAIRO 1 +| #define COMPILE_DL_CAIRO 1 +| #define HAVE_CAIRO 1 +| /* end confdefs.h. */ +| #include +configure:5122: checking for ANSI C header files +configure:5152: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5158: $? = 0 +configure:5257: gcc -o conftest -g -O2 -I/usr/include/cairo -lcairo conftest.c >&5 +configure:5260: $? = 0 +configure:5266: ./conftest +configure:5269: $? = 0 +configure:5286: result: yes +configure:5310: checking for sys/types.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for sys/stat.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for stdlib.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for string.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for memory.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for strings.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for inttypes.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for stdint.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5310: checking for unistd.h +configure:5331: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5337: $? = 0 +configure:5353: result: yes +configure:5380: checking dlfcn.h usability +configure:5397: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5403: $? = 0 +configure:5417: result: yes +configure:5421: checking dlfcn.h presence +configure:5436: gcc -E conftest.c +configure:5442: $? = 0 +configure:5456: result: yes +configure:5484: checking for dlfcn.h +configure:5492: result: yes +configure:5744: checking the maximum length of command line arguments +configure:5836: result: 32768 +configure:5847: checking command to parse /usr/bin/nm -B output from gcc object +configure:5943: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:5946: $? = 0 +configure:5950: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:5953: $? = 0 +configure:6005: gcc -o conftest -g -O2 -I/usr/include/cairo -lcairo conftest.c conftstm.o >&5 +configure:6008: $? = 0 +configure:6046: result: ok +configure:6050: checking for objdir +configure:6065: result: .libs +configure:6157: checking for ar +configure:6173: found /usr/bin/ar +configure:6184: result: ar +configure:6253: checking for ranlib +configure:6269: found /usr/bin/ranlib +configure:6280: result: ranlib +configure:6349: checking for strip +configure:6365: found /usr/bin/strip +configure:6376: result: strip +configure:6678: checking if gcc static flag works +configure:6706: result: yes +configure:6728: checking if gcc supports -fno-rtti -fno-exceptions +configure:6746: gcc -c -g -O2 -I/usr/include/cairo -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:6750: $? = 0 +configure:6763: result: no +configure:6778: checking for gcc option to produce PIC +configure:6982: result: -fPIC +configure:6990: checking if gcc PIC flag -fPIC works +configure:7008: gcc -c -g -O2 -I/usr/include/cairo -fPIC -DPIC conftest.c >&5 +configure:7012: $? = 0 +configure:7025: result: yes +configure:7049: checking if gcc supports -c -o file.o +configure:7070: gcc -c -g -O2 -I/usr/include/cairo -o out/conftest2.o conftest.c >&5 +configure:7074: $? = 0 +configure:7096: result: yes +configure:7122: checking whether the gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries +configure:7966: result: yes +configure:7992: checking whether -lc should be explicitly linked in +configure:7997: gcc -c -g -O2 -I/usr/include/cairo conftest.c >&5 +configure:8000: $? = 0 +configure:8014: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 +configure:8017: $? = 0 +configure:8029: result: no +configure:8037: checking dynamic linker characteristics +configure:8612: result: GNU/Linux ld.so +configure:8616: checking how to hardcode library paths into programs +configure:8641: result: immediate +configure:8655: checking whether stripping libraries is possible +configure:8660: result: yes +configure:9457: checking if libtool supports shared libraries +configure:9459: result: yes +configure:9462: checking whether to build shared libraries +configure:9483: result: yes +configure:9486: checking whether to build static libraries +configure:9490: result: no +configure:9583: result: +creating libtool +configure:13907: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on scorpion + +config.status:515: creating config.h +config.status:665: config.h is unchanged + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=i686-pc-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=i686-pc-linux-gnu +ac_cv_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_GREP=/bin/grep +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_RE2C=re2c +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_gcc_c_o=yes +ac_cv_target=i686-pc-linux-gnu +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/i686-pc-linux-gnu/bin/ld +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_SED=/bin/sed +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_gnu_ld=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' +lt_cv_sys_max_cmd_len=32768 +lt_lt_cv_prog_compiler_c_o='"yes"' +lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' +lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' +lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' +php_cv_cc_dashr=no +php_cv_cc_rpath=yes +php_cv_re2c_version='0.12.0 (ok)' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +AR='ar' +AWK='gawk' +CC='gcc' +CFLAGS='-g -O2 -I/usr/include/cairo ' +CONFIGURE_COMMAND=' '\''./configure'\'' ' +CONFIGURE_OPTIONS='' +CPP='gcc -E' +CPPFLAGS=' -DHAVE_CONFIG_H' +CXXCPP='' +DEFS='-DHAVE_CONFIG_H' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/bin/grep -E' +EXEEXT='' +GREP='/bin/grep' +LDFLAGS=' -lcairo ' +LIBOBJS='' +LIBS='' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LN_S='ln -s' +LTLIBOBJS='' +OBJEXT='o' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PATH_SEPARATOR=':' +RANLIB='ranlib' +RE2C='re2c' +SED='/bin/sed' +SHELL='/bin/sh' +SHLIB_DL_SUFFIX_NAME='so' +SHLIB_SUFFIX_NAME='so' +STRIP='strip' +ac_ct_CC='gcc' +bindir='${exec_prefix}/bin' +build='i686-pc-linux-gnu' +build_alias='' +build_cpu='i686' +build_os='linux-gnu' +build_vendor='pc' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE}' +dvidir='${docdir}' +exec_prefix='$(prefix)' +host='i686-pc-linux-gnu' +host_alias='i686-pc-linux-gnu' +host_cpu='i686' +host_os='linux-gnu' +host_vendor='pc' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/lib/php5' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target='i686-pc-linux-gnu' +target_alias='' +target_cpu='i686' +target_os='linux-gnu' +target_vendor='pc' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define PACKAGE_STRING "" +#define PACKAGE_BUGREPORT "" +#define HAVE_PHPCAIRO 1 +#define COMPILE_DL_CAIRO 1 +#define HAVE_CAIRO 1 +#define STDC_HEADERS 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_DLFCN_H 1 + +configure: exit 0 diff --git a/src/cairo/config.m4 b/src/cairo/config.m4 new file mode 100644 index 0000000..e1dbe81 --- /dev/null +++ b/src/cairo/config.m4 @@ -0,0 +1,51 @@ +dnl +dnl $ Id: phpCairo 1.0.1$ +dnl + +PHP_ARG_ENABLE(cairo, whether to enable phpCairo functions, +[ --enable-cairo Enable phpCairo support]) + +if test "$PHP_CAIRO" != "no"; then + export OLD_CPPFLAGS="$CPPFLAGS" + export CPPFLAGS="$CPPFLAGS $INCLUDES -DHAVE_CAIRO" + + AC_MSG_CHECKING(PHP version) + AC_TRY_COMPILE([#include ], [ +#if PHP_VERSION_ID < 50000 +#error this extension requires at least PHP version 5.0.0 +#endif +], +[AC_MSG_RESULT(ok)], +[AC_MSG_ERROR([need at least PHP 5.0.0])]) + + export CPPFLAGS="$OLD_CPPFLAGS" + + + PHP_SUBST(PHPCAIRO_SHARED_LIBADD) + AC_DEFINE(HAVE_PHPCAIRO, 1, [ ]) + + PHP_NEW_EXTENSION(cairo, Cairo.c , $ext_shared) + + AC_MSG_CHECKING(for pkg-config) + if test ! -f "$PKG_CONFIG"; then + PKG_CONFIG=`which pkg-config` + fi + if test -f "$PKG_CONFIG"; then + AC_MSG_RESULT(found) + AC_MSG_CHECKING(for cairo) + + if $PKG_CONFIG --exists cairo; then + AC_MSG_RESULT(found) + LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs cairo`" + CFLAGS="$CFLAGS `$PKG_CONFIG --cflags cairo`" + AC_DEFINE(HAVE_CAIRO, 1, [whther cairo exists in the system]) + else + AC_MSG_RESULT(not found) + AC_MSG_ERROR(Ooops ! no cairo detected in the system) + fi + else + AC_MSG_RESULT(not found) + AC_MSG_ERROR(Ooops ! no pkg-config found .... ) + fi +fi + diff --git a/src/cairo/config.nice b/src/cairo/config.nice new file mode 100755 index 0000000..52d739d --- /dev/null +++ b/src/cairo/config.nice @@ -0,0 +1,6 @@ +#! /bin/sh +# +# Created by configure + +'./configure' \ +"$@" diff --git a/src/cairo/config.status b/src/cairo/config.status new file mode 100755 index 0000000..322f813 --- /dev/null +++ b/src/cairo/config.status @@ -0,0 +1,684 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +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'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_headers=" config.h" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration headers: +$config_headers + +Report bugs to ." + +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/akshat/php-ext/cairo/phpCairo/cairo' +srcdir='.' +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/sh + export CONFIG_SHELL + exec /bin/sh "./configure" $ac_configure_extra_args --no-create --no-recursion +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +for ac_tag in :H $CONFIG_HEADERS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + + :H) + # + # CONFIG_HEADER + # + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s/$/ / +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "" , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_PHPCAIRO\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*COMPILE_DL_CAIRO\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_CAIRO\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , +s/ $// +s,^[ #]*u.*,/* & */, +CEOF + sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" +ac_result="$tmp/out1" + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" + ;; + + + esac + +done # for ac_tag + + +{ (exit 0); exit 0; } diff --git a/src/cairo/config.sub b/src/cairo/config.sub new file mode 100755 index 0000000..ae0b3dd --- /dev/null +++ b/src/cairo/config.sub @@ -0,0 +1,1626 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, 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. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx | dvp \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mipsEE* | ee | ps2) + basic_machine=mips64r5900el-scei + case $os in + -linux*) + ;; + *) + os=-elf + ;; + esac + ;; + iop) + basic_machine=mipsel-scei + os=-irx + ;; + dvp) + basic_machine=dvp-scei + os=-elf + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -irx*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/src/cairo/config.w32 b/src/cairo/config.w32 new file mode 100644 index 0000000..a3a2734 --- /dev/null +++ b/src/cairo/config.w32 @@ -0,0 +1,8 @@ +// $ Id: $ +// vim:ft=javascript + +ARG_ENABLE('phpCairo' , 'PHP bindings for Cairo Graphic Library', 'no'); +if (PHP_PHPCAIRO == "yes") { + EXTENSION("phpCairo", "phpCairo.c"); + AC_DEFINE("HAVE_PHPCAIRO", 1, "phpCairo support"); +} diff --git a/src/cairo/configure b/src/cairo/configure new file mode 100755 index 0000000..821dcb3 --- /dev/null +++ b/src/cairo/configure @@ -0,0 +1,14689 @@ +#! /bin/sh + + + +# Forbidden tokens and exceptions. + + + +# Actually reserved by M4sh. + +# All the M4sugar macros start with `m4_', except `dnl' kept as is +# for sake of simplicity. + + + +# _m4_divert_diversion should be defined: +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +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$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${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 </dev/null 2>&1 && unset CDPATH + +if test -z "$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 && + echo_test_string=`eval $cmd` && + (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. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="config.m4" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +GREP +EGREP +SED +CONFIGURE_COMMAND +CONFIGURE_OPTIONS +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +target +target_cpu +target_vendor +target_os +SHLIB_SUFFIX_NAME +SHLIB_DL_SUFFIX_NAME +RE2C +AWK +LN_S +ECHO +AR +RANLIB +STRIP +CPP +CXXCPP +LIBTOOL +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXXCPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-cairo Enable phpCairo support + --enable-shared=PKGS build shared libraries default=yes + --enable-static=PKGS build static libraries default=yes + --enable-fast-install=PKGS optimize for fast installation default=yes + --disable-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-libdir=NAME Look for libraries in .../NAME rather than .../lib + --with-php-config=PATH Path to php-config php-config + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-pic try to use only PIC/non-PIC objects default=use both + --with-tags=TAGS include additional configurations automatic + + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXXCPP C++ preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +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 + + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if test -f "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EGREP" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SED" + + + + test -f config.nice && mv config.nice config.nice.old + rm -f config.nice.old + cat >config.nice<> config.nice + fi + done + + echo "'$0' \\" >> config.nice + if test `expr -- $0 : "'.*"` = 0; then + CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$0'" + else + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $0" + fi + for arg in $ac_configure_args; do + if test `expr -- $arg : "'.*"` = 0; then + if test `expr -- $arg : "--.*"` = 0; then + break; + fi + echo "'$arg' \\" >> config.nice + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '$arg'" + else + if test `expr -- $arg : "'--.*"` = 0; then + break; + fi + echo "$arg \\" >> config.nice + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS $arg" + fi + done + echo '"$@"' >> config.nice + chmod +x config.nice + CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CONFIGURE_COMMAND" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CONFIGURE_OPTIONS" + + + + + +abs_srcdir=`(cd $srcdir && pwd)` +abs_builddir=`pwd` + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + 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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +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 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + 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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +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 +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$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 +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* 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" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +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) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +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$CC" != xcc; then + { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; } +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + + + +php_with_libdir=lib + +{ echo "$as_me:$LINENO: checking for system library directory" >&5 +echo $ECHO_N "checking for system library directory... $ECHO_C" >&6; } + +# Check whether --with-libdir was given. +if test "${with_libdir+set}" = set; then + withval=$with_libdir; PHP_LIBDIR=$withval +else + + PHP_LIBDIR=lib + + if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then + PHP_LIBDIR=$PHP_ENABLE_ALL + fi + +fi + + +ext_output=$PHP_LIBDIR +{ echo "$as_me:$LINENO: result: $ext_output" >&5 +echo "${ECHO_T}$ext_output" >&6; } + + + + + + +{ echo "$as_me:$LINENO: checking if compiler supports -R" >&5 +echo $ECHO_N "checking if compiler supports -R... $ECHO_C" >&6; } +if test "${php_cv_cc_dashr+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + SAVE_LIBS=$LIBS + LIBS="-R /usr/$PHP_LIBDIR $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + php_cv_cc_dashr=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + php_cv_cc_dashr=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS +fi + +{ echo "$as_me:$LINENO: result: $php_cv_cc_dashr" >&5 +echo "${ECHO_T}$php_cv_cc_dashr" >&6; } +if test $php_cv_cc_dashr = "yes"; then + ld_runpath_switch=-R +else + { echo "$as_me:$LINENO: checking if compiler supports -Wl,-rpath," >&5 +echo $ECHO_N "checking if compiler supports -Wl,-rpath,... $ECHO_C" >&6; } + if test "${php_cv_cc_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + SAVE_LIBS=$LIBS + LIBS="-Wl,-rpath,/usr/$PHP_LIBDIR $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + php_cv_cc_rpath=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + php_cv_cc_rpath=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS +fi + + { echo "$as_me:$LINENO: result: $php_cv_cc_rpath" >&5 +echo "${ECHO_T}$php_cv_cc_rpath" >&6; } + if test $php_cv_cc_rpath = "yes"; then + ld_runpath_switch=-Wl,-rpath, + else + ld_runpath_switch=-L + fi +fi +if test "$PHP_RPATH" = "no"; then + ld_runpath_switch= +fi + +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 + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +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 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking target system type" >&5 +echo $ECHO_N "checking target system type... $ECHO_C" >&6; } +if test "${ac_cv_target+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +echo "${ECHO_T}$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 +echo "$as_me: error: invalid value of canonical target" >&2;} + { (exit 1); exit 1; }; };; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + if test -z "$host_alias" && test -n "$host"; then + host_alias=$host + fi + if test -z "$host_alias"; then + { { echo "$as_me:$LINENO: error: host_alias is not set!" >&5 +echo "$as_me: error: host_alias is not set!" >&2;} + { (exit 1); exit 1; }; } + fi + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHLIB_SUFFIX_NAME" + + + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHLIB_DL_SUFFIX_NAME" + + + + SHLIB_SUFFIX_NAME=so + SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME + case $host_alias in + *hpux*) + SHLIB_SUFFIX_NAME=sl + SHLIB_DL_SUFFIX_NAME=sl + ;; + *darwin*) + SHLIB_SUFFIX_NAME=dylib + SHLIB_DL_SUFFIX_NAME=so + ;; + esac + + + +php_with_php_config=php-config + + + +# Check whether --with-php-config was given. +if test "${with_php_config+set}" = set; then + withval=$with_php_config; PHP_PHP_CONFIG=$withval +else + + PHP_PHP_CONFIG=php-config + + if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then + PHP_PHP_CONFIG=$PHP_ENABLE_ALL + fi + +fi + + +ext_output=$PHP_PHP_CONFIG + + + + + +PHP_CONFIG=$PHP_PHP_CONFIG +prefix=`$PHP_CONFIG --prefix 2>/dev/null` +phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null` +INCLUDES=`$PHP_CONFIG --includes 2>/dev/null` +EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null` +PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null` + +if test -z "$prefix"; then + { { echo "$as_me:$LINENO: error: Cannot find php-config. Please use --with-php-config=PATH" >&5 +echo "$as_me: error: Cannot find php-config. Please use --with-php-config=PATH" >&2;} + { (exit 1); exit 1; }; } +fi + +php_shtool=$srcdir/build/shtool + +test -d include || $php_shtool mkdir include +> Makefile.objects +> Makefile.fragments +pattern=define +$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null + + +{ echo "$as_me:$LINENO: checking for PHP prefix" >&5 +echo $ECHO_N "checking for PHP prefix... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $prefix" >&5 +echo "${ECHO_T}$prefix" >&6; } +{ echo "$as_me:$LINENO: checking for PHP includes" >&5 +echo $ECHO_N "checking for PHP includes... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $INCLUDES" >&5 +echo "${ECHO_T}$INCLUDES" >&6; } +{ echo "$as_me:$LINENO: checking for PHP extension directory" >&5 +echo $ECHO_N "checking for PHP extension directory... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $EXTENSION_DIR" >&5 +echo "${ECHO_T}$EXTENSION_DIR" >&6; } +{ echo "$as_me:$LINENO: checking for PHP installed headers prefix" >&5 +echo $ECHO_N "checking for PHP installed headers prefix... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $phpincludedir" >&5 +echo "${ECHO_T}$phpincludedir" >&6; } + + + + OVERALL_TARGET=php + php_c_pre='$(LIBTOOL) --mode=compile $(CC)' + php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' + php_c_post= + php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' + php_cxx_post= + php_lo=lo + + case $with_pic in + yes) pic_setting='-prefer-pic';; + no) pic_setting='-prefer-non-pic';; + esac + + shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' + shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting + shared_c_post= + shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' + shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting + shared_cxx_post= + shared_lo=lo + + php_build_target=program + + OVERALL_TARGET=libphp$PHP_MAJOR_VERSION.la + php_build_target=shared + + php_c_pre=$shared_c_pre + php_c_meta=$shared_c_meta + php_c_post=$shared_c_post + php_cxx_pre=$shared_cxx_pre + php_cxx_meta=$shared_cxx_meta + php_cxx_post=$shared_cxx_post + php_lo=$shared_lo + + + + # Extract the first word of "re2c", so it can be a program name with args. +set dummy re2c; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RE2C+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RE2C"; then + ac_cv_prog_RE2C="$RE2C" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RE2C="re2c" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RE2C=$ac_cv_prog_RE2C +if test -n "$RE2C"; then + { echo "$as_me:$LINENO: result: $RE2C" >&5 +echo "${ECHO_T}$RE2C" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + if test -n "$RE2C"; then + { echo "$as_me:$LINENO: checking for re2c version" >&5 +echo $ECHO_N "checking for re2c version... $ECHO_C" >&6; } +if test "${php_cv_re2c_version+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + re2c_vernum=`re2c --vernum 2>/dev/null` + if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1200"; then + php_cv_re2c_version=invalid + else + php_cv_re2c_version="`re2c --version | cut -d ' ' -f 2 2>/dev/null` (ok)" + fi + +fi +{ echo "$as_me:$LINENO: result: $php_cv_re2c_version" >&5 +echo "${ECHO_T}$php_cv_re2c_version" >&6; } + fi + case $php_cv_re2c_version in + ""|invalid) + { echo "$as_me:$LINENO: WARNING: You will need re2c 0.12.0 or later if you want to regenerate PHP parsers." >&5 +echo "$as_me: WARNING: You will need re2c 0.12.0 or later if you want to regenerate PHP parsers." >&2;} + RE2C="exit 0;" + ;; + esac + + PHP_VAR_SUBST="$PHP_VAR_SUBST RE2C" + + + + for ac_prog in gawk nawk awk mawk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +as_dummy="/usr/xpg4/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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done +test -n "$AWK" || AWK="bork" + + case "$AWK" in + *mawk) + { echo "$as_me:$LINENO: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&5 +echo "$as_me: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&2;} + ;; + *gawk) + ;; + bork) + { { echo "$as_me:$LINENO: error: Could not find awk; Install GNU awk" >&5 +echo "$as_me: error: Could not find awk; Install GNU awk" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + { echo "$as_me:$LINENO: checking if $AWK is broken" >&5 +echo $ECHO_N "checking if $AWK is broken... $ECHO_C" >&6; } + if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + { { echo "$as_me:$LINENO: error: You should install GNU awk" >&5 +echo "$as_me: error: You should install GNU awk" >&2;} + { (exit 1); exit 1; }; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi + ;; + esac + + PHP_VAR_SUBST="$PHP_VAR_SUBST AWK" + + + + + +php_enable_cairo=no + +{ echo "$as_me:$LINENO: checking whether to enable phpCairo functions" >&5 +echo $ECHO_N "checking whether to enable phpCairo functions... $ECHO_C" >&6; } +# Check whether --enable-cairo was given. +if test "${enable_cairo+set}" = set; then + enableval=$enable_cairo; PHP_CAIRO=$enableval +else + + PHP_CAIRO=no + + if test "$PHP_ENABLE_ALL" && test "yes" = "yes"; then + PHP_CAIRO=$PHP_ENABLE_ALL + fi + +fi + + + +ext_output="yes, shared" +ext_shared=yes +case $PHP_CAIRO in +shared,*) + PHP_CAIRO=`echo "$PHP_CAIRO"|$SED 's/^shared,//'` + ;; +shared) + PHP_CAIRO=yes + ;; +no) + ext_output=no + ext_shared=no + ;; +*) + ext_output=yes + ext_shared=no + ;; +esac + + + ext_output="yes, shared" + ext_shared=yes + test "$PHP_CAIRO" = "no" && PHP_CAIRO=yes + + +{ echo "$as_me:$LINENO: result: $ext_output" >&5 +echo "${ECHO_T}$ext_output" >&6; } + + + + +if test "$PHP_CAIRO" != "no"; then + export OLD_CPPFLAGS="$CPPFLAGS" + export CPPFLAGS="$CPPFLAGS $INCLUDES -DHAVE_CAIRO" + + { echo "$as_me:$LINENO: checking PHP version" >&5 +echo $ECHO_N "checking PHP version... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + +#if PHP_VERSION_ID < 50000 +#error this extension requires at least PHP version 5.0.0 +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: need at least PHP 5.0.0" >&5 +echo "$as_me: error: need at least PHP 5.0.0" >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + export CPPFLAGS="$OLD_CPPFLAGS" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHPCAIRO_SHARED_LIBADD" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PHPCAIRO 1 +_ACEOF + + + + ext_builddir=. + ext_srcdir=$abs_srcdir + + ac_extra= + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" != "cli"; then + PHP_CAIRO_SHARED=no + + + case "" in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=`echo """"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/""/"; ac_bdir="""/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in Cairo.c ; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_extra $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + cat >>Makefile.objects<>Makefile.objects<>Makefile.objects<>Makefile.objects<>confdefs.h <<_ACEOF +#define COMPILE_DL_CAIRO 1 +_ACEOF + + fi + fi + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" = "cli"; then + PHP_CAIRO_SHARED=no + if test "$PHP_SAPI" = "cgi"; then + + + case "" in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=`echo """"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/""/"; ac_bdir="""/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in Cairo.c ; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_extra $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_extra $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + cat >>Makefile.objects<>Makefile.objects<&5 +echo $ECHO_N "checking for pkg-config... $ECHO_C" >&6; } + if test ! -f "$PKG_CONFIG"; then + PKG_CONFIG=`which pkg-config` + fi + if test -f "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6; } + { echo "$as_me:$LINENO: checking for cairo" >&5 +echo $ECHO_N "checking for cairo... $ECHO_C" >&6; } + + if $PKG_CONFIG --exists cairo; then + { echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6; } + LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs cairo`" + CFLAGS="$CFLAGS `$PKG_CONFIG --cflags cairo`" + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CAIRO 1 +_ACEOF + + else + { echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6; } + { { echo "$as_me:$LINENO: error: Ooops ! no cairo detected in the system" >&5 +echo "$as_me: error: Ooops ! no cairo detected in the system" >&2;} + { (exit 1); exit 1; }; } + fi + else + { echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6; } + { { echo "$as_me:$LINENO: error: Ooops ! no pkg-config found .... " >&5 +echo "$as_me: error: Ooops ! no pkg-config found .... " >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +enable_static=no +enable_shared=yes + + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + +# 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. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&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 + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +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_file_magic_cmd='func_win32_libid' + ;; + +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'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | kfreebsd*-gnu | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + 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_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_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +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 + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +#AC_ARG_ENABLE([libtool-lock], +#[ --disable-libtool-lock avoid locking (might break parallel builds)]) +#test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4731 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext 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 + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +esac + +need_locks="$enable_libtool_lock" + + +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 +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +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 + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +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 +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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 +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +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 + +fi + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + 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 + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + *) + # 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. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris* | sysv5*) + symcode='[BDRT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +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 avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}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 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$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 + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" + +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 + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# +# Check for any special shared library compilation flags. +# +lt_prog_cc_shlib= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + lt_prog_cc_shlib='-belf' + ;; + esac +fi +if test -n "$lt_prog_cc_shlib"; then + { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 +echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} + if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : + else + { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 +echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} + lt_cv_prog_cc_can_build_shared=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_prog_compiler_static" + printf "$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 "X$_lt_linker_boilerplate" | $Xsed > conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + +## 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... + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # 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 "\"configure:6746: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:6750: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-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='-Bstatic' + fi + ;; + + amigaos*) + # 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='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # 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='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # 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='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + sco3.2v5*) + lt_prog_compiler_pic='-Kpic' + lt_prog_compiler_static='-dn' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -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 "\"configure:7008: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:7012: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:7070: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:7074: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=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 .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&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 + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +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 + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [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 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, 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. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + 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' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + 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' + 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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; 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~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + 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' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +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' + else + ld_shlibs=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + 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' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + 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 + # 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 + 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' + 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 + 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].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + 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='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = 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 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=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=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + 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 + + # 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=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='-berok' + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${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' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec=' ' + 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 $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # 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 "$deplibs" | $SED -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 + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + 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 + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | kfreebsd*-gnu | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + 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' + 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 + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*|ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -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' + ;; + esac + else + case $host_cpu in + hppa*64*|ia64*) + archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + 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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + 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' + 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 ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + 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 ${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='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -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; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_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' + fi + hardcode_libdir_separator=: + ;; + + sco3.2v5*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=no + hardcode_shlibpath_var=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv5*) + no_undefined_flag=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + hardcode_libdir_flag_spec= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = 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 + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds 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. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + 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:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + 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* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[123]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '#line 8412 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != 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_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; 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 + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* 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 shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* 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 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which librarie types wil actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: result: +creating $ofile" >&5 +echo "${ECHO_T} +creating $ofile" >&6; } + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# 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 + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +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 + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# 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 + +# 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 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# 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 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + 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 + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + 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_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= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# 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= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen 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. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&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 + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$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 -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -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 "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + 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].*|aix5*) + 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_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + 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 + hardcode_direct_CXX=yes + 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 + + # 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. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${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 $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + +cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi + rm -rf conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&6 +fi +rm -f conftest* +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols_CXX=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX=' ' + 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 $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + 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}--image-base=0x10000000 ${wl}--out-implib,$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}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + 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' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + 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 + ;; + freebsd[12]*) + # 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* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + 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) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + hardcode_libdir_separator_CXX=: + ;; + ia64*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + *) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + hardcode_direct_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*|ia64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + 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; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + ia64*|hppa*64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${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 + ;; + 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" && echo -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 -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${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=: + ;; + linux*) + 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; echo $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*) + # 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*) + # Portland Group C++ compiler + 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' + + 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; $echo \"$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=`echo $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; echo $list' + ;; + 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::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + 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='echo' + ;; + osf3*) + 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 + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + 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" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + 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. + # + # 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + 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 "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + 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. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + 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" && echo -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' + 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=`echo $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; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$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` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + 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 "\-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 + ;; + sco*) + archive_cmds_need_lc_CXX=no + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + 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*) + # 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 C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # 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 -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 -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\"" + 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 \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + archive_cmds_need_lc_CXX=no + ;; + 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 +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$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... + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; 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 + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $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 + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p 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 + ;; + + *.$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 + +# PORTME: override above test on systems where it is broken +case $host_os in +solaris*) + case $cc_basename in + CC*) + # 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. + postdeps_CXX='-lCstd -lCrun' + ;; + esac +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # 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*) + # 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' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # 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' + ;; + 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= + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # 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_AC_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 + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + 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* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_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="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + 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*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # 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' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + 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*) + ;; + sco*) + case $cc_basename in + CC*) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # 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 + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$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 "\"configure:11562: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "configure:11566: \$? = $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 >conftest.exp + $SED '/^$/d' conftest.err >conftest.er2 + if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_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 +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 + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$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 "\"configure:11624: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "configure:11628: \$? = $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 > out/conftest.exp + $SED '/^$/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.err || 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 .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&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 + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +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 + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # 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 + 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")) && (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*) + export_symbols_cmds_CXX='$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' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = 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 + +# +# 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. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_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:$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=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + 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* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&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" +if test "$GCC" = yes; then + 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 ';' >/dev/null ; then + # 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. + 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 +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 + 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' + ;; + +aix4* | aix5*) + version_type=linux + 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*) + 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' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + 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*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + 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' + 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}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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}${versuffix}$shared_ext ${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`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + 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='GNU ld.so' + ;; + +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[123]*) 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + 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 + 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' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + 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 Linux ELF. +linux*) + version_type=linux + 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 + # 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 + + # find out which ABI we are using + libsuff= + case $host_cpu in + x86_64*|s390x*|powerpc64*) + echo '#line 12147 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $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' + ;; + +knetbsd*-gnu) + version_type=linux + 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='GNU 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 + 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=linux + 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 + ;; + +openbsd*) + version_type=sunos + 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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +solaris*) + version_type=linux + 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.2uw2* | sysv4.3* | sysv5*) + version_type=linux + 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 + export_dynamic_flag_spec='${wl}-Blargedynsym' + 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 + 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 + ;; + +uts4*) + version_type=linux + 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 +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&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-existant 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_AC_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 +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; 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 + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* 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 shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* 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 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* 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 dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# 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 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +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 + +# 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. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# 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 + +# 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_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# 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 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 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_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 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# 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 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + 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 + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +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 + + else + tagname="" + fi + ;; + +# F77) +# if test -n "$F77" && test "X$F77" != "Xno"; then +# AC_LIBTOOL_LANG_F77_CONFIG +# else +# tagname="" +# fi +# ;; +# +# GCJ) +# if test -n "$GCJ" && test "X$GCJ" != "Xno"; then +# AC_LIBTOOL_LANG_GCJ_CONFIG +# else +# tagname="" +# fi +# ;; +# +# RC) +# AC_LIBTOOL_LANG_RC_CONFIG +# ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + +all_targets='$(PHP_MODULES)' +install_targets="install-modules install-headers" +phplibdir="`pwd`/modules" +CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H" +CFLAGS_CLEAN='$(CFLAGS)' +CXXFLAGS_CLEAN='$(CXXFLAGS)' + +test "$prefix" = "NONE" && prefix="/usr/local" +test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHP_MODULES" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST all_targets" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST install_targets" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST exec_prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST libdir" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST prefix" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST phplibdir" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST phpincludedir" + + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CC" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CFLAGS_CLEAN" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CPP" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CPPFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXX" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXXFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST CXXFLAGS_CLEAN" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTENSION_DIR" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST PHP_EXECUTABLE" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTRA_LDFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST EXTRA_LIBS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST INCLUDES" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LDFLAGS" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHARED_LIBTOOL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST LIBTOOL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST SHELL" + + + PHP_VAR_SUBST="$PHP_VAR_SUBST INSTALL_HEADERS" + + + + $php_shtool mkdir -p $BUILD_DIR + + + cat >Makefile <> Makefile + done + + cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile + + +test -d modules || $php_shtool mkdir modules +touch .deps + +ac_config_headers="$ac_config_headers config.h" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +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'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration headers: +$config_headers + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +for ac_tag in :H $CONFIG_HEADERS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then 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. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" + ;; + + + esac + +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/src/cairo/configure.in b/src/cairo/configure.in new file mode 100644 index 0000000..c8a8102 --- /dev/null +++ b/src/cairo/configure.in @@ -0,0 +1,128 @@ +dnl This file becomes configure.in for self-contained extensions. + +divert(1) + +AC_PREREQ(2.13) +AC_INIT(config.m4) + +PHP_CONFIG_NICE(config.nice) + +dnl +AC_DEFUN([PHP_EXT_BUILDDIR],[.])dnl +AC_DEFUN([PHP_EXT_DIR],[""])dnl +AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir])dnl +AC_DEFUN([PHP_ALWAYS_SHARED],[ + ext_output="yes, shared" + ext_shared=yes + test "[$]$1" = "no" && $1=yes +])dnl +dnl +abs_srcdir=`(cd $srcdir && pwd)` +abs_builddir=`pwd` + +AC_PROG_CC +AC_PROG_CC_C_O + +dnl Support systems with system libraries in e.g. /usr/lib64 +PHP_ARG_WITH(libdir, for system library directory, +[ --with-libdir=NAME Look for libraries in .../NAME rather than .../lib], lib, no) + +PHP_RUNPATH_SWITCH +PHP_SHLIB_SUFFIX_NAMES + +dnl Find php-config script +PHP_ARG_WITH(php-config,, +[ --with-php-config=PATH Path to php-config [php-config]], php-config, no) + +dnl For BC +PHP_CONFIG=$PHP_PHP_CONFIG +prefix=`$PHP_CONFIG --prefix 2>/dev/null` +phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null` +INCLUDES=`$PHP_CONFIG --includes 2>/dev/null` +EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null` +PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null` + +if test -z "$prefix"; then + AC_MSG_ERROR([Cannot find php-config. Please use --with-php-config=PATH]) +fi + +php_shtool=$srcdir/build/shtool +PHP_INIT_BUILD_SYSTEM + +AC_MSG_CHECKING([for PHP prefix]) +AC_MSG_RESULT([$prefix]) +AC_MSG_CHECKING([for PHP includes]) +AC_MSG_RESULT([$INCLUDES]) +AC_MSG_CHECKING([for PHP extension directory]) +AC_MSG_RESULT([$EXTENSION_DIR]) +AC_MSG_CHECKING([for PHP installed headers prefix]) +AC_MSG_RESULT([$phpincludedir]) + +dnl Always shared +PHP_BUILD_SHARED + +dnl Required programs +PHP_PROG_RE2C +PHP_PROG_AWK + +sinclude(config.m4) + +enable_static=no +enable_shared=yes + +dnl Only allow AC_PROG_CXX if it's explicitly called (by PHP_REQUIRE_CXX) +dnl otherwise AC_PROG_LIBTOOL fails if there is no working C++ compiler +AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [AC_PROG_CXX], [undefine([AC_PROG_CXX]) +AC_DEFUN([AC_PROG_CXX], [])]) +AC_PROG_LIBTOOL + +all_targets='$(PHP_MODULES)' +install_targets="install-modules install-headers" +phplibdir="`pwd`/modules" +CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H" +CFLAGS_CLEAN='$(CFLAGS)' +CXXFLAGS_CLEAN='$(CXXFLAGS)' + +test "$prefix" = "NONE" && prefix="/usr/local" +test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' + +PHP_SUBST(PHP_MODULES) +PHP_SUBST(all_targets) +PHP_SUBST(install_targets) + +PHP_SUBST(prefix) +PHP_SUBST(exec_prefix) +PHP_SUBST(libdir) +PHP_SUBST(prefix) +PHP_SUBST(phplibdir) +PHP_SUBST(phpincludedir) + +PHP_SUBST(CC) +PHP_SUBST(CFLAGS) +PHP_SUBST(CFLAGS_CLEAN) +PHP_SUBST(CPP) +PHP_SUBST(CPPFLAGS) +PHP_SUBST(CXX) +PHP_SUBST(CXXFLAGS) +PHP_SUBST(CXXFLAGS_CLEAN) +PHP_SUBST(EXTENSION_DIR) +PHP_SUBST(PHP_EXECUTABLE) +PHP_SUBST(EXTRA_LDFLAGS) +PHP_SUBST(EXTRA_LIBS) +PHP_SUBST(INCLUDES) +PHP_SUBST(LFLAGS) +PHP_SUBST(LDFLAGS) +PHP_SUBST(SHARED_LIBTOOL) +PHP_SUBST(LIBTOOL) +PHP_SUBST(SHELL) +PHP_SUBST(INSTALL_HEADERS) + +PHP_GEN_BUILD_DIRS +PHP_GEN_GLOBAL_MAKEFILE + +test -d modules || $php_shtool mkdir modules +touch .deps + +AC_CONFIG_HEADER(config.h) + +AC_OUTPUT() diff --git a/src/cairo/hs_err_pid4267.log b/src/cairo/hs_err_pid4267.log new file mode 100644 index 0000000..55d2279 --- /dev/null +++ b/src/cairo/hs_err_pid4267.log @@ -0,0 +1,748 @@ +# +# An unexpected error has been detected by Java Runtime Environment: +# +# SIGSEGV (0xb) at pc=0xb7f59780, pid=4267, tid=2829818768 +# +# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode) +# Problematic frame: +# C [libpthread.so.0+0x7780] __pthread_mutex_lock+0x20 +# +# If you would like to submit a bug report, please visit: +# http://java.sun.com/webapps/bugreport/crash.jsp +# + +--------------- T H R E A D --------------- + +Current thread (0x08a1fc00): JavaThread "AWT-XAWT" daemon [_thread_in_native, id=4495] + +siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0xa4fe4044 + +Registers: +EAX=0x0000118f, EBX=0xb7f65ff4, ECX=0xb7f41120, EDX=0xa67933e0 +ESP=0xa8ab8270, EBP=0xa8ab82b8, ESI=0xa67933e0, EDI=0xa4fe4038 +EIP=0xb7f59780, CR2=0xa4fe4044, EFLAGS=0x00010292 + +Top of Stack: (sp=0xa8ab8270) +0xa8ab8270: b7f41120 08308898 0904d830 00000040 +0xa8ab8280: 0000118f a5fdac0e a5fd7000 0077c06c +0xa8ab8290: b7e203d4 a6752e20 08972a50 0904d528 +0xa8ab82a0: b7f3fff4 b7f41120 0904d528 a6752e20 +0xa8ab82b0: a67933e0 a4fe4038 a8ab82e8 a63237b5 +0xa8ab82c0: a4fe4038 0904d528 a8ab82d8 a662719d +0xa8ab82d0: 0904d528 a6752e20 a8ab8308 a6752e20 +0xa8ab82e0: a67933e0 a6751bfc a8ab8338 a6253584 + +Instructions: (pc=0xb7f59780) +0xb7f59770: 86 c8 00 00 8b 7d 08 65 a1 48 00 00 00 89 45 c8 +0xb7f59780: 8b 57 0c 83 fa 43 77 0b 8b 84 93 b4 bd ff ff 01 + +Stack: [0xa8a69000,0xa8aba000), sp=0xa8ab8270, free space=316k +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +C [libpthread.so.0+0x7780] __pthread_mutex_lock+0x20 +C [libflashplayer.so+0x34c7b5] +C [libflashplayer.so+0x27c584] +C [libflashplayer.so+0x1286fd] +C [libflashplayer.so+0x27468] +C [libflashplayer.so+0x230a0] +C [libflashplayer.so+0x6b587a] +C [ld-linux.so.2+0xe21f] +C [libc.so.6+0x2b24b] exit+0xdb +C [libX11.so.6+0x3a269] _XIOError+0x39 +C [libX11.so.6+0x3b106] _XRead+0xc6 +C [libX11.so.6+0x3c5c1] _XEventsQueued+0x261 +C [libX11.so.6+0x2b23f] XEventsQueued+0x6f +C [libmawt.so+0xc466] Java_sun_awt_X11_XlibWrapper_XEventsQueued+0x26 +J sun.awt.X11.XlibWrapper.XEventsQueued(JI)I +j sun.awt.X11.XToolkit.run(Z)V+52 +j sun.awt.X11.XToolkit.run()V+5 +j java.lang.Thread.run()V+11 +v ~StubRoutines::call_stub +V [libjvm.so+0x20bc6d] +V [libjvm.so+0x30a828] +V [libjvm.so+0x20b580] +V [libjvm.so+0x20b60d] +V [libjvm.so+0x27b845] +V [libjvm.so+0x384190] +V [libjvm.so+0x30b719] +C [libpthread.so.0+0x54bb] + +Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) +J sun.awt.X11.XlibWrapper.XEventsQueued(JI)I +j sun.awt.X11.XToolkit.run(Z)V+52 +j sun.awt.X11.XToolkit.run()V+5 +j java.lang.Thread.run()V+11 +v ~StubRoutines::call_stub + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + 0x097e7400 JavaThread "TrackerServer:TCP:8008[89]" daemon [_thread_blocked, id=729] + 0x097e0800 JavaThread "UPnPDispatcher[128]" daemon [_thread_blocked, id=727] + 0x09680400 JavaThread "Simple Timer[171]" daemon [_thread_blocked, id=405] + 0x092d6000 JavaThread "Simple Timer[170]" daemon [_thread_blocked, id=324] + 0x08152400 JavaThread "Simple Timer[169]" daemon [_thread_blocked, id=32546] + 0x09379800 JavaThread "Simple Timer[168]" daemon [_thread_blocked, id=32225] + 0x08ffe000 JavaThread "Simple Timer[156]" daemon [_thread_blocked, id=29879] + 0x09005000 JavaThread "CuncurrentHasher:scheduler" daemon [_thread_blocked, id=5135] + 0x0926b400 JavaThread "DM:PeerListenAggregatorDispatcher" daemon [_thread_blocked, id=5069] + 0x09242800 JavaThread "PeerControlScheduler" daemon [_thread_blocked, id=5067] + 0x09248c00 JavaThread "DMC:DiskListenAgregatorDispatcher" daemon [_thread_blocked, id=5059] + 0x09243800 JavaThread "DiskM:ListenAggregatorDispatcher" daemon [_thread_blocked, id=5058] + 0x0853b000 JavaThread "Timer:Tracker Timer" daemon [_thread_blocked, id=5056] + 0x082ae400 JavaThread "Plugin azupnpav:eventDispatch[1]" daemon [_thread_blocked, id=4606] + 0x08285400 JavaThread "TRTrackerServer:accept.loop" daemon [_thread_in_native, id=4585] + 0x08284c00 JavaThread "TrackerServer:timer.loop" daemon [_thread_blocked, id=4584] + 0x08913000 JavaThread "DM:ListenAggregatorDispatcher" daemon [_thread_blocked, id=4562] +=>0x08a1fc00 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=4495] + 0x08a08c00 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=4494] + 0x08868800 JavaThread "UI Updater" daemon [_thread_blocked, id=4458] + 0x08615000 JavaThread "StatsWriter" daemon [_thread_blocked, id=4439] + 0x085e9800 JavaThread "Universal Plug and Play (UPnP)::SSDP:queryLoop" daemon [_thread_blocked, id=4434] + 0x085dec00 JavaThread "MCGroup:CtrlListener" daemon [_thread_in_native, id=4433] + 0x085ddc00 JavaThread "MCGroup:MCListener" daemon [_thread_in_native, id=4432] + 0x085d4000 JavaThread "MCGroup:CtrlListener" daemon [_thread_in_native, id=4430] + 0x085d2c00 JavaThread "MCGroup:MCListener" daemon [_thread_in_native, id=4429] + 0x085d0000 JavaThread "MCGroup:CtrlListener" daemon [_thread_in_native, id=4428] + 0x085d7400 JavaThread "MCGroup:MCListener" daemon [_thread_in_native, id=4427] + 0x085d6c00 JavaThread "MCGroup:CtrlListener" daemon [_thread_in_native, id=4426] + 0x085cbc00 JavaThread "MCGroup:MCListener" daemon [_thread_in_native, id=4425] + 0x085cd400 JavaThread "TRHost:ListenDispatcher" daemon [_thread_blocked, id=4423] + 0x085c9c00 JavaThread "Timer:Plugin azlocaltracker:azlocalplugin:init" daemon [_thread_blocked, id=4420] + 0x085c8400 JavaThread "Timer:Plugin azextseed:ExternalPeerInitialize" daemon [_thread_blocked, id=4419] + 0x085c2000 JavaThread "HostNameToIPResolver" daemon [_thread_blocked, id=4410] + 0x085bec00 JavaThread "UPnPMediaServer:closer" daemon [_thread_blocked, id=4409] + 0x085be000 JavaThread "UPnPMediaServer:accepter" daemon [_thread_in_native, id=4408] + 0x0855a400 JavaThread "MagnetURIHandler" daemon [_thread_in_native, id=4407] + 0x085bc000 JavaThread "Timer:Plugin azupnpav:eventDispatch" daemon [_thread_blocked, id=4406] + 0x085bb800 JavaThread "Timer:Plugin azupnpav:init" daemon [_thread_blocked, id=4405] + 0x08560c00 JavaThread "GM:ListenDispatcher" daemon [_thread_blocked, id=4403] + 0x08554800 JavaThread "Global Status Checker" [_thread_blocked, id=4402] + 0x08550c00 JavaThread "TRHost::stats.loop" daemon [_thread_blocked, id=4401] + 0x083f6c00 JavaThread "Tracker Scrape" daemon [_thread_blocked, id=4400] + 0x08549400 JavaThread "FMFileManager::closeQueueDispatcher" daemon [_thread_blocked, id=4399] + 0x0846c400 JavaThread "Timer:v3.PlatformMessenger.queue" daemon [_thread_blocked, id=4371] + 0x08401c00 JavaThread "Start Server" daemon [_thread_in_native, id=4360] + 0x083eec00 JavaThread "NetworkGlueUDP" daemon [_thread_blocked, id=4356] + 0x083ebc00 JavaThread "WriteController:WriteSelector" daemon [_thread_in_native, id=4354] + 0x083eac00 JavaThread "ReadController:ReadSelector" daemon [_thread_in_native, id=4353] + 0x083d8c00 JavaThread "ConnectDisconnectManager" daemon [_thread_in_native, id=4352] + 0x083c3000 JavaThread "ReadController:ReadProcessor" daemon [_thread_blocked, id=4351] + 0x083c6000 JavaThread "WriteController:WriteProcessor" daemon [_thread_blocked, id=4350] + 0x08371800 JavaThread "Timer:Simple Timer" daemon [_thread_blocked, id=4335] + 0x08369c00 JavaThread "SystemTime" daemon [_thread_blocked, id=4334] + 0x080bdc00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4318] + 0x080bc400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4317] + 0x080bb400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4316] + 0x080ac000 JavaThread "Finalizer" daemon [_thread_blocked, id=4315] + 0x080a7c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=4314] + 0x08058c00 JavaThread "main" [_thread_in_native, id=4312] + +Other Threads: + 0x080a4800 VMThread [id=4313] + 0x080bf800 WatcherThread [id=4319] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap + def new generation total 960K, used 769K [0xadca0000, 0xadda0000, 0xae180000) + eden space 896K, 78% used [0xadca0000, 0xadd507b8, 0xadd80000) + from space 64K, 99% used [0xadd80000, 0xadd8fff8, 0xadd90000) + to space 64K, 0% used [0xadd90000, 0xadd90000, 0xadda0000) + tenured generation total 8864K, used 8118K [0xae180000, 0xaea28000, 0xb1ca0000) + the space 8864K, 91% used [0xae180000, 0xae96db98, 0xae96dc00, 0xaea28000) + compacting perm gen total 22784K, used 22538K [0xb1ca0000, 0xb32e0000, 0xb5ca0000) + the space 22784K, 98% used [0xb1ca0000, 0xb32a2a28, 0xb32a2c00, 0xb32e0000) +No shared spaces configured. + +Dynamic libraries: +06000000-06417000 r-xp 00000000 03:09 805655 /opt/sun-jdk-1.6.0.03/jre/lib/i386/client/libjvm.so +06417000-06430000 rwxp 00417000 03:09 805655 /opt/sun-jdk-1.6.0.03/jre/lib/i386/client/libjvm.so +06430000-0684f000 rwxp 06430000 00:00 0 +08048000-08052000 r-xp 00000000 03:09 805095 /opt/sun-jdk-1.6.0.03/bin/java +08052000-08053000 rwxp 00009000 03:09 805095 /opt/sun-jdk-1.6.0.03/bin/java +08053000-09883000 rwxp 08053000 00:00 0 [heap] +a3600000-a3652000 rwxp a3600000 00:00 0 +a3652000-a3700000 ---p a3652000 00:00 0 +a3800000-a38f9000 rwxp a3800000 00:00 0 +a38f9000-a3900000 ---p a38f9000 00:00 0 +a39af000-a39b2000 ---p a39af000 00:00 0 +a39b2000-a3b00000 rwxp a39b2000 00:00 0 +a3b0c000-a3b0f000 rwxp a3b0c000 00:00 0 +a3b0f000-a3b5d000 rwxp a3b0f000 00:00 0 +a3b5d000-a3b60000 rwxp a3b5d000 00:00 0 +a3b60000-a3bae000 rwxp a3b60000 00:00 0 +a3bae000-a3bb1000 rwxp a3bae000 00:00 0 +a3bb1000-a3bff000 rwxp a3bb1000 00:00 0 +a3bff000-a3c02000 ---p a3bff000 00:00 0 +a3c02000-a3c50000 rwxp a3c02000 00:00 0 +a3c50000-a3c53000 rwxp a3c50000 00:00 0 +a3c53000-a3ca1000 rwxp a3c53000 00:00 0 +a3ca1000-a3ca4000 ---p a3ca1000 00:00 0 +a3ca4000-a3cf2000 rwxp a3ca4000 00:00 0 +a3cf2000-a3cf5000 rwxp a3cf2000 00:00 0 +a3cf5000-a3d43000 rwxp a3cf5000 00:00 0 +a3d43000-a3d46000 ---p a3d43000 00:00 0 +a3d46000-a3d94000 rwxp a3d46000 00:00 0 +a3d94000-a3d97000 rwxp a3d94000 00:00 0 +a3d97000-a3de5000 rwxp a3d97000 00:00 0 +a3de5000-a3de8000 ---p a3de5000 00:00 0 +a3de8000-a3e36000 rwxp a3de8000 00:00 0 +a3e36000-a3e39000 rwxp a3e36000 00:00 0 +a3e39000-a3e87000 rwxp a3e39000 00:00 0 +a3e87000-a4661000 r-xp 00000000 03:09 172954 /usr/share/icons/gnome/icon-theme.cache +a4661000-a47d6000 r-xp 00000000 03:09 205350 /usr/share/icons/hicolor/icon-theme.cache +a47d6000-a47d7000 ---p a47d6000 00:00 0 +a47d7000-a4fd7000 rwxp a47d7000 00:00 0 +a5fd7000-a6750000 r-xp 00000000 03:09 149734 /home/akshat/.mozilla/plugins/libflashplayer.so +a6750000-a6794000 rwxp 00778000 03:09 149734 /home/akshat/.mozilla/plugins/libflashplayer.so +a6794000-a686b000 rwxp a6794000 00:00 0 +a686b000-a688e000 r-xp 00000000 03:09 177507 /usr/share/fonts/corefonts/verdana.ttf +a688e000-a68df000 r-xp 00000000 03:09 202340 /usr/lib/mozilla-firefox/components/libtransformiix.so +a68df000-a68e3000 rwxp 00051000 03:09 202340 /usr/lib/mozilla-firefox/components/libtransformiix.so +a68e3000-a68e6000 rwxp a68e3000 00:00 0 +a68e6000-a6934000 rwxp a68e6000 00:00 0 +a6934000-a696b000 r-xp 00000000 03:09 177525 /usr/share/fonts/corefonts/arialbi.ttf +a696b000-a696c000 ---p a696b000 00:00 0 +a696c000-a716c000 rwxp a696c000 00:00 0 +a716c000-a716d000 ---p a716c000 00:00 0 +a716d000-a796d000 rwxp a716d000 00:00 0 +a796d000-a797f000 r-xp 00000000 03:09 202291 /usr/lib/mozilla-firefox/components/libcomposer.so +a797f000-a7981000 rwxp 00011000 03:09 202291 /usr/lib/mozilla-firefox/components/libcomposer.so +a7981000-a7991000 r-xp 00000000 03:09 202361 /usr/lib/mozilla-firefox/components/libspellchecker.so +a7991000-a7992000 rwxp 0000f000 03:09 202361 /usr/lib/mozilla-firefox/components/libspellchecker.so +a7992000-a7a2b000 r-xp 00000000 03:09 202352 /usr/lib/mozilla-firefox/components/libeditor.so +a7a2b000-a7a30000 rwxp 00098000 03:09 202352 /usr/lib/mozilla-firefox/components/libeditor.so +a7a30000-a7a74000 r-xp 00000000 03:09 177509 /usr/share/fonts/corefonts/arial.ttf +a7a74000-a7a9b000 r-xp 00000000 03:09 202290 /usr/lib/mozilla-firefox/components/libgkplugin.so +a7a9b000-a7a9d000 rwxp 00027000 03:09 202290 /usr/lib/mozilla-firefox/components/libgkplugin.so +a7a9d000-a7ad0000 r-xp 00000000 03:09 202245 /usr/lib/mozilla-firefox/components/libmork.so +a7ad0000-a7ad3000 rwxp 00032000 03:09 202245 /usr/lib/mozilla-firefox/components/libmork.so +a7ad3000-a7b2c000 r-xp 00000000 03:09 202394 /usr/lib/mozilla-firefox/components/libhtmlpars.so +a7b2c000-a7b34000 rwxp 00058000 03:09 202394 /usr/lib/mozilla-firefox/components/libhtmlpars.so +a7b34000-a830e000 r-xp 00000000 03:09 172954 /usr/share/icons/gnome/icon-theme.cache +a830e000-a8483000 r-xp 00000000 03:09 205350 /usr/share/icons/hicolor/icon-theme.cache +a8483000-a8488000 r-xp 00000000 03:09 169159 /usr/lib/libfam.so.0.0.0 +a8488000-a8489000 rwxp 00004000 03:09 169159 /usr/lib/libfam.so.0.0.0 +a8489000-a8496000 r-xs 00000000 03:09 167658 /usr/share/mime/mime.cache +a8496000-a849b000 r-xp 00000000 03:09 202360 /usr/lib/mozilla-firefox/components/libtxmgr.so +a849b000-a849c000 rwxp 00004000 03:09 202360 /usr/lib/mozilla-firefox/components/libtxmgr.so +a849c000-a84a1000 r-xp 00000000 03:09 160167 /usr/share/fonts/75dpi/timR12.pcf.gz +a84a1000-a84ac000 r-xp 00000000 03:09 187354 /usr/lib/libgnome-keyring.so.0.0.1 +a84ac000-a84ad000 rwxp 0000a000 03:09 187354 /usr/lib/libgnome-keyring.so.0.0.1 +a84ad000-a84c2000 r-xp 00000000 03:09 162389 /usr/lib/libart_lgpl_2.so.2.3.17 +a84c2000-a84c3000 rwxp 00014000 03:09 162389 /usr/lib/libart_lgpl_2.so.2.3.17 +a84c3000-a84ec000 r-xp 00000000 03:09 189044 /usr/lib/libgnomecanvas-2.so.0.1400.0 +a84ec000-a84ed000 rwxp 00028000 03:09 189044 /usr/lib/libgnomecanvas-2.so.0.1400.0 +a84ed000-a8547000 r-xp 00000000 03:09 192398 /usr/lib/libbonoboui-2.so.0.0.0 +a8547000-a854a000 rwxp 0005a000 03:09 192398 /usr/lib/libbonoboui-2.so.0.0.0 +a854a000-a85cf000 r-xp 00000000 03:09 192888 /usr/lib/libgnomeui-2.so.0.1600.1 +a85cf000-a85d3000 rwxp 00084000 03:09 192888 /usr/lib/libgnomeui-2.so.0.1600.1 +a85d3000-a85d7000 r-xp 00000000 03:09 204455 /usr/lib/mozilla-firefox/plugins/libnullplugin.so +a85d7000-a85d8000 rwxp 00003000 03:09 204455 /usr/lib/mozilla-firefox/plugins/libnullplugin.so +a85d8000-a85dd000 r-xp 00000000 03:09 12320 /lib/libacl.so.1.1.0 +a85dd000-a85de000 rwxp 00005000 03:09 12320 /lib/libacl.so.1.1.0 +a85de000-a85ea000 r-xp 00000000 03:09 899850 /usr/lib/gnome-vfs-2.0/modules/libfile.so +a85ea000-a85eb000 rwxp 0000c000 03:09 899850 /usr/lib/gnome-vfs-2.0/modules/libfile.so +a85eb000-a85ee000 ---p a85eb000 00:00 0 +a85ee000-a863c000 rwxp a85ee000 00:00 0 +a863c000-a86ba000 r-xp 00000000 03:09 805645 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libfontmanager.so +a86ba000-a86c4000 rwxp 0007e000 03:09 805645 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libfontmanager.so +a86c4000-a86c9000 rwxp a86c4000 00:00 0 +a86c9000-a8707000 r-xp 00000000 03:09 805632 /opt/sun-jdk-1.6.0.03/jre/lib/i386/xawt/libmawt.so +a8707000-a8709000 rwxp 0003e000 03:09 805632 /opt/sun-jdk-1.6.0.03/jre/lib/i386/xawt/libmawt.so +a8709000-a870a000 rwxp a8709000 00:00 0 +a870a000-a87d0000 r-xp 00000000 03:09 805658 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libmlib_image.so +a87d0000-a87d1000 rwxp 000c5000 03:09 805658 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libmlib_image.so +a87d1000-a884c000 r-xp 00000000 03:09 805684 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libawt.so +a884c000-a8853000 rwxp 0007b000 03:09 805684 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libawt.so +a8853000-a8877000 rwxp a8853000 00:00 0 +a8877000-a887a000 ---p a8877000 00:00 0 +a887a000-a88c8000 rwxp a887a000 00:00 0 +a88c8000-a88d3000 r-xp 00000000 03:09 806533 /usr/lib/libswt-cairo-gtk-3346.so +a88d3000-a88d4000 rwxp 0000a000 03:09 806533 /usr/lib/libswt-cairo-gtk-3346.so +a88d4000-a88d7000 rwxp a88d4000 00:00 0 +a88d7000-a8925000 rwxp a88d7000 00:00 0 +a8925000-a8928000 rwxp a8925000 00:00 0 +a8928000-a8976000 rwxp a8928000 00:00 0 +a8976000-a8979000 ---p a8976000 00:00 0 +a8979000-a89c7000 rwxp a8979000 00:00 0 +a89c7000-a89ca000 ---p a89c7000 00:00 0 +a89ca000-a8a18000 rwxp a89ca000 00:00 0 +a8a18000-a8a1b000 ---p a8a18000 00:00 0 +a8a1b000-a8a69000 rwxp a8a1b000 00:00 0 +a8a69000-a8a6c000 ---p a8a69000 00:00 0 +a8a6c000-a8aba000 rwxp a8a6c000 00:00 0 +a8aba000-a8abd000 ---p a8aba000 00:00 0 +a8abd000-a8b0b000 rwxp a8abd000 00:00 0 +a8b0b000-a8b0e000 ---p a8b0b000 00:00 0 +a8b0e000-a8b5c000 rwxp a8b0e000 00:00 0 +a8b5c000-a8b5d000 ---p a8b5c000 00:00 0 +a8b5d000-a935d000 rwxp a8b5d000 00:00 0 +a935d000-a935e000 ---p a935d000 00:00 0 +a935e000-a9b5e000 rwxp a935e000 00:00 0 +a9b5e000-a9c1b000 r-xp 00000000 03:09 202260 /usr/lib/mozilla-firefox/components/libuconv.so +a9c1b000-a9c22000 rwxp 000bc000 03:09 202260 /usr/lib/mozilla-firefox/components/libuconv.so +a9c22000-a9c2c000 rwxp a9c22000 00:00 0 +a9c2c000-a9ce6000 r-xp 00000000 03:09 167795 /usr/lib/libasound.so.2.0.0 +a9ce6000-a9ceb000 rwxp 000b9000 03:09 167795 /usr/lib/libasound.so.2.0.0 +a9ceb000-a9cee000 r-xp 00000000 03:09 171735 /usr/lib/libORBitCosNaming-2.so.0.1.0 +a9cee000-a9cef000 rwxp 00003000 03:09 171735 /usr/lib/libORBitCosNaming-2.so.0.1.0 +a9cef000-a9cf1000 r-xp 00000000 03:09 25469 /lib/libutil-2.5.so +a9cf1000-a9cf3000 rwxp 00001000 03:09 25469 /lib/libutil-2.5.so +a9cf3000-a9e10000 r-xp 00000000 03:09 8753 /usr/lib/libcrypto.so.0.9.8 +a9e10000-a9e25000 rwxp 0011d000 03:09 8753 /usr/lib/libcrypto.so.0.9.8 +a9e25000-a9e28000 rwxp a9e25000 00:00 0 +a9e28000-a9e62000 r-xp 00000000 03:09 8737 /usr/lib/libssl.so.0.9.8 +a9e62000-a9e66000 rwxp 00039000 03:09 8737 /usr/lib/libssl.so.0.9.8 +a9e66000-a9e97000 r-xp 00000000 03:09 163239 /usr/lib/libdbus-1.so.3.2.0 +a9e97000-a9e98000 rwxp 00031000 03:09 163239 /usr/lib/libdbus-1.so.3.2.0 +a9e98000-a9eb2000 r-xp 00000000 03:09 167299 /usr/lib/libdbus-glib-1.so.2.0.0 +a9eb2000-a9eb3000 rwxp 00019000 03:09 167299 /usr/lib/libdbus-glib-1.so.2.0.0 +a9eb3000-a9eb9000 r-xp 00000000 03:09 3678 /usr/lib/libpopt.so.0.0.0 +a9eb9000-a9eba000 rwxp 00006000 03:09 3678 /usr/lib/libpopt.so.0.0.0 +a9eba000-a9ede000 r-xp 00000000 03:09 162540 /usr/lib/libaudiofile.so.0.0.2 +a9ede000-a9ee1000 rwxp 00023000 03:09 162540 /usr/lib/libaudiofile.so.0.0.2 +a9ee1000-a9eea000 r-xp 00000000 03:09 172012 /usr/lib/libesd.so.0.2.36 +a9eea000-a9eeb000 rwxp 00008000 03:09 172012 /usr/lib/libesd.so.0.2.36 +a9eeb000-a9efd000 r-xp 00000000 03:09 175452 /usr/lib/libbonobo-activation.so.4.0.0 +a9efd000-a9eff000 rwxp 00012000 03:09 175452 /usr/lib/libbonobo-activation.so.4.0.0 +a9eff000-a9f4f000 r-xp 00000000 03:09 175428 /usr/lib/libbonobo-2.so.0.0.0 +a9f4f000-a9f59000 rwxp 0004f000 03:09 175428 /usr/lib/libbonobo-2.so.0.0.0 +a9f59000-a9fad000 r-xp 00000000 03:09 899858 /usr/lib/libgnomevfs-2.so.0.2000.1 +a9fad000-a9fb0000 rwxp 00054000 03:09 899858 /usr/lib/libgnomevfs-2.so.0.2000.1 +a9fb0000-a9fc3000 r-xp 00000000 03:09 190921 /usr/lib/libgnome-2.so.0.1600.0 +a9fc3000-a9fc4000 rwxp 00013000 03:09 190921 /usr/lib/libgnome-2.so.0.1600.0 +a9fc4000-a9fc6000 r-xp 00000000 03:09 204456 /usr/lib/mozilla-firefox/plugins/libunixprintplugin.so +a9fc6000-a9fc7000 rwxp 00002000 03:09 204456 /usr/lib/mozilla-firefox/plugins/libunixprintplugin.so +a9fc7000-a9fca000 r-xp 00000000 03:09 12145 /lib/libattr.so.1.1.0 +a9fca000-a9fcb000 rwxp 00002000 03:09 12145 /lib/libattr.so.1.1.0 +a9fcb000-a9fce000 r-xp 00000000 03:09 806528 /usr/lib/libswt-gnome-gtk-3346.so +a9fce000-a9fcf000 rwxp 00002000 03:09 806528 /usr/lib/libswt-gnome-gtk-3346.so +a9fcf000-a9fd7000 r-xp 00000000 03:09 202391 /usr/lib/mozilla-firefox/components/libcookie.so +a9fd7000-a9fd8000 rwxp 00007000 03:09 202391 /usr/lib/mozilla-firefox/components/libcookie.so +a9fd8000-a9fdb000 r-xp 00000000 03:09 202323 /usr/lib/mozilla-firefox/components/libpermissions.so +a9fdb000-a9fdc000 rwxp 00002000 03:09 202323 /usr/lib/mozilla-firefox/components/libpermissions.so +a9fdc000-a9fdd000 ---p a9fdc000 00:00 0 +a9fdd000-aa7dd000 rwxp a9fdd000 00:00 0 +aa7dd000-aa823000 r-xp 00000000 03:09 177524 /usr/share/fonts/corefonts/arialbd.ttf +aa823000-aa839000 r-xp 00000000 03:09 202161 /usr/lib/mozilla-firefox/libjsj.so +aa839000-aa83a000 rwxp 00016000 03:09 202161 /usr/lib/mozilla-firefox/libjsj.so +aa83a000-aa84e000 r-xp 00000000 03:09 202229 /usr/lib/mozilla-firefox/components/liboji.so +aa84e000-aa84f000 rwxp 00014000 03:09 202229 /usr/lib/mozilla-firefox/components/liboji.so +aa84f000-aa893000 r-xp 00000000 03:09 202213 /usr/lib/mozilla-firefox/components/libtoolkitcomps.so +aa893000-aa896000 rwxp 00044000 03:09 202213 /usr/lib/mozilla-firefox/components/libtoolkitcomps.so +aa896000-aa8df000 r-xp 00000000 03:09 202203 /usr/lib/mozilla-firefox/components/libdocshell.so +aa8df000-aa8e3000 rwxp 00049000 03:09 202203 /usr/lib/mozilla-firefox/components/libdocshell.so +aa8e3000-aa92a000 r-xp 00000000 03:09 171718 /usr/lib/libORBit-2.so.0.1.0 +aa92a000-aa934000 rwxp 00046000 03:09 171718 /usr/lib/libORBit-2.so.0.1.0 +aa934000-aa962000 r-xp 00000000 03:09 187183 /usr/lib/libgconf-2.so.4.1.0 +aa962000-aa965000 rwxp 0002e000 03:09 187183 /usr/lib/libgconf-2.so.4.1.0 +aa966000-aa975000 r-xp 00000000 03:09 157679 /usr/share/fonts/ttf-bitstream-vera/VeraBd.ttf +aa975000-aa97c000 r-xp 00000000 03:09 202300 /usr/lib/mozilla-firefox/components/libpipboot.so +aa97c000-aa97d000 rwxp 00006000 03:09 202300 /usr/lib/mozilla-firefox/components/libpipboot.so +aa97d000-aa9b5000 r-xp 00000000 03:09 202348 /usr/lib/mozilla-firefox/components/libgfx_gtk.so +aa9b5000-aa9b8000 rwxp 00037000 03:09 202348 /usr/lib/mozilla-firefox/components/libgfx_gtk.so +aa9b8000-aa9c9000 r-xp 00000000 03:09 202267 /usr/lib/mozilla-firefox/components/libwebbrwsr.so +aa9c9000-aa9cb000 rwxp 00011000 03:09 202267 /usr/lib/mozilla-firefox/components/libwebbrwsr.so +aa9cb000-aa9f1000 r-xp 00000000 03:09 202237 /usr/lib/mozilla-firefox/components/librdf.so +aa9f1000-aa9f3000 rwxp 00026000 03:09 202237 /usr/lib/mozilla-firefox/components/librdf.so +aa9f3000-aaa11000 r-xp 00000000 03:09 162137 /usr/lib/libjpeg.so.62.0.0 +aaa11000-aaa12000 rwxp 0001e000 03:09 162137 /usr/lib/libjpeg.so.62.0.0 +aaa12000-aaa17000 r-xp 00000000 03:09 202200 /usr/lib/mozilla-firefox/components/libsystem-pref.so +aaa17000-aaa18000 rwxp 00004000 03:09 202200 /usr/lib/mozilla-firefox/components/libsystem-pref.so +aaa18000-aaa28000 r-xp 00000000 03:09 202262 /usr/lib/mozilla-firefox/components/libjar50.so +aaa28000-aaa2a000 rwxp 0000f000 03:09 202262 /usr/lib/mozilla-firefox/components/libjar50.so +aaa2a000-aaa42000 r-xp 00000000 03:09 202375 /usr/lib/mozilla-firefox/components/libimglib2.so +aaa42000-aaa44000 rwxp 00017000 03:09 202375 /usr/lib/mozilla-firefox/components/libimglib2.so +aaa44000-aaa8f000 r-xp 00000000 03:09 202226 /usr/lib/mozilla-firefox/components/libxpconnect.so +aaa8f000-aaa93000 rwxp 0004b000 03:09 202226 /usr/lib/mozilla-firefox/components/libxpconnect.so +aaa93000-aaaa4000 r-xp 00000000 03:09 542563 /usr/lib/libXft.so.2.1.2 +aaaa4000-aaaa5000 rwxp 00010000 03:09 542563 /usr/lib/libXft.so.2.1.2 +aaaa6000-aaaa8000 r-xp 00000000 03:09 202186 /usr/lib/mozilla-firefox/libgfxpsshar.so +aaaa8000-aaaa9000 rwxp 00001000 03:09 202186 /usr/lib/mozilla-firefox/libgfxpsshar.so +aaaa9000-aaabc000 r-xp 00000000 03:09 202328 /usr/lib/mozilla-firefox/components/libcaps.so +aaabc000-aaabd000 rwxp 00012000 03:09 202328 /usr/lib/mozilla-firefox/components/libcaps.so +aaabd000-aafe9000 r-xp 00000000 03:09 202232 /usr/lib/mozilla-firefox/components/libgklayout.so +aafe9000-ab049000 rwxp 0052b000 03:09 202232 /usr/lib/mozilla-firefox/components/libgklayout.so +ab049000-ab050000 rwxp ab049000 00:00 0 +ab050000-ab05f000 r-xp 00000000 03:09 202233 /usr/lib/mozilla-firefox/components/libchrome.so +ab05f000-ab060000 rwxp 0000f000 03:09 202233 /usr/lib/mozilla-firefox/components/libchrome.so +ab060000-ab061000 ---p ab060000 00:00 0 +ab061000-ab861000 rwxp ab061000 00:00 0 +ab861000-ab878000 r-xp 00000000 03:09 202472 /usr/lib/mozilla-firefox/libxpcom_compat.so +ab878000-ab879000 rwxp 00017000 03:09 202472 /usr/lib/mozilla-firefox/libxpcom_compat.so +ab879000-ab87a000 rwxp ab879000 00:00 0 +ab87a000-ab8b2000 r-xp 00000000 03:09 202382 /usr/lib/mozilla-firefox/components/libbrowsercomps.so +ab8b2000-ab8b5000 rwxp 00037000 03:09 202382 /usr/lib/mozilla-firefox/components/libbrowsercomps.so +ab8b5000-ab8ea000 r-xp 00000000 03:09 202370 /usr/lib/mozilla-firefox/components/libi18n.so +ab8ea000-ab8ed000 rwxp 00035000 03:09 202370 /usr/lib/mozilla-firefox/components/libi18n.so +ab8ed000-ab9a9000 r-xp 00000000 03:09 202227 /usr/lib/mozilla-firefox/components/libnecko.so +ab9a9000-ab9b1000 rwxp 000bc000 03:09 202227 /usr/lib/mozilla-firefox/components/libnecko.so +ab9b1000-aba56000 r-xp 00000000 03:09 202185 /usr/lib/mozilla-firefox/libmozjs.so +aba56000-aba5b000 rwxp 000a5000 03:09 202185 /usr/lib/mozilla-firefox/libmozjs.so +aba5b000-aba84000 r-xp 00000000 03:09 202312 /usr/lib/mozilla-firefox/components/libembedcomponents.so +aba84000-aba86000 rwxp 00029000 03:09 202312 /usr/lib/mozilla-firefox/components/libembedcomponents.so +aba86000-aba9b000 r-xp 00000000 03:09 13201 /usr/lib/libICE.so.6.3.0 +aba9b000-aba9c000 rwxp 00014000 03:09 13201 /usr/lib/libICE.so.6.3.0 +aba9c000-aba9e000 rwxp aba9c000 00:00 0 +aba9e000-abaa6000 r-xp 00000000 03:09 13313 /usr/lib/libSM.so.6.0.0 +abaa6000-abaa7000 rwxp 00007000 03:09 13313 /usr/lib/libSM.so.6.0.0 +abaa7000-abaf2000 r-xp 00000000 03:09 13662 /usr/lib/libXt.so.6.0.0 +abaf2000-abaf6000 rwxp 0004a000 03:09 13662 /usr/lib/libXt.so.6.0.0 +abaf8000-abafe000 r-xp 00000000 03:09 899099 /usr/lib/libpangoxft-1.0.so.0.1800.3 +abafe000-abaff000 rwxp 00005000 03:09 899099 /usr/lib/libpangoxft-1.0.so.0.1800.3 +abaff000-abb0d000 r-xp 00000000 03:09 202355 /usr/lib/mozilla-firefox/components/libpref.so +abb0d000-abb0e000 rwxp 0000e000 03:09 202355 /usr/lib/mozilla-firefox/components/libpref.so +abb0e000-abb2a000 r-xp 00000000 03:09 202494 /usr/lib/mozilla-firefox/libgkgfx.so +abb2a000-abb2c000 rwxp 0001c000 03:09 202494 /usr/lib/mozilla-firefox/libgkgfx.so +abb2c000-abb57000 r-xp 00000000 03:09 202309 /usr/lib/mozilla-firefox/components/libwidget_gtk2.so +abb57000-abb5b000 rwxp 0002b000 03:09 202309 /usr/lib/mozilla-firefox/components/libwidget_gtk2.so +abb5b000-abbf9000 r-xp 00000000 03:09 202469 /usr/lib/mozilla-firefox/libxpcom_core.so +abbf9000-abc01000 rwxp 0009e000 03:09 202469 /usr/lib/mozilla-firefox/libxpcom_core.so +abc01000-abc09000 r-xp 00000000 03:09 707729 /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libgcc_s.so.1 +abc09000-abc0a000 rwxp 00007000 03:09 707729 /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libgcc_s.so.1 +abc0a000-abcd0000 r-xp 00000000 03:09 707737 /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3 +abcd0000-abcd1000 r-xp 000c5000 03:09 707737 /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3 +abcd1000-abcd5000 rwxp 000c6000 03:09 707737 /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3 +abcd5000-abcdb000 rwxp abcd5000 00:00 0 +abcdb000-abcde000 r-xp 00000000 03:09 202491 /usr/lib/mozilla-firefox/libgtkxtbin.so +abcde000-abcdf000 rwxp 00003000 03:09 202491 /usr/lib/mozilla-firefox/libgtkxtbin.so +abcdf000-abcea000 r-xp 00000000 03:09 202315 /usr/lib/mozilla-firefox/components/libmyspell.so +abcea000-abceb000 rwxp 0000b000 03:09 202315 /usr/lib/mozilla-firefox/components/libmyspell.so +abceb000-abcee000 r-xp 00000000 03:09 202294 /usr/lib/mozilla-firefox/components/libbrowserdirprovider.so +abcee000-abcef000 rwxp 00002000 03:09 202294 /usr/lib/mozilla-firefox/components/libbrowserdirprovider.so +abcef000-abcf1000 r-xp 00000000 03:09 25563 /usr/lib/gconv/UTF-16.so +abcf1000-abcf3000 rwxp 00001000 03:09 25563 /usr/lib/gconv/UTF-16.so +abcf3000-abd21000 r-xp 00000000 03:09 163351 /usr/lib/nspr/libnspr4.so.6 +abd21000-abd22000 rwxp 0002e000 03:09 163351 /usr/lib/nspr/libnspr4.so.6 +abd22000-abd24000 rwxp abd22000 00:00 0 +abd24000-abd27000 ---p abd24000 00:00 0 +abd27000-abd75000 rwxp abd27000 00:00 0 +abd75000-abd78000 ---p abd75000 00:00 0 +abd78000-abdc6000 rwxp abd78000 00:00 0 +abdc6000-abdc9000 ---p abdc6000 00:00 0 +abdc9000-abe17000 rwxp abdc9000 00:00 0 +abe17000-abe1a000 ---p abe17000 00:00 0 +abe1a000-abe68000 rwxp abe1a000 00:00 0 +abe68000-abe6b000 ---p abe68000 00:00 0 +abe6b000-abeb9000 rwxp abe6b000 00:00 0 +abeb9000-abebc000 ---p abeb9000 00:00 0 +abebc000-abf0a000 rwxp abebc000 00:00 0 +abf0a000-abf0d000 ---p abf0a000 00:00 0 +abf0d000-abf5b000 rwxp abf0d000 00:00 0 +abf5b000-abf5e000 ---p abf5b000 00:00 0 +abf5e000-abfac000 rwxp abf5e000 00:00 0 +abfac000-abfaf000 ---p abfac000 00:00 0 +abfaf000-abffd000 rwxp abfaf000 00:00 0 +abffd000-ac000000 ---p abffd000 00:00 0 +ac000000-ac04e000 rwxp ac000000 00:00 0 +ac04e000-ac051000 ---p ac04e000 00:00 0 +ac051000-ac09f000 rwxp ac051000 00:00 0 +ac09f000-ac0a2000 ---p ac09f000 00:00 0 +ac0a2000-ac0f0000 rwxp ac0a2000 00:00 0 +ac0f0000-ac0f3000 ---p ac0f0000 00:00 0 +ac0f3000-ac141000 rwxp ac0f3000 00:00 0 +ac141000-ac144000 ---p ac141000 00:00 0 +ac144000-ac192000 rwxp ac144000 00:00 0 +ac192000-ac195000 ---p ac192000 00:00 0 +ac195000-ac1e3000 rwxp ac195000 00:00 0 +ac1e3000-ac1e6000 ---p ac1e3000 00:00 0 +ac1e6000-ac234000 rwxp ac1e6000 00:00 0 +ac234000-ac237000 ---p ac234000 00:00 0 +ac237000-ac285000 rwxp ac237000 00:00 0 +ac285000-ac288000 ---p ac285000 00:00 0 +ac288000-ac2d6000 rwxp ac288000 00:00 0 +ac2d6000-ac2d9000 rwxp ac2d6000 00:00 0 +ac2d9000-ac327000 rwxp ac2d9000 00:00 0 +ac327000-ac32a000 ---p ac327000 00:00 0 +ac32a000-ac378000 rwxp ac32a000 00:00 0 +ac378000-ac37b000 ---p ac378000 00:00 0 +ac37b000-ac3c9000 rwxp ac37b000 00:00 0 +ac3c9000-ac3cc000 ---p ac3c9000 00:00 0 +ac3cc000-ac41a000 rwxp ac3cc000 00:00 0 +ac41a000-ac41d000 ---p ac41a000 00:00 0 +ac41d000-ac46b000 rwxp ac41d000 00:00 0 +ac46b000-ac46e000 ---p ac46b000 00:00 0 +ac46e000-ac4bc000 rwxp ac46e000 00:00 0 +ac4bc000-ac4bf000 ---p ac4bc000 00:00 0 +ac4bf000-ac50d000 rwxp ac4bf000 00:00 0 +ac50d000-ac510000 ---p ac50d000 00:00 0 +ac510000-ac55e000 rwxp ac510000 00:00 0 +ac55e000-ac561000 ---p ac55e000 00:00 0 +ac561000-ac5af000 rwxp ac561000 00:00 0 +ac5af000-ac5b2000 ---p ac5af000 00:00 0 +ac5b2000-ac6fe000 rwxp ac5b2000 00:00 0 +ac6fe000-ac700000 ---p ac6fe000 00:00 0 +ac702000-ac706000 r-xp 00000000 03:09 163359 /usr/lib/nspr/libplc4.so.6 +ac706000-ac707000 rwxp 00003000 03:09 163359 /usr/lib/nspr/libplc4.so.6 +ac707000-ac713000 r-xp 00000000 03:09 806564 /usr/lib/libswt-mozilla-gtk-3346.so +ac713000-ac714000 rwxp 0000b000 03:09 806564 /usr/lib/libswt-mozilla-gtk-3346.so +ac714000-ac722000 r-xs 00656000 03:09 805893 /opt/sun-jdk-1.6.0.03/jre/lib/charsets.jar +ac722000-ac724000 r-xp 00000000 03:09 856866 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so +ac724000-ac725000 rwxp 00001000 03:09 856866 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so +ac725000-ac736000 r-xp 00000000 03:09 157676 /usr/share/fonts/ttf-bitstream-vera/Vera.ttf +ac736000-ac73c000 r-xs 00000000 03:09 852082 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 +ac73c000-ac73e000 r-xs 00000000 03:09 852858 /var/cache/fontconfig/76fa4b957c916922374347f144bde9da-x86.cache-2 +ac73e000-ac74c000 r-xs 00000000 03:09 852845 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 +ac74c000-ac76e000 r-xs 00000000 03:09 852097 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 +ac76e000-ac790000 r-xs 00000000 03:09 852094 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 +ac790000-ac7f0000 rwxs 00000000 00:08 2129942 /SYSV00000000 (deleted) +ac7f0000-ac820000 rwxs 00000000 00:08 2064404 /SYSV00000000 (deleted) +ac820000-ac82e000 r-xp 00000000 03:09 25473 /lib/libresolv-2.5.so +ac82e000-ac830000 rwxp 0000d000 03:09 25473 /lib/libresolv-2.5.so +ac830000-ac832000 rwxp ac830000 00:00 0 +ac832000-ac833000 r-xs 00000000 03:09 856087 /home/akshat/.local/share/mime/mime.cache +ac833000-ac835000 r-xp 00000000 03:09 163356 /usr/lib/nspr/libplds4.so.6 +ac835000-ac836000 rwxp 00001000 03:09 163356 /usr/lib/nspr/libplds4.so.6 +ac836000-ac838000 r-xp 00000000 03:09 202490 /usr/lib/mozilla-firefox/libxpcom.so +ac838000-ac839000 rwxp 00002000 03:09 202490 /usr/lib/mozilla-firefox/libxpcom.so +ac839000-ac83b000 r-xs 00000000 03:09 177540 /var/cache/fontconfig/9080285a363f2ec8b505181342116a40-x86.cache-2 +ac83b000-ac847000 r-xs 00000000 03:09 852334 /var/cache/fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-x86.cache-2 +ac847000-ac84a000 r-xs 00000000 03:09 852109 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 +ac84a000-ac84d000 ---p ac84a000 00:00 0 +ac84d000-ac89b000 rwxp ac84d000 00:00 0 +ac89b000-ac89e000 ---p ac89b000 00:00 0 +ac89e000-ac8ec000 rwxp ac89e000 00:00 0 +ac8ec000-ac8ef000 ---p ac8ec000 00:00 0 +ac8ef000-ac93d000 rwxp ac8ef000 00:00 0 +ac93d000-ac940000 ---p ac93d000 00:00 0 +ac940000-ac98e000 rwxp ac940000 00:00 0 +ac98e000-acaa1000 r-xp 00000000 03:09 153951 /usr/lib/libxml2.so.2.6.27 +acaa1000-acaa6000 rwxp 00112000 03:09 153951 /usr/lib/libxml2.so.2.6.27 +acaa6000-acaa7000 rwxp acaa6000 00:00 0 +acaa7000-acac9000 r-xp 00000000 03:09 162198 /usr/lib/libpng12.so.0.15.0 +acac9000-acaca000 rwxp 00021000 03:09 162198 /usr/lib/libpng12.so.0.15.0 +acaca000-acace000 r-xp 00000000 03:09 13100 /usr/lib/libXdmcp.so.6.0.0 +acace000-acacf000 rwxp 00003000 03:09 13100 /usr/lib/libXdmcp.so.6.0.0 +acacf000-acad1000 r-xp 00000000 03:09 13021 /usr/lib/libXau.so.6.0.0 +acad1000-acad2000 rwxp 00001000 03:09 13021 /usr/lib/libXau.so.6.0.0 +acad2000-acae3000 r-xp 00000000 03:09 1450 /lib/libz.so.1.2.3 +acae3000-acae4000 rwxp 00010000 03:09 1450 /lib/libz.so.1.2.3 +acae4000-acb4d000 r-xp 00000000 03:09 153779 /usr/lib/libfreetype.so.6.3.8 +acb4d000-acb50000 rwxp 00069000 03:09 153779 /usr/lib/libfreetype.so.6.3.8 +acb50000-acb7d000 r-xp 00000000 03:09 856675 /usr/lib/libpangoft2-1.0.so.0.1800.3 +acb7d000-acb7e000 rwxp 0002c000 03:09 856675 /usr/lib/libpangoft2-1.0.so.0.1800.3 +acb7e000-acb86000 r-xp 00000000 03:09 156808 /usr/lib/libXcursor.so.1.0.2 +acb86000-acb87000 rwxp 00007000 03:09 156808 /usr/lib/libXcursor.so.1.0.2 +acb87000-acb8c000 r-xp 00000000 03:09 156911 /usr/lib/libXrandr.so.2.1.0 +acb8c000-acb8d000 rwxp 00004000 03:09 156911 /usr/lib/libXrandr.so.2.1.0 +acb8d000-acb94000 r-xp 00000000 03:09 154949 /usr/lib/libXi.so.6.0.0 +acb94000-acb95000 rwxp 00006000 03:09 154949 /usr/lib/libXi.so.6.0.0 +acb95000-acb9c000 r-xp 00000000 03:09 155485 /usr/lib/libXrender.so.1.3.0 +acb9c000-acb9d000 rwxp 00006000 03:09 155485 /usr/lib/libXrender.so.1.3.0 +acb9d000-acbc0000 r-xp 00000000 03:09 154580 /usr/lib/libfontconfig.so.1.2.0 +acbc0000-acbc8000 rwxp 00022000 03:09 154580 /usr/lib/libfontconfig.so.1.2.0 +acbc8000-acbd5000 r-xp 00000000 03:09 13221 /usr/lib/libXext.so.6.4.0 +acbd5000-acbd6000 rwxp 0000c000 03:09 13221 /usr/lib/libXext.so.6.4.0 +acbd6000-acc4a000 r-xp 00000000 03:09 949090 /usr/lib/libcairo.so.2.11.6 +acc4a000-acc4c000 rwxp 00073000 03:09 949090 /usr/lib/libcairo.so.2.11.6 +acc4c000-acd07000 r-xp 00000000 03:09 900233 /usr/lib/libglib-2.0.so.0.1400.4 +acd07000-acd08000 rwxp 000bb000 03:09 900233 /usr/lib/libglib-2.0.so.0.1400.4 +acd08000-acd0b000 r-xp 00000000 03:09 899683 /usr/lib/libgmodule-2.0.so.0.1400.4 +acd0b000-acd0c000 rwxp 00002000 03:09 899683 /usr/lib/libgmodule-2.0.so.0.1400.4 +acd0c000-acd45000 r-xp 00000000 03:09 900263 /usr/lib/libgobject-2.0.so.0.1400.4 +acd45000-acd46000 rwxp 00039000 03:09 900263 /usr/lib/libgobject-2.0.so.0.1400.4 +acd46000-acd5d000 r-xp 00000000 03:09 167837 /usr/lib/libatk-1.0.so.0.1213.0 +acd5d000-acd5f000 rwxp 00017000 03:09 167837 /usr/lib/libatk-1.0.so.0.1213.0 +acd5f000-acd63000 r-xp 00000000 03:09 155532 /usr/lib/libXfixes.so.3.1.0 +acd63000-acd64000 rwxp 00003000 03:09 155532 /usr/lib/libXfixes.so.3.1.0 +acd64000-acd66000 r-xp 00000000 03:09 156851 /usr/lib/libXdamage.so.1.1.0 +acd66000-acd67000 rwxp 00001000 03:09 156851 /usr/lib/libXdamage.so.1.1.0 +acd67000-acd69000 r-xp 00000000 03:09 156949 /usr/lib/libXcomposite.so.1.0.0 +acd69000-acd6a000 rwxp 00001000 03:09 156949 /usr/lib/libXcomposite.so.1.0.0 +acd6a000-ace52000 r-xp 00000000 03:09 14005 /usr/lib/libX11.so.6.2.0 +ace52000-ace56000 rwxp 000e8000 03:09 14005 /usr/lib/libX11.so.6.2.0 +ace56000-ace90000 r-xp 00000000 03:09 856894 /usr/lib/libpango-1.0.so.0.1800.3 +ace90000-ace92000 rwxp 00039000 03:09 856894 /usr/lib/libpango-1.0.so.0.1800.3 +ace92000-ace9a000 r-xp 00000000 03:09 856958 /usr/lib/libpangocairo-1.0.so.0.1800.3 +ace9a000-ace9b000 rwxp 00007000 03:09 856958 /usr/lib/libpangocairo-1.0.so.0.1800.3 +ace9b000-acf1e000 r-xp 00000000 03:09 918293 /usr/lib/libgdk-x11-2.0.so.0.1200.1 +acf1e000-acf21000 rwxp 00083000 03:09 918293 /usr/lib/libgdk-x11-2.0.so.0.1200.1 +acf21000-acf36000 r-xp 00000000 03:09 918631 /usr/lib/libgdk_pixbuf-2.0.so.0.1200.1 +acf36000-acf37000 rwxp 00015000 03:09 918631 /usr/lib/libgdk_pixbuf-2.0.so.0.1200.1 +acf37000-acf3b000 r-xp 00000000 03:09 156321 /usr/lib/libXtst.so.6.1.0 +acf3b000-acf3c000 rwxp 00004000 03:09 156321 /usr/lib/libXtst.so.6.1.0 +acf3c000-acf40000 r-xp 00000000 03:09 900162 /usr/lib/libgthread-2.0.so.0.1400.4 +acf40000-acf41000 rwxp 00003000 03:09 900162 /usr/lib/libgthread-2.0.so.0.1400.4 +acf41000-ad2bf000 r-xp 00000000 03:09 915724 /usr/lib/libgtk-x11-2.0.so.0.1200.1 +ad2bf000-ad2c5000 rwxp 0037d000 03:09 915724 /usr/lib/libgtk-x11-2.0.so.0.1200.1 +ad2c5000-ad2c6000 rwxp ad2c5000 00:00 0 +ad2c6000-ad2c8000 r-xs 0001d000 03:09 787363 /home/akshat/.azureus/plugins/azupnpav/azupnpav_0.1.7.jar +ad2c8000-ad2cb000 rwxs 00000000 00:08 2097173 /SYSV00000000 (deleted) +ad2cb000-ad2cf000 r-xp 00000000 03:09 25481 /lib/libnss_dns-2.5.so +ad2cf000-ad2d1000 rwxp 00003000 03:09 25481 /lib/libnss_dns-2.5.so +ad2d1000-ad2d3000 rwxp ad2d1000 00:00 0 +ad2d3000-ad2d5000 r-xp 00000000 03:09 25747 /usr/lib/gconv/ISO8859-1.so +ad2d5000-ad2d7000 rwxp 00001000 03:09 25747 /usr/lib/gconv/ISO8859-1.so +ad2d7000-ad2de000 r-xs 00000000 03:09 26747 /usr/lib/gconv/gconv-modules.cache +ad2de000-ad33c000 r-xp 00000000 03:09 806526 /usr/lib/libswt-pi-gtk-3346.so +ad33c000-ad33e000 rwxp 0005d000 03:09 806526 /usr/lib/libswt-pi-gtk-3346.so +ad33e000-ad33f000 rwxp ad33e000 00:00 0 +ad33f000-ad342000 r-xp 00000000 03:09 806532 /usr/lib/libswt-gtk-3346.so +ad342000-ad343000 rwxp 00003000 03:09 806532 /usr/lib/libswt-gtk-3346.so +ad343000-ad346000 ---p ad343000 00:00 0 +ad346000-ad394000 rwxp ad346000 00:00 0 +ad394000-ad397000 ---p ad394000 00:00 0 +ad397000-ad3e5000 rwxp ad397000 00:00 0 +ad3e5000-ad3e8000 rwxp ad3e5000 00:00 0 +ad3e8000-ad436000 rwxp ad3e8000 00:00 0 +ad436000-ad439000 ---p ad436000 00:00 0 +ad439000-ad487000 rwxp ad439000 00:00 0 +ad487000-ad48a000 r-xs 00013000 03:09 805906 /opt/sun-jdk-1.6.0.03/jre/lib/jce.jar +ad48a000-ad48d000 ---p ad48a000 00:00 0 +ad48d000-ad4db000 rwxp ad48d000 00:00 0 +ad4db000-ad4de000 ---p ad4db000 00:00 0 +ad4de000-ad52c000 rwxp ad4de000 00:00 0 +ad52c000-ad52f000 ---p ad52c000 00:00 0 +ad52f000-ad57d000 rwxp ad52f000 00:00 0 +ad57d000-ad584000 r-xp 00000000 03:09 805635 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libnio.so +ad584000-ad585000 rwxp 00006000 03:09 805635 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libnio.so +ad585000-ad588000 ---p ad585000 00:00 0 +ad588000-ad5d6000 rwxp ad588000 00:00 0 +ad5d6000-ad5d9000 ---p ad5d6000 00:00 0 +ad5d9000-ad627000 rwxp ad5d9000 00:00 0 +ad627000-ad62a000 ---p ad627000 00:00 0 +ad62a000-ad678000 rwxp ad62a000 00:00 0 +ad678000-ad67b000 ---p ad678000 00:00 0 +ad67b000-ad6c9000 rwxp ad67b000 00:00 0 +ad6c9000-ad6d0000 r-xs 00106000 03:09 805843 /opt/sun-jdk-1.6.0.03/jre/lib/resources.jar +ad6d0000-ad6d6000 r-xs 00091000 03:09 805805 /opt/sun-jdk-1.6.0.03/jre/lib/jsse.jar +ad6d6000-ad6e9000 r-xp 00000000 03:09 805634 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libnet.so +ad6e9000-ad6ea000 rwxp 00013000 03:09 805634 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libnet.so +ad6ea000-ad6f1000 r-xs 0004c000 03:09 805087 /usr/share/log4j/lib/log4j.jar +ad6f1000-ad77b000 r-xs 0076f000 03:09 816526 /usr/share/azureus/lib/azureus.jar +ad77b000-ad78c000 r-xs 000f1000 03:09 806523 /usr/share/swt-3/lib/swt.jar +ad78c000-ad7ad000 r-xs 0016f000 03:09 808761 /usr/share/bcprov/lib/bcprov.jar +ad7ad000-ad7ae000 ---p ad7ad000 00:00 0 +ad7ae000-ad82e000 rwxp ad7ae000 00:00 0 +ad82e000-ad831000 ---p ad82e000 00:00 0 +ad831000-ad87f000 rwxp ad831000 00:00 0 +ad87f000-ad882000 ---p ad87f000 00:00 0 +ad882000-ad900000 rwxp ad882000 00:00 0 +ad900000-ad903000 ---p ad900000 00:00 0 +ad903000-ad951000 rwxp ad903000 00:00 0 +ad951000-ad954000 ---p ad951000 00:00 0 +ad954000-ad9a2000 rwxp ad954000 00:00 0 +ad9a2000-ad9a5000 ---p ad9a2000 00:00 0 +ad9a5000-ad9f3000 rwxp ad9a5000 00:00 0 +ad9f3000-ad9f4000 ---p ad9f3000 00:00 0 +ad9f4000-adaa4000 rwxp ad9f4000 00:00 0 +adaa4000-adc20000 r-xs 02c8f000 03:09 805898 /opt/sun-jdk-1.6.0.03/jre/lib/rt.jar +adc20000-adc2c000 rwxp adc20000 00:00 0 +adc2c000-adc41000 rwxp adc2c000 00:00 0 +adc41000-adc46000 rwxp adc41000 00:00 0 +adc46000-adc5f000 rwxp adc46000 00:00 0 +adc5f000-adc60000 rwxp adc5f000 00:00 0 +adc60000-adc61000 rwxp adc60000 00:00 0 +adc61000-adc66000 rwxp adc61000 00:00 0 +adc66000-adc7f000 rwxp adc66000 00:00 0 +adc7f000-adc8b000 rwxp adc7f000 00:00 0 +adc8b000-adc9f000 rwxp adc8b000 00:00 0 +adc9f000-adda0000 rwxp adc9f000 00:00 0 +adda0000-ae180000 rwxp adda0000 00:00 0 +ae180000-aea28000 rwxp ae180000 00:00 0 +aea28000-b1ca0000 rwxp aea28000 00:00 0 +b1ca0000-b32e0000 rwxp b1ca0000 00:00 0 +b32e0000-b5ca0000 rwxp b32e0000 00:00 0 +b5ca0000-b5ca1000 rwxp b5ca0000 00:00 0 +b5ca1000-b5ca4000 r-xs 000ca000 03:09 805627 /opt/sun-jdk-1.6.0.03/jre/lib/ext/localedata.jar +b5ca4000-b5cba000 rwxp b5ca4000 00:00 0 +b5cba000-b5d24000 rwxp b5cba000 00:00 0 +b5d24000-b62a4000 rwxp b5d24000 00:00 0 +b62a4000-b7d24000 rwxp b62a4000 00:00 0 +b7d24000-b7d33000 r-xp 00000000 03:09 805647 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libzip.so +b7d33000-b7d35000 rwxp 0000e000 03:09 805647 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libzip.so +b7d35000-b7d58000 r-xp 00000000 03:09 805664 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libjava.so +b7d58000-b7d5a000 rwxp 00023000 03:09 805664 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libjava.so +b7d5a000-b7d62000 r-xp 00000000 03:09 25478 /lib/libnss_files-2.5.so +b7d62000-b7d64000 rwxp 00007000 03:09 25478 /lib/libnss_files-2.5.so +b7d64000-b7d6c000 r-xp 00000000 03:09 25464 /lib/libnss_nis-2.5.so +b7d6c000-b7d6e000 rwxp 00007000 03:09 25464 /lib/libnss_nis-2.5.so +b7d6e000-b7d80000 r-xp 00000000 03:09 25468 /lib/libnsl-2.5.so +b7d80000-b7d82000 rwxp 00011000 03:09 25468 /lib/libnsl-2.5.so +b7d82000-b7d84000 rwxp b7d82000 00:00 0 +b7d84000-b7d85000 r-xs 00000000 03:09 795160 /home/akshat/.azureus/plugins/azupdater/azupdaterpatcher_1.8.5.jar +b7d85000-b7d88000 r-xs 00027000 03:09 805626 /opt/sun-jdk-1.6.0.03/jre/lib/ext/sunjce_provider.jar +b7d88000-b7d93000 r-xp 00000000 03:09 805640 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libverify.so +b7d93000-b7d94000 rwxp 0000b000 03:09 805640 /opt/sun-jdk-1.6.0.03/jre/lib/i386/libverify.so +b7d94000-b7d9c000 rwxs 00000000 03:09 819319 /tmp/hsperfdata_akshat/4267 +b7d9c000-b7da3000 r-xp 00000000 03:09 25453 /lib/librt-2.5.so +b7da3000-b7da5000 rwxp 00006000 03:09 25453 /lib/librt-2.5.so +b7da5000-b7da8000 ---p b7da5000 00:00 0 +b7da8000-b7df6000 rwxp b7da8000 00:00 0 +b7df6000-b7e19000 r-xp 00000000 03:09 25475 /lib/libm-2.5.so +b7e19000-b7e1b000 rwxp 00022000 03:09 25475 /lib/libm-2.5.so +b7e1b000-b7e1c000 rwxp b7e1b000 00:00 0 +b7e1c000-b7f3e000 r-xp 00000000 03:09 25476 /lib/libc-2.5.so +b7f3e000-b7f3f000 r-xp 00122000 03:09 25476 /lib/libc-2.5.so +b7f3f000-b7f41000 rwxp 00123000 03:09 25476 /lib/libc-2.5.so +b7f41000-b7f45000 rwxp b7f41000 00:00 0 +b7f45000-b7f47000 r-xp 00000000 03:09 25455 /lib/libdl-2.5.so +b7f47000-b7f49000 rwxp 00001000 03:09 25455 /lib/libdl-2.5.so +b7f49000-b7f50000 r-xp 00000000 03:09 805630 /opt/sun-jdk-1.6.0.03/jre/lib/i386/jli/libjli.so +b7f50000-b7f52000 rwxp 00006000 03:09 805630 /opt/sun-jdk-1.6.0.03/jre/lib/i386/jli/libjli.so +b7f52000-b7f65000 r-xp 00000000 03:09 25454 /lib/libpthread-2.5.so +b7f65000-b7f66000 r-xp 00012000 03:09 25454 /lib/libpthread-2.5.so +b7f66000-b7f67000 rwxp 00013000 03:09 25454 /lib/libpthread-2.5.so +b7f67000-b7f69000 rwxp b7f67000 00:00 0 +b7f69000-b7f6a000 r-xs 00006000 03:09 798175 /usr/share/commons-cli-1/lib/commons-cli.jar +b7f6a000-b7f6e000 r-xs 00026000 03:09 800328 /usr/share/commons-lang/lib/commons-lang.jar +b7f6e000-b7f70000 r-xs 0000a000 03:09 800001 /usr/share/commons-logging/lib/commons-logging.jar +b7f70000-b7f76000 r-xp 00000000 03:09 25458 /lib/libnss_compat-2.5.so +b7f76000-b7f78000 rwxp 00005000 03:09 25458 /lib/libnss_compat-2.5.so +b7f78000-b7f7e000 r-xp 00000000 03:09 805649 /opt/sun-jdk-1.6.0.03/jre/lib/i386/native_threads/libhpi.so +b7f7e000-b7f7f000 rwxp 00006000 03:09 805649 /opt/sun-jdk-1.6.0.03/jre/lib/i386/native_threads/libhpi.so +b7f7f000-b7f80000 rwxp b7f7f000 00:00 0 +b7f80000-b7f81000 r-xp b7f80000 00:00 0 +b7f81000-b7f82000 rwxp b7f81000 00:00 0 +b7f82000-b7f9c000 r-xp 00000000 03:09 25470 /lib/ld-2.5.so +b7f9c000-b7f9d000 r-xp 00019000 03:09 25470 /lib/ld-2.5.so +b7f9d000-b7f9e000 rwxp 0001a000 03:09 25470 /lib/ld-2.5.so +bfe6d000-bfe83000 rwxp bffea000 00:00 0 [stack] +ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] + +VM Arguments: +jvm_args: -Djava.library.path=/usr/lib:/lib:/usr/lib -Dazureus.install.path=/home/akshat/.azureus/ +java_command: org.gudy.azureus2.ui.common.Main --ui=swt +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=/etc/java-config-2/current-system-vm +CLASSPATH=. +PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.6:/usr/kde/3.5/bin:/usr/qt/3/bin:/opt/limewire +LD_LIBRARY_PATH=/opt/sun-jdk-1.6.0.03/jre/lib/i386/client:/opt/sun-jdk-1.6.0.03/jre/lib/i386:/opt/sun-jdk-1.6.0.03/jre/../lib/i386 +SHELL=/bin/bash +DISPLAY=:0 + +Signal Handlers: +SIGSEGV: [libjvm.so+0x3b29c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGBUS: [libjvm.so+0x3b29c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGFPE: [libjvm.so+0x309ec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGPIPE: SIG_IGN, sa_mask[0]=0x00001000, sa_flags=0x10000000 +SIGILL: [libjvm.so+0x309ec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 +SIGUSR2: [libjvm.so+0x30bef0], sa_mask[0]=0x00000000, sa_flags=0x10000004 +SIGHUP: [libjvm.so+0x30b910], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 +SIGQUIT: [libjvm.so+0x30b910], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGTERM: [libjvm.so+0x30b910], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGUSR2: [libjvm.so+0x30bef0], sa_mask[0]=0x00000000, sa_flags=0x10000004 + + +--------------- S Y S T E M --------------- + +OS:Gentoo Base System release 1.12.9 + +uname:Linux 2.6.23-gentoo #7 SMP Wed Jan 9 15:27:58 IST 2008 i686 +libc:glibc 2.5 NPTL 2.5 +rlimit: STACK 8192k, CORE 0k, NPROC 10167, NOFILE 1024, AS infinity +load average:0.13 0.14 0.18 + +CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2 + +Memory: 4k page, physical 1283688k(560504k free), swap 0k(0k free) + +vm_info: Java HotSpot(TM) Client VM (1.6.0_03-b05) for linux-x86, built on Sep 24 2007 22:45:46 by "java_re" with gcc 3.2.1-7a (J2SE release) + diff --git a/src/cairo/install-sh b/src/cairo/install-sh new file mode 100644 index 0000000..e69de29 diff --git a/src/cairo/less b/src/cairo/less new file mode 100644 index 0000000..9a17606 --- /dev/null +++ b/src/cairo/less @@ -0,0 +1,2 @@ +/bin/sh /home/akshat/php-ext/cairo/phpCairo/phpCairo/libtool --mode=compile gcc -I. -I/home/akshat/php-ext/cairo/phpCairo/phpCairo -DPHP_ATOM_INC -I/home/akshat/php-ext/cairo/phpCairo/phpCairo/include -I/home/akshat/php-ext/cairo/phpCairo/phpCairo/main -I/home/akshat/php-ext/cairo/phpCairo/phpCairo -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -I/usr/include/cairo -c /home/akshat/php-ext/cairo/phpCairo/phpCairo/Cairo.c -o Cairo.lo + gcc -I. -I/home/akshat/php-ext/cairo/phpCairo/phpCairo -DPHP_ATOM_INC -I/home/akshat/php-ext/cairo/phpCairo/phpCairo/include -I/home/akshat/php-ext/cairo/phpCairo/phpCairo/main -I/home/akshat/php-ext/cairo/phpCairo/phpCairo -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -I/usr/include/cairo -c /home/akshat/php-ext/cairo/phpCairo/phpCairo/Cairo.c -fPIC -DPIC -o .libs/Cairo.o diff --git a/src/cairo/libtool b/src/cairo/libtool new file mode 100755 index 0000000..a5805a2 --- /dev/null +++ b/src/cairo/libtool @@ -0,0 +1,7351 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU ) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e 1s/^X//" + +# 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 + +# The names of the tagged configurations supported by this script. +available_tags="" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host scorpion: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=no + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias=i686-pc-linux-gnu +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# A language-specific compiler. +CC="gcc" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="/bin/grep -E" + +# The linker used to build libraries. +LD="/usr/i686-pc-linux-gnu/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="\$RANLIB \$oldlib~chmod 644 \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +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~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# 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="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# 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=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec=" /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/ /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/ /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.6/ /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib/ /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../i686-pc-linux-gnu/3.4.6/ /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../ /lib/i686-pc-linux-gnu/3.4.6/ /lib/ /usr/lib/i686-pc-linux-gnu/3.4.6/ /usr/lib/" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib # ld.so.conf autogenerated by env-update; make all changes to # contents of /etc/env.d directory /usr/local/lib //usr//lib/opengl/xorg-x11/lib /usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/3.4.6 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 /usr/lib/gcc/i686-pc-linux-gnu/4.1.1 /usr/lib/nspr /usr/lib/nss /usr/lib/qt4 /usr/kde/3.5/lib /usr/qt/3/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# define SED for historic ltconfig's generated by Libtool 1.3 +test -z "$SED" && SED=sed + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5.22 +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +# Same for EGREP, and just to be sure, do LTCC as well +if test "X$EGREP" = X ; then + EGREP=egrep +fi +if test "X$LTCC" = X ; then + LTCC=${CC-gcc} +fi +# Same for EGREP, and just to be sure, do LTCC as well +if test "x$EGREP" = x ; then + EGREP=egrep +fi +if test "x$LTCC" = x ; then + LTCC=${CC-gcc} +fi + +# Check that we have a working $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, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +if test -z "$max_cmd_len"; then + i=0 + testring="ABCD" + new_result= + + # 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$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + max_cmd_len="$new_result" && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring="$testring$testring" + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + max_cmd_len=`expr $max_cmd_len \/ 2` +fi + +if test -z "$max_cmd_len"; then + i=0 + testring="ABCD" + new_result= + + # 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$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + max_cmd_len="$new_result" && + test "$i" != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring="$testring$testring" + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + max_cmd_len=`expr $max_cmd_len \/ 2` +fi + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + # user sometimes does CC=-gcc so we need to match that to 'gcc' + trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` + # and sometimes libtool has CC=-gcc but user does CC=gcc + extendcc=${host}-${CC} + # and sometimes libtool has CC=-gcc but user has CC=-gcc + # (Gentoo-specific hack because we always export $CHOST) + mungedcc=${CHOST-${host}}-${trimedcc} + case "$@ " in + "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ + "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) + tagname=CC + break ;; + "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ + "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ + "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$srcfile" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + # It is ok to link against an archive when + # building a shared library. + if $AR -t $potlib > /dev/null 2>&1; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# 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 + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + + # Make sure env LD_LIBRARY_PATH does not mess us up + if test -n \"\${LD_LIBRARY_PATH+set}\"; then + export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH + fi +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "X$EGREP" = X ; then + EGREP=egrep + fi + # We do not want portage's install root ($D) present. Check only for + # this if the .la is being installed. + if test "$installed" = yes && test "$D"; then + eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$libdir/$name" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_1"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi + ;; + *) + if test "$installed" = yes; then + # Rather use S=WORKDIR if our version of portage supports it. + # This is because some ebuild (gcc) do not use $S as buildroot. + if test "$PWORKDIR"; then + S="$PWORKDIR" + fi + # We do not want portage's build root ($S) present. + my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` + # We do not want portage's install root ($D) present. + my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` + if test -n "$my_little_ninja_foo_2" && test "$S"; then + mynewdependency_lib="" + elif test -n "$my_little_ninja_foo_3" && test "$D"; then + eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$deplib" + fi + else + mynewdependency_lib="$deplib" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_4"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi + ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + # Do not add duplicates + if test "$installed" = yes && test "$D"; then + install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + fi + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/src/cairo/ltmain.sh b/src/cairo/ltmain.sh new file mode 100644 index 0000000..6150bb3 --- /dev/null +++ b/src/cairo/ltmain.sh @@ -0,0 +1,7002 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# define SED for historic ltconfig's generated by Libtool 1.3 +test -z "$SED" && SED=sed + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5.22 +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +# Same for EGREP, and just to be sure, do LTCC as well +if test "X$EGREP" = X ; then + EGREP=egrep +fi +if test "X$LTCC" = X ; then + LTCC=${CC-gcc} +fi +# Same for EGREP, and just to be sure, do LTCC as well +if test "x$EGREP" = x ; then + EGREP=egrep +fi +if test "x$LTCC" = x ; then + LTCC=${CC-gcc} +fi + +# Check that we have a working $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, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +if test -z "$max_cmd_len"; then + i=0 + testring="ABCD" + new_result= + + # 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$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + max_cmd_len="$new_result" && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring="$testring$testring" + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + max_cmd_len=`expr $max_cmd_len \/ 2` +fi + +if test -z "$max_cmd_len"; then + i=0 + testring="ABCD" + new_result= + + # 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$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + max_cmd_len="$new_result" && + test "$i" != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring="$testring$testring" + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + max_cmd_len=`expr $max_cmd_len \/ 2` +fi + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + # user sometimes does CC=-gcc so we need to match that to 'gcc' + trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` + # and sometimes libtool has CC=-gcc but user does CC=gcc + extendcc=${host}-${CC} + # and sometimes libtool has CC=-gcc but user has CC=-gcc + # (Gentoo-specific hack because we always export $CHOST) + mungedcc=${CHOST-${host}}-${trimedcc} + case "$@ " in + "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ + "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) + tagname=CC + break ;; + "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ + "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ + "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$srcfile" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + # It is ok to link against an archive when + # building a shared library. + if $AR -t $potlib > /dev/null 2>&1; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# 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 + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + + # Make sure env LD_LIBRARY_PATH does not mess us up + if test -n \"\${LD_LIBRARY_PATH+set}\"; then + export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH + fi +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "X$EGREP" = X ; then + EGREP=egrep + fi + # We do not want portage's install root ($D) present. Check only for + # this if the .la is being installed. + if test "$installed" = yes && test "$D"; then + eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$libdir/$name" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_1"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi + ;; + *) + if test "$installed" = yes; then + # Rather use S=WORKDIR if our version of portage supports it. + # This is because some ebuild (gcc) do not use $S as buildroot. + if test "$PWORKDIR"; then + S="$PWORKDIR" + fi + # We do not want portage's build root ($S) present. + my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` + # We do not want portage's install root ($D) present. + my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` + if test -n "$my_little_ninja_foo_2" && test "$S"; then + mynewdependency_lib="" + elif test -n "$my_little_ninja_foo_3" && test "$D"; then + eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + else + mynewdependency_lib="$deplib" + fi + else + mynewdependency_lib="$deplib" + fi + # Do not add duplicates + if test "$mynewdependency_lib"; then + my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` + if test -z "$my_little_ninja_foo_4"; then + newdependency_libs="$newdependency_libs $mynewdependency_lib" + fi + fi + ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + # Do not add duplicates + if test "$installed" = yes && test "$D"; then + install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` + fi + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/src/cairo/manual/Makefile b/src/cairo/manual/Makefile new file mode 100644 index 0000000..ad24441 --- /dev/null +++ b/src/cairo/manual/Makefile @@ -0,0 +1,24 @@ +# +all: html + +confcheck: + @if test "x$(PHPDOC)" = "x"; then echo PHPDOC not set; exit 3; fi + +manual.xml: manual.xml.in + sed -e's:@PHPDOC@:$(PHPDOC):g' < manual.xml.in > manual.xml + +html: confcheck manual.xml + rm -rf html; mkdir html + SP_ENCODING=XML SP_CHARSET_FIXED=YES openjade -D $(PHPDOC) -wno-idref -c $(PHPDOC)/docbook/docbook-dsssl/catalog -c $(PHPDOC)/phpbook/phpbook-dsssl/defaults/catalog -d $(PHPDOC)/phpbook/phpbook-dsssl/html.dsl -V use-output-dir -t sgml $(PHPDOC)/phpbook/phpbook-xml/phpdocxml.dcl manual.xml + +bightml: confcheck manual.xml + rm -rf html; mkdir html + SP_ENCODING=XML SP_CHARSET_FIXED=YES openjade -D $(PHPDOC) -wno-idref -c $(PHPDOC)/docbook/docbook-dsssl/catalog -c $(PHPDOC)/phpbook/phpbook-dsssl/defaults/catalog -d $(PHPDOC)/phpbook/phpbook-dsssl/html.dsl -V nochunks -t sgml $(PHPDOC)/phpbook/phpbook-xml/phpdocxml.dcl manual.xml > manual.html + +tex: manual.tex + +manual.tex: confcheck manual.xml + SP_ENCODING=XML SP_CHARSET_FIXED=YES openjade -D $(PHPDOC) -wno-idref -c $(PHPDOC)/docbook/docbook-dsssl/catalog -c $(PHPDOC)/phpbook/phpbook-dsssl/defaults/catalog -d $(PHPDOC)/phpbook/phpbook-dsssl/print.dsl -t tex $(PHPDOC)/phpbook/phpbook-xml/phpdocxml.dcl manual.xml + +pdf: manual.tex + pdfjadetex manual.tex && pdfjadetex manual.tex && pdfjadetex manual.tex diff --git a/src/cairo/manual/file-entities.ent b/src/cairo/manual/file-entities.ent new file mode 100644 index 0000000..fe2d2fe --- /dev/null +++ b/src/cairo/manual/file-entities.ent @@ -0,0 +1,5 @@ + + + + + diff --git a/src/cairo/manual/functions.xml b/src/cairo/manual/functions.xml new file mode 100644 index 0000000..59f56fa --- /dev/null +++ b/src/cairo/manual/functions.xml @@ -0,0 +1,2 @@ + &reference.phpCairo.functions.cairo-version; + &reference.phpCairo.functions.cairo-version-string; diff --git a/src/cairo/manual/manual.xml.in b/src/cairo/manual/manual.xml.in new file mode 100644 index 0000000..cf90c2e --- /dev/null +++ b/src/cairo/manual/manual.xml.in @@ -0,0 +1,37 @@ + + + + + +%language-defs; +%language-snippets; + + + + + + +%language-defs.default; +%language-snippets.default; +%extensions.default; + + + + + + + +%global.entities; +%file.entities; + + + +%missing-entities; +]> + + + &reference.phpCairo.reference; + diff --git a/src/cairo/manual/phpCairo/configure.xml b/src/cairo/manual/phpCairo/configure.xml new file mode 100644 index 0000000..9f58f1a --- /dev/null +++ b/src/cairo/manual/phpCairo/configure.xml @@ -0,0 +1,42 @@ + +
+ &reftitle.required; + &no.requirement; + +
+ + +
+ &reftitle.install; + &no.install; + +
+ + +
+ &reftitle.runtime; + &no.config; + +
+ + + diff --git a/src/cairo/manual/phpCairo/functions/cairo-version-string.xml b/src/cairo/manual/phpCairo/functions/cairo-version-string.xml new file mode 100644 index 0000000..6080a8b --- /dev/null +++ b/src/cairo/manual/phpCairo/functions/cairo-version-string.xml @@ -0,0 +1,39 @@ + + + + + cairo_version_string + + + + Description + + stringcairo_version_string + + + + + + + + + diff --git a/src/cairo/manual/phpCairo/functions/cairo-version.xml b/src/cairo/manual/phpCairo/functions/cairo-version.xml new file mode 100644 index 0000000..eed17b9 --- /dev/null +++ b/src/cairo/manual/phpCairo/functions/cairo-version.xml @@ -0,0 +1,39 @@ + + + + + cairo_version + + + + Description + + intcairo_version + + + + + + + + + diff --git a/src/cairo/manual/phpCairo/reference.xml b/src/cairo/manual/phpCairo/reference.xml new file mode 100644 index 0000000..3280e3c --- /dev/null +++ b/src/cairo/manual/phpCairo/reference.xml @@ -0,0 +1,53 @@ + + + + PHP bindings for Cairo Graphic Library + phpCairo + + +
+ &reftitle.intro; + + This extension offers you object oriented support for Cairo. + + +
+ + &reference.phpCairo.configure; + +
+ &reftitle.resources; + &no.resource; +
+ +
+ &reftitle.constants; + &no.constants; +
+ +
+ +&reference.phpCairo.functions; + +
+ + diff --git a/src/cairo/missing b/src/cairo/missing new file mode 100644 index 0000000..e69de29 diff --git a/src/cairo/mkinstalldirs b/src/cairo/mkinstalldirs new file mode 100644 index 0000000..e69de29 diff --git a/src/cairo/modules/cairo.so b/src/cairo/modules/cairo.so new file mode 100755 index 0000000000000000000000000000000000000000..05ecd07b625d355bc8dcab01e28a3159cdc0e62f GIT binary patch literal 260918 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 Y(6wxqA8}(Emh@OBdYY2KP}r0FKaDG-zW@LL literal 0 HcwPel00001 diff --git a/src/cairo/modules/phpCairo.so b/src/cairo/modules/phpCairo.so new file mode 100755 index 0000000000000000000000000000000000000000..a29b7317f4eace12fd6218933f745c47d1245eb5 GIT binary patch literal 261026 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

O-;siqwxW?Z)jqKi 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 z z--IeTS3D$4@-wl>#ofYpuvfK=h>Ww#l{trWu0|-CZf;gz8#ka3f%Xo1?Xnbi9H&Xr z;UJ7gr^~yF-MZj*wP?^}sW~FZ%#5JQ@AObXMs|9Ai)`K1cYKn-wvpPE>T3k9GFFJi z!a(5zeD}1ONYdPojI(cKIKgBl0+{=Hk0>{_MDK=29@1PXV8zD9k?YD{}=v6Sh4A2HzV`@DE0Hfilb2e~c_ zdjc+-CiGo~qiImZUy(OiE!$Ma7GIa*;rBjMy;j!ivFwsKmkqe`CFYQ&FDb`F4Y_6AF_{ z6EL2@ikW6&&|@-GFY{^LEWam*6NB!Tx6^E0$GNs}-xu>5cdcA>Cv&#QKA0$<(Ttd< zv@Zv1t~c6=353^-nBXldh-O5PSnPFRxf8mSI4zTsse5Yj#1P?M+__d)-kN7Fp0Irs2my(QV5@Lb1^s6(hI` z+E>)ZQwY{)e|1UQk4V)IRGI{5J|>B6Vz2_JXxJ#USm zedb`P!b%zrvcnyjYM&0mS}kS7-Y^u`HJuF`jtZg$K68)=F&24)hCjJe7tB3R8F$NK zZtYYS*ht&K;AnRAmA_($HBqZz*}MuQj1n4kXsSCV+D0?M9G7QMcR5s9xzROnWjSFP zPBnHF7ZDh4A!LFT0++IV3D($24{D6RhNBVk4G~4ES*X(m&c*@5T-~joMyg@<(fq}whwMe&VZOl7*xG%6@ESh`m=@MoA971!Rk&Q0G_ z9Jiu`qAzyj+FGY=W)tGl_1vlm6yWQVG}|H*R`y-?l3m#m_F?s)=c>?rwS+;GO%b@D`KdD=b^u|VX}yKqjW#Re2r^hu8h zn6}Q3H0EmK0-R=xwNrP|n{qhYIpgF~EI1C+u(BvBi930dOhqy3Qp`q(Xmg!-Dn}-! zP40jebT#ui-__4XmtabI)MF7s`Z2xJLq>7H#TTkc1 s3@B+$AcoKTgSk%p&=xIupKw(evzp7t4S^xk5 literal 0 HcwPel00001 diff --git a/src/cairo/package.xml b/src/cairo/package.xml new file mode 100644 index 0000000..4cbf241 --- /dev/null +++ b/src/cairo/package.xml @@ -0,0 +1,234 @@ + + + + + phpCairo +

PHP bindings for Cairo Graphic Library + + This extension offers you object oriented support for Cairo. + + + PHP + + + + aki + Akshat Gupta + g.akshat@gmail.com + lead + + + + + 0.0.1 + devel + unknown + 2008-05-22 + + + + 0.1 + 2006-06-10 + alpha + First alpha version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/cairo/package2.xml b/src/cairo/package2.xml new file mode 100644 index 0000000..7112c91 --- /dev/null +++ b/src/cairo/package2.xml @@ -0,0 +1,251 @@ + + + + phpCairo + pecl.php.net + + PHP bindings for Cairo Graphic Library + + + This extension offers you object oriented support for Cairo. + + + + Akshat Gupta + aki + g.akshat@gmail.com + yes + + + 2008-05-22 + + 0.0.1 + 0.0.1 + + + devel + devel + + + PHP + + +none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5.0.0 + + + 1.4.0a1 + + + + + phpCairo + + + + diff --git a/src/cairo/phpCairo.dsp b/src/cairo/phpCairo.dsp new file mode 100644 index 0000000..9a2563d --- /dev/null +++ b/src/cairo/phpCairo.dsp @@ -0,0 +1,112 @@ +# Microsoft Developer Studio Project File - Name="phpCairo" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=phpCairo - Win32 Debug_TS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "phpCairo.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "phpCairo.mak" CFG="phpCairo - Win32 Debug_TS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "phpCairo - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "phpCairo - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "phpCairo - Win32 Release_TS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release_TS" +# PROP BASE Intermediate_Dir "Release_TS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release_TS" +# PROP Intermediate_Dir "Release_TS" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHPCAIRO_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D "WIN32" /D "PHP_EXPORTS" /D "COMPILE_DL_PHPCAIRO" /D ZTS=1 /D HAVE_PHPCAIRO=1 /D ZEND_DEBUG=0 /D "NDEBUG" /D "_WINDOWS" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 php4ts.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS\php_phpCairo.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" + +!ELSEIF "$(CFG)" == "phpCairo - Win32 Debug_TS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug_TS" +# PROP BASE Intermediate_Dir "Debug_TS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug_TS" +# PROP Intermediate_Dir "Debug_TS" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHPCAIRO_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=1 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_PHPCAIRO" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_PHPCAIRO=1 /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 php4ts_debug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS\php_phpCairo.dll" /pdbtype:sept /libpath:"..\..\Debug_TS" + +!ENDIF + +# Begin Target + +# Name "phpCairo - Win32 Release_TS" +# Name "phpCairo - Win32 Debug_TS" + +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + +# Begin Source File + +SOURCE=./phpCairo.c +# End Source File + +# End Group + +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" + +# Begin Source File + +SOURCE=.\php_phpCairo.h +# End Source File +# End Group +# End Target +# End Project diff --git a/src/cairo/phpCairo.la b/src/cairo/phpCairo.la new file mode 100644 index 0000000..faa7e0f --- /dev/null +++ b/src/cairo/phpCairo.la @@ -0,0 +1,35 @@ +# phpCairo.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='phpCairo.so' + +# Names of this library. +library_names='phpCairo.so phpCairo.so phpCairo.so' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs=' /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../..//libcairo.la /usr/lib/libfontconfig.la /usr/lib/libfreetype.la /usr/lib/libxml2.la /usr/lib/libpng12.la -lz /usr/lib/libXrender.la /usr/lib/libX11.la /usr/lib/libXau.la /usr/lib/libXdmcp.la -ldl -lm' + +# Version information for phpCairo. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/home/akshat/php-ext/cairo/phpCairo/phpCairo/modules' diff --git a/src/cairo/phpCairo.lo b/src/cairo/phpCairo.lo new file mode 100644 index 0000000..f5e1304 --- /dev/null +++ b/src/cairo/phpCairo.lo @@ -0,0 +1,12 @@ +# phpCairo.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/phpCairo.o' + +# Name of the non-PIC object. +non_pic_object=none + diff --git a/src/cairo/php_cairo.h b/src/cairo/php_cairo.h new file mode 100644 index 0000000..d6d19eb --- /dev/null +++ b/src/cairo/php_cairo.h @@ -0,0 +1,1788 @@ +/* + +----------------------------------------------------------------------+ + | This source file is subject to version 3.0 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_0.txt. | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Akshat Gupta | + +----------------------------------------------------------------------+ +*/ + +/* $ Id: $ */ + +#ifndef PHP_CAIRO_H +#define PHP_CAIRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#ifdef HAVE_CAIRO + +#include +#include +#include +#include +#ifdef __cplusplus +} // extern "C" +#endif +#ifdef __cplusplus +extern "C" { +#endif + +extern zend_module_entry phpCairo_module_entry; +#define phpext_phpCairo_ptr &phpCairo_module_entry +#include + +typedef struct _context_object { + zend_object std; + cairo_t *context; +} context_object; + +typedef struct _surface_object { + zend_object std; + cairo_surface_t *surface; +} surface_object; + +typedef struct _path_object { + zend_object std; + cairo_path_t *path; +} path_object; + +typedef struct _fontoptions_object { + zend_object std; + cairo_font_options_t *fontoptions; +} fontoptions_object; + +typedef struct _fontface_object { + zend_object std; + cairo_font_face_t *fontface; +} fontface_object; + +typedef struct _matrix_object { + zend_object std; + cairo_matrix_t matrix; +} matrix_object; + +typedef struct _pattern_object { + zend_object std; + cairo_pattern_t *pattern; +} pattern_object; + +typedef struct _scaledfont_object { + zend_object std; + cairo_scaled_font_t *scaledfont; +} scaledfont_object; + +#ifdef PHP_WIN32 +#define PHP_CAIRO_API __declspec(dllexport) +#else +#define PHP_CAIRO_API +#endif + +PHP_MINIT_FUNCTION(cairo); +PHP_MSHUTDOWN_FUNCTION(cairo); +PHP_RINIT_FUNCTION(cairo); +PHP_RSHUTDOWN_FUNCTION(cairo); +PHP_MINFO_FUNCTION(cairo); + +#ifdef ZTS +#include "TSRM.h" +#endif + +#define FREE_RESOURCE(resource) zend_list_delete(Z_LVAL_P(resource)) + +#define PROP_GET_LONG(name) Z_LVAL_P(zend_read_property(_this_ce, _this_zval, #name, strlen(#name), 1 TSRMLS_CC)) +#define PROP_SET_LONG(name, l) zend_update_property_long(_this_ce, _this_zval, #name, strlen(#name), l TSRMLS_CC) + +#define PROP_GET_DOUBLE(name) Z_DVAL_P(zend_read_property(_this_ce, _this_zval, #name, strlen(#name), 1 TSRMLS_CC)) +#define PROP_SET_DOUBLE(name, d) zend_update_property_double(_this_ce, _this_zval, #name, strlen(#name), d TSRMLS_CC) + +#define PROP_GET_STRING(name) Z_STRVAL_P(zend_read_property(_this_ce, _this_zval, #name, strlen(#name), 1 TSRMLS_CC)) +#define PROP_GET_STRLEN(name) Z_STRLEN_P(zend_read_property(_this_ce, _this_zval, #name, strlen(#name), 1 TSRMLS_CC)) +#define PROP_SET_STRING(name, s) zend_update_property_string(_this_ce, _this_zval, #name, strlen(#name), s TSRMLS_CC) +#define PROP_SET_STRINGL(name, s, l) zend_update_property_stringl(_this_ce, _this_zval, #name, strlen(#name), s, l TSRMLS_CC) + + +PHP_FUNCTION(cairoVersion); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(cairo_version_arg_info, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define cairo_version_arg_info NULL +#endif + +PHP_FUNCTION(cairoVersionString); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(cairo_version_string_arg_info, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define cairo_version_string_arg_info NULL +#endif + +PHP_METHOD(CairoContext, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_OBJ_INFO(0, obj, CairoSurface, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext____construct_args NULL +#endif + +PHP_METHOD(CairoContext, appendPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__append_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, p, CairoPath, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__append_path_args NULL +#endif + +PHP_METHOD(CairoContext, arc); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__arc_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 5) + ZEND_ARG_INFO(0, xc) + ZEND_ARG_INFO(0, yc) + ZEND_ARG_INFO(0, radius) + ZEND_ARG_INFO(0, angle1) + ZEND_ARG_INFO(0, angle2) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__arc_args NULL +#endif + +PHP_METHOD(CairoContext, arcNegative); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__arc_negative_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 5) + ZEND_ARG_INFO(0, xc) + ZEND_ARG_INFO(0, yc) + ZEND_ARG_INFO(0, radius) + ZEND_ARG_INFO(0, angle1) + ZEND_ARG_INFO(0, angle2) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__arc_negative_args NULL +#endif + +PHP_METHOD(CairoContext, clip); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__clip_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__clip_args NULL +#endif + +PHP_METHOD(CairoContext, clipExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__clip_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__clip_extents_args NULL +#endif + +PHP_METHOD(CairoContext, clipPreserve); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__clip_preserve_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__clip_preserve_args NULL +#endif + +PHP_METHOD(CairoContext, closePath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__close_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__close_path_args NULL +#endif + +PHP_METHOD(CairoContext, copyClipRectangleList); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__copy_clip_rectangle_list_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__copy_clip_rectangle_list_args NULL +#endif + +PHP_METHOD(CairoContext, copyPage); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__copy_page_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__copy_page_args NULL +#endif + +PHP_METHOD(CairoContext, copyPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__copy_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__copy_path_args NULL +#endif + +PHP_METHOD(CairoContext, copyPathFlat); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__copy_path_flat_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__copy_path_flat_args NULL +#endif + +PHP_METHOD(CairoContext, curveTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__curve_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 6) + ZEND_ARG_INFO(0, x1) + ZEND_ARG_INFO(0, y1) + ZEND_ARG_INFO(0, x2) + ZEND_ARG_INFO(0, y2) + ZEND_ARG_INFO(0, x3) + ZEND_ARG_INFO(0, y3) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__curve_to_args NULL +#endif + +PHP_METHOD(CairoContext, deviceToUser); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__device_to_user_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__device_to_user_args NULL +#endif + +PHP_METHOD(CairoContext, deviceToUserDistance); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__device_to_user_distance_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__device_to_user_distance_args NULL +#endif + +PHP_METHOD(CairoContext, fill); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__fill_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__fill_args NULL +#endif + +PHP_METHOD(CairoContext, fillExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__fill_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__fill_extents_args NULL +#endif + +PHP_METHOD(CairoContext, fillPreserve); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__fill_preserve_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__fill_preserve_args NULL +#endif + +PHP_METHOD(CairoContext, fontExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__font_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__font_extents_args NULL +#endif + +PHP_METHOD(CairoContext, getAntialias); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_antialias_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_antialias_args NULL +#endif + +PHP_METHOD(CairoContext, getCurrentPoint); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_current_point_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_current_point_args NULL +#endif + +PHP_METHOD(CairoContext, getDash); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_dash_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_dash_args NULL +#endif + +PHP_METHOD(CairoContext, getDashCount); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_dash_count_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_dash_count_args NULL +#endif + +PHP_METHOD(CairoContext, getFillRule); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_fill_rule_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_fill_rule_args NULL +#endif + +PHP_METHOD(CairoContext, getFontFace); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_font_face_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_font_face_args NULL +#endif + +PHP_METHOD(CairoContext, getFontMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_font_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_font_matrix_args NULL +#endif + +PHP_METHOD(CairoContext, getFontOptions); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_font_options_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_font_options_args NULL +#endif + +PHP_METHOD(CairoContext, getGroupTarget); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_group_target_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_group_target_args NULL +#endif + +PHP_METHOD(CairoContext, getLineCap); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_line_cap_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_line_cap_args NULL +#endif + +PHP_METHOD(CairoContext, getLineJoin); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_line_join_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_line_join_args NULL +#endif + +PHP_METHOD(CairoContext, getLineWidth); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_line_width_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_line_width_args NULL +#endif + +PHP_METHOD(CairoContext, getMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_matrix_args NULL +#endif + +PHP_METHOD(CairoContext, getMiterLimit); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_miter_limit_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_miter_limit_args NULL +#endif + +PHP_METHOD(CairoContext, getOperator); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_operator_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_operator_args NULL +#endif + +PHP_METHOD(CairoContext, getScaledFont); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_scaled_font_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_scaled_font_args NULL +#endif + +PHP_METHOD(CairoContext, getSource); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_source_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_source_args NULL +#endif + +PHP_METHOD(CairoContext, getTarget); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_target_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_target_args NULL +#endif + +PHP_METHOD(CairoContext, getTolerance); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__get_tolerance_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__get_tolerance_args NULL +#endif + +PHP_METHOD(CairoContext, glyphExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__glyph_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) +#if (PHP_MINOR_VERSION > 0) + ZEND_ARG_ARRAY_INFO(0, obj, 1) +#else + ZEND_ARG_INFO(O, obj) +#endif + ZEND_ARG_INFO(0, num) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__glyph_extents_args NULL +#endif + +PHP_METHOD(CairoContext, glyphPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__glyph_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) +#if (PHP_MINOR_VERSION > 0) + ZEND_ARG_ARRAY_INFO(0, obh, 1) +#else + ZEND_ARG_INFO(0, obh); +#endif + ZEND_ARG_INFO(0, num) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__glyph_path_args NULL +#endif + +PHP_METHOD(CairoContext, hasCurrentPoint); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__has_current_point_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__has_current_point_args NULL +#endif + +PHP_METHOD(CairoContext, identityMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__identity_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__identity_matrix_args NULL +#endif + +PHP_METHOD(CairoContext, inFill); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__in_fill_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__in_fill_args NULL +#endif + +PHP_METHOD(CairoContext, inStroke); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__in_stroke_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__in_stroke_args NULL +#endif + +PHP_METHOD(CairoContext, lineTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__line_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__line_to_args NULL +#endif + +PHP_METHOD(CairoContext, mask); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__mask_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, p, CairoPattern, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__mask_args NULL +#endif + +PHP_METHOD(CairoContext, maskSurface); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__mask_surface_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, s, CairoSurface, 1) + ZEND_ARG_INFO(0, surface_x) + ZEND_ARG_INFO(0, surface_y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__mask_surface_args NULL +#endif + +PHP_METHOD(CairoContext, moveTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__move_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__move_to_args NULL +#endif + +PHP_METHOD(CairoContext, newPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__new_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__new_path_args NULL +#endif + +PHP_METHOD(CairoContext, newSubPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__new_sub_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__new_sub_path_args NULL +#endif + +PHP_METHOD(CairoContext, paint); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__paint_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__paint_args NULL +#endif + +PHP_METHOD(CairoContext, paintWithAlpha); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__paint_with_alpha_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, alpha) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__paint_with_alpha_args NULL +#endif + +PHP_METHOD(CairoContext, pathExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__path_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_OBJ_INFO(0, path, CairoPath, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__path_extents_args NULL +#endif + +PHP_METHOD(CairoContext, popGroup); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__pop_group_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__pop_group_args NULL +#endif + +PHP_METHOD(CairoContext, popGroupToSource); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__pop_group_to_source_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__pop_group_to_source_args NULL +#endif + +PHP_METHOD(CairoContext, pushGroup); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__push_group_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__push_group_args NULL +#endif + +PHP_METHOD(CairoContext, pushGroupWithContent); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__push_group_with_content_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, content) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__push_group_with_content_args NULL +#endif + +PHP_METHOD(CairoContext, rectangle); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__rectangle_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 4) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) + ZEND_ARG_INFO(0, width) + ZEND_ARG_INFO(0, height) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__rectangle_args NULL +#endif + +PHP_METHOD(CairoContext, relCurveTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__rel_curve_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 6) + ZEND_ARG_INFO(0, x1) + ZEND_ARG_INFO(0, y1) + ZEND_ARG_INFO(0, x2) + ZEND_ARG_INFO(0, y2) + ZEND_ARG_INFO(0, x3) + ZEND_ARG_INFO(0, y3) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__rel_curve_to_args NULL +#endif + +PHP_METHOD(CairoContext, relLineTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__rel_line_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__rel_line_to_args NULL +#endif + +PHP_METHOD(CairoContext, relMoveTo); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__rel_move_to_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__rel_move_to_args NULL +#endif + +PHP_METHOD(CairoContext, resetClip); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__reset_clip_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__reset_clip_args NULL +#endif + +PHP_METHOD(CairoContext, restore); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__restore_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__restore_args NULL +#endif + +PHP_METHOD(CairoContext, rotate); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__rotate_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, angle) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__rotate_args NULL +#endif + +PHP_METHOD(CairoContext, save); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__save_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__save_args NULL +#endif + +PHP_METHOD(CairoContext, scale); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__scale_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__scale_args NULL +#endif + +PHP_METHOD(CairoContext, selectFontFace); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__select_font_face_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, family) + ZEND_ARG_INFO(0, slant) + ZEND_ARG_INFO(0, weight) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__select_font_face_args NULL +#endif + +PHP_METHOD(CairoContext, setAntialias); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_antialias_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, antialias) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_antialias_args NULL +#endif + +PHP_METHOD(CairoContext, setDash); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_dash_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) +#if (PHP_MINOR_VERSION > 0) + ZEND_ARG_ARRAY_INFO(0, dashes, 1) +#else + ZEND_ARG_INFO(0, dashes) +#endif + ZEND_ARG_INFO(0, num_dashes) + ZEND_ARG_INFO(0, offset) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_dash_args NULL +#endif + +PHP_METHOD(CairoContext, setFillRule); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_fill_rule_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, fill_rule) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_fill_rule_args NULL +#endif + +PHP_METHOD(CairoContext, setFontFace); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_font_face_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_OBJ_INFO(0, obj, CairoFontFace, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_font_face_args NULL +#endif + +PHP_METHOD(CairoContext, setFontMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_font_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, matrix, CairoMatrix, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_font_matrix_args NULL +#endif + +PHP_METHOD(CairoContext, setFontOptions); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_font_options_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, options, CairoFontOptions, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_font_options_args NULL +#endif + +PHP_METHOD(CairoContext, setFontSize); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_font_size_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, size) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_font_size_args NULL +#endif + +PHP_METHOD(CairoContext, setLineCap); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_line_cap_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, line_cap) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_line_cap_args NULL +#endif + +PHP_METHOD(CairoContext, setLineJoin); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_line_join_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, line_join) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_line_join_args NULL +#endif + +PHP_METHOD(CairoContext, setLineWidth); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_line_width_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, width) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_line_width_args NULL +#endif + +PHP_METHOD(CairoContext, setMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, matix, CairoMatrix, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_matrix_args NULL +#endif + +PHP_METHOD(CairoContext, setMiterLimit); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_miter_limit_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, limit) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_miter_limit_args NULL +#endif + +PHP_METHOD(CairoContext, setOperator); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_operator_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, op) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_operator_args NULL +#endif + +PHP_METHOD(CairoContext, setSource); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_source_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_OBJ_INFO(0, p, CairoPattern, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_source_args NULL +#endif + +PHP_METHOD(CairoContext, setSourceRgb); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_source_rgb_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 3) + ZEND_ARG_INFO(0, red) + ZEND_ARG_INFO(0, green) + ZEND_ARG_INFO(0, blue) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_source_rgb_args NULL +#endif + +PHP_METHOD(CairoContext, setSourceRgba); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_source_rgba_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 3) + ZEND_ARG_INFO(0, red) + ZEND_ARG_INFO(0, green) + ZEND_ARG_INFO(0, blue) + ZEND_ARG_INFO(0, alpha) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_source_rgba_args NULL +#endif + +PHP_METHOD(CairoContext, setSourceSurface); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_source_surface_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, surface, CairoSurface, 1) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_source_surface_args NULL +#endif + +PHP_METHOD(CairoContext, setTolerance); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__set_tolerance_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, tolerance) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__set_tolerance_args NULL +#endif + +PHP_METHOD(CairoContext, showGlyphs); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__show_glyphs_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) +#if (PHP_MINOR_VERSION > 0) + ZEND_ARG_ARRAY_INFO(0, obj, 1) +#else + ZEND_ARG_INFO(0, obj) +#endif + ZEND_ARG_INFO(0, num_glyphs) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__show_glyphs_args NULL +#endif + +PHP_METHOD(CairoContext, showPage); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__show_page_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__show_page_args NULL +#endif + +PHP_METHOD(CairoContext, showText); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__show_text_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, obj) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__show_text_args NULL +#endif + +PHP_METHOD(CairoContext, stroke); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__stroke_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__stroke_args NULL +#endif + +PHP_METHOD(CairoContext, strokeExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__stroke_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__stroke_extents_args NULL +#endif + +PHP_METHOD(CairoContext, strokePreserve); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__stroke_preserve_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__stroke_preserve_args NULL +#endif + +PHP_METHOD(CairoContext, textExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__text_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, str) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__text_extents_args NULL +#endif + +PHP_METHOD(CairoContext, textPath); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__text_path_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, obj) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__text_path_args NULL +#endif + +PHP_METHOD(CairoContext, transform); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__transform_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, matrix, CairoMatrix, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__transform_args NULL +#endif + +PHP_METHOD(CairoContext, translate); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__translate_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, tx) + ZEND_ARG_INFO(0, ty) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__translate_args NULL +#endif + +PHP_METHOD(CairoContext, userToDevice); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__user_to_device_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__user_to_device_args NULL +#endif + +PHP_METHOD(CairoContext, userToDeviceDistance); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoContext__user_to_device_distance_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, dx) + ZEND_ARG_INFO(0, dy) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoContext__user_to_device_distance_args NULL +#endif + +PHP_METHOD(CairoFontFace, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontFace____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontFace____construct_args NULL +#endif + +PHP_METHOD(CairoFontOptions, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions____construct_args NULL +#endif + +PHP_METHOD(CairoFontOptions, getAntialias); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__get_antialias_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__get_antialias_args NULL +#endif + +PHP_METHOD(CairoFontOptions, getHintMetrics); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__get_hint_metrics_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__get_hint_metrics_args NULL +#endif + +PHP_METHOD(CairoFontOptions, getHintStyle); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__get_hint_style_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__get_hint_style_args NULL +#endif + +PHP_METHOD(CairoFontOptions, getSubpixelOrder); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__get_subpixel_order_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__get_subpixel_order_args NULL +#endif + +PHP_METHOD(CairoFontOptions, setAntialias); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__set_antialias_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, aa) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__set_antialias_args NULL +#endif + +PHP_METHOD(CairoFontOptions, setHintMetrics); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__set_hint_metrics_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, hm) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__set_hint_metrics_args NULL +#endif + +PHP_METHOD(CairoFontOptions, setHintStyle); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__set_hint_style_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, hs) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__set_hint_style_args NULL +#endif + +PHP_METHOD(CairoFontOptions, setSubpixelOrder); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoFontOptions__set_subpixel_order_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, so) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoFontOptions__set_subpixel_order_args NULL +#endif + +PHP_METHOD(CairoMatrix, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 5) + ZEND_ARG_INFO(0, yx) + ZEND_ARG_INFO(0, xy) + ZEND_ARG_INFO(0, yy) + ZEND_ARG_INFO(0, x0) + ZEND_ARG_INFO(0, y0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix____construct_args NULL +#endif + +PHP_METHOD(CairoMatrix, initRotate); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__init_rotate_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, radians) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__init_rotate_args NULL +#endif + +PHP_METHOD(CairoMatrix, invert); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__invert_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__invert_args NULL +#endif + +PHP_METHOD(CairoMatrix, multiply); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__multiply_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, o2, CairoMatrix, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__multiply_args NULL +#endif + +PHP_METHOD(CairoMatrix, rotate); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__rotate_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, radians) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__rotate_args NULL +#endif + +PHP_METHOD(CairoMatrix, scale); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__scale_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, sx) + ZEND_ARG_INFO(0, xy) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__scale_args NULL +#endif + +PHP_METHOD(CairoMatrix, transformDistance); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__transform_distance_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, dx) + ZEND_ARG_INFO(0, dy) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__transform_distance_args NULL +#endif + +PHP_METHOD(CairoMatrix, transformPoint); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__transform_point_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__transform_point_args NULL +#endif + +PHP_METHOD(CairoMatrix, translate); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoMatrix__translate_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, tx) + ZEND_ARG_INFO(0, ty) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoMatrix__translate_args NULL +#endif + +PHP_METHOD(CairoPath, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPath____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPath____construct_args NULL +#endif + +PHP_METHOD(CairoPath, toStr); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPath__to_str_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPath__to_str_args NULL +#endif + +PHP_METHOD(CairoPattern, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPattern____construct_args NULL +#endif + +PHP_METHOD(CairoPattern, getMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__get_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPattern__get_matrix_args NULL +#endif + +PHP_METHOD(CairoPattern, setMatrix); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__set_matrix_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_OBJ_INFO(0, m, CairoMatrix, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPattern__set_matrix_args NULL +#endif + +PHP_METHOD(CairoGradient, __contruct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoGradient____contruct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoGradient____contruct_args NULL +#endif + +PHP_METHOD(CairoGradient, addColorStopRgb); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoGradient__add_color_stop_rgb_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 4) + ZEND_ARG_INFO(0, offset) + ZEND_ARG_INFO(0, red) + ZEND_ARG_INFO(0, green) + ZEND_ARG_INFO(0, blue) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoGradient__add_color_stop_rgb_args NULL +#endif + +PHP_METHOD(CairoGradient, addColorStopRgba); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoGradient__add_color_stop_rgba_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 5) + ZEND_ARG_INFO(0, offset) + ZEND_ARG_INFO(0, red) + ZEND_ARG_INFO(0, green) + ZEND_ARG_INFO(0, blue) + ZEND_ARG_INFO(0, alpha) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoGradient__add_color_stop_rgba_args NULL +#endif + +PHP_METHOD(CairoLinearGradient, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoLinearGradient____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 3) + ZEND_ARG_INFO(0, y0) + ZEND_ARG_INFO(0, x1) + ZEND_ARG_INFO(0, y1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoLinearGradient____construct_args NULL +#endif + +PHP_METHOD(CairoLinearGradient, getLinearPoints); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoLinearGradient__get_linear_points_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoLinearGradient__get_linear_points_args NULL +#endif + +PHP_METHOD(CairoRadialGradient, __constuct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoRadialGradient____constuct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 6) + ZEND_ARG_INFO(0, cx0) + ZEND_ARG_INFO(0, cy0) + ZEND_ARG_INFO(0, radius0) + ZEND_ARG_INFO(0, cx1) + ZEND_ARG_INFO(0, cy1) + ZEND_ARG_INFO(0, radius1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoRadialGradient____constuct_args NULL +#endif + +PHP_METHOD(CairoRadialGradient, getRadialCircles); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoRadialGradient__get_radial_circles_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoRadialGradient__get_radial_circles_args NULL +#endif + +PHP_METHOD(CairoSolidPattern, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSolidPattern____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, g) + ZEND_ARG_INFO(0, b) + ZEND_ARG_INFO(0, a) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSolidPattern____construct_args NULL +#endif + +PHP_METHOD(CairoSolidPattern, getRgba); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSolidPattern__get_rgba_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSolidPattern__get_rgba_args NULL +#endif + +PHP_METHOD(CairoSurfacePattern, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurfacePattern____construct_args NULL +#endif + +PHP_METHOD(CairoPattern, getExtend); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__get_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPattern__get_extend_args NULL +#endif + +PHP_METHOD(CairoSurfacePattern, getFilter); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern__get_filter_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurfacePattern__get_filter_args NULL +#endif + +PHP_METHOD(CairoSurfacePattern, getSurface); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern__get_surface_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurfacePattern__get_surface_args NULL +#endif + +PHP_METHOD(CairoPattern, setExtend); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__set_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, extend) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPattern__set_extend_args NULL +#endif + +PHP_METHOD(CairoSurfacePattern, setFilter); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern__set_filter_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, filter) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurfacePattern__set_filter_args NULL +#endif + +PHP_METHOD(CairoScaledFont, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoScaledFont____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 3) + ZEND_ARG_OBJ_INFO(0, mx1, CairoMatrix, 1) + ZEND_ARG_OBJ_INFO(0, mx2, CairoMatrix, 1) + ZEND_ARG_OBJ_INFO(0, fo, CairoFontOptions, 1) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoScaledFont____construct_args NULL +#endif + +PHP_METHOD(CairoScaledFont, extents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoScaledFont__extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoScaledFont__extents_args NULL +#endif + +PHP_METHOD(CairoScaledFont, getFontFace); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoScaledFont__get_font_face_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoScaledFont__get_font_face_args NULL +#endif + +PHP_METHOD(CairoScaledFont, textExtents); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoScaledFont__text_extents_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, str) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoScaledFont__text_extents_args NULL +#endif + +PHP_METHOD(CairoSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface____construct_args NULL +#endif + +PHP_METHOD(CairoSurface, createSimilar); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__create_similar_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 3) + ZEND_ARG_INFO(0, content) + ZEND_ARG_INFO(0, width) + ZEND_ARG_INFO(0, height) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__create_similar_args NULL +#endif + +PHP_METHOD(CairoSurface, finish); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__finish_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__finish_args NULL +#endif + +PHP_METHOD(CairoSurface, flush); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__flush_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__flush_args NULL +#endif + +PHP_METHOD(CairoSurface, getContent); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__get_content_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__get_content_args NULL +#endif + +PHP_METHOD(CairoSurface, getDeviceOffset); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__get_device_offset_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__get_device_offset_args NULL +#endif + +PHP_METHOD(CairoSurface, getFontOptions); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__get_font_options_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__get_font_options_args NULL +#endif + +PHP_METHOD(CairoSurface, markDirtyRectangle); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__mark_dirty_rectangle_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_ARG_INFO(0, x) + ZEND_ARG_INFO(0, y) + ZEND_ARG_INFO(0, width) + ZEND_ARG_INFO(0, height) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__mark_dirty_rectangle_args NULL +#endif + +PHP_METHOD(CairoSurface, setDeviceOffset); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__set_device_offset_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x_offset) + ZEND_ARG_INFO(0, y_offset) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__set_device_offset_args NULL +#endif + +PHP_METHOD(CairoSurface, setFallbackResolution); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__set_fallback_resolution_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, x_ppi) + ZEND_ARG_INFO(0, y_ppi) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__set_fallback_resolution_args NULL +#endif + +PHP_METHOD(CairoSurface, writeToPng); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__write_to_png_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, file) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSurface__write_to_png_args NULL +#endif + +PHP_METHOD(CairoSurface, writeToPngStream); +#if (PHP_MAJOR_VERSION >=5) +ZEND_BEGIN_ARG_INFO_EX(CairoSurface__write_to_png_stream_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, zstream) +ZEND_END_ARG_INFO() +#else +#define CairoSurface__write_to_png_stream_args NULL +#endif + +PHP_METHOD(CairoImageSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, widthm) + ZEND_ARG_INFO(0, height) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface____construct_args NULL +#endif + +PHP_METHOD(CairoImageSurface, createFromData); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__create_from_data_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 4) + ZEND_ARG_INFO(0, obj) + ZEND_ARG_INFO(0, format) + ZEND_ARG_INFO(0, width) + ZEND_ARG_INFO(0, height) + ZEND_ARG_INFO(0, stride) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__create_from_data_args NULL +#endif + +PHP_METHOD(CairoImageSurface, createFromPng); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__create_from_png_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, file) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__create_from_png_args NULL +#endif + + +PHP_METHOD(CairoImageSurface, createFromPngStream); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__create_from_png_stream_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, zstream) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__create_from_png_stream_args NULL +#endif + +PHP_METHOD(CairoImageSurface, getData); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__get_data_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__get_data_args NULL +#endif + +PHP_METHOD(CairoImageSurface, getFormat); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__get_format_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__get_format_args NULL +#endif + +PHP_METHOD(CairoImageSurface, getHeight); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__get_height_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__get_height_args NULL +#endif + +PHP_METHOD(CairoImageSurface, getStride); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__get_stride_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__get_stride_args NULL +#endif + +PHP_METHOD(CairoImageSurface, getWidth); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoImageSurface__get_width_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoImageSurface__get_width_args NULL +#endif + +PHP_METHOD(CairoPDFSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPDFSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, wpts) + ZEND_ARG_INFO(0, hpts) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPDFSurface____construct_args NULL +#endif + +PHP_METHOD(CairoPDFSurface, setSize); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPDFSurface__set_size_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, wpts) + ZEND_ARG_INFO(0, hpts) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPDFSurface__set_size_args NULL +#endif + +PHP_METHOD(CairoPSSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, wpts) + ZEND_ARG_INFO(0, hpts) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface____construct_args NULL +#endif + +PHP_METHOD(CairoPSSurface, dscBeginPageSetup); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__dsc_begin_page_setup_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__dsc_begin_page_setup_args NULL +#endif + +PHP_METHOD(CairoPSSurface, dscBeginSetup); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__dsc_begin_setup_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__dsc_begin_setup_args NULL +#endif + +PHP_METHOD(CairoPSSurface, dscComment); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__dsc_comment_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__dsc_comment_args NULL +#endif + +PHP_METHOD(CairoPSSurface, getLevels); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__get_levels_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__get_levels_args NULL +#endif + +PHP_METHOD(CairoPSSurface, getLevelString); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__get_level_string_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__get_level_string_args NULL +#endif + +PHP_METHOD(CairoPSSurface, restrictToLevel); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__restrict_to_level_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, level) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__restrict_to_level_args NULL +#endif + +PHP_METHOD(CairoPSSurface, setEps); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__set_eps_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__set_eps_args NULL +#endif + +PHP_METHOD(CairoPSSurface, setSize); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoPSSurface__set_size_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, wpts) + ZEND_ARG_INFO(0, hpts) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoPSSurface__set_size_args NULL +#endif + +PHP_METHOD(CairoQuartzSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoQuartzSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, hpixels) + ZEND_ARG_INFO(0, format) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoQuartzSurface____construct_args NULL +#endif + +PHP_METHOD(CairoSVGSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoSVGSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, wpts) + ZEND_ARG_INFO(0, hpts) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoSVGSurface____construct_args NULL +#endif + +PHP_METHOD(CairoWin32Surface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoWin32Surface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoWin32Surface____construct_args NULL +#endif + +PHP_METHOD(CairoXlibSurface, __construct); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoXlibSurface____construct_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoXlibSurface____construct_args NULL +#endif + +PHP_METHOD(CairoXlibSurface, getDepth); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoXlibSurface__get_depth_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoXlibSurface__get_depth_args NULL +#endif + +PHP_METHOD(CairoXlibSurface, getHeight); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoXlibSurface__get_height_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoXlibSurface__get_height_args NULL +#endif + +PHP_METHOD(CairoXlibSurface, getWidth); +#if (PHP_MAJOR_VERSION >= 5) +ZEND_BEGIN_ARG_INFO_EX(CairoXlibSurface__get_width_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() +#else /* PHP 4.x */ +#define CairoXlibSurface__get_width_args NULL +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* PHP_HAVE_CAIRO */ + +#endif /* PHP_CAIRO_H */ + +/* {{{ Proto's */ + +zend_class_entry* get_CairoSurface_ce_ptr(cairo_surface_t *); +zend_class_entry* get_CairoPattern_ce_ptr(cairo_pattern_t *); + +/* }}} */ + + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ diff --git a/src/cairo/run-tests.php b/src/cairo/run-tests.php new file mode 100644 index 0000000..7b38807 --- /dev/null +++ b/src/cairo/run-tests.php @@ -0,0 +1,1985 @@ + | + | Preston L. Bannister | + | Marcus Boerger | + | Derick Rethans | + | Sander Roobol | + | (based on version by: Stig Bakken ) | + | (based on the PHP 3 test framework by Rasmus Lerdorf) | + +----------------------------------------------------------------------+ + */ + +/* $Id: run-tests.php,v 1.226.2.37.2.35 2007/09/14 15:28:03 nlopess Exp $ */ + +/* Sanity check to ensure that pcre extension needed by this script is available. + * In the event it is not, print a nice error message indicating that this script will + * not run without it. + */ +if (!extension_loaded("pcre")) { + echo <<'; + save_text($info_file, $php_info); + $info_params = array(); + settings2array($ini_overwrites,$info_params); + settings2params($info_params); + $php_info = `$php $pass_options $info_params "$info_file"`; + @unlink($info_file); + define('TESTED_PHP_VERSION', `$php $pass_options -r "echo PHP_VERSION;"`); + + // load list of enabled extensions + save_text($info_file, ''); + $exts_to_test = explode(',',`$php $pass_options $info_params "$info_file"`); + // check for extensions that need special handling and regenerate + $info_params_ex = array( + 'session' => array('session.auto_start=0'), + 'tidy' => array('tidy.clean_output=0'), + 'zlib' => array('zlib.output_compression=Off'), + 'xdebug' => array('xdebug.default_enable=0'), + ); + foreach($info_params_ex as $ext => $ini_overwrites_ex) { + if (in_array($ext, $exts_to_test)) { + $ini_overwrites = array_merge($ini_overwrites, $ini_overwrites_ex); + } + } + @unlink($info_file); + + // Write test context information. + echo " +===================================================================== +CWD : $cwd +PHP : $php $php_info +Extra dirs : "; + foreach ($user_tests as $test_dir) { + echo "{$test_dir}\n "; + } + echo " +===================================================================== +"; +} + +// Determine the tests to be run. + +$test_files = array(); +$redir_tests = array(); +$test_results = array(); +$PHP_FAILED_TESTS = array('BORKED' => array(), 'FAILED' => array(), 'WARNED' => array(), 'LEAKED' => array()); + +// If parameters given assume they represent selected tests to run. +$failed_tests_file= false; +$pass_option_n = false; +$pass_options = ''; + +$compression = 0; +$output_file = $CUR_DIR . '/php_test_results_' . @date('Ymd_Hi') . '.txt'; +if ($compression) { + $output_file = 'compress.zlib://' . $output_file . '.gz'; +} +$just_save_results = false; +$leak_check = false; +$html_output = false; +$html_file = null; +$temp_source = null; +$temp_target = null; +$temp_urlbase = null; +$conf_passed = null; +$no_clean = false; + +$cfgtypes = array('show', 'keep'); +$cfgfiles = array('skip', 'php', 'clean'); +$cfg = array(); +foreach($cfgtypes as $type) { + $cfg[$type] = array(); + foreach($cfgfiles as $file) { + $cfg[$type][$file] = false; + } +} + +if (getenv('TEST_PHP_ARGS')) +{ + if (!isset($argc) || !$argc || !isset($argv)) + { + $argv = array(__FILE__); + } + $argv = array_merge($argv, split(' ', getenv('TEST_PHP_ARGS'))); + $argc = count($argv); +} + +if (isset($argc) && $argc > 1) { + for ($i=1; $i<$argc; $i++) { + $is_switch = false; + $switch = substr($argv[$i],1,1); + $repeat = substr($argv[$i],0,1) == '-'; + while ($repeat) { + $repeat = false; + if (!$is_switch) { + $switch = substr($argv[$i],1,1); + } + $is_switch = true; + switch($switch) { + case 'r': + case 'l': + $test_list = @file($argv[++$i]); + if ($test_list) { + foreach($test_list as $test) { + $matches = array(); + if (preg_match('/^#.*\[(.*)\]\:\s+(.*)$/', $test, $matches)) { + $redir_tests[] = array($matches[1], $matches[2]); + } else if (strlen($test)) { + $test_files[] = trim($test); + } + } + } + if ($switch != 'l') { + break; + } + $i--; + // break left intentionally + case 'w': + $failed_tests_file = fopen($argv[++$i], 'w+t'); + break; + case 'a': + $failed_tests_file = fopen($argv[++$i], 'a+t'); + break; + case 'c': + $conf_passed = $argv[++$i]; + break; + case 'd': + $ini_overwrites[] = $argv[++$i]; + break; + //case 'h' + case '--keep-all': + foreach($cfgfiles as $file) { + $cfg['keep'][$file] = true; + } + break; + case '--keep-skip': + $cfg['keep']['skip'] = true; + break; + case '--keep-php': + $cfg['keep']['php'] = true; + break; + case '--keep-clean': + $cfg['keep']['clean'] = true; + break; + //case 'l' + case 'm': + $leak_check = true; + break; + case 'n': + if (!$pass_option_n) { + $pass_options .= ' -n'; + } + $pass_option_n = true; + break; + case 'N': + // this is always native + break; + case '--no-clean': + $no_clean = true; + break; + case 'q': + putenv('NO_INTERACTION=1'); + break; + //case 'r' + case 's': + $output_file = $argv[++$i]; + $just_save_results = true; + break; + case '--show-all': + foreach($cfgfiles as $file) { + $cfg['show'][$file] = true; + } + break; + case '--show-skip': + $cfg['show']['skip'] = true; + break; + case '--show-php': + $cfg['show']['php'] = true; + break; + case '--show-clean': + $cfg['show']['clean'] = true; + break; + case '--temp-source': + $temp_source = $argv[++$i]; + break; + case '--temp-target': + $temp_target = $argv[++$i]; + if ($temp_urlbase) { + $temp_urlbase = $temp_target; + } + break; + case '--temp-urlbase': + $temp_urlbase = $argv[++$i]; + break; + case 'v': + case '--verbose': + $DETAILED = true; + break; + //case 'w' + case '-': + // repeat check with full switch + $switch = $argv[$i]; + if ($switch != '-') { + $repeat = true; + } + break; + case '--html': + $html_file = @fopen($argv[++$i], 'wt'); + $html_output = is_resource($html_file); + break; + case '--version': + echo '$Revision: 1.226.2.37.2.35 $'."\n"; + exit(1); + + case 'u': + case 'U': + // Allow using u or U for forward compatibility + break; + + default: + echo "Illegal switch '$switch' specified!\n"; + case 'h': + case '-help': + case '--help': + echo << Read the testfiles to be executed from . After the test + has finished all failed tests are written to the same . + If the list is empty and no further test is specified then + all tests are executed (same as: -r -w ). + + -r Read the testfiles to be executed from . + + -w Write a list of all failed tests to . + + -a Same as -w but append rather then truncating . + + -c Look for php.ini in directory or use as ini. + + -n Pass -n option to the php binary (Do not use a php.ini). + + -d foo=bar Pass -d option to the php binary (Define INI entry foo + with value 'bar'). + + -m Test for memory leaks with Valgrind. + + -N Always set (Test with unicode_semantics set off in PHP 6). + + -s Write output to . + + -q Quiet, no user interaction (same as environment NO_INTERACTION). + + --verbose + -v Verbose mode. + + --help + -h This Help. + + --html Generate HTML output. + + --temp-source --temp-target [--temp-urlbase ] + Write temporary files to by replacing from the + filenames to generate with . If --html is being used and + given then the generated links are relative and prefixed + with the given url. In general you want to make the path + to your source files and some pach in your web page + hierarchy with pointing to . + + --keep-[all|php|skip|clean] + Do not delete 'all' files, 'php' test file, 'skip' or 'clean' + file. + + --show-[all|php|skip|clean] + Show 'all' files, 'php' test file, 'skip' or 'clean' file. + + --no-clean Do not execute clean section if any. + +HELP; + exit(1); + } + } + if (!$is_switch) { + $testfile = realpath($argv[$i]); + if (!$testfile && strpos($argv[$i], '*') !== false && function_exists('glob')) { + if (preg_match("/\.phpt$/", $argv[$i])) { + $pattern_match = glob($argv[$i]); + } else if (preg_match("/\*$/", $argv[$i])) { + $pattern_match = glob($argv[$i] . '.phpt'); + } else { + die("bogus test name " . $argv[$i] . "\n"); + } + if (is_array($pattern_match)) { + $test_files = array_merge($test_files, $pattern_match); + } + } else if (is_dir($testfile)) { + find_files($testfile); + } else if (preg_match("/\.phpt$/", $testfile)) { + $test_files[] = $testfile; + } else { + die("bogus test name " . $argv[$i] . "\n"); + } + } + } + if (strlen($conf_passed)) + { + $pass_options .= " -c '$conf_passed'"; + } + $test_files = array_unique($test_files); + $test_files = array_merge($test_files, $redir_tests); + + // Run selected tests. + $test_cnt = count($test_files); + if ($test_cnt) { + write_information($html_output); + usort($test_files, "test_sort"); + $start_time = time(); + if (!$html_output) { + echo "Running selected tests.\n"; + } else { + show_start($start_time); + } + $test_idx = 0; + run_all_tests($test_files, $environment); + $end_time = time(); + if ($html_output) { + show_end($end_time); + } + if ($failed_tests_file) { + fclose($failed_tests_file); + } + if (count($test_files) || count($test_results)) { + compute_summary(); + if ($html_output) { + fwrite($html_file, "
\n" . get_summary(false, true)); + } + echo "====================================================================="; + echo get_summary(false, false); + } + if ($html_output) { + fclose($html_file); + } + if (getenv('REPORT_EXIT_STATUS') == 1 and preg_match('/FAILED(?: |$)/', implode(' ', $test_results))) { + exit(1); + } + exit(0); + } +} + +write_information($html_output); + +// Compile a list of all test files (*.phpt). +$test_files = array(); +$exts_tested = count($exts_to_test); +$exts_skipped = 0; +$ignored_by_ext = 0; +sort($exts_to_test); +$test_dirs = array(); +$optionals = array('tests', 'ext', 'Zend', 'ZendEngine2', 'sapi/cli', 'sapi/cgi'); +foreach($optionals as $dir) { + if (@filetype($dir) == 'dir') { + $test_dirs[] = $dir; + } +} + +// Convert extension names to lowercase +foreach ($exts_to_test as $key => $val) { + $exts_to_test[$key] = strtolower($val); +} + +foreach ($test_dirs as $dir) { + find_files("{$cwd}/{$dir}", ($dir == 'ext')); +} + +foreach ($user_tests as $dir) { + find_files($dir, ($dir == 'ext')); +} + +function find_files($dir,$is_ext_dir=FALSE,$ignore=FALSE) +{ + global $test_files, $exts_to_test, $ignored_by_ext, $exts_skipped, $exts_tested; + + $o = opendir($dir) or error("cannot open directory: $dir"); + while (($name = readdir($o)) !== FALSE) { + if (is_dir("{$dir}/{$name}") && !in_array($name, array('.', '..', 'CVS'))) { + $skip_ext = ($is_ext_dir && !in_array(strtolower($name), $exts_to_test)); + if ($skip_ext) { + $exts_skipped++; + } + find_files("{$dir}/{$name}", FALSE, $ignore || $skip_ext); + } + + // Cleanup any left-over tmp files from last run. + if (substr($name, -4) == '.tmp') { + @unlink("$dir/$name"); + continue; + } + + // Otherwise we're only interested in *.phpt files. + if (substr($name, -5) == '.phpt') { + if ($ignore) { + $ignored_by_ext++; + } else { + $testfile = realpath("{$dir}/{$name}"); + $test_files[] = $testfile; + } + } + } + closedir($o); +} + +function test_name($name) +{ + if (is_array($name)) { + return $name[0] . ':' . $name[1]; + } else { + return $name; + } +} + +function test_sort($a, $b) +{ + global $cwd; + + $a = test_name($a); + $b = test_name($b); + + $ta = strpos($a, "{$cwd}/tests")===0 ? 1 + (strpos($a, "{$cwd}/tests/run-test")===0 ? 1 : 0) : 0; + $tb = strpos($b, "{$cwd}/tests")===0 ? 1 + (strpos($b, "{$cwd}/tests/run-test")===0 ? 1 : 0) : 0; + if ($ta == $tb) { + return strcmp($a, $b); + } else { + return $tb - $ta; + } +} + +$test_files = array_unique($test_files); +usort($test_files, "test_sort"); + +$start_time = time(); +show_start($start_time); + +$test_cnt = count($test_files); +$test_idx = 0; +run_all_tests($test_files, $environment); +$end_time = time(); +if ($failed_tests_file) { + fclose($failed_tests_file); +} + +// Summarize results + +if (0 == count($test_results)) { + echo "No tests were run.\n"; + return; +} + +compute_summary(); + +show_end($end_time); +show_summary(); + +if ($html_output) { + fclose($html_file); +} + +define('PHP_QA_EMAIL', 'qa-reports@lists.php.net'); +define('QA_SUBMISSION_PAGE', 'http://qa.php.net/buildtest-process.php'); + +/* We got failed Tests, offer the user to send an e-mail to QA team, unless NO_INTERACTION is set */ +if (false) { + $fp = fopen("php://stdin", "r+"); + if ($sum_results['FAILED'] || $sum_results['BORKED'] || $sum_results['WARNED'] || $sum_results['LEAKED']) { + echo "\nYou may have found a problem in PHP."; + } + echo "\nWe would like to send this report automatically to the\n"; + echo "PHP QA team, to give us a better understanding of how\nthe test cases are doing. If you don't want to send it\n"; + echo "immediately, you can choose \"s\" to save the report to\na file that you can send us later.\n"; + echo "Do you want to send this report now? [Yns]: "; + flush(); + $user_input = fgets($fp, 10); + $just_save_results = (strtolower($user_input[0]) == 's'); +} +if ($just_save_results || false) { + if ($just_save_results || strlen(trim($user_input)) == 0 || strtolower($user_input[0]) == 'y') { + /* + * Collect information about the host system for our report + * Fetch phpinfo() output so that we can see the PHP enviroment + * Make an archive of all the failed tests + * Send an email + */ + if ($just_save_results) + { + $user_input = 's'; + } + /* Ask the user to provide an email address, so that QA team can contact the user */ + if (!strncasecmp($user_input, 'y', 1) || strlen(trim($user_input)) == 0) { + echo "\nPlease enter your email address.\n(Your address will be mangled so that it will not go out on any\nmailinglist in plain text): "; + flush(); + $user_email = trim(fgets($fp, 1024)); + $user_email = str_replace("@", " at ", str_replace(".", " dot ", $user_email)); + } + + $failed_tests_data = ''; + $sep = "\n" . str_repeat('=', 80) . "\n"; + + $failed_tests_data .= $failed_test_summary . "\n"; + $failed_tests_data .= get_summary(true, false) . "\n"; + + if ($sum_results['FAILED']) { + foreach ($PHP_FAILED_TESTS['FAILED'] as $test_info) { + $failed_tests_data .= $sep . $test_info['name'] . $test_info['info']; + $failed_tests_data .= $sep . file_get_contents(realpath($test_info['output'])); + $failed_tests_data .= $sep . file_get_contents(realpath($test_info['diff'])); + $failed_tests_data .= $sep . "\n\n"; + } + $status = "failed"; + } else { + $status = "success"; + } + + $failed_tests_data .= "\n" . $sep . 'BUILD ENVIRONMENT' . $sep; + $failed_tests_data .= "OS:\n" . PHP_OS . " - " . php_uname() . "\n\n"; + $ldd = $autoconf = $sys_libtool = $libtool = $compiler = 'N/A'; + + if (substr(PHP_OS, 0, 3) != "WIN") { + /* If PHP_AUTOCONF is set, use it; otherwise, use 'autoconf'. */ + if (getenv('PHP_AUTOCONF')) { + $autoconf = shell_exec(getenv('PHP_AUTOCONF') . ' --version'); + } else { + $autoconf = shell_exec('autoconf --version'); + } + + /* Always use the generated libtool - Mac OSX uses 'glibtool' */ + $libtool = shell_exec($CUR_DIR . '/libtool --version'); + + /* Use shtool to find out if there is glibtool present (MacOSX) */ + $sys_libtool_path = shell_exec(dirname(__FILE__) . '/build/shtool path glibtool libtool'); + if ($sys_libtool_path) { + $sys_libtool = shell_exec(str_replace("\n", "", $sys_libtool_path) . ' --version'); + } + + /* Try the most common flags for 'version' */ + $flags = array('-v', '-V', '--version'); + $cc_status=0; + foreach($flags AS $flag) { + system(getenv('CC')." $flag >/dev/null 2>&1", $cc_status); + if ($cc_status == 0) { + $compiler = shell_exec(getenv('CC')." $flag 2>&1"); + break; + } + } + $ldd = shell_exec("ldd $php 2>/dev/null"); + } + $failed_tests_data .= "Autoconf:\n$autoconf\n"; + $failed_tests_data .= "Bundled Libtool:\n$libtool\n"; + $failed_tests_data .= "System Libtool:\n$sys_libtool\n"; + $failed_tests_data .= "Compiler:\n$compiler\n"; + $failed_tests_data .= "Bison:\n". @shell_exec('bison --version 2>/dev/null'). "\n"; + $failed_tests_data .= "Libraries:\n$ldd\n"; + $failed_tests_data .= "\n"; + + if (isset($user_email)) { + $failed_tests_data .= "User's E-mail: ".$user_email."\n\n"; + } + + $failed_tests_data .= $sep . "PHPINFO" . $sep; + $failed_tests_data .= shell_exec($php.' -dhtml_errors=0 -i'); + + if ($just_save_results || !mail_qa_team($failed_tests_data, $compression, $status)) { + file_put_contents($output_file, $failed_tests_data); + + if (!$just_save_results) { + echo "\nThe test script was unable to automatically send the report to PHP's QA Team\n"; + } + + echo "Please send ".$output_file." to ".PHP_QA_EMAIL." manually, thank you.\n"; + } else { + fwrite($fp, "\nThank you for helping to make PHP better.\n"); + fclose($fp); + } + } +} + +if (getenv('REPORT_EXIT_STATUS') == 1 and $sum_results['FAILED']) { + exit(1); +} +exit(0); + +// +// Send Email to QA Team +// + +function mail_qa_team($data, $compression, $status = FALSE) +{ + $url_bits = parse_url(QA_SUBMISSION_PAGE); + if (empty($url_bits['port'])) $url_bits['port'] = 80; + + $data = "php_test_data=" . urlencode(base64_encode(str_replace("\00", '[0x0]', $data))); + $data_length = strlen($data); + + $fs = fsockopen($url_bits['host'], $url_bits['port'], $errno, $errstr, 10); + if (!$fs) { + return FALSE; + } + + $php_version = urlencode(TESTED_PHP_VERSION); + + echo "\nPosting to {$url_bits['host']} {$url_bits['path']}\n"; + fwrite($fs, "POST ".$url_bits['path']."?status=$status&version=$php_version HTTP/1.1\r\n"); + fwrite($fs, "Host: ".$url_bits['host']."\r\n"); + fwrite($fs, "User-Agent: QA Browser 0.1\r\n"); + fwrite($fs, "Content-Type: application/x-www-form-urlencoded\r\n"); + fwrite($fs, "Content-Length: ".$data_length."\r\n\r\n"); + fwrite($fs, $data); + fwrite($fs, "\r\n\r\n"); + fclose($fs); + + return 1; +} + + +// +// Write the given text to a temporary file, and return the filename. +// + +function save_text($filename, $text, $filename_copy = null) +{ + global $DETAILED; + + if ($filename_copy && $filename_copy != $filename) { + if (@file_put_contents($filename_copy, $text) === false) { + error("Cannot open file '" . $filename_copy . "' (save_text)"); + } + } + if (@file_put_contents($filename, $text) === false) { + error("Cannot open file '" . $filename . "' (save_text)"); + } + if (1 < $DETAILED) echo " +FILE $filename {{{ +$text +}}} +"; +} + +// +// Write an error in a format recognizable to Emacs or MSVC. +// + +function error_report($testname, $logname, $tested) +{ + $testname = realpath($testname); + $logname = realpath($logname); + switch (strtoupper(getenv('TEST_PHP_ERROR_STYLE'))) { + case 'MSVC': + echo $testname . "(1) : $tested\n"; + echo $logname . "(1) : $tested\n"; + break; + case 'EMACS': + echo $testname . ":1: $tested\n"; + echo $logname . ":1: $tested\n"; + break; + } +} + +function system_with_timeout($commandline, $env = null, $stdin = null) +{ + global $leak_check; + + $data = ""; + + $proc = proc_open($commandline, array( + 0 => array('pipe', 'r'), + 1 => array('pipe', 'w'), + 2 => array('pipe', 'w') + ), $pipes, null, $env, array("suppress_errors" => true)); + + if (!$proc) + return false; + + if (is_string($stdin)) { + fwrite($pipes[0], $stdin); + } + fclose($pipes[0]); + + while (true) { + /* hide errors from interrupted syscalls */ + $r = $pipes; + $w = null; + $e = null; + $n = @stream_select($r, $w, $e, $leak_check ? 300 : 60); + + if ($n === 0) { + /* timed out */ + $data .= "\n ** ERROR: process timed out **\n"; + proc_terminate($proc); + return $data; + } else if ($n > 0) { + $line = fread($pipes[1], 8192); + if (strlen($line) == 0) { + /* EOF */ + break; + } + $data .= $line; + } + } + $stat = proc_get_status($proc); + if ($stat['signaled']) { + $data .= "\nTermsig=".$stat['stopsig']; + } + $code = proc_close($proc); + return $data; +} + +function run_all_tests($test_files, $env, $redir_tested = NULL) +{ + global $test_results, $failed_tests_file, $php, $test_cnt, $test_idx; + + foreach($test_files as $name) + { + if (is_array($name)) + { + $index = "# $name[1]: $name[0]"; + if ($redir_tested) + { + $name = $name[0]; + } + } + else if ($redir_tested) + { + $index = "# $redir_tested: $name"; + } + else + { + $index = $name; + } + $test_idx++; + $result = run_test($php, $name, $env); + if (!is_array($name) && $result != 'REDIR') + { + $test_results[$index] = $result; + if ($failed_tests_file && ($result == 'FAILED' || $result == 'WARNED' || $result == 'LEAKED')) + { + fwrite($failed_tests_file, "$index\n"); + } + } + } +} + +// +// Run an individual test case. +// +function run_test($php, $file, $env) +{ + global $log_format, $info_params, $ini_overwrites, $cwd, $PHP_FAILED_TESTS; + global $pass_options, $DETAILED, $IN_REDIRECT, $test_cnt, $test_idx; + global $leak_check, $temp_source, $temp_target, $cfg, $environment; + global $no_clean; + + $temp_filenames = null; + $org_file = $file; + + if (isset($env['TEST_PHP_CGI_EXECUTABLE'])) { + $php_cgi = $env['TEST_PHP_CGI_EXECUTABLE']; + } + + if (is_array($file)) $file = $file[0]; + + if ($DETAILED) echo " +================= +TEST $file +"; + + // Load the sections of the test file. + $section_text = array( + 'TEST' => '', + 'SKIPIF' => '', + 'GET' => '', + 'COOKIE' => '', + 'POST_RAW' => '', + 'POST' => '', + 'UPLOAD' => '', + 'ARGS' => '', + ); + + $fp = fopen($file, "rt") or error("Cannot open test file: $file"); + + $borked = false; + $bork_info = ''; + if (!feof($fp)) { + $line = fgets($fp); + } else { + $bork_info = "empty test [$file]"; + $borked = true; + } + if (strncmp('--TEST--', $line, 8)) { + $bork_info = "tests must start with --TEST-- [$file]"; + $borked = true; + } + $section = 'TEST'; + $secfile = false; + $secdone = false; + while (!feof($fp)) { + $line = fgets($fp); + + // Match the beginning of a section. + if (preg_match('/^--([_A-Z]+)--/', $line, $r)) { + $section = $r[1]; + $section_text[$section] = ''; + $secfile = $section == 'FILE' || $section == 'FILEEOF'; + $secdone = false; + continue; + } + + // Add to the section text. + if (!$secdone) { + $section_text[$section] .= $line; + } + + // End of actual test? + if ($secfile && preg_match('/^===DONE===$/', $line)) { + $secdone = true; + } + } + + // the redirect section allows a set of tests to be reused outside of + // a given test dir + if (@count($section_text['REDIRECTTEST']) == 1) { + if ($IN_REDIRECT) { + $borked = true; + $bork_info = "Can't redirect a test from within a redirected test"; + } else { + $borked = false; + } + } else { + if (@count($section_text['FILE']) + @count($section_text['FILEEOF']) != 1) { + $bork_info = "missing section --FILE--"; + $borked = true; + } + if (@count($section_text['FILEEOF']) == 1) { + $section_text['FILE'] = preg_replace("/[\r\n]+$/", '', $section_text['FILEEOF']); + unset($section_text['FILEEOF']); + } + if ((@count($section_text['EXPECT']) + @count($section_text['EXPECTF']) + @count($section_text['EXPECTREGEX'])) != 1) { + $bork_info = "missing section --EXPECT--, --EXPECTF-- or --EXPECTREGEX--"; + $borked = true; + } + } + fclose($fp); + + $shortname = str_replace($cwd.'/', '', $file); + $tested_file = $shortname; + + if ($borked) { + show_result("BORK", $bork_info, $tested_file); + $PHP_FAILED_TESTS['BORKED'][] = array ( + 'name' => $file, + 'test_name' => '', + 'output' => '', + 'diff' => '', + 'info' => "$bork_info [$file]", + ); + return 'BORKED'; + } + + $tested = trim($section_text['TEST']); + + /* For GET/POST tests, check if cgi sapi is available and if it is, use it. */ + if (!empty($section_text['GET']) || !empty($section_text['POST']) || !empty($section_text['POST_RAW']) || !empty($section_text['COOKIE'])) { + if (isset($php_cgi)) { + $old_php = $php; + $php = $php_cgi .' -C '; + } elseif (!strncasecmp(PHP_OS, "win", 3) && file_exists(dirname($php) ."/php-cgi.exe")) { + $old_php = $php; + $php = realpath(dirname($php) ."/php-cgi.exe") .' -C '; + } else { + if (file_exists(dirname($php)."/../../sapi/cgi/php-cgi")) { + $old_php = $php; + $php = realpath(dirname($php)."/../../sapi/cgi/php-cgi") . ' -C '; + } else if (file_exists("./sapi/cgi/php-cgi")) { + $old_php = $php; + $php = realpath("./sapi/cgi/php-cgi") . ' -C '; + } else { + show_result("SKIP", $tested, $tested_file, "reason: CGI not available"); + return 'SKIPPED'; + } + } + } + + show_test($test_idx, $shortname); + + if (is_array($IN_REDIRECT)) { + $temp_dir = $test_dir = $IN_REDIRECT['dir']; + } else { + $temp_dir = $test_dir = realpath(dirname($file)); + } + if ($temp_source && $temp_target) { + $temp_dir = str_replace($temp_source, $temp_target, $temp_dir); + } + + $main_file_name = basename($file,'phpt'); + + $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'diff'; + $log_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'log'; + $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'exp'; + $output_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'out'; + $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'mem'; + $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'php'; + $test_file = $test_dir . DIRECTORY_SEPARATOR . $main_file_name.'php'; + $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'skip.php'; + $test_skipif = $test_dir . DIRECTORY_SEPARATOR . $main_file_name.'skip.php'; + $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'clean.php'; + $test_clean = $test_dir . DIRECTORY_SEPARATOR . $main_file_name.'clean.php'; + $tmp_post = $temp_dir . DIRECTORY_SEPARATOR . uniqid('/phpt.'); + $tmp_relative_file = str_replace(dirname(__FILE__).DIRECTORY_SEPARATOR, '', $test_file) . 't'; + + if ($temp_source && $temp_target) { + $temp_skipif .= 's'; + $temp_file .= 's'; + $temp_clean .= 's'; + $copy_file = $temp_dir . DIRECTORY_SEPARATOR . basename(is_array($file) ? $file[1] : $file).'.phps'; + if (!is_dir(dirname($copy_file))) { + @mkdir(dirname($copy_file), 0777, true) or error("Cannot create output directory - " . dirname($copy_file)); + } + if (isset($section_text['FILE'])) { + save_text($copy_file, $section_text['FILE']); + } + $temp_filenames = array( + 'file' => $copy_file, + 'diff' => $diff_filename, + 'log' => $log_filename, + 'exp' => $exp_filename, + 'out' => $output_filename, + 'mem' => $memcheck_filename, + 'php' => $temp_file, + 'skip' => $temp_skipif, + 'clean'=> $temp_clean); + } + + if (is_array($IN_REDIRECT)) { + $tested = $IN_REDIRECT['prefix'] . ' ' . trim($section_text['TEST']); + $tested_file = $tmp_relative_file; + $section_text['FILE'] = "# original source file: $shortname\n" . $section_text['FILE']; + } + + // unlink old test results + @unlink($diff_filename); + @unlink($log_filename); + @unlink($exp_filename); + @unlink($output_filename); + @unlink($memcheck_filename); + @unlink($temp_file); + @unlink($test_file); + @unlink($temp_skipif); + @unlink($test_skipif); + @unlink($tmp_post); + @unlink($temp_clean); + @unlink($test_clean); + + // Reset environment from any previous test. + $env['REDIRECT_STATUS']=''; + $env['QUERY_STRING']=''; + $env['PATH_TRANSLATED']=''; + $env['SCRIPT_FILENAME']=''; + $env['REQUEST_METHOD']=''; + $env['CONTENT_TYPE']=''; + $env['CONTENT_LENGTH']=''; + if (!empty($section_text['ENV'])) { + foreach(explode("\n", trim($section_text['ENV'])) as $e) { + $e = explode('=',trim($e),2); + if (!empty($e[0]) && isset($e[1])) { + $env[$e[0]] = $e[1]; + } + } + } + + // Default ini settings + $ini_settings = array(); + // additional ini overwrites + //$ini_overwrites[] = 'setting=value'; + settings2array($ini_overwrites, $ini_settings); + + // Any special ini settings + // these may overwrite the test defaults... + if (array_key_exists('INI', $section_text)) { + if (strpos($section_text['INI'], '{PWD}') !== false) { + $section_text['INI'] = str_replace('{PWD}', dirname($file), $section_text['INI']); + } + settings2array(preg_split( "/[\n\r]+/", $section_text['INI']), $ini_settings); + } + settings2params($ini_settings); + + // Check if test should be skipped. + $info = ''; + $warn = false; + if (array_key_exists('SKIPIF', $section_text)) { + if (trim($section_text['SKIPIF'])) { + if ($cfg['show']['skip']) { + echo "\n========SKIP========\n"; + echo $section_text['SKIPIF']; + echo "========DONE========\n"; + } + save_text($test_skipif, $section_text['SKIPIF'], $temp_skipif); + $extra = substr(PHP_OS, 0, 3) !== "WIN" ? + "unset REQUEST_METHOD; unset QUERY_STRING; unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": ""; + + if ($leak_check) { + $env['USE_ZEND_ALLOC'] = '0'; + } else { + $env['USE_ZEND_ALLOC'] = '1'; + } + $output = system_with_timeout("$extra $php $pass_options -q $ini_settings $test_skipif", $env); + if (!$cfg['keep']['skip']) { + @unlink($test_skipif); + } + if (!strncasecmp('skip', ltrim($output), 4)) { + if (preg_match('/^\s*skip\s*(.+)\s*/i', $output, $m)) { + show_result("SKIP", $tested, $tested_file, "reason: $m[1]", $temp_filenames); + } else { + show_result("SKIP", $tested, $tested_file, '', $temp_filenames); + } + if (isset($old_php)) { + $php = $old_php; + } + if (!$cfg['keep']['skip']) { + @unlink($test_skipif); + } + return 'SKIPPED'; + } + if (!strncasecmp('info', ltrim($output), 4)) { + if (preg_match('/^\s*info\s*(.+)\s*/i', $output, $m)) { + $info = " (info: $m[1])"; + } + } + if (!strncasecmp('warn', ltrim($output), 4)) { + if (preg_match('/^\s*warn\s*(.+)\s*/i', $output, $m)) { + $warn = true; /* only if there is a reason */ + $info = " (warn: $m[1])"; + } + } + } + } + + if (@count($section_text['REDIRECTTEST']) == 1) { + $test_files = array(); + + $IN_REDIRECT = eval($section_text['REDIRECTTEST']); + $IN_REDIRECT['via'] = "via [$shortname]\n\t"; + $IN_REDIRECT['dir'] = realpath(dirname($file)); + $IN_REDIRECT['prefix'] = trim($section_text['TEST']); + + if (@count($IN_REDIRECT['TESTS']) == 1) { + if (is_array($org_file)) { + $test_files[] = $org_file[1]; + } else { + $GLOBALS['test_files'] = $test_files; + find_files($IN_REDIRECT['TESTS']); + foreach($GLOBALS['test_files'] as $f) { + $test_files[] = array($f, $file); + } + } + $test_cnt += count($test_files) - 1; + $test_idx--; + + show_redirect_start($IN_REDIRECT['TESTS'], $tested, $tested_file); + + // set up environment + $redirenv = array_merge($environment, $IN_REDIRECT['ENV']); + $redirenv['REDIR_TEST_DIR'] = realpath($IN_REDIRECT['TESTS']) . DIRECTORY_SEPARATOR; + + usort($test_files, "test_sort"); + run_all_tests($test_files, $redirenv, $tested); + + show_redirect_ends($IN_REDIRECT['TESTS'], $tested, $tested_file); + + // a redirected test never fails + $IN_REDIRECT = false; + return 'REDIR'; + } else { + $bork_info = "Redirect info must contain exactly one TEST string to be used as redirect directory."; + show_result("BORK", $bork_info, '', $temp_filenames); + $PHP_FAILED_TESTS['BORKED'][] = array ( + 'name' => $file, + 'test_name' => '', + 'output' => '', + 'diff' => '', + 'info' => "$bork_info [$file]", + 'unicode'=> $unicode_semantics, + ); + } + } + if (is_array($org_file) || @count($section_text['REDIRECTTEST']) == 1) { + if (is_array($org_file)) $file = $org_file[0]; + $bork_info = "Redirected test did not contain redirection info"; + show_result("BORK", $bork_info, '', $temp_filenames); + $PHP_FAILED_TESTS['BORKED'][] = array ( + 'name' => $file, + 'test_name' => '', + 'output' => '', + 'diff' => '', + 'info' => "$bork_info [$file]", + ); + //$test_cnt -= 1; // Only if is_array($org_file) ? + //$test_idx--; + return 'BORKED'; + } + + // We've satisfied the preconditions - run the test! + if ($cfg['show']['php']) { + echo "\n========TEST========\n"; + echo $section_text['FILE']; + echo "========DONE========\n"; + } + save_text($test_file, $section_text['FILE'], $temp_file); + if (array_key_exists('GET', $section_text)) { + $query_string = trim($section_text['GET']); + } else { + $query_string = ''; + } + + $env['REDIRECT_STATUS'] = '1'; + $env['QUERY_STRING'] = $query_string; + $env['PATH_TRANSLATED'] = $test_file; + $env['SCRIPT_FILENAME'] = $test_file; + + if (array_key_exists('COOKIE', $section_text)) { + $env['HTTP_COOKIE'] = trim($section_text['COOKIE']); + } else { + $env['HTTP_COOKIE'] = ''; + } + + $args = $section_text['ARGS'] ? ' -- '.$section_text['ARGS'] : ''; + + if (array_key_exists('POST_RAW', $section_text) && !empty($section_text['POST_RAW'])) { + $post = trim($section_text['POST_RAW']); + $raw_lines = explode("\n", $post); + + $request = ''; + foreach ($raw_lines as $line) { + if (empty($env['CONTENT_TYPE']) && preg_match('/^Content-Type:(.*)/i', $line, $res)) { + $env['CONTENT_TYPE'] = trim(str_replace("\r", '', $res[1])); + continue; + } + $request .= $line . "\n"; + } + + $env['CONTENT_LENGTH'] = strlen($request); + $env['REQUEST_METHOD'] = 'POST'; + + if (empty($request)) { + return 'BORKED'; + } + save_text($tmp_post, $request); + $cmd = "$php$pass_options$ini_settings -f \"$test_file\" 2>&1 < $tmp_post"; + } elseif (array_key_exists('POST', $section_text) && !empty($section_text['POST'])) { + + $post = trim($section_text['POST']); + + if (array_key_exists('GZIP_POST', $section_text) && function_exists('gzencode')) { + $post = gzencode($post, 9, FORCE_GZIP); + $env['HTTP_CONTENT_ENCODING'] = 'gzip'; + } else if (array_key_exists('DEFLATE_POST', $section_text) && function_exists('gzcompress')) { + $post = gzcompress($post, 9); + $env['HTTP_CONTENT_ENCODING'] = 'deflate'; + } + + save_text($tmp_post, $post); + $content_length = strlen($post); + + $env['REQUEST_METHOD'] = 'POST'; + $env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'; + $env['CONTENT_LENGTH'] = $content_length; + + $cmd = "$php$pass_options$ini_settings -f \"$test_file\" 2>&1 < $tmp_post"; + + } else { + + $env['REQUEST_METHOD'] = 'GET'; + $env['CONTENT_TYPE'] = ''; + $env['CONTENT_LENGTH'] = ''; + + $cmd = "$php$pass_options$ini_settings -f \"$test_file\" $args 2>&1"; + } + + if ($leak_check) { + $env['USE_ZEND_ALLOC'] = '0'; + $cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file-exactly=$memcheck_filename $cmd"; + } else { + $env['USE_ZEND_ALLOC'] = '1'; + } + + if ($DETAILED) echo " +CONTENT_LENGTH = " . $env['CONTENT_LENGTH'] . " +CONTENT_TYPE = " . $env['CONTENT_TYPE'] . " +PATH_TRANSLATED = " . $env['PATH_TRANSLATED'] . " +QUERY_STRING = " . $env['QUERY_STRING'] . " +REDIRECT_STATUS = " . $env['REDIRECT_STATUS'] . " +REQUEST_METHOD = " . $env['REQUEST_METHOD'] . " +SCRIPT_FILENAME = " . $env['SCRIPT_FILENAME'] . " +HTTP_COOKIE = " . $env['HTTP_COOKIE'] . " +COMMAND $cmd +"; + + $out = system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null); + + if (array_key_exists('CLEAN', $section_text) && (!$no_clean || $cfg['keep']['clean'])) { + if (trim($section_text['CLEAN'])) { + if ($cfg['show']['clean']) { + echo "\n========CLEAN=======\n"; + echo $section_text['CLEAN']; + echo "========DONE========\n"; + } + save_text($test_clean, trim($section_text['CLEAN']), $temp_clean); + if (!$no_clean) { + $clean_params = array(); + settings2array($ini_overwrites,$clean_params); + settings2params($clean_params); + $extra = substr(PHP_OS, 0, 3) !== "WIN" ? + "unset REQUEST_METHOD; unset QUERY_STRING; unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": ""; + system_with_timeout("$extra $php $pass_options -q $clean_params $test_clean", $env); + } + if (!$cfg['keep']['clean']) { + @unlink($test_clean); + } + } + } + + @unlink($tmp_post); + + $leaked = false; + $passed = false; + + if ($leak_check) { // leak check + $leaked = @filesize($memcheck_filename) > 0; + if (!$leaked) { + @unlink($memcheck_filename); + } + } + + // Does the output match what is expected? + $output = str_replace("\r\n", "\n", trim($out)); + + /* when using CGI, strip the headers from the output */ + $headers = ""; + if (isset($old_php) && preg_match("/^(.*?)\r?\n\r?\n(.*)/s", $out, $match)) { + $output = trim($match[2]); + $rh = preg_split("/[\n\r]+/",$match[1]); + $headers = array(); + foreach ($rh as $line) { + if (strpos($line, ':')!==false) { + $line = explode(':', $line, 2); + $headers[trim($line[0])] = trim($line[1]); + } + } + } + + $failed_headers = false; + if (isset($section_text['EXPECTHEADERS'])) { + $want = array(); + $wanted_headers = array(); + $lines = preg_split("/[\n\r]+/",$section_text['EXPECTHEADERS']); + foreach($lines as $line) { + if (strpos($line, ':') !== false) { + $line = explode(':', $line, 2); + $want[trim($line[0])] = trim($line[1]); + $wanted_headers[] = trim($line[0]) . ': ' . trim($line[1]); + } + } + $org_headers = $headers; + $headers = array(); + $output_headers = array(); + foreach($want as $k => $v) { + if (isset($org_headers[$k])) { + $headers = $org_headers[$k]; + $output_headers[] = $k . ': ' . $org_headers[$k]; + } + if (!isset($org_headers[$k]) || $org_headers[$k] != $v) { + $failed_headers = true; + } + } + ksort($wanted_headers); + $wanted_headers = join("\n", $wanted_headers); + ksort($output_headers); + $output_headers = join("\n", $output_headers); + } + + if (isset($section_text['EXPECTF']) || isset($section_text['EXPECTREGEX'])) { + if (isset($section_text['EXPECTF'])) { + $wanted = trim($section_text['EXPECTF']); + } else { + $wanted = trim($section_text['EXPECTREGEX']); + } + $wanted_re = preg_replace('/\r\n/',"\n",$wanted); + if (isset($section_text['EXPECTF'])) { + $wanted_re = preg_quote($wanted_re, '/'); + // Stick to basics + $wanted_re = str_replace('%e', '\\' . DIRECTORY_SEPARATOR, $wanted_re); + $wanted_re = str_replace('%s', '[^\r\n]+', $wanted_re); + $wanted_re = str_replace('%a', '.+', $wanted_re); + $wanted_re = str_replace('%w', '\s*', $wanted_re); + $wanted_re = str_replace('%i', '[+-]?\d+', $wanted_re); + $wanted_re = str_replace('%d', '\d+', $wanted_re); + $wanted_re = str_replace('%x', '[0-9a-fA-F]+', $wanted_re); + $wanted_re = str_replace('%f', '[+-]?\.?\d+\.?\d*(?:E-?\d+)?', $wanted_re); + $wanted_re = str_replace('%c', '.', $wanted_re); + // %f allows two points "-.0.0" but that is the best *simple* expression + } +/* DEBUG YOUR REGEX HERE + var_dump($wanted_re); + print(str_repeat('=', 80) . "\n"); + var_dump($output); +*/ + if (preg_match("/^$wanted_re\$/s", $output)) { + $passed = true; + if (!$cfg['keep']['php']) { + @unlink($test_file); + } + if (isset($old_php)) { + $php = $old_php; + } + if (!$leaked && !$failed_headers) { + show_result("PASS", $tested, $tested_file, '', $temp_filenames); + return 'PASSED'; + } + } + } else { + $wanted = trim($section_text['EXPECT']); + $wanted = preg_replace('/\r\n/',"\n",$wanted); + // compare and leave on success + if (!strcmp($output, $wanted)) { + $passed = true; + if (!$cfg['keep']['php']) { + @unlink($test_file); + } + if (isset($old_php)) { + $php = $old_php; + } + if (!$leaked && !$failed_headers) { + show_result("PASS", $tested, $tested_file, '', $temp_filenames); + return 'PASSED'; + } + } + $wanted_re = NULL; + } + + // Test failed so we need to report details. + if ($failed_headers) { + $passed = false; + $wanted = $wanted_headers . "\n--HEADERS--\n" . $wanted; + $output = $output_headers . "\n--HEADERS--\n" . $output; + if (isset($wanted_re)) { + $wanted_re = $wanted_headers . "\n--HEADERS--\n" . $wanted_re; + } + } + + if ($leaked) { + $restype[] = 'LEAK'; + } + if ($warn) { + $restype[] = 'WARN'; + } + if (!$passed) { + $restype[] = 'FAIL'; + } + + if (!$passed) { + // write .exp + if (strpos($log_format,'E') !== FALSE && file_put_contents($exp_filename, $wanted) === FALSE) { + error("Cannot create expected test output - $exp_filename"); + } + + // write .out + if (strpos($log_format,'O') !== FALSE && file_put_contents($output_filename, $output) === FALSE) { + error("Cannot create test output - $output_filename"); + } + + // write .diff + if (strpos($log_format,'D') !== FALSE && file_put_contents($diff_filename, generate_diff($wanted,$wanted_re,$output)) === FALSE) { + error("Cannot create test diff - $diff_filename"); + } + + // write .log + if (strpos($log_format,'L') !== FALSE && file_put_contents($log_filename, " +---- EXPECTED OUTPUT +$wanted +---- ACTUAL OUTPUT +$output +---- FAILED +") === FALSE) { + error("Cannot create test log - $log_filename"); + error_report($file, $log_filename, $tested); + } + } + + show_result(implode('&', $restype), $tested, $tested_file, $info, $temp_filenames); + + foreach ($restype as $type) { + $PHP_FAILED_TESTS[$type.'ED'][] = array ( + 'name' => $file, + 'test_name' => (is_array($IN_REDIRECT) ? $IN_REDIRECT['via'] : '') . $tested . " [$tested_file]", + 'output' => $output_filename, + 'diff' => $diff_filename, + 'info' => $info, + ); + } + + if (isset($old_php)) { + $php = $old_php; + } + + return $restype[0].'ED'; +} + +function comp_line($l1,$l2,$is_reg) +{ + if ($is_reg) { + return preg_match('/^'.$l1.'$/s', $l2); + } else { + return !strcmp($l1, $l2); + } +} + +function count_array_diff($ar1,$ar2,$is_reg,$w,$idx1,$idx2,$cnt1,$cnt2,$steps) +{ + $equal = 0; + while ($idx1 < $cnt1 && $idx2 < $cnt2 && comp_line($ar1[$idx1], $ar2[$idx2], $is_reg)) { + $idx1++; + $idx2++; + $equal++; + $steps--; + } + if (--$steps > 0) { + $eq1 = 0; + $st = $steps / 2; + for ($ofs1 = $idx1+1; $ofs1 < $cnt1 && $st-- > 0; $ofs1++) { + $eq = count_array_diff($ar1,$ar2,$is_reg,$w,$ofs1,$idx2,$cnt1,$cnt2,$st); + if ($eq > $eq1) { + $eq1 = $eq; + } + } + $eq2 = 0; + $st = $steps; + for ($ofs2 = $idx2+1; $ofs2 < $cnt2 && $st-- > 0; $ofs2++) { + $eq = count_array_diff($ar1,$ar2,$is_reg,$w,$idx1,$ofs2,$cnt1,$cnt2,$st); + if ($eq > $eq2) { + $eq2 = $eq; + } + } + if ($eq1 > $eq2) { + $equal += $eq1; + } else if ($eq2 > 0) { + $equal += $eq2; + } + } + return $equal; +} + +function generate_array_diff($ar1,$ar2,$is_reg,$w) +{ + $idx1 = 0; $ofs1 = 0; $cnt1 = count($ar1); + $idx2 = 0; $ofs2 = 0; $cnt2 = count($ar2); + $diff = array(); + $old1 = array(); + $old2 = array(); + + while ($idx1 < $cnt1 && $idx2 < $cnt2) { + if (comp_line($ar1[$idx1], $ar2[$idx2], $is_reg)) { + $idx1++; + $idx2++; + continue; + } else { + $c1 = count_array_diff($ar1,$ar2,$is_reg,$w,$idx1+1,$idx2,$cnt1,$cnt2,10); + $c2 = count_array_diff($ar1,$ar2,$is_reg,$w,$idx1,$idx2+1,$cnt1,$cnt2,10); + if ($c1 > $c2) { + $old1[$idx1] = sprintf("%03d- ", $idx1+1).$w[$idx1++]; + $last = 1; + } else if ($c2 > 0) { + $old2[$idx2] = sprintf("%03d+ ", $idx2+1).$ar2[$idx2++]; + $last = 2; + } else { + $old1[$idx1] = sprintf("%03d- ", $idx1+1).$w[$idx1++]; + $old2[$idx2] = sprintf("%03d+ ", $idx2+1).$ar2[$idx2++]; + } + } + } + + reset($old1); $k1 = key($old1); $l1 = -2; + reset($old2); $k2 = key($old2); $l2 = -2; + while ($k1 !== NULL || $k2 !== NULL) { + if ($k1 == $l1+1 || $k2 === NULL) { + $l1 = $k1; + $diff[] = current($old1); + $k1 = next($old1) ? key($old1) : NULL; + } else if ($k2 == $l2+1 || $k1 === NULL) { + $l2 = $k2; + $diff[] = current($old2); + $k2 = next($old2) ? key($old2) : NULL; + } else if ($k1 < $k2) { + $l1 = $k1; + $diff[] = current($old1); + $k1 = next($old1) ? key($old1) : NULL; + } else { + $l2 = $k2; + $diff[] = current($old2); + $k2 = next($old2) ? key($old2) : NULL; + } + } + while ($idx1 < $cnt1) { + $diff[] = sprintf("%03d- ", $idx1+1).$w[$idx1++]; + } + while ($idx2 < $cnt2) { + $diff[] = sprintf("%03d+ ", $idx2+1).$ar2[$idx2++]; + } + return $diff; +} + +function generate_diff($wanted,$wanted_re,$output) +{ + $w = explode("\n", $wanted); + $o = explode("\n", $output); + $r = is_null($wanted_re) ? $w : explode("\n", $wanted_re); + $diff = generate_array_diff($r,$o,!is_null($wanted_re),$w); + return implode("\r\n", $diff); +} + +function error($message) +{ + echo "ERROR: {$message}\n"; + exit(1); +} + +function settings2array($settings, &$ini_settings) +{ + foreach($settings as $setting) { + if (strpos($setting, '=')!==false) { + $setting = explode("=", $setting, 2); + $name = trim(strtolower($setting[0])); + $value = trim($setting[1]); + if ($name == 'extension') { + if (!isset($ini_settings[$name])) { + $ini_settings[$name] = array(); + } + $ini_settings[$name][] = $value; + } else { + $ini_settings[$name] = $value; + } + } + } +} + +function settings2params(&$ini_settings) +{ + $settings = ''; + foreach($ini_settings as $name => $value) { + if (is_array($value)) { + foreach($value as $val) { + $val = addslashes($val); + $settings .= " -d \"$name=$val\""; + } + } else { + $value = addslashes($value); + $settings .= " -d \"$name=$value\""; + } + } + $ini_settings = $settings; +} + +function compute_summary() +{ + global $n_total, $test_results, $ignored_by_ext, $sum_results, $percent_results; + + $n_total = count($test_results); + $n_total += $ignored_by_ext; + $sum_results = array('PASSED'=>0, 'WARNED'=>0, 'SKIPPED'=>0, 'FAILED'=>0, 'BORKED'=>0, 'LEAKED'=>0); + foreach ($test_results as $v) { + $sum_results[$v]++; + } + $sum_results['SKIPPED'] += $ignored_by_ext; + $percent_results = array(); + while (list($v,$n) = each($sum_results)) { + $percent_results[$v] = (100.0 * $n) / $n_total; + } +} + +function get_summary($show_ext_summary, $show_html) +{ + global $exts_skipped, $exts_tested, $n_total, $sum_results, $percent_results, $end_time, $start_time, $failed_test_summary, $PHP_FAILED_TESTS, $leak_check; + + $x_total = $n_total - $sum_results['SKIPPED'] - $sum_results['BORKED']; + if ($x_total) { + $x_warned = (100.0 * $sum_results['WARNED']) / $x_total; + $x_failed = (100.0 * $sum_results['FAILED']) / $x_total; + $x_leaked = (100.0 * $sum_results['LEAKED']) / $x_total; + $x_passed = (100.0 * $sum_results['PASSED']) / $x_total; + } else { + $x_warned = $x_failed = $x_passed = $x_leaked = 0; + } + + $summary = ""; + if ($show_html) $summary .= "
\n";
+	if ($show_ext_summary) {
+		$summary .= "
+=====================================================================
+TEST RESULT SUMMARY
+---------------------------------------------------------------------
+Exts skipped    : " . sprintf("%4d",$exts_skipped) . "
+Exts tested     : " . sprintf("%4d",$exts_tested) . "
+---------------------------------------------------------------------
+";
+	}
+	$summary .= "
+Number of tests : " . sprintf("%4d",$n_total). "          " . sprintf("%8d",$x_total);
+	if ($sum_results['BORKED']) {
+	$summary .= "
+Tests borked    : " . sprintf("%4d (%5.1f%%)",$sum_results['BORKED'],$percent_results['BORKED']) . " --------";
+	}
+	$summary .= "
+Tests skipped   : " . sprintf("%4d (%5.1f%%)",$sum_results['SKIPPED'],$percent_results['SKIPPED']) . " --------
+Tests warned    : " . sprintf("%4d (%5.1f%%)",$sum_results['WARNED'], $percent_results['WARNED']) . " " . sprintf("(%5.1f%%)",$x_warned) . "
+Tests failed    : " . sprintf("%4d (%5.1f%%)",$sum_results['FAILED'], $percent_results['FAILED']) . " " . sprintf("(%5.1f%%)",$x_failed);
+	if ($leak_check) {
+		$summary .= "
+Tests leaked    : " . sprintf("%4d (%5.1f%%)",$sum_results['LEAKED'], $percent_results['LEAKED']) . " " . sprintf("(%5.1f%%)",$x_leaked);
+	}
+	$summary .= "
+Tests passed    : " . sprintf("%4d (%5.1f%%)",$sum_results['PASSED'], $percent_results['PASSED']) . " " . sprintf("(%5.1f%%)",$x_passed) . "
+---------------------------------------------------------------------
+Time taken      : " . sprintf("%4d seconds", $end_time - $start_time) . "
+=====================================================================
+";
+	$failed_test_summary = '';
+	if (count($PHP_FAILED_TESTS['BORKED'])) {
+		$failed_test_summary .= "
+=====================================================================
+BORKED TEST SUMMARY
+---------------------------------------------------------------------
+";
+		foreach ($PHP_FAILED_TESTS['BORKED'] as $failed_test_data) {
+			$failed_test_summary .= $failed_test_data['info'] . "\n";
+		}
+		$failed_test_summary .=  "=====================================================================\n";
+	}
+	
+	if (count($PHP_FAILED_TESTS['FAILED'])) {
+		$failed_test_summary .= "
+=====================================================================
+FAILED TEST SUMMARY
+---------------------------------------------------------------------
+";
+		foreach ($PHP_FAILED_TESTS['FAILED'] as $failed_test_data) {
+			$failed_test_summary .= $failed_test_data['test_name'] . $failed_test_data['info'] . "\n";
+		}
+		$failed_test_summary .=  "=====================================================================\n";
+	}
+	
+	if (count($PHP_FAILED_TESTS['LEAKED'])) {
+		$failed_test_summary .= "
+=====================================================================
+LEAKED TEST SUMMARY
+---------------------------------------------------------------------
+";
+		foreach ($PHP_FAILED_TESTS['LEAKED'] as $failed_test_data) {
+			$failed_test_summary .= $failed_test_data['test_name'] . $failed_test_data['info'] . "\n";
+		}
+		$failed_test_summary .=  "=====================================================================\n";
+	}
+	
+	if ($failed_test_summary && !getenv('NO_PHPTEST_SUMMARY')) {
+		$summary .= $failed_test_summary;
+	}
+
+	if ($show_html) $summary .= "
"; + + return $summary; +} + +function show_start($start_time) +{ + global $html_output, $html_file; + + if ($html_output) + { + fwrite($html_file, "

Time Start: " . @date('Y-m-d H:i:s', $start_time) . "

\n"); + fwrite($html_file, "\n"); + } + echo "TIME START " . @date('Y-m-d H:i:s', $start_time) . "\n=====================================================================\n"; +} + +function show_end($end_time) +{ + global $html_output, $html_file; + + if ($html_output) + { + fwrite($html_file, "
\n"); + fwrite($html_file, "

Time End: " . @date('Y-m-d H:i:s', $end_time) . "

\n"); + } + echo "=====================================================================\nTIME END " . @date('Y-m-d H:i:s', $end_time) . "\n"; +} + +function show_summary() +{ + global $html_output, $html_file; + + if ($html_output) + { + fwrite($html_file, "
\n" . get_summary(true, true)); + } + echo get_summary(true, false); +} + +function show_redirect_start($tests, $tested, $tested_file) +{ + global $html_output, $html_file; + + if ($html_output) + { + fwrite($html_file, "---> $tests ($tested [$tested_file]) begin\n"); + } + echo "---> $tests ($tested [$tested_file]) begin\n"; +} + +function show_redirect_ends($tests, $tested, $tested_file) +{ + global $html_output, $html_file; + + if ($html_output) + { + fwrite($html_file, "---> $tests ($tested [$tested_file]) done\n"); + } + echo "---> $tests ($tested [$tested_file]) done\n"; +} + +function show_test($test_idx, $shortname) +{ + global $test_cnt; + + echo "TEST $test_idx/$test_cnt [$shortname]\r"; + flush(); +} + +function show_result($result, $tested, $tested_file, $extra = '', $temp_filenames = null) +{ + global $html_output, $html_file, $temp_target, $temp_urlbase; + + echo "$result $tested [$tested_file] $extra\n"; + + if ($html_output) + { + if (isset($temp_filenames['file']) && @file_exists($temp_filenames['file'])) { + $url = str_replace($temp_target, $temp_urlbase, $temp_filenames['file']); + $tested = "
$tested"; + } + if (isset($temp_filenames['skip']) && @file_exists($temp_filenames['skip'])) { + if (empty($extra)) { + $extra = "skipif"; + } + $url = str_replace($temp_target, $temp_urlbase, $temp_filenames['skip']); + $extra = "
$extra"; + } else if (empty($extra)) { + $extra = " "; + } + if (isset($temp_filenames['diff']) && @file_exists($temp_filenames['diff'])) { + $url = str_replace($temp_target, $temp_urlbase, $temp_filenames['diff']); + $diff = "diff"; + } else { + $diff = " "; + } + if (isset($temp_filenames['mem']) && @file_exists($temp_filenames['mem'])) { + $url = str_replace($temp_target, $temp_urlbase, $temp_filenames['mem']); + $mem = "leaks"; + } else { + $mem = " "; + } + fwrite($html_file, + "" . + "$result" . + "$tested" . + "$extra" . + "$diff" . + "$mem" . + "\n"); + } +} + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim: noet sw=4 ts=4 + */ +?> diff --git a/src/cairo/run.sh b/src/cairo/run.sh new file mode 100755 index 0000000..461b0f8 --- /dev/null +++ b/src/cairo/run.sh @@ -0,0 +1,2 @@ +make +sudo make install diff --git a/src/cairo/tests/CairoContext____construct.phpt b/src/cairo/tests/CairoContext____construct.phpt new file mode 100644 index 0000000..c2c42f2 --- /dev/null +++ b/src/cairo/tests/CairoContext____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__append_path.phpt b/src/cairo/tests/CairoContext__append_path.phpt new file mode 100644 index 0000000..52331a6 --- /dev/null +++ b/src/cairo/tests/CairoContext__append_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::append_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__arc.phpt b/src/cairo/tests/CairoContext__arc.phpt new file mode 100644 index 0000000..4f565f1 --- /dev/null +++ b/src/cairo/tests/CairoContext__arc.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::arc() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__arc_negative.phpt b/src/cairo/tests/CairoContext__arc_negative.phpt new file mode 100644 index 0000000..0aa79c6 --- /dev/null +++ b/src/cairo/tests/CairoContext__arc_negative.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::arc_negative() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__clip.phpt b/src/cairo/tests/CairoContext__clip.phpt new file mode 100644 index 0000000..70e3c65 --- /dev/null +++ b/src/cairo/tests/CairoContext__clip.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::clip() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__clip_extents.phpt b/src/cairo/tests/CairoContext__clip_extents.phpt new file mode 100644 index 0000000..7f6aafc --- /dev/null +++ b/src/cairo/tests/CairoContext__clip_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::clip_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__clip_preserve.phpt b/src/cairo/tests/CairoContext__clip_preserve.phpt new file mode 100644 index 0000000..ad072f1 --- /dev/null +++ b/src/cairo/tests/CairoContext__clip_preserve.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::clip_preserve() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__close_path.phpt b/src/cairo/tests/CairoContext__close_path.phpt new file mode 100644 index 0000000..88a5d5a --- /dev/null +++ b/src/cairo/tests/CairoContext__close_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::close_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__copy_clip_rectangle_list.phpt b/src/cairo/tests/CairoContext__copy_clip_rectangle_list.phpt new file mode 100644 index 0000000..c3c1606 --- /dev/null +++ b/src/cairo/tests/CairoContext__copy_clip_rectangle_list.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::copy_clip_rectangle_list() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__copy_page.phpt b/src/cairo/tests/CairoContext__copy_page.phpt new file mode 100644 index 0000000..5dce8d0 --- /dev/null +++ b/src/cairo/tests/CairoContext__copy_page.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::copy_page() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__copy_path.phpt b/src/cairo/tests/CairoContext__copy_path.phpt new file mode 100644 index 0000000..8d0cb39 --- /dev/null +++ b/src/cairo/tests/CairoContext__copy_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::copy_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__copy_path_flat.phpt b/src/cairo/tests/CairoContext__copy_path_flat.phpt new file mode 100644 index 0000000..c2d501e --- /dev/null +++ b/src/cairo/tests/CairoContext__copy_path_flat.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::copy_path_flat() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__curve_to.phpt b/src/cairo/tests/CairoContext__curve_to.phpt new file mode 100644 index 0000000..9c7283e --- /dev/null +++ b/src/cairo/tests/CairoContext__curve_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::curve_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__device_to_user.phpt b/src/cairo/tests/CairoContext__device_to_user.phpt new file mode 100644 index 0000000..dfcb8eb --- /dev/null +++ b/src/cairo/tests/CairoContext__device_to_user.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::device_to_user() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__device_to_user_distance.phpt b/src/cairo/tests/CairoContext__device_to_user_distance.phpt new file mode 100644 index 0000000..66d4063 --- /dev/null +++ b/src/cairo/tests/CairoContext__device_to_user_distance.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::device_to_user_distance() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__fill.phpt b/src/cairo/tests/CairoContext__fill.phpt new file mode 100644 index 0000000..a71be38 --- /dev/null +++ b/src/cairo/tests/CairoContext__fill.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::fill() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__fill_extents.phpt b/src/cairo/tests/CairoContext__fill_extents.phpt new file mode 100644 index 0000000..df052ec --- /dev/null +++ b/src/cairo/tests/CairoContext__fill_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::fill_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__fill_preserve.phpt b/src/cairo/tests/CairoContext__fill_preserve.phpt new file mode 100644 index 0000000..7936790 --- /dev/null +++ b/src/cairo/tests/CairoContext__fill_preserve.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::fill_preserve() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__font_extents.phpt b/src/cairo/tests/CairoContext__font_extents.phpt new file mode 100644 index 0000000..9a018dc --- /dev/null +++ b/src/cairo/tests/CairoContext__font_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::font_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_antialias.phpt b/src/cairo/tests/CairoContext__get_antialias.phpt new file mode 100644 index 0000000..a61a83d --- /dev/null +++ b/src/cairo/tests/CairoContext__get_antialias.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_antialias() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_current_point.phpt b/src/cairo/tests/CairoContext__get_current_point.phpt new file mode 100644 index 0000000..e129a52 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_current_point.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_current_point() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_dash.phpt b/src/cairo/tests/CairoContext__get_dash.phpt new file mode 100644 index 0000000..0ecd063 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_dash.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_dash() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_dash_count.phpt b/src/cairo/tests/CairoContext__get_dash_count.phpt new file mode 100644 index 0000000..02dc0ec --- /dev/null +++ b/src/cairo/tests/CairoContext__get_dash_count.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_dash_count() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_fill_rule.phpt b/src/cairo/tests/CairoContext__get_fill_rule.phpt new file mode 100644 index 0000000..bf34b77 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_fill_rule.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_fill_rule() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_font_face.phpt b/src/cairo/tests/CairoContext__get_font_face.phpt new file mode 100644 index 0000000..205cfc5 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_font_face.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_font_face() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_font_matrix.phpt b/src/cairo/tests/CairoContext__get_font_matrix.phpt new file mode 100644 index 0000000..90c6866 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_font_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_font_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_font_options.phpt b/src/cairo/tests/CairoContext__get_font_options.phpt new file mode 100644 index 0000000..01279ba --- /dev/null +++ b/src/cairo/tests/CairoContext__get_font_options.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_font_options() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_group_target.phpt b/src/cairo/tests/CairoContext__get_group_target.phpt new file mode 100644 index 0000000..2d004dd --- /dev/null +++ b/src/cairo/tests/CairoContext__get_group_target.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_group_target() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_line_cap.phpt b/src/cairo/tests/CairoContext__get_line_cap.phpt new file mode 100644 index 0000000..816f071 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_line_cap.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_line_cap() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_line_join.phpt b/src/cairo/tests/CairoContext__get_line_join.phpt new file mode 100644 index 0000000..78d81d8 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_line_join.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_line_join() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_line_width.phpt b/src/cairo/tests/CairoContext__get_line_width.phpt new file mode 100644 index 0000000..c3b6655 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_line_width.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_line_width() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_matrix.phpt b/src/cairo/tests/CairoContext__get_matrix.phpt new file mode 100644 index 0000000..87b3bfa --- /dev/null +++ b/src/cairo/tests/CairoContext__get_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_matrix_limit.phpt b/src/cairo/tests/CairoContext__get_matrix_limit.phpt new file mode 100644 index 0000000..5dc71a8 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_matrix_limit.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_matrix_limit() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_operator.phpt b/src/cairo/tests/CairoContext__get_operator.phpt new file mode 100644 index 0000000..3997021 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_operator.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_operator() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_scaled_font.phpt b/src/cairo/tests/CairoContext__get_scaled_font.phpt new file mode 100644 index 0000000..c27aa9a --- /dev/null +++ b/src/cairo/tests/CairoContext__get_scaled_font.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_scaled_font() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_source.phpt b/src/cairo/tests/CairoContext__get_source.phpt new file mode 100644 index 0000000..37a64c6 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_source.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_source() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_target.phpt b/src/cairo/tests/CairoContext__get_target.phpt new file mode 100644 index 0000000..0841e96 --- /dev/null +++ b/src/cairo/tests/CairoContext__get_target.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_target() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__get_tolerance.phpt b/src/cairo/tests/CairoContext__get_tolerance.phpt new file mode 100644 index 0000000..fcba43a --- /dev/null +++ b/src/cairo/tests/CairoContext__get_tolerance.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::get_tolerance() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__glyph_extents.phpt b/src/cairo/tests/CairoContext__glyph_extents.phpt new file mode 100644 index 0000000..ada41cc --- /dev/null +++ b/src/cairo/tests/CairoContext__glyph_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::glyph_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__glyph_path.phpt b/src/cairo/tests/CairoContext__glyph_path.phpt new file mode 100644 index 0000000..a6e117b --- /dev/null +++ b/src/cairo/tests/CairoContext__glyph_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::glyph_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__has_current_point.phpt b/src/cairo/tests/CairoContext__has_current_point.phpt new file mode 100644 index 0000000..44e21dc --- /dev/null +++ b/src/cairo/tests/CairoContext__has_current_point.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::has_current_point() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__identity_matrix.phpt b/src/cairo/tests/CairoContext__identity_matrix.phpt new file mode 100644 index 0000000..6e33bb3 --- /dev/null +++ b/src/cairo/tests/CairoContext__identity_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::identity_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__in_fill.phpt b/src/cairo/tests/CairoContext__in_fill.phpt new file mode 100644 index 0000000..854cea9 --- /dev/null +++ b/src/cairo/tests/CairoContext__in_fill.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::in_fill() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__in_stroke.phpt b/src/cairo/tests/CairoContext__in_stroke.phpt new file mode 100644 index 0000000..4d5f328 --- /dev/null +++ b/src/cairo/tests/CairoContext__in_stroke.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::in_stroke() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__line_to.phpt b/src/cairo/tests/CairoContext__line_to.phpt new file mode 100644 index 0000000..a5dd166 --- /dev/null +++ b/src/cairo/tests/CairoContext__line_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::line_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__mask.phpt b/src/cairo/tests/CairoContext__mask.phpt new file mode 100644 index 0000000..2bf2c62 --- /dev/null +++ b/src/cairo/tests/CairoContext__mask.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::mask() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__mask_surface.phpt b/src/cairo/tests/CairoContext__mask_surface.phpt new file mode 100644 index 0000000..33f0430 --- /dev/null +++ b/src/cairo/tests/CairoContext__mask_surface.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::mask_surface() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__move_to.phpt b/src/cairo/tests/CairoContext__move_to.phpt new file mode 100644 index 0000000..4dd7fa2 --- /dev/null +++ b/src/cairo/tests/CairoContext__move_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::move_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__new_path.phpt b/src/cairo/tests/CairoContext__new_path.phpt new file mode 100644 index 0000000..2cbe096 --- /dev/null +++ b/src/cairo/tests/CairoContext__new_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::new_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__new_sub_path.phpt b/src/cairo/tests/CairoContext__new_sub_path.phpt new file mode 100644 index 0000000..ad58a16 --- /dev/null +++ b/src/cairo/tests/CairoContext__new_sub_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::new_sub_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__paint.phpt b/src/cairo/tests/CairoContext__paint.phpt new file mode 100644 index 0000000..7b8019e --- /dev/null +++ b/src/cairo/tests/CairoContext__paint.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::paint() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__paint_with_alpha.phpt b/src/cairo/tests/CairoContext__paint_with_alpha.phpt new file mode 100644 index 0000000..03b206a --- /dev/null +++ b/src/cairo/tests/CairoContext__paint_with_alpha.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::paint_with_alpha() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__path_extents.phpt b/src/cairo/tests/CairoContext__path_extents.phpt new file mode 100644 index 0000000..8cb10bd --- /dev/null +++ b/src/cairo/tests/CairoContext__path_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::path_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__pop_group.phpt b/src/cairo/tests/CairoContext__pop_group.phpt new file mode 100644 index 0000000..2ca1237 --- /dev/null +++ b/src/cairo/tests/CairoContext__pop_group.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::pop_group() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__pop_group_to_source.phpt b/src/cairo/tests/CairoContext__pop_group_to_source.phpt new file mode 100644 index 0000000..d6cf969 --- /dev/null +++ b/src/cairo/tests/CairoContext__pop_group_to_source.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::pop_group_to_source() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__push_group.phpt b/src/cairo/tests/CairoContext__push_group.phpt new file mode 100644 index 0000000..58bafb3 --- /dev/null +++ b/src/cairo/tests/CairoContext__push_group.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::push_group() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__push_group_with_content.phpt b/src/cairo/tests/CairoContext__push_group_with_content.phpt new file mode 100644 index 0000000..cfb16f7 --- /dev/null +++ b/src/cairo/tests/CairoContext__push_group_with_content.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::push_group_with_content() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__rectangle.phpt b/src/cairo/tests/CairoContext__rectangle.phpt new file mode 100644 index 0000000..e9823cb --- /dev/null +++ b/src/cairo/tests/CairoContext__rectangle.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::rectangle() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__rel_curve_to.phpt b/src/cairo/tests/CairoContext__rel_curve_to.phpt new file mode 100644 index 0000000..0b14978 --- /dev/null +++ b/src/cairo/tests/CairoContext__rel_curve_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::rel_curve_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__rel_line_to.phpt b/src/cairo/tests/CairoContext__rel_line_to.phpt new file mode 100644 index 0000000..3ae2db6 --- /dev/null +++ b/src/cairo/tests/CairoContext__rel_line_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::rel_line_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__rel_move_to.phpt b/src/cairo/tests/CairoContext__rel_move_to.phpt new file mode 100644 index 0000000..a61ed6e --- /dev/null +++ b/src/cairo/tests/CairoContext__rel_move_to.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::rel_move_to() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__reset_clip.phpt b/src/cairo/tests/CairoContext__reset_clip.phpt new file mode 100644 index 0000000..81a410d --- /dev/null +++ b/src/cairo/tests/CairoContext__reset_clip.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::reset_clip() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__restore.phpt b/src/cairo/tests/CairoContext__restore.phpt new file mode 100644 index 0000000..2a1d00a --- /dev/null +++ b/src/cairo/tests/CairoContext__restore.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::restore() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__rotate.phpt b/src/cairo/tests/CairoContext__rotate.phpt new file mode 100644 index 0000000..a1da428 --- /dev/null +++ b/src/cairo/tests/CairoContext__rotate.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::rotate() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__save.phpt b/src/cairo/tests/CairoContext__save.phpt new file mode 100644 index 0000000..48a0515 --- /dev/null +++ b/src/cairo/tests/CairoContext__save.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::save() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__scale.phpt b/src/cairo/tests/CairoContext__scale.phpt new file mode 100644 index 0000000..5fe168f --- /dev/null +++ b/src/cairo/tests/CairoContext__scale.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::scale() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__select_font_face.phpt b/src/cairo/tests/CairoContext__select_font_face.phpt new file mode 100644 index 0000000..6f0e5cb --- /dev/null +++ b/src/cairo/tests/CairoContext__select_font_face.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::select_font_face() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_antialias.phpt b/src/cairo/tests/CairoContext__set_antialias.phpt new file mode 100644 index 0000000..00fe86a --- /dev/null +++ b/src/cairo/tests/CairoContext__set_antialias.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_antialias() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_dash.phpt b/src/cairo/tests/CairoContext__set_dash.phpt new file mode 100644 index 0000000..4582333 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_dash.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_dash() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_fill_rule.phpt b/src/cairo/tests/CairoContext__set_fill_rule.phpt new file mode 100644 index 0000000..a6107fc --- /dev/null +++ b/src/cairo/tests/CairoContext__set_fill_rule.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_fill_rule() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_font_face.phpt b/src/cairo/tests/CairoContext__set_font_face.phpt new file mode 100644 index 0000000..10dbbef --- /dev/null +++ b/src/cairo/tests/CairoContext__set_font_face.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_font_face() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_font_matrix.phpt b/src/cairo/tests/CairoContext__set_font_matrix.phpt new file mode 100644 index 0000000..842e4ca --- /dev/null +++ b/src/cairo/tests/CairoContext__set_font_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_font_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_font_options.phpt b/src/cairo/tests/CairoContext__set_font_options.phpt new file mode 100644 index 0000000..62dc66a --- /dev/null +++ b/src/cairo/tests/CairoContext__set_font_options.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_font_options() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_font_size.phpt b/src/cairo/tests/CairoContext__set_font_size.phpt new file mode 100644 index 0000000..a3dd247 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_font_size.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_font_size() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_line_cap.phpt b/src/cairo/tests/CairoContext__set_line_cap.phpt new file mode 100644 index 0000000..d647107 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_line_cap.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_line_cap() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_line_join.phpt b/src/cairo/tests/CairoContext__set_line_join.phpt new file mode 100644 index 0000000..a2bd912 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_line_join.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_line_join() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_line_width.phpt b/src/cairo/tests/CairoContext__set_line_width.phpt new file mode 100644 index 0000000..fc0f6ff --- /dev/null +++ b/src/cairo/tests/CairoContext__set_line_width.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_line_width() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_matrix.phpt b/src/cairo/tests/CairoContext__set_matrix.phpt new file mode 100644 index 0000000..b1bebac --- /dev/null +++ b/src/cairo/tests/CairoContext__set_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_miter_limit.phpt b/src/cairo/tests/CairoContext__set_miter_limit.phpt new file mode 100644 index 0000000..7b9210a --- /dev/null +++ b/src/cairo/tests/CairoContext__set_miter_limit.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_miter_limit() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_operator.phpt b/src/cairo/tests/CairoContext__set_operator.phpt new file mode 100644 index 0000000..33441a2 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_operator.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_operator() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_source.phpt b/src/cairo/tests/CairoContext__set_source.phpt new file mode 100644 index 0000000..c875c33 --- /dev/null +++ b/src/cairo/tests/CairoContext__set_source.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_source() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_source_rgb.phpt b/src/cairo/tests/CairoContext__set_source_rgb.phpt new file mode 100644 index 0000000..eafd24d --- /dev/null +++ b/src/cairo/tests/CairoContext__set_source_rgb.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_source_rgb() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_source_rgba.phpt b/src/cairo/tests/CairoContext__set_source_rgba.phpt new file mode 100644 index 0000000..87c071d --- /dev/null +++ b/src/cairo/tests/CairoContext__set_source_rgba.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_source_rgba() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_source_surface.phpt b/src/cairo/tests/CairoContext__set_source_surface.phpt new file mode 100644 index 0000000..1edfc0a --- /dev/null +++ b/src/cairo/tests/CairoContext__set_source_surface.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_source_surface() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__set_tolerance.phpt b/src/cairo/tests/CairoContext__set_tolerance.phpt new file mode 100644 index 0000000..3e6169c --- /dev/null +++ b/src/cairo/tests/CairoContext__set_tolerance.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::set_tolerance() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__show_glyphs.phpt b/src/cairo/tests/CairoContext__show_glyphs.phpt new file mode 100644 index 0000000..07eb46c --- /dev/null +++ b/src/cairo/tests/CairoContext__show_glyphs.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::show_glyphs() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__show_page.phpt b/src/cairo/tests/CairoContext__show_page.phpt new file mode 100644 index 0000000..52958db --- /dev/null +++ b/src/cairo/tests/CairoContext__show_page.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::show_page() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__show_text.phpt b/src/cairo/tests/CairoContext__show_text.phpt new file mode 100644 index 0000000..e2ffc10 --- /dev/null +++ b/src/cairo/tests/CairoContext__show_text.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::show_text() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__stroke.phpt b/src/cairo/tests/CairoContext__stroke.phpt new file mode 100644 index 0000000..1c61a05 --- /dev/null +++ b/src/cairo/tests/CairoContext__stroke.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::stroke() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__stroke_extents.phpt b/src/cairo/tests/CairoContext__stroke_extents.phpt new file mode 100644 index 0000000..1841359 --- /dev/null +++ b/src/cairo/tests/CairoContext__stroke_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::stroke_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__stroke_preserve.phpt b/src/cairo/tests/CairoContext__stroke_preserve.phpt new file mode 100644 index 0000000..39c7f6f --- /dev/null +++ b/src/cairo/tests/CairoContext__stroke_preserve.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::stroke_preserve() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__text_extents.phpt b/src/cairo/tests/CairoContext__text_extents.phpt new file mode 100644 index 0000000..eb54a42 --- /dev/null +++ b/src/cairo/tests/CairoContext__text_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::text_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__text_path.phpt b/src/cairo/tests/CairoContext__text_path.phpt new file mode 100644 index 0000000..603b4c8 --- /dev/null +++ b/src/cairo/tests/CairoContext__text_path.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::text_path() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__transform.phpt b/src/cairo/tests/CairoContext__transform.phpt new file mode 100644 index 0000000..916c0db --- /dev/null +++ b/src/cairo/tests/CairoContext__transform.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::transform() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__translate.phpt b/src/cairo/tests/CairoContext__translate.phpt new file mode 100644 index 0000000..6ff0358 --- /dev/null +++ b/src/cairo/tests/CairoContext__translate.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::translate() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__user_to_device.phpt b/src/cairo/tests/CairoContext__user_to_device.phpt new file mode 100644 index 0000000..6f39f97 --- /dev/null +++ b/src/cairo/tests/CairoContext__user_to_device.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::user_to_device() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoContext__user_to_device_distance.phpt b/src/cairo/tests/CairoContext__user_to_device_distance.phpt new file mode 100644 index 0000000..b53a1fe --- /dev/null +++ b/src/cairo/tests/CairoContext__user_to_device_distance.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoContext::user_to_device_distance() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontFace____construct.phpt b/src/cairo/tests/CairoFontFace____construct.phpt new file mode 100644 index 0000000..f4e36f4 --- /dev/null +++ b/src/cairo/tests/CairoFontFace____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontFace::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontFace____destruct.phpt b/src/cairo/tests/CairoFontFace____destruct.phpt new file mode 100644 index 0000000..3ee7f15 --- /dev/null +++ b/src/cairo/tests/CairoFontFace____destruct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontFace::__destruct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions____construct.phpt b/src/cairo/tests/CairoFontOptions____construct.phpt new file mode 100644 index 0000000..82b1202 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__get_antialias.phpt b/src/cairo/tests/CairoFontOptions__get_antialias.phpt new file mode 100644 index 0000000..6866ecc --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__get_antialias.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::get_antialias() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__get_hint_metrics.phpt b/src/cairo/tests/CairoFontOptions__get_hint_metrics.phpt new file mode 100644 index 0000000..e1314c4 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__get_hint_metrics.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::get_hint_metrics() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__get_hint_style.phpt b/src/cairo/tests/CairoFontOptions__get_hint_style.phpt new file mode 100644 index 0000000..3b8f13b --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__get_hint_style.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::get_hint_style() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__get_subpixel_order.phpt b/src/cairo/tests/CairoFontOptions__get_subpixel_order.phpt new file mode 100644 index 0000000..3fdde8e --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__get_subpixel_order.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::get_subpixel_order() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__set_antialias.phpt b/src/cairo/tests/CairoFontOptions__set_antialias.phpt new file mode 100644 index 0000000..6754444 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__set_antialias.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::set_antialias() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__set_hint_metrics.phpt b/src/cairo/tests/CairoFontOptions__set_hint_metrics.phpt new file mode 100644 index 0000000..097f094 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__set_hint_metrics.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::set_hint_metrics() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__set_hint_style.phpt b/src/cairo/tests/CairoFontOptions__set_hint_style.phpt new file mode 100644 index 0000000..5731930 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__set_hint_style.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::set_hint_style() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoFontOptions__set_subpixel_order.phpt b/src/cairo/tests/CairoFontOptions__set_subpixel_order.phpt new file mode 100644 index 0000000..0f6dca4 --- /dev/null +++ b/src/cairo/tests/CairoFontOptions__set_subpixel_order.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoFontOptions::set_subpixel_order() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoGradient____contruct.phpt b/src/cairo/tests/CairoGradient____contruct.phpt new file mode 100644 index 0000000..20b4e6d --- /dev/null +++ b/src/cairo/tests/CairoGradient____contruct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoGradient::__contruct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoGradient__add_color_stop_rgb.phpt b/src/cairo/tests/CairoGradient__add_color_stop_rgb.phpt new file mode 100644 index 0000000..ab54914 --- /dev/null +++ b/src/cairo/tests/CairoGradient__add_color_stop_rgb.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoGradient::add_color_stop_rgb() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoGradient__add_color_stop_rgba.phpt b/src/cairo/tests/CairoGradient__add_color_stop_rgba.phpt new file mode 100644 index 0000000..3b49b36 --- /dev/null +++ b/src/cairo/tests/CairoGradient__add_color_stop_rgba.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoGradient::add_color_stop_rgba() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface____construct.phpt b/src/cairo/tests/CairoImageSurface____construct.phpt new file mode 100644 index 0000000..f9d6de1 --- /dev/null +++ b/src/cairo/tests/CairoImageSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__create_from_data.phpt b/src/cairo/tests/CairoImageSurface__create_from_data.phpt new file mode 100644 index 0000000..626aec6 --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__create_from_data.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::create_from_data() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__create_from_png.phpt b/src/cairo/tests/CairoImageSurface__create_from_png.phpt new file mode 100644 index 0000000..9a68edf --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__create_from_png.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::create_from_png() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__get_data.phpt b/src/cairo/tests/CairoImageSurface__get_data.phpt new file mode 100644 index 0000000..5a07ed2 --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__get_data.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::get_data() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__get_format.phpt b/src/cairo/tests/CairoImageSurface__get_format.phpt new file mode 100644 index 0000000..efa829f --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__get_format.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::get_format() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__get_height.phpt b/src/cairo/tests/CairoImageSurface__get_height.phpt new file mode 100644 index 0000000..d06dd5c --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__get_height.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::get_height() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__get_stride.phpt b/src/cairo/tests/CairoImageSurface__get_stride.phpt new file mode 100644 index 0000000..f92cec7 --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__get_stride.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::get_stride() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoImageSurface__get_width.phpt b/src/cairo/tests/CairoImageSurface__get_width.phpt new file mode 100644 index 0000000..0ca36ce --- /dev/null +++ b/src/cairo/tests/CairoImageSurface__get_width.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoImageSurface::get_width() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoLinearGradient____construct.phpt b/src/cairo/tests/CairoLinearGradient____construct.phpt new file mode 100644 index 0000000..f4028b8 --- /dev/null +++ b/src/cairo/tests/CairoLinearGradient____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoLinearGradient::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoLinearGradient__get_linear_points.phpt b/src/cairo/tests/CairoLinearGradient__get_linear_points.phpt new file mode 100644 index 0000000..a5eb405 --- /dev/null +++ b/src/cairo/tests/CairoLinearGradient__get_linear_points.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoLinearGradient::get_linear_points() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix____construct.phpt b/src/cairo/tests/CairoMatrix____construct.phpt new file mode 100644 index 0000000..5db52b8 --- /dev/null +++ b/src/cairo/tests/CairoMatrix____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__init_rotate.phpt b/src/cairo/tests/CairoMatrix__init_rotate.phpt new file mode 100644 index 0000000..0ba1540 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__init_rotate.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::init_rotate() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__invert.phpt b/src/cairo/tests/CairoMatrix__invert.phpt new file mode 100644 index 0000000..28399dd --- /dev/null +++ b/src/cairo/tests/CairoMatrix__invert.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::invert() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__multiply.phpt b/src/cairo/tests/CairoMatrix__multiply.phpt new file mode 100644 index 0000000..b6a3bc9 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__multiply.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::multiply() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__rotate.phpt b/src/cairo/tests/CairoMatrix__rotate.phpt new file mode 100644 index 0000000..2b80f72 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__rotate.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::rotate() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__scale.phpt b/src/cairo/tests/CairoMatrix__scale.phpt new file mode 100644 index 0000000..99a0874 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__scale.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::scale() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__transform_distance.phpt b/src/cairo/tests/CairoMatrix__transform_distance.phpt new file mode 100644 index 0000000..09387c9 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__transform_distance.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::transform_distance() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__transform_point.phpt b/src/cairo/tests/CairoMatrix__transform_point.phpt new file mode 100644 index 0000000..e1d612d --- /dev/null +++ b/src/cairo/tests/CairoMatrix__transform_point.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::transform_point() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoMatrix__translate.phpt b/src/cairo/tests/CairoMatrix__translate.phpt new file mode 100644 index 0000000..fd74622 --- /dev/null +++ b/src/cairo/tests/CairoMatrix__translate.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoMatrix::translate() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPDFSurface____construct.phpt b/src/cairo/tests/CairoPDFSurface____construct.phpt new file mode 100644 index 0000000..1d951c8 --- /dev/null +++ b/src/cairo/tests/CairoPDFSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPDFSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPDFSurface__set_size.phpt b/src/cairo/tests/CairoPDFSurface__set_size.phpt new file mode 100644 index 0000000..8a655d7 --- /dev/null +++ b/src/cairo/tests/CairoPDFSurface__set_size.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPDFSurface::set_size() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface____construct.phpt b/src/cairo/tests/CairoPSSurface____construct.phpt new file mode 100644 index 0000000..d7665a5 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__dsc_begin_page_setup.phpt b/src/cairo/tests/CairoPSSurface__dsc_begin_page_setup.phpt new file mode 100644 index 0000000..2f8628f --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__dsc_begin_page_setup.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::dsc_begin_page_setup() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__dsc_begin_setup.phpt b/src/cairo/tests/CairoPSSurface__dsc_begin_setup.phpt new file mode 100644 index 0000000..da8d200 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__dsc_begin_setup.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::dsc_begin_setup() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__dsc_comment.phpt b/src/cairo/tests/CairoPSSurface__dsc_comment.phpt new file mode 100644 index 0000000..0f6da70 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__dsc_comment.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::dsc_comment() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__get_level_string.phpt b/src/cairo/tests/CairoPSSurface__get_level_string.phpt new file mode 100644 index 0000000..ebdee27 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__get_level_string.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::get_level_string() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__get_levels.phpt b/src/cairo/tests/CairoPSSurface__get_levels.phpt new file mode 100644 index 0000000..18e6fac --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__get_levels.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::get_levels() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__restrict_to_level.phpt b/src/cairo/tests/CairoPSSurface__restrict_to_level.phpt new file mode 100644 index 0000000..f7e46f8 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__restrict_to_level.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::restrict_to_level() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__set_eps.phpt b/src/cairo/tests/CairoPSSurface__set_eps.phpt new file mode 100644 index 0000000..ab129d4 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__set_eps.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::set_eps() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPSSurface__set_size.phpt b/src/cairo/tests/CairoPSSurface__set_size.phpt new file mode 100644 index 0000000..6060bd2 --- /dev/null +++ b/src/cairo/tests/CairoPSSurface__set_size.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPSSurface::set_size() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPath____construct.phpt b/src/cairo/tests/CairoPath____construct.phpt new file mode 100644 index 0000000..0599898 --- /dev/null +++ b/src/cairo/tests/CairoPath____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPath::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPath__str.phpt b/src/cairo/tests/CairoPath__str.phpt new file mode 100644 index 0000000..f2997c7 --- /dev/null +++ b/src/cairo/tests/CairoPath__str.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPath::str() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPattern____construct.phpt b/src/cairo/tests/CairoPattern____construct.phpt new file mode 100644 index 0000000..547015d --- /dev/null +++ b/src/cairo/tests/CairoPattern____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPattern::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPattern__get_matrix.phpt b/src/cairo/tests/CairoPattern__get_matrix.phpt new file mode 100644 index 0000000..bf6e6bb --- /dev/null +++ b/src/cairo/tests/CairoPattern__get_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPattern::get_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoPattern__set_matrix.phpt b/src/cairo/tests/CairoPattern__set_matrix.phpt new file mode 100644 index 0000000..deb719d --- /dev/null +++ b/src/cairo/tests/CairoPattern__set_matrix.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoPattern::set_matrix() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoQuartzSurface____construct.phpt b/src/cairo/tests/CairoQuartzSurface____construct.phpt new file mode 100644 index 0000000..64dab34 --- /dev/null +++ b/src/cairo/tests/CairoQuartzSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoQuartzSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoRadialGradient____constuct.phpt b/src/cairo/tests/CairoRadialGradient____constuct.phpt new file mode 100644 index 0000000..f2ed147 --- /dev/null +++ b/src/cairo/tests/CairoRadialGradient____constuct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoRadialGradient::__constuct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoRadialGradient__get_radial_circles.phpt b/src/cairo/tests/CairoRadialGradient__get_radial_circles.phpt new file mode 100644 index 0000000..2e36519 --- /dev/null +++ b/src/cairo/tests/CairoRadialGradient__get_radial_circles.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoRadialGradient::get_radial_circles() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSVGSurface____construct.phpt b/src/cairo/tests/CairoSVGSurface____construct.phpt new file mode 100644 index 0000000..e376c47 --- /dev/null +++ b/src/cairo/tests/CairoSVGSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSVGSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoScaledFont____construct.phpt b/src/cairo/tests/CairoScaledFont____construct.phpt new file mode 100644 index 0000000..f997794 --- /dev/null +++ b/src/cairo/tests/CairoScaledFont____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoScaledFont::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoScaledFont__extents.phpt b/src/cairo/tests/CairoScaledFont__extents.phpt new file mode 100644 index 0000000..02818c0 --- /dev/null +++ b/src/cairo/tests/CairoScaledFont__extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoScaledFont::extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoScaledFont__get_font_face.phpt b/src/cairo/tests/CairoScaledFont__get_font_face.phpt new file mode 100644 index 0000000..bb12b5a --- /dev/null +++ b/src/cairo/tests/CairoScaledFont__get_font_face.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoScaledFont::get_font_face() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoScaledFont__text_extents.phpt b/src/cairo/tests/CairoScaledFont__text_extents.phpt new file mode 100644 index 0000000..a3bdc64 --- /dev/null +++ b/src/cairo/tests/CairoScaledFont__text_extents.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoScaledFont::text_extents() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSolidPattern____construct.phpt b/src/cairo/tests/CairoSolidPattern____construct.phpt new file mode 100644 index 0000000..d02c1d6 --- /dev/null +++ b/src/cairo/tests/CairoSolidPattern____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSolidPattern::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSolidPattern__get_rgba.phpt b/src/cairo/tests/CairoSolidPattern__get_rgba.phpt new file mode 100644 index 0000000..1db302a --- /dev/null +++ b/src/cairo/tests/CairoSolidPattern__get_rgba.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSolidPattern::get_rgba() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern____construct.phpt b/src/cairo/tests/CairoSurfacePattern____construct.phpt new file mode 100644 index 0000000..afc0171 --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern__get_extend.phpt b/src/cairo/tests/CairoSurfacePattern__get_extend.phpt new file mode 100644 index 0000000..1fced96 --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern__get_extend.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::get_extend() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern__get_filter.phpt b/src/cairo/tests/CairoSurfacePattern__get_filter.phpt new file mode 100644 index 0000000..969c8d8 --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern__get_filter.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::get_filter() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern__get_surface.phpt b/src/cairo/tests/CairoSurfacePattern__get_surface.phpt new file mode 100644 index 0000000..747977f --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern__get_surface.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::get_surface() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern__set_extend.phpt b/src/cairo/tests/CairoSurfacePattern__set_extend.phpt new file mode 100644 index 0000000..c18c7e5 --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern__set_extend.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::set_extend() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurfacePattern__set_filter.phpt b/src/cairo/tests/CairoSurfacePattern__set_filter.phpt new file mode 100644 index 0000000..7b46031 --- /dev/null +++ b/src/cairo/tests/CairoSurfacePattern__set_filter.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurfacePattern::set_filter() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface____construct.phpt b/src/cairo/tests/CairoSurface____construct.phpt new file mode 100644 index 0000000..0b9ed71 --- /dev/null +++ b/src/cairo/tests/CairoSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__create_similar.phpt b/src/cairo/tests/CairoSurface__create_similar.phpt new file mode 100644 index 0000000..500c5b8 --- /dev/null +++ b/src/cairo/tests/CairoSurface__create_similar.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::create_similar() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__finish.phpt b/src/cairo/tests/CairoSurface__finish.phpt new file mode 100644 index 0000000..ea64260 --- /dev/null +++ b/src/cairo/tests/CairoSurface__finish.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::finish() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__flush.phpt b/src/cairo/tests/CairoSurface__flush.phpt new file mode 100644 index 0000000..56f1388 --- /dev/null +++ b/src/cairo/tests/CairoSurface__flush.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::flush() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__get_content.phpt b/src/cairo/tests/CairoSurface__get_content.phpt new file mode 100644 index 0000000..5fa1ad4 --- /dev/null +++ b/src/cairo/tests/CairoSurface__get_content.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::get_content() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__get_device_offset.phpt b/src/cairo/tests/CairoSurface__get_device_offset.phpt new file mode 100644 index 0000000..8ce0663 --- /dev/null +++ b/src/cairo/tests/CairoSurface__get_device_offset.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::get_device_offset() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__get_font_options.phpt b/src/cairo/tests/CairoSurface__get_font_options.phpt new file mode 100644 index 0000000..6c3abaf --- /dev/null +++ b/src/cairo/tests/CairoSurface__get_font_options.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::get_font_options() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__mark_dirty_rectangle.phpt b/src/cairo/tests/CairoSurface__mark_dirty_rectangle.phpt new file mode 100644 index 0000000..4863c3e --- /dev/null +++ b/src/cairo/tests/CairoSurface__mark_dirty_rectangle.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::mark_dirty_rectangle() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__set_device_offset.phpt b/src/cairo/tests/CairoSurface__set_device_offset.phpt new file mode 100644 index 0000000..7cc3039 --- /dev/null +++ b/src/cairo/tests/CairoSurface__set_device_offset.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::set_device_offset() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__set_fallback_resolution.phpt b/src/cairo/tests/CairoSurface__set_fallback_resolution.phpt new file mode 100644 index 0000000..ec350bf --- /dev/null +++ b/src/cairo/tests/CairoSurface__set_fallback_resolution.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::set_fallback_resolution() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoSurface__write_to_png.phpt b/src/cairo/tests/CairoSurface__write_to_png.phpt new file mode 100644 index 0000000..c97203d --- /dev/null +++ b/src/cairo/tests/CairoSurface__write_to_png.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoSurface::write_to_png() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoWin32Surface____construct.phpt b/src/cairo/tests/CairoWin32Surface____construct.phpt new file mode 100644 index 0000000..51f8e8d --- /dev/null +++ b/src/cairo/tests/CairoWin32Surface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoWin32Surface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoXlibSurface____construct.phpt b/src/cairo/tests/CairoXlibSurface____construct.phpt new file mode 100644 index 0000000..e80f69b --- /dev/null +++ b/src/cairo/tests/CairoXlibSurface____construct.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoXlibSurface::__construct() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoXlibSurface__get_depth.phpt b/src/cairo/tests/CairoXlibSurface__get_depth.phpt new file mode 100644 index 0000000..42dfd90 --- /dev/null +++ b/src/cairo/tests/CairoXlibSurface__get_depth.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoXlibSurface::get_depth() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoXlibSurface__get_height.phpt b/src/cairo/tests/CairoXlibSurface__get_height.phpt new file mode 100644 index 0000000..b49912d --- /dev/null +++ b/src/cairo/tests/CairoXlibSurface__get_height.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoXlibSurface::get_height() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/CairoXlibSurface__get_width.phpt b/src/cairo/tests/CairoXlibSurface__get_width.phpt new file mode 100644 index 0000000..5d33455 --- /dev/null +++ b/src/cairo/tests/CairoXlibSurface__get_width.phpt @@ -0,0 +1,14 @@ +--TEST-- +CairoXlibSurface::get_width() member function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/cairo_version.phpt b/src/cairo/tests/cairo_version.phpt new file mode 100644 index 0000000..606b70e --- /dev/null +++ b/src/cairo/tests/cairo_version.phpt @@ -0,0 +1,14 @@ +--TEST-- +cairo_version() function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/tests/cairo_version_string.phpt b/src/cairo/tests/cairo_version_string.phpt new file mode 100644 index 0000000..692b96c --- /dev/null +++ b/src/cairo/tests/cairo_version_string.phpt @@ -0,0 +1,14 @@ +--TEST-- +cairo_version_string() function +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK \ No newline at end of file diff --git a/src/cairo/uu.php b/src/cairo/uu.php new file mode 100644 index 0000000..a1c03e2 --- /dev/null +++ b/src/cairo/uu.php @@ -0,0 +1,4 @@ + -- 2.11.4.GIT