Merge lp:~noskcaj/ubuntu/trusty/cogl/1.16.2 into lp:ubuntu/trusty/cogl

Proposed by Jackson Doak
Status: Work in progress
Proposed branch: lp:~noskcaj/ubuntu/trusty/cogl/1.16.2
Merge into: lp:ubuntu/trusty/cogl
Diff against target: 57345 lines (+2595/-45495)
246 files modified
.pc/0001-Fix-build-on-big-endian.patch/cogl/cogl-texture-2d.c (+0/-653)
.pc/99-ppc64el-support.patch/build/autotools/libtool.m4 (+0/-7982)
.pc/99-ppc64el-support.patch/configure (+0/-31882)
.pc/applied-patches (+0/-2)
Makefile.in (+7/-13)
NEWS (+27/-0)
aclocal.m4 (+39/-103)
build/Makefile.in (+1/-1)
build/autotools/Makefile.am.release (+1/-1)
build/autotools/gtk-doc.m4 (+1/-5)
build/autotools/libtool.m4 (+10/-6)
build/config.guess (+64/-87)
build/config.sub (+17/-15)
build/win32/Makefile.in (+1/-1)
build/win32/vs10/Makefile.in (+1/-1)
build/win32/vs10/test-conformance-cogl.vcxproj (+2/-0)
build/win32/vs10/test-conformance-cogl.vcxproj.filters (+2/-0)
build/win32/vs9/Makefile.in (+1/-1)
build/win32/vs9/test-conformance-cogl.vcproj (+2/-0)
cogl-gles2/Makefile.in (+3/-3)
cogl-gst/Makefile.in (+3/-3)
cogl-gst/cogl-gst-video-sink.c (+53/-8)
cogl-pango/Makefile.in (+3/-3)
cogl-pango/cogl-pango.rc (+4/-4)
cogl-path/Makefile.in (+3/-3)
cogl/Makefile.in (+3/-3)
cogl/cogl-attribute-buffer.c (+0/-1)
cogl/cogl-attribute.c (+1/-0)
cogl/cogl-clip-stack.c (+1/-1)
cogl/cogl-display-private.h (+0/-3)
cogl/cogl-framebuffer-private.h (+3/-0)
cogl/cogl-framebuffer.c (+10/-1)
cogl/cogl-pipeline.c (+31/-18)
cogl/cogl-texture-2d.c (+2/-3)
cogl/cogl-util.h (+2/-20)
cogl/cogl.rc (+4/-4)
cogl/cogl.symbols (+1/-0)
cogl/winsys/cogl-winsys-egl-feature-functions.h (+1/-1)
cogl/winsys/cogl-winsys-egl-private.h (+22/-1)
cogl/winsys/cogl-winsys-egl.c (+1/-1)
cogl/winsys/cogl-winsys-glx.c (+16/-12)
cogl/winsys/cogl-winsys-wgl.c (+0/-2)
config.h.in (+3/-0)
config.h.win32 (+2/-2)
configure (+182/-195)
configure.ac (+4/-4)
debian/changelog (+7/-0)
debian/patches/0001-Fix-build-on-big-endian.patch (+0/-29)
debian/patches/99-ppc64el-support.patch (+0/-55)
debian/patches/series (+0/-2)
deps/Makefile.in (+1/-1)
deps/glib/Makefile.in (+3/-3)
deps/gmodule/Makefile.in (+3/-3)
doc/Makefile.in (+1/-1)
doc/reference/Makefile.in (+1/-1)
doc/reference/cogl-2.0-experimental/Makefile.in (+38/-51)
doc/reference/cogl-2.0-experimental/cogl-2.0-experimental-docs.xml (+1/-1)
doc/reference/cogl-2.0-experimental/html/ch01.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-2D-textures.html (+10/-10)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-3-Component-Vectors.html (+8/-112)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-3D-textures.html (+6/-6)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Bitmap.html (+12/-12)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html (+9/-9)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglBuffer---The-Buffer-Interface.html (+8/-8)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglDisplay---Setup-a-display-pipeline.html (+7/-7)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglFramebuffer---The-Framebuffer-Interface.html (+66/-140)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglIndexBuffer---Buffers-of-vertex-indices.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglOnscreen---The-Onscreen-Framebuffer-Interface.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglOnscreenTemplate---Describe-a-template-for-onscreen-framebuffers.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-CoglRenderer---Connect-to-a-backend-renderer.html (+11/-11)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Color-Type.html (+8/-8)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Common-Types.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Depth-State.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Eulers-(Rotations).html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Exception-handling.html (+30/-140)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-GLES-2.0-context.html (+14/-14)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-GPU-synchronisation-fences.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-GType-Integration-API.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-High-Level-Meta-Textures.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Indices.html (+13/-53)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Low-level-primitive-textures.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Main-loop-integration.html (+17/-17)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Matrices.html (+67/-253)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Matrix-Stacks.html (+17/-17)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Offscreen-Framebuffers.html (+5/-5)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Path-Primitives.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Pipeline.html (+34/-172)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Primitives.html (+86/-374)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Quaternions-(Rotations).html (+9/-115)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Rectangle-textures-(non-normalized-coordinates).html (+7/-7)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Rectangles.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-SDL-Integration.html (+56/-134)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Shader-snippets.html (+10/-10)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Sliced-Textures.html (+13/-13)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Sub-Textures.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-The-Object-Interface.html (+22/-58)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-The-Texture-Interface.html (+16/-88)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-The-Top-Level-Context.html (+20/-20)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Versioning-utility-macros.html (+25/-211)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Vertex-Attributes.html (+12/-86)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-X11-Texture-From-Pixmap.html (+8/-32)
doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental.devhelp2 (+0/-4)
doc/reference/cogl-2.0-experimental/html/cogl-Blend-Strings.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/cogl-buffer-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-buffer-layout-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-context-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-framebuffer-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-general-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-integration.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-meta-textures.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-pipeline-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-primitive-apis.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-primitive-textures.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-textures.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/cogl-utilities.html (+2/-2)
doc/reference/cogl-2.0-experimental/html/coglglossary.html (+18/-18)
doc/reference/cogl-2.0-experimental/html/index.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/index.sgml (+6/-10)
doc/reference/cogl-2.0-experimental/html/ix01.html (+8/-8)
doc/reference/cogl-2.0-experimental/html/ix02.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/ix03.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/ix04.html (+4/-4)
doc/reference/cogl-2.0-experimental/html/ix05.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/ix06.html (+3/-3)
doc/reference/cogl-2.0-experimental/html/license.html (+2/-2)
doc/reference/cogl-gst/Makefile.in (+39/-52)
doc/reference/cogl-gst/cogl-gst-docs.xml (+1/-1)
doc/reference/cogl-gst/html/CoglGstVideoSink.html (+39/-39)
doc/reference/cogl-gst/html/ch01.html (+3/-3)
doc/reference/cogl-gst/html/cogl-gst-general-apis.html (+2/-2)
doc/reference/cogl-gst/html/coglglossary.html (+6/-8)
doc/reference/cogl-gst/html/index.html (+4/-4)
doc/reference/cogl-gst/html/index.sgml (+2/-2)
doc/reference/cogl-gst/html/ix01.html (+3/-3)
doc/reference/cogl-gst/html/license.html (+2/-2)
doc/reference/cogl/Makefile.in (+39/-52)
doc/reference/cogl/cogl-docs.xml (+1/-1)
doc/reference/cogl/html/ch01.html (+3/-3)
doc/reference/cogl/html/ch02.html (+3/-3)
doc/reference/cogl/html/ch03.html (+3/-3)
doc/reference/cogl/html/cogl-3D-textures.html (+23/-23)
doc/reference/cogl/html/cogl-Bitmaps.html (+16/-16)
doc/reference/cogl/html/cogl-Blend-Strings.html (+3/-3)
doc/reference/cogl/html/cogl-Buffers.html (+34/-34)
doc/reference/cogl/html/cogl-Clipping-(Deprecated).html (+4/-4)
doc/reference/cogl/html/cogl-Clipping.html (+5/-5)
doc/reference/cogl/html/cogl-Color-Type.html (+10/-10)
doc/reference/cogl/html/cogl-Fixed-Point-API.html (+4/-38)
doc/reference/cogl/html/cogl-GType-Integration-API.html (+4/-4)
doc/reference/cogl/html/cogl-General-API-(Deprecated).html (+20/-56)
doc/reference/cogl/html/cogl-General-API.html (+109/-389)
doc/reference/cogl/html/cogl-Materials-(Deprecated).html (+4/-4)
doc/reference/cogl/html/cogl-Materials.html (+105/-281)
doc/reference/cogl/html/cogl-Matrices.html (+69/-219)
doc/reference/cogl/html/cogl-Offscreen-Buffers-(Deprecated).html (+4/-4)
doc/reference/cogl/html/cogl-Offscreen-Buffers.html (+80/-118)
doc/reference/cogl/html/cogl-Path-Primitives.html (+2/-2)
doc/reference/cogl/html/cogl-Primitives.html (+6/-6)
doc/reference/cogl/html/cogl-Quaternions-(Rotations).html (+11/-117)
doc/reference/cogl/html/cogl-Shaders-and-Programmable-Pipeline-(Deprecated).html (+14/-14)
doc/reference/cogl/html/cogl-Shaders-and-Programmable-Pipeline.html (+33/-33)
doc/reference/cogl/html/cogl-Textures-(Deprecated).html (+4/-4)
doc/reference/cogl/html/cogl-Textures.html (+74/-74)
doc/reference/cogl/html/cogl-Vectors.html (+12/-116)
doc/reference/cogl/html/cogl-Vertex-Buffers-(Deprecated).html (+2/-2)
doc/reference/cogl/html/cogl-Vertex-Buffers.html (+26/-26)
doc/reference/cogl/html/coglglossary.html (+13/-13)
doc/reference/cogl/html/index.html (+4/-4)
doc/reference/cogl/html/index.sgml (+4/-4)
doc/reference/cogl/html/ix01.html (+75/-75)
doc/reference/cogl/html/ix02.html (+3/-3)
doc/reference/cogl/html/ix03.html (+3/-3)
doc/reference/cogl/html/ix04.html (+3/-3)
doc/reference/cogl/html/ix05.html (+3/-3)
doc/reference/cogl/html/ix06.html (+3/-3)
doc/reference/cogl/html/ix07.html (+3/-3)
doc/reference/cogl/html/ix08.html (+3/-3)
doc/reference/cogl/html/license.html (+2/-2)
examples/Makefile.in (+3/-3)
gtk-doc.make (+25/-45)
po/an.po (+1/-1)
po/ar.po (+1/-1)
po/as.po (+1/-1)
po/ast.po (+1/-1)
po/be.po (+1/-1)
po/bg.po (+1/-1)
po/ca.po (+1/-1)
po/ca@valencia.po (+1/-1)
po/cogl.pot (+2/-2)
po/cs.po (+1/-1)
po/da.po (+1/-1)
po/de.po (+1/-1)
po/el.po (+1/-1)
po/en_CA.po (+1/-1)
po/en_GB.po (+1/-1)
po/eo.po (+1/-1)
po/es.po (+1/-1)
po/eu.po (+1/-1)
po/fa.po (+1/-1)
po/fr.po (+1/-1)
po/gl.po (+1/-1)
po/he.po (+1/-1)
po/hi.po (+1/-1)
po/hu.po (+1/-1)
po/id.po (+1/-1)
po/it.po (+1/-1)
po/ja.po (+1/-1)
po/km.po (+1/-1)
po/kn.po (+1/-1)
po/ko.po (+1/-1)
po/lt.po (+1/-1)
po/lv.po (+1/-1)
po/ml.po (+1/-1)
po/nb.po (+1/-1)
po/nl.po (+1/-1)
po/or.po (+1/-1)
po/pa.po (+1/-1)
po/pl.po (+1/-1)
po/pt.po (+1/-1)
po/pt_BR.po (+1/-1)
po/ru.po (+1/-1)
po/sk.po (+1/-1)
po/sl.po (+1/-1)
po/sr.po (+1/-1)
po/sr@latin.po (+1/-1)
po/sv.po (+1/-1)
po/ta.po (+1/-1)
po/te.po (+1/-1)
po/th.po (+1/-1)
po/tr.po (+1/-1)
po/ug.po (+1/-1)
po/uk.po (+1/-1)
po/vi.po (+1/-1)
po/zh_CN.po (+1/-1)
po/zh_HK.po (+1/-1)
po/zh_TW.po (+1/-1)
test-fixtures/Makefile.in (+3/-3)
tests/Makefile.in (+1/-1)
tests/conform/Makefile.am (+4/-1)
tests/conform/Makefile.in (+44/-8)
tests/conform/test-conform-main.c (+2/-0)
tests/conform/test-path-clip.c (+68/-0)
tests/conform/test-pipeline-shader-state.c (+94/-0)
tests/data/Makefile.in (+1/-1)
tests/micro-perf/Makefile.in (+3/-3)
tests/unit/Makefile.in (+3/-3)
To merge this branch: bzr merge lp:~noskcaj/ubuntu/trusty/cogl/1.16.2
Reviewer Review Type Date Requested Status
Martin Pitt (community) Needs Fixing
Review via email: mp+204787@code.launchpad.net

Description of the change

New upstream release

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Can you please re-do that as merge against Debian? http://packages.qa.debian.org/c/cogl/news/20140211T183843Z.html

Also, this drops debian/patches/99-ppc64el-support.patch, which previously had:

- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
+ LD="${LD-ld} -m elf32ppclinux"

but this isn't in upstream's libtool.m4. That also changes some ppc stuff, but not for "powerpc64le-*".

review: Needs Fixing
Revision history for this message
Martin Pitt (pitti) wrote :

Setting to WIP. Please set back to "Needs review" once this is fixed, so that it re-appears in the sponsoring queue. Thanks!

Unmerged revisions

26. By Jackson Doak

* New upstream release.
* Drop patches

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== removed directory '.pc/0001-Fix-build-on-big-endian.patch'
=== removed directory '.pc/0001-Fix-build-on-big-endian.patch/cogl'
=== removed file '.pc/0001-Fix-build-on-big-endian.patch/cogl/cogl-texture-2d.c'
--- .pc/0001-Fix-build-on-big-endian.patch/cogl/cogl-texture-2d.c 2013-10-14 21:37:33 +0000
+++ .pc/0001-Fix-build-on-big-endian.patch/cogl/cogl-texture-2d.c 1970-01-01 00:00:00 +0000
@@ -1,653 +0,0 @@
1/*
2 * Cogl
3 *
4 * An object oriented GL/GLES Abstraction/Utility Layer
5 *
6 * Copyright (C) 2009 Intel Corporation.
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 *
21 *
22 *
23 * Authors:
24 * Neil Roberts <neil@linux.intel.com>
25 */
26
27#ifdef HAVE_CONFIG_H
28#include "config.h"
29#endif
30
31#include "cogl-private.h"
32#include "cogl-util.h"
33#include "cogl-texture-private.h"
34#include "cogl-texture-2d-private.h"
35#include "cogl-texture-2d-gl-private.h"
36#include "cogl-texture-driver.h"
37#include "cogl-context-private.h"
38#include "cogl-object-private.h"
39#include "cogl-journal-private.h"
40#include "cogl-pipeline-opengl-private.h"
41#include "cogl-framebuffer-private.h"
42#include "cogl-error-private.h"
43#ifdef COGL_HAS_EGL_SUPPORT
44#include "cogl-winsys-egl-private.h"
45#endif
46
47#include <string.h>
48#include <math.h>
49
50#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
51#include "cogl-wayland-server.h"
52#endif
53
54static void _cogl_texture_2d_free (CoglTexture2D *tex_2d);
55
56COGL_TEXTURE_DEFINE (Texture2D, texture_2d);
57
58static const CoglTextureVtable cogl_texture_2d_vtable;
59
60typedef struct _CoglTexture2DManualRepeatData
61{
62 CoglTexture2D *tex_2d;
63 CoglMetaTextureCallback callback;
64 void *user_data;
65} CoglTexture2DManualRepeatData;
66
67static void
68_cogl_texture_2d_free (CoglTexture2D *tex_2d)
69{
70 CoglContext *ctx = COGL_TEXTURE (tex_2d)->context;
71
72 ctx->driver_vtable->texture_2d_free (tex_2d);
73
74 /* Chain up */
75 _cogl_texture_free (COGL_TEXTURE (tex_2d));
76}
77
78static CoglBool
79_cogl_texture_2d_can_create (CoglContext *ctx,
80 unsigned int width,
81 unsigned int height,
82 CoglPixelFormat internal_format)
83{
84 /* If NPOT textures aren't supported then the size must be a power
85 of two */
86 if (!cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_NPOT_BASIC) &&
87 (!_cogl_util_is_pot (width) ||
88 !_cogl_util_is_pot (height)))
89 return FALSE;
90
91 return ctx->driver_vtable->texture_2d_can_create (ctx,
92 width,
93 height,
94 internal_format);
95}
96
97void
98_cogl_texture_2d_set_auto_mipmap (CoglTexture *tex,
99 CoglBool value)
100{
101 CoglTexture2D *tex_2d = COGL_TEXTURE_2D (tex);
102
103 tex_2d->auto_mipmap = value;
104}
105
106CoglTexture2D *
107_cogl_texture_2d_create_base (CoglContext *ctx,
108 int width,
109 int height,
110 CoglPixelFormat internal_format)
111{
112 CoglTexture2D *tex_2d = g_new (CoglTexture2D, 1);
113 CoglTexture *tex = COGL_TEXTURE (tex_2d);
114
115 _cogl_texture_init (tex, ctx, width, height, &cogl_texture_2d_vtable);
116
117 tex_2d->mipmaps_dirty = TRUE;
118 tex_2d->auto_mipmap = TRUE;
119
120 tex_2d->is_foreign = FALSE;
121
122 tex_2d->internal_format = internal_format;
123
124 ctx->driver_vtable->texture_2d_init (tex_2d);
125
126 return _cogl_texture_2d_object_new (tex_2d);
127}
128
129CoglTexture2D *
130cogl_texture_2d_new_with_size (CoglContext *ctx,
131 int width,
132 int height,
133 CoglPixelFormat internal_format)
134{
135 /* Since no data, we need some internal format */
136 if (internal_format == COGL_PIXEL_FORMAT_ANY)
137 internal_format = COGL_PIXEL_FORMAT_RGBA_8888_PRE;
138
139 return _cogl_texture_2d_create_base (ctx,
140 width, height,
141 internal_format);
142}
143
144static CoglBool
145_cogl_texture_2d_allocate (CoglTexture *tex,
146 CoglError **error)
147{
148 CoglContext *ctx = tex->context;
149 return ctx->driver_vtable->texture_2d_allocate (tex, error);
150}
151
152CoglTexture2D *
153_cogl_texture_2d_new_from_bitmap (CoglBitmap *bmp,
154 CoglPixelFormat internal_format,
155 CoglBool can_convert_in_place,
156 CoglError **error)
157{
158 CoglContext *ctx;
159
160 _COGL_RETURN_VAL_IF_FAIL (bmp != NULL, NULL);
161
162 ctx = _cogl_bitmap_get_context (bmp);
163
164 internal_format =
165 _cogl_texture_determine_internal_format (cogl_bitmap_get_format (bmp),
166 internal_format);
167
168 if (!_cogl_texture_2d_can_create (ctx,
169 cogl_bitmap_get_width (bmp),
170 cogl_bitmap_get_height (bmp),
171 internal_format))
172 {
173 _cogl_set_error (error, COGL_TEXTURE_ERROR,
174 COGL_TEXTURE_ERROR_SIZE,
175 "Failed to create texture 2d due to size/format"
176 " constraints");
177 return NULL;
178 }
179
180 return ctx->driver_vtable->texture_2d_new_from_bitmap (bmp,
181 internal_format,
182 can_convert_in_place,
183 error);
184}
185
186CoglTexture2D *
187cogl_texture_2d_new_from_bitmap (CoglBitmap *bmp,
188 CoglPixelFormat internal_format,
189 CoglError **error)
190{
191 return _cogl_texture_2d_new_from_bitmap (bmp, internal_format, FALSE, error);
192}
193
194CoglTexture2D *
195cogl_texture_2d_new_from_file (CoglContext *ctx,
196 const char *filename,
197 CoglPixelFormat internal_format,
198 CoglError **error)
199{
200 CoglBitmap *bmp;
201 CoglTexture2D *tex_2d = NULL;
202
203 _COGL_RETURN_VAL_IF_FAIL (error == NULL || *error == NULL, NULL);
204
205 bmp = _cogl_bitmap_from_file (ctx, filename, error);
206 if (bmp == NULL)
207 return NULL;
208
209 tex_2d = _cogl_texture_2d_new_from_bitmap (bmp,
210 internal_format,
211 TRUE, /* can convert in-place */
212 error);
213
214 cogl_object_unref (bmp);
215
216 return tex_2d;
217}
218
219CoglTexture2D *
220cogl_texture_2d_new_from_data (CoglContext *ctx,
221 int width,
222 int height,
223 CoglPixelFormat format,
224 CoglPixelFormat internal_format,
225 int rowstride,
226 const uint8_t *data,
227 CoglError **error)
228{
229 CoglBitmap *bmp;
230 CoglTexture2D *tex_2d;
231
232 _COGL_RETURN_VAL_IF_FAIL (format != COGL_PIXEL_FORMAT_ANY, NULL);
233 _COGL_RETURN_VAL_IF_FAIL (data != NULL, NULL);
234
235 /* Rowstride from width if not given */
236 if (rowstride == 0)
237 rowstride = width * _cogl_pixel_format_get_bytes_per_pixel (format);
238
239 /* Wrap the data into a bitmap */
240 bmp = cogl_bitmap_new_for_data (ctx,
241 width, height,
242 format,
243 rowstride,
244 (uint8_t *) data);
245
246 tex_2d = cogl_texture_2d_new_from_bitmap (bmp,
247 internal_format,
248 error);
249
250 cogl_object_unref (bmp);
251
252 return tex_2d;
253}
254
255#if defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base)
256/* NB: The reason we require the width, height and format to be passed
257 * even though they may seem redundant is because GLES 1/2 don't
258 * provide a way to query these properties. */
259CoglTexture2D *
260_cogl_egl_texture_2d_new_from_image (CoglContext *ctx,
261 int width,
262 int height,
263 CoglPixelFormat format,
264 EGLImageKHR image,
265 CoglError **error)
266{
267 _COGL_RETURN_VAL_IF_FAIL (_cogl_context_get_winsys (ctx)->constraints &
268 COGL_RENDERER_CONSTRAINT_USES_EGL,
269 NULL);
270
271 _COGL_RETURN_VAL_IF_FAIL (ctx->private_feature_flags &
272 COGL_PRIVATE_FEATURE_TEXTURE_2D_FROM_EGL_IMAGE,
273 NULL);
274
275 if (ctx->driver_vtable->egl_texture_2d_new_from_image)
276 return ctx->driver_vtable->egl_texture_2d_new_from_image (ctx,
277 width,
278 height,
279 format,
280 image,
281 error);
282 else
283 {
284 _cogl_set_error (error,
285 COGL_SYSTEM_ERROR,
286 COGL_SYSTEM_ERROR_UNSUPPORTED,
287 "Creating 2D textures from EGL images is not "
288 "supported by the current driver");
289 return NULL;
290 }
291}
292#endif /* defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base) */
293
294#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
295CoglTexture2D *
296cogl_wayland_texture_2d_new_from_buffer (CoglContext *ctx,
297 struct wl_resource *buffer_resource,
298 CoglError **error)
299{
300 struct wl_shm_buffer *shm_buffer;
301
302 shm_buffer = wl_shm_buffer_get (buffer_resource);
303
304 if (shm_buffer)
305 {
306 int stride = wl_shm_buffer_get_stride (shm_buffer);
307 CoglPixelFormat format;
308 CoglPixelFormat internal_format = COGL_PIXEL_FORMAT_ANY;
309 int width = wl_shm_buffer_get_width (shm_buffer);
310 int height = wl_shm_buffer_get_height (shm_buffer);
311
312 switch (wl_shm_buffer_get_format (shm_buffer))
313 {
314#if G_BYTE_ORDER == G_BIG_ENDIAN
315 case WL_SHM_FORMAT_ARGB8888:
316 format = COGL_PIXEL_FORMAT_ARGB_8888_PRE;
317 break;
318 case WL_SHM_FORMAT_XRGB32:
319 format = COGL_PIXEL_FORMAT_ARGB_8888;
320 internal_format = COGL_PIXEL_FORMAT_RGB_888;
321 break;
322#elif G_BYTE_ORDER == G_LITTLE_ENDIAN
323 case WL_SHM_FORMAT_ARGB8888:
324 format = COGL_PIXEL_FORMAT_BGRA_8888_PRE;
325 break;
326 case WL_SHM_FORMAT_XRGB8888:
327 format = COGL_PIXEL_FORMAT_BGRA_8888;
328 internal_format = COGL_PIXEL_FORMAT_BGR_888;
329 break;
330#endif
331 default:
332 g_warn_if_reached ();
333 format = COGL_PIXEL_FORMAT_ARGB_8888;
334 }
335
336 return cogl_texture_2d_new_from_data (ctx,
337 width, height,
338 format,
339 internal_format,
340 stride,
341 wl_shm_buffer_get_data (shm_buffer),
342 error);
343 }
344 else
345 {
346 struct wl_buffer *buffer = (struct wl_buffer *) buffer_resource;
347 int format, width, height;
348
349 if (_cogl_egl_query_wayland_buffer (ctx,
350 buffer,
351 EGL_TEXTURE_FORMAT,
352 &format) &&
353 _cogl_egl_query_wayland_buffer (ctx,
354 buffer,
355 EGL_WIDTH,
356 &width) &&
357 _cogl_egl_query_wayland_buffer (ctx,
358 buffer,
359 EGL_HEIGHT,
360 &height))
361 {
362 EGLImageKHR image;
363 CoglTexture2D *tex = NULL;
364 CoglPixelFormat internal_format;
365
366 _COGL_RETURN_VAL_IF_FAIL (_cogl_context_get_winsys (ctx)->constraints &
367 COGL_RENDERER_CONSTRAINT_USES_EGL,
368 NULL);
369
370 switch (format)
371 {
372 case EGL_TEXTURE_RGB:
373 internal_format = COGL_PIXEL_FORMAT_RGB_888;
374 break;
375 case EGL_TEXTURE_RGBA:
376 internal_format = COGL_PIXEL_FORMAT_RGBA_8888_PRE;
377 break;
378 default:
379 _cogl_set_error (error,
380 COGL_SYSTEM_ERROR,
381 COGL_SYSTEM_ERROR_UNSUPPORTED,
382 "Can't create texture from unknown "
383 "wayland buffer format %d\n", format);
384 return NULL;
385 }
386
387 image = _cogl_egl_create_image (ctx,
388 EGL_WAYLAND_BUFFER_WL,
389 buffer,
390 NULL);
391 tex = _cogl_egl_texture_2d_new_from_image (ctx,
392 width, height,
393 internal_format,
394 image,
395 error);
396 _cogl_egl_destroy_image (ctx, image);
397 return tex;
398 }
399 }
400
401 _cogl_set_error (error,
402 COGL_SYSTEM_ERROR,
403 COGL_SYSTEM_ERROR_UNSUPPORTED,
404 "Can't create texture from unknown "
405 "wayland buffer type\n");
406 return NULL;
407}
408#endif /* COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT */
409
410void
411_cogl_texture_2d_externally_modified (CoglTexture *texture)
412{
413 if (!cogl_is_texture_2d (texture))
414 return;
415
416 COGL_TEXTURE_2D (texture)->mipmaps_dirty = TRUE;
417}
418
419void
420_cogl_texture_2d_copy_from_framebuffer (CoglTexture2D *tex_2d,
421 int src_x,
422 int src_y,
423 int width,
424 int height,
425 CoglFramebuffer *src_fb,
426 int dst_x,
427 int dst_y,
428 int level)
429{
430 CoglTexture *tex = COGL_TEXTURE (tex_2d);
431 CoglContext *ctx = tex->context;
432
433 /* Assert that the storage for this texture has been allocated */
434 cogl_texture_allocate (tex, NULL); /* (abort on error) */
435
436 ctx->driver_vtable->texture_2d_copy_from_framebuffer (tex_2d,
437 src_x,
438 src_y,
439 width,
440 height,
441 src_fb,
442 dst_x,
443 dst_y,
444 level);
445
446 tex_2d->mipmaps_dirty = TRUE;
447}
448
449static int
450_cogl_texture_2d_get_max_waste (CoglTexture *tex)
451{
452 return -1;
453}
454
455static CoglBool
456_cogl_texture_2d_is_sliced (CoglTexture *tex)
457{
458 return FALSE;
459}
460
461static CoglBool
462_cogl_texture_2d_can_hardware_repeat (CoglTexture *tex)
463{
464 CoglContext *ctx = tex->context;
465
466 if (cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_NPOT_REPEAT) ||
467 (_cogl_util_is_pot (tex->width) &&
468 _cogl_util_is_pot (tex->height)))
469 return TRUE;
470 else
471 return FALSE;
472}
473
474static void
475_cogl_texture_2d_transform_coords_to_gl (CoglTexture *tex,
476 float *s,
477 float *t)
478{
479 /* The texture coordinates map directly so we don't need to do
480 anything */
481}
482
483static CoglTransformResult
484_cogl_texture_2d_transform_quad_coords_to_gl (CoglTexture *tex,
485 float *coords)
486{
487 /* The texture coordinates map directly so we don't need to do
488 anything other than check for repeats */
489
490 int i;
491
492 for (i = 0; i < 4; i++)
493 if (coords[i] < 0.0f || coords[i] > 1.0f)
494 {
495 /* Repeat is needed */
496 return (_cogl_texture_2d_can_hardware_repeat (tex) ?
497 COGL_TRANSFORM_HARDWARE_REPEAT :
498 COGL_TRANSFORM_SOFTWARE_REPEAT);
499 }
500
501 /* No repeat is needed */
502 return COGL_TRANSFORM_NO_REPEAT;
503}
504
505static CoglBool
506_cogl_texture_2d_get_gl_texture (CoglTexture *tex,
507 GLuint *out_gl_handle,
508 GLenum *out_gl_target)
509{
510 CoglContext *ctx = tex->context;
511 CoglTexture2D *tex_2d = COGL_TEXTURE_2D (tex);
512
513 if (ctx->driver_vtable->texture_2d_get_gl_handle)
514 {
515 GLuint handle;
516
517 if (out_gl_target)
518 *out_gl_target = GL_TEXTURE_2D;
519
520 handle = ctx->driver_vtable->texture_2d_get_gl_handle (tex_2d);
521
522 if (out_gl_handle)
523 *out_gl_handle = handle;
524
525 return handle ? TRUE : FALSE;
526 }
527 else
528 return FALSE;
529}
530
531static void
532_cogl_texture_2d_pre_paint (CoglTexture *tex, CoglTexturePrePaintFlags flags)
533{
534 CoglTexture2D *tex_2d = COGL_TEXTURE_2D (tex);
535
536 /* Only update if the mipmaps are dirty */
537 if ((flags & COGL_TEXTURE_NEEDS_MIPMAP) &&
538 tex_2d->auto_mipmap && tex_2d->mipmaps_dirty)
539 {
540 CoglContext *ctx = tex->context;
541
542 ctx->driver_vtable->texture_2d_generate_mipmap (tex_2d);
543
544 tex_2d->mipmaps_dirty = FALSE;
545 }
546}
547
548static void
549_cogl_texture_2d_ensure_non_quad_rendering (CoglTexture *tex)
550{
551 /* Nothing needs to be done */
552}
553
554static CoglBool
555_cogl_texture_2d_set_region (CoglTexture *tex,
556 int src_x,
557 int src_y,
558 int dst_x,
559 int dst_y,
560 int width,
561 int height,
562 int level,
563 CoglBitmap *bmp,
564 CoglError **error)
565{
566 CoglContext *ctx = tex->context;
567 CoglTexture2D *tex_2d = COGL_TEXTURE_2D (tex);
568
569 if (!ctx->driver_vtable->texture_2d_copy_from_bitmap (tex_2d,
570 src_x,
571 src_y,
572 width,
573 height,
574 bmp,
575 dst_x,
576 dst_y,
577 level,
578 error))
579 {
580 return FALSE;
581 }
582
583 tex_2d->mipmaps_dirty = TRUE;
584
585 return TRUE;
586}
587
588static CoglBool
589_cogl_texture_2d_get_data (CoglTexture *tex,
590 CoglPixelFormat format,
591 int rowstride,
592 uint8_t *data)
593{
594 CoglContext *ctx = tex->context;
595
596 if (ctx->driver_vtable->texture_2d_get_data)
597 {
598 CoglTexture2D *tex_2d = COGL_TEXTURE_2D (tex);
599 ctx->driver_vtable->texture_2d_get_data (tex_2d, format, rowstride, data);
600 return TRUE;
601 }
602 else
603 return FALSE;
604}
605
606static CoglPixelFormat
607_cogl_texture_2d_get_format (CoglTexture *tex)
608{
609 return COGL_TEXTURE_2D (tex)->internal_format;
610}
611
612static GLenum
613_cogl_texture_2d_get_gl_format (CoglTexture *tex)
614{
615 return COGL_TEXTURE_2D (tex)->gl_internal_format;
616}
617
618static CoglBool
619_cogl_texture_2d_is_foreign (CoglTexture *tex)
620{
621 return COGL_TEXTURE_2D (tex)->is_foreign;
622}
623
624static CoglTextureType
625_cogl_texture_2d_get_type (CoglTexture *tex)
626{
627 return COGL_TEXTURE_TYPE_2D;
628}
629
630static const CoglTextureVtable
631cogl_texture_2d_vtable =
632 {
633 TRUE, /* primitive */
634 _cogl_texture_2d_allocate,
635 _cogl_texture_2d_set_region,
636 _cogl_texture_2d_get_data,
637 NULL, /* foreach_sub_texture_in_region */
638 _cogl_texture_2d_get_max_waste,
639 _cogl_texture_2d_is_sliced,
640 _cogl_texture_2d_can_hardware_repeat,
641 _cogl_texture_2d_transform_coords_to_gl,
642 _cogl_texture_2d_transform_quad_coords_to_gl,
643 _cogl_texture_2d_get_gl_texture,
644 _cogl_texture_2d_gl_flush_legacy_texobj_filters,
645 _cogl_texture_2d_pre_paint,
646 _cogl_texture_2d_ensure_non_quad_rendering,
647 _cogl_texture_2d_gl_flush_legacy_texobj_wrap_modes,
648 _cogl_texture_2d_get_format,
649 _cogl_texture_2d_get_gl_format,
650 _cogl_texture_2d_get_type,
651 _cogl_texture_2d_is_foreign,
652 _cogl_texture_2d_set_auto_mipmap
653 };
6540
=== removed directory '.pc/99-ppc64el-support.patch'
=== removed directory '.pc/99-ppc64el-support.patch/build'
=== removed directory '.pc/99-ppc64el-support.patch/build/autotools'
=== removed file '.pc/99-ppc64el-support.patch/build/autotools/libtool.m4'
--- .pc/99-ppc64el-support.patch/build/autotools/libtool.m4 2014-01-02 19:37:38 +0000
+++ .pc/99-ppc64el-support.patch/build/autotools/libtool.m4 1970-01-01 00:00:00 +0000
@@ -1,7982 +0,0 @@
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2#
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
4# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5# Foundation, Inc.
6# Written by Gordon Matzigkeit, 1996
7#
8# This file is free software; the Free Software Foundation gives
9# unlimited permission to copy and/or distribute it, with or without
10# modifications, as long as this notice is preserved.
11
12m4_define([_LT_COPYING], [dnl
13# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
14# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
15# Foundation, Inc.
16# Written by Gordon Matzigkeit, 1996
17#
18# This file is part of GNU Libtool.
19#
20# GNU Libtool is free software; you can redistribute it and/or
21# modify it under the terms of the GNU General Public License as
22# published by the Free Software Foundation; either version 2 of
23# the License, or (at your option) any later version.
24#
25# As a special exception to the GNU General Public License,
26# if you distribute this file as part of a program or library that
27# is built using GNU Libtool, you may include this file under the
28# same distribution terms that you use for the rest of that program.
29#
30# GNU Libtool is distributed in the hope that it will be useful,
31# but WITHOUT ANY WARRANTY; without even the implied warranty of
32# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33# GNU General Public License for more details.
34#
35# You should have received a copy of the GNU General Public License
36# along with GNU Libtool; see the file COPYING. If not, a copy
37# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
38# obtained by writing to the Free Software Foundation, Inc.,
39# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
40])
41
42# serial 57 LT_INIT
43
44
45# LT_PREREQ(VERSION)
46# ------------------
47# Complain and exit if this libtool version is less that VERSION.
48m4_defun([LT_PREREQ],
49[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
50 [m4_default([$3],
51 [m4_fatal([Libtool version $1 or higher is required],
52 63)])],
53 [$2])])
54
55
56# _LT_CHECK_BUILDDIR
57# ------------------
58# Complain if the absolute build directory name contains unusual characters
59m4_defun([_LT_CHECK_BUILDDIR],
60[case `pwd` in
61 *\ * | *\ *)
62 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
63esac
64])
65
66
67# LT_INIT([OPTIONS])
68# ------------------
69AC_DEFUN([LT_INIT],
70[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
71AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
72AC_BEFORE([$0], [LT_LANG])dnl
73AC_BEFORE([$0], [LT_OUTPUT])dnl
74AC_BEFORE([$0], [LTDL_INIT])dnl
75m4_require([_LT_CHECK_BUILDDIR])dnl
76
77dnl Autoconf doesn't catch unexpanded LT_ macros by default:
78m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
79m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
80dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
81dnl unless we require an AC_DEFUNed macro:
82AC_REQUIRE([LTOPTIONS_VERSION])dnl
83AC_REQUIRE([LTSUGAR_VERSION])dnl
84AC_REQUIRE([LTVERSION_VERSION])dnl
85AC_REQUIRE([LTOBSOLETE_VERSION])dnl
86m4_require([_LT_PROG_LTMAIN])dnl
87
88_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
89
90dnl Parse OPTIONS
91_LT_SET_OPTIONS([$0], [$1])
92
93# This can be used to rebuild libtool when needed
94LIBTOOL_DEPS="$ltmain"
95
96# Always use our own libtool.
97LIBTOOL='$(SHELL) $(top_builddir)/libtool'
98AC_SUBST(LIBTOOL)dnl
99
100_LT_SETUP
101
102# Only expand once:
103m4_define([LT_INIT])
104])# LT_INIT
105
106# Old names:
107AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
108AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
109dnl aclocal-1.4 backwards compatibility:
110dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
111dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
112
113
114# _LT_CC_BASENAME(CC)
115# -------------------
116# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
117m4_defun([_LT_CC_BASENAME],
118[for cc_temp in $1""; do
119 case $cc_temp in
120 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
121 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
122 \-*) ;;
123 *) break;;
124 esac
125done
126cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
127])
128
129
130# _LT_FILEUTILS_DEFAULTS
131# ----------------------
132# It is okay to use these file commands and assume they have been set
133# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
134m4_defun([_LT_FILEUTILS_DEFAULTS],
135[: ${CP="cp -f"}
136: ${MV="mv -f"}
137: ${RM="rm -f"}
138])# _LT_FILEUTILS_DEFAULTS
139
140
141# _LT_SETUP
142# ---------
143m4_defun([_LT_SETUP],
144[AC_REQUIRE([AC_CANONICAL_HOST])dnl
145AC_REQUIRE([AC_CANONICAL_BUILD])dnl
146AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
147AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
148
149_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
150dnl
151_LT_DECL([], [host_alias], [0], [The host system])dnl
152_LT_DECL([], [host], [0])dnl
153_LT_DECL([], [host_os], [0])dnl
154dnl
155_LT_DECL([], [build_alias], [0], [The build system])dnl
156_LT_DECL([], [build], [0])dnl
157_LT_DECL([], [build_os], [0])dnl
158dnl
159AC_REQUIRE([AC_PROG_CC])dnl
160AC_REQUIRE([LT_PATH_LD])dnl
161AC_REQUIRE([LT_PATH_NM])dnl
162dnl
163AC_REQUIRE([AC_PROG_LN_S])dnl
164test -z "$LN_S" && LN_S="ln -s"
165_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
166dnl
167AC_REQUIRE([LT_CMD_MAX_LEN])dnl
168_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
169_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
170dnl
171m4_require([_LT_FILEUTILS_DEFAULTS])dnl
172m4_require([_LT_CHECK_SHELL_FEATURES])dnl
173m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
174m4_require([_LT_CMD_RELOAD])dnl
175m4_require([_LT_CHECK_MAGIC_METHOD])dnl
176m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
177m4_require([_LT_CMD_OLD_ARCHIVE])dnl
178m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
179m4_require([_LT_WITH_SYSROOT])dnl
180
181_LT_CONFIG_LIBTOOL_INIT([
182# See if we are running on zsh, and set the options which allow our
183# commands through without removal of \ escapes INIT.
184if test -n "\${ZSH_VERSION+set}" ; then
185 setopt NO_GLOB_SUBST
186fi
187])
188if test -n "${ZSH_VERSION+set}" ; then
189 setopt NO_GLOB_SUBST
190fi
191
192_LT_CHECK_OBJDIR
193
194m4_require([_LT_TAG_COMPILER])dnl
195
196case $host_os in
197aix3*)
198 # AIX sometimes has problems with the GCC collect2 program. For some
199 # reason, if we set the COLLECT_NAMES environment variable, the problems
200 # vanish in a puff of smoke.
201 if test "X${COLLECT_NAMES+set}" != Xset; then
202 COLLECT_NAMES=
203 export COLLECT_NAMES
204 fi
205 ;;
206esac
207
208# Global variables:
209ofile=libtool
210can_build_shared=yes
211
212# All known linkers require a `.a' archive for static linking (except MSVC,
213# which needs '.lib').
214libext=a
215
216with_gnu_ld="$lt_cv_prog_gnu_ld"
217
218old_CC="$CC"
219old_CFLAGS="$CFLAGS"
220
221# Set sane defaults for various variables
222test -z "$CC" && CC=cc
223test -z "$LTCC" && LTCC=$CC
224test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
225test -z "$LD" && LD=ld
226test -z "$ac_objext" && ac_objext=o
227
228_LT_CC_BASENAME([$compiler])
229
230# Only perform the check for file, if the check method requires it
231test -z "$MAGIC_CMD" && MAGIC_CMD=file
232case $deplibs_check_method in
233file_magic*)
234 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
235 _LT_PATH_MAGIC
236 fi
237 ;;
238esac
239
240# Use C for the default configuration in the libtool script
241LT_SUPPORTED_TAG([CC])
242_LT_LANG_C_CONFIG
243_LT_LANG_DEFAULT_CONFIG
244_LT_CONFIG_COMMANDS
245])# _LT_SETUP
246
247
248# _LT_PREPARE_SED_QUOTE_VARS
249# --------------------------
250# Define a few sed substitution that help us do robust quoting.
251m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
252[# Backslashify metacharacters that are still active within
253# double-quoted strings.
254sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
255
256# Same as above, but do not quote variable references.
257double_quote_subst='s/\([["`\\]]\)/\\\1/g'
258
259# Sed substitution to delay expansion of an escaped shell variable in a
260# double_quote_subst'ed string.
261delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
262
263# Sed substitution to delay expansion of an escaped single quote.
264delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
265
266# Sed substitution to avoid accidental globbing in evaled expressions
267no_glob_subst='s/\*/\\\*/g'
268])
269
270# _LT_PROG_LTMAIN
271# ---------------
272# Note that this code is called both from `configure', and `config.status'
273# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
274# `config.status' has no value for ac_aux_dir unless we are using Automake,
275# so we pass a copy along to make sure it has a sensible value anyway.
276m4_defun([_LT_PROG_LTMAIN],
277[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
278_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
279ltmain="$ac_aux_dir/ltmain.sh"
280])# _LT_PROG_LTMAIN
281
282
283## ------------------------------------- ##
284## Accumulate code for creating libtool. ##
285## ------------------------------------- ##
286
287# So that we can recreate a full libtool script including additional
288# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
289# in macros and then make a single call at the end using the `libtool'
290# label.
291
292
293# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
294# ----------------------------------------
295# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
296m4_define([_LT_CONFIG_LIBTOOL_INIT],
297[m4_ifval([$1],
298 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
299 [$1
300])])])
301
302# Initialize.
303m4_define([_LT_OUTPUT_LIBTOOL_INIT])
304
305
306# _LT_CONFIG_LIBTOOL([COMMANDS])
307# ------------------------------
308# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
309m4_define([_LT_CONFIG_LIBTOOL],
310[m4_ifval([$1],
311 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
312 [$1
313])])])
314
315# Initialize.
316m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
317
318
319# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
320# -----------------------------------------------------
321m4_defun([_LT_CONFIG_SAVE_COMMANDS],
322[_LT_CONFIG_LIBTOOL([$1])
323_LT_CONFIG_LIBTOOL_INIT([$2])
324])
325
326
327# _LT_FORMAT_COMMENT([COMMENT])
328# -----------------------------
329# Add leading comment marks to the start of each line, and a trailing
330# full-stop to the whole comment if one is not present already.
331m4_define([_LT_FORMAT_COMMENT],
332[m4_ifval([$1], [
333m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
334 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
335)])
336
337
338
339## ------------------------ ##
340## FIXME: Eliminate VARNAME ##
341## ------------------------ ##
342
343
344# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
345# -------------------------------------------------------------------
346# CONFIGNAME is the name given to the value in the libtool script.
347# VARNAME is the (base) name used in the configure script.
348# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
349# VARNAME. Any other value will be used directly.
350m4_define([_LT_DECL],
351[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
352 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
353 [m4_ifval([$1], [$1], [$2])])
354 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
355 m4_ifval([$4],
356 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
357 lt_dict_add_subkey([lt_decl_dict], [$2],
358 [tagged?], [m4_ifval([$5], [yes], [no])])])
359])
360
361
362# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
363# --------------------------------------------------------
364m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
365
366
367# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
368# ------------------------------------------------
369m4_define([lt_decl_tag_varnames],
370[_lt_decl_filter([tagged?], [yes], $@)])
371
372
373# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
374# ---------------------------------------------------------
375m4_define([_lt_decl_filter],
376[m4_case([$#],
377 [0], [m4_fatal([$0: too few arguments: $#])],
378 [1], [m4_fatal([$0: too few arguments: $#: $1])],
379 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
380 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
381 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
382])
383
384
385# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
386# --------------------------------------------------
387m4_define([lt_decl_quote_varnames],
388[_lt_decl_filter([value], [1], $@)])
389
390
391# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
392# ---------------------------------------------------
393m4_define([lt_decl_dquote_varnames],
394[_lt_decl_filter([value], [2], $@)])
395
396
397# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
398# ---------------------------------------------------
399m4_define([lt_decl_varnames_tagged],
400[m4_assert([$# <= 2])dnl
401_$0(m4_quote(m4_default([$1], [[, ]])),
402 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
403 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
404m4_define([_lt_decl_varnames_tagged],
405[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
406
407
408# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
409# ------------------------------------------------
410m4_define([lt_decl_all_varnames],
411[_$0(m4_quote(m4_default([$1], [[, ]])),
412 m4_if([$2], [],
413 m4_quote(lt_decl_varnames),
414 m4_quote(m4_shift($@))))[]dnl
415])
416m4_define([_lt_decl_all_varnames],
417[lt_join($@, lt_decl_varnames_tagged([$1],
418 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
419])
420
421
422# _LT_CONFIG_STATUS_DECLARE([VARNAME])
423# ------------------------------------
424# Quote a variable value, and forward it to `config.status' so that its
425# declaration there will have the same value as in `configure'. VARNAME
426# must have a single quote delimited value for this to work.
427m4_define([_LT_CONFIG_STATUS_DECLARE],
428[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
429
430
431# _LT_CONFIG_STATUS_DECLARATIONS
432# ------------------------------
433# We delimit libtool config variables with single quotes, so when
434# we write them to config.status, we have to be sure to quote all
435# embedded single quotes properly. In configure, this macro expands
436# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
437#
438# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
439m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
440[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
441 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
442
443
444# _LT_LIBTOOL_TAGS
445# ----------------
446# Output comment and list of tags supported by the script
447m4_defun([_LT_LIBTOOL_TAGS],
448[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
449available_tags="_LT_TAGS"dnl
450])
451
452
453# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
454# -----------------------------------
455# Extract the dictionary values for VARNAME (optionally with TAG) and
456# expand to a commented shell variable setting:
457#
458# # Some comment about what VAR is for.
459# visible_name=$lt_internal_name
460m4_define([_LT_LIBTOOL_DECLARE],
461[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
462 [description])))[]dnl
463m4_pushdef([_libtool_name],
464 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
465m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
466 [0], [_libtool_name=[$]$1],
467 [1], [_libtool_name=$lt_[]$1],
468 [2], [_libtool_name=$lt_[]$1],
469 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
470m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
471])
472
473
474# _LT_LIBTOOL_CONFIG_VARS
475# -----------------------
476# Produce commented declarations of non-tagged libtool config variables
477# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
478# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
479# section) are produced by _LT_LIBTOOL_TAG_VARS.
480m4_defun([_LT_LIBTOOL_CONFIG_VARS],
481[m4_foreach([_lt_var],
482 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
483 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
484
485
486# _LT_LIBTOOL_TAG_VARS(TAG)
487# -------------------------
488m4_define([_LT_LIBTOOL_TAG_VARS],
489[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
490 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
491
492
493# _LT_TAGVAR(VARNAME, [TAGNAME])
494# ------------------------------
495m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
496
497
498# _LT_CONFIG_COMMANDS
499# -------------------
500# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
501# variables for single and double quote escaping we saved from calls
502# to _LT_DECL, we can put quote escaped variables declarations
503# into `config.status', and then the shell code to quote escape them in
504# for loops in `config.status'. Finally, any additional code accumulated
505# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
506m4_defun([_LT_CONFIG_COMMANDS],
507[AC_PROVIDE_IFELSE([LT_OUTPUT],
508 dnl If the libtool generation code has been placed in $CONFIG_LT,
509 dnl instead of duplicating it all over again into config.status,
510 dnl then we will have config.status run $CONFIG_LT later, so it
511 dnl needs to know what name is stored there:
512 [AC_CONFIG_COMMANDS([libtool],
513 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
514 dnl If the libtool generation code is destined for config.status,
515 dnl expand the accumulated commands and init code now:
516 [AC_CONFIG_COMMANDS([libtool],
517 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
518])#_LT_CONFIG_COMMANDS
519
520
521# Initialize.
522m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
523[
524
525# The HP-UX ksh and POSIX shell print the target directory to stdout
526# if CDPATH is set.
527(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
528
529sed_quote_subst='$sed_quote_subst'
530double_quote_subst='$double_quote_subst'
531delay_variable_subst='$delay_variable_subst'
532_LT_CONFIG_STATUS_DECLARATIONS
533LTCC='$LTCC'
534LTCFLAGS='$LTCFLAGS'
535compiler='$compiler_DEFAULT'
536
537# A function that is used when there is no print builtin or printf.
538func_fallback_echo ()
539{
540 eval 'cat <<_LTECHO_EOF
541\$[]1
542_LTECHO_EOF'
543}
544
545# Quote evaled strings.
546for var in lt_decl_all_varnames([[ \
547]], lt_decl_quote_varnames); do
548 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
549 *[[\\\\\\\`\\"\\\$]]*)
550 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
551 ;;
552 *)
553 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
554 ;;
555 esac
556done
557
558# Double-quote double-evaled strings.
559for var in lt_decl_all_varnames([[ \
560]], lt_decl_dquote_varnames); do
561 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
562 *[[\\\\\\\`\\"\\\$]]*)
563 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
564 ;;
565 *)
566 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
567 ;;
568 esac
569done
570
571_LT_OUTPUT_LIBTOOL_INIT
572])
573
574# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
575# ------------------------------------
576# Generate a child script FILE with all initialization necessary to
577# reuse the environment learned by the parent script, and make the
578# file executable. If COMMENT is supplied, it is inserted after the
579# `#!' sequence but before initialization text begins. After this
580# macro, additional text can be appended to FILE to form the body of
581# the child script. The macro ends with non-zero status if the
582# file could not be fully written (such as if the disk is full).
583m4_ifdef([AS_INIT_GENERATED],
584[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
585[m4_defun([_LT_GENERATED_FILE_INIT],
586[m4_require([AS_PREPARE])]dnl
587[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
588[lt_write_fail=0
589cat >$1 <<_ASEOF || lt_write_fail=1
590#! $SHELL
591# Generated by $as_me.
592$2
593SHELL=\${CONFIG_SHELL-$SHELL}
594export SHELL
595_ASEOF
596cat >>$1 <<\_ASEOF || lt_write_fail=1
597AS_SHELL_SANITIZE
598_AS_PREPARE
599exec AS_MESSAGE_FD>&1
600_ASEOF
601test $lt_write_fail = 0 && chmod +x $1[]dnl
602m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
603
604# LT_OUTPUT
605# ---------
606# This macro allows early generation of the libtool script (before
607# AC_OUTPUT is called), incase it is used in configure for compilation
608# tests.
609AC_DEFUN([LT_OUTPUT],
610[: ${CONFIG_LT=./config.lt}
611AC_MSG_NOTICE([creating $CONFIG_LT])
612_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
613[# Run this file to recreate a libtool stub with the current configuration.])
614
615cat >>"$CONFIG_LT" <<\_LTEOF
616lt_cl_silent=false
617exec AS_MESSAGE_LOG_FD>>config.log
618{
619 echo
620 AS_BOX([Running $as_me.])
621} >&AS_MESSAGE_LOG_FD
622
623lt_cl_help="\
624\`$as_me' creates a local libtool stub from the current configuration,
625for use in further configure time tests before the real libtool is
626generated.
627
628Usage: $[0] [[OPTIONS]]
629
630 -h, --help print this help, then exit
631 -V, --version print version number, then exit
632 -q, --quiet do not print progress messages
633 -d, --debug don't remove temporary files
634
635Report bugs to <bug-libtool@gnu.org>."
636
637lt_cl_version="\
638m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
639m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
640configured by $[0], generated by m4_PACKAGE_STRING.
641
642Copyright (C) 2011 Free Software Foundation, Inc.
643This config.lt script is free software; the Free Software Foundation
644gives unlimited permision to copy, distribute and modify it."
645
646while test $[#] != 0
647do
648 case $[1] in
649 --version | --v* | -V )
650 echo "$lt_cl_version"; exit 0 ;;
651 --help | --h* | -h )
652 echo "$lt_cl_help"; exit 0 ;;
653 --debug | --d* | -d )
654 debug=: ;;
655 --quiet | --q* | --silent | --s* | -q )
656 lt_cl_silent=: ;;
657
658 -*) AC_MSG_ERROR([unrecognized option: $[1]
659Try \`$[0] --help' for more information.]) ;;
660
661 *) AC_MSG_ERROR([unrecognized argument: $[1]
662Try \`$[0] --help' for more information.]) ;;
663 esac
664 shift
665done
666
667if $lt_cl_silent; then
668 exec AS_MESSAGE_FD>/dev/null
669fi
670_LTEOF
671
672cat >>"$CONFIG_LT" <<_LTEOF
673_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
674_LTEOF
675
676cat >>"$CONFIG_LT" <<\_LTEOF
677AC_MSG_NOTICE([creating $ofile])
678_LT_OUTPUT_LIBTOOL_COMMANDS
679AS_EXIT(0)
680_LTEOF
681chmod +x "$CONFIG_LT"
682
683# configure is writing to config.log, but config.lt does its own redirection,
684# appending to config.log, which fails on DOS, as config.log is still kept
685# open by configure. Here we exec the FD to /dev/null, effectively closing
686# config.log, so it can be properly (re)opened and appended to by config.lt.
687lt_cl_success=:
688test "$silent" = yes &&
689 lt_config_lt_args="$lt_config_lt_args --quiet"
690exec AS_MESSAGE_LOG_FD>/dev/null
691$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
692exec AS_MESSAGE_LOG_FD>>config.log
693$lt_cl_success || AS_EXIT(1)
694])# LT_OUTPUT
695
696
697# _LT_CONFIG(TAG)
698# ---------------
699# If TAG is the built-in tag, create an initial libtool script with a
700# default configuration from the untagged config vars. Otherwise add code
701# to config.status for appending the configuration named by TAG from the
702# matching tagged config vars.
703m4_defun([_LT_CONFIG],
704[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
705_LT_CONFIG_SAVE_COMMANDS([
706 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
707 m4_if(_LT_TAG, [C], [
708 # See if we are running on zsh, and set the options which allow our
709 # commands through without removal of \ escapes.
710 if test -n "${ZSH_VERSION+set}" ; then
711 setopt NO_GLOB_SUBST
712 fi
713
714 cfgfile="${ofile}T"
715 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
716 $RM "$cfgfile"
717
718 cat <<_LT_EOF >> "$cfgfile"
719#! $SHELL
720
721# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
722# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
723# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
724# NOTE: Changes made to this file will be lost: look at ltmain.sh.
725#
726_LT_COPYING
727_LT_LIBTOOL_TAGS
728
729# ### BEGIN LIBTOOL CONFIG
730_LT_LIBTOOL_CONFIG_VARS
731_LT_LIBTOOL_TAG_VARS
732# ### END LIBTOOL CONFIG
733
734_LT_EOF
735
736 case $host_os in
737 aix3*)
738 cat <<\_LT_EOF >> "$cfgfile"
739# AIX sometimes has problems with the GCC collect2 program. For some
740# reason, if we set the COLLECT_NAMES environment variable, the problems
741# vanish in a puff of smoke.
742if test "X${COLLECT_NAMES+set}" != Xset; then
743 COLLECT_NAMES=
744 export COLLECT_NAMES
745fi
746_LT_EOF
747 ;;
748 esac
749
750 _LT_PROG_LTMAIN
751
752 # We use sed instead of cat because bash on DJGPP gets confused if
753 # if finds mixed CR/LF and LF-only lines. Since sed operates in
754 # text mode, it properly converts lines to CR/LF. This bash problem
755 # is reportedly fixed, but why not run on old versions too?
756 sed '$q' "$ltmain" >> "$cfgfile" \
757 || (rm -f "$cfgfile"; exit 1)
758
759 _LT_PROG_REPLACE_SHELLFNS
760
761 mv -f "$cfgfile" "$ofile" ||
762 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
763 chmod +x "$ofile"
764],
765[cat <<_LT_EOF >> "$ofile"
766
767dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
768dnl in a comment (ie after a #).
769# ### BEGIN LIBTOOL TAG CONFIG: $1
770_LT_LIBTOOL_TAG_VARS(_LT_TAG)
771# ### END LIBTOOL TAG CONFIG: $1
772_LT_EOF
773])dnl /m4_if
774],
775[m4_if([$1], [], [
776 PACKAGE='$PACKAGE'
777 VERSION='$VERSION'
778 TIMESTAMP='$TIMESTAMP'
779 RM='$RM'
780 ofile='$ofile'], [])
781])dnl /_LT_CONFIG_SAVE_COMMANDS
782])# _LT_CONFIG
783
784
785# LT_SUPPORTED_TAG(TAG)
786# ---------------------
787# Trace this macro to discover what tags are supported by the libtool
788# --tag option, using:
789# autoconf --trace 'LT_SUPPORTED_TAG:$1'
790AC_DEFUN([LT_SUPPORTED_TAG], [])
791
792
793# C support is built-in for now
794m4_define([_LT_LANG_C_enabled], [])
795m4_define([_LT_TAGS], [])
796
797
798# LT_LANG(LANG)
799# -------------
800# Enable libtool support for the given language if not already enabled.
801AC_DEFUN([LT_LANG],
802[AC_BEFORE([$0], [LT_OUTPUT])dnl
803m4_case([$1],
804 [C], [_LT_LANG(C)],
805 [C++], [_LT_LANG(CXX)],
806 [Go], [_LT_LANG(GO)],
807 [Java], [_LT_LANG(GCJ)],
808 [Fortran 77], [_LT_LANG(F77)],
809 [Fortran], [_LT_LANG(FC)],
810 [Windows Resource], [_LT_LANG(RC)],
811 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
812 [_LT_LANG($1)],
813 [m4_fatal([$0: unsupported language: "$1"])])])dnl
814])# LT_LANG
815
816
817# _LT_LANG(LANGNAME)
818# ------------------
819m4_defun([_LT_LANG],
820[m4_ifdef([_LT_LANG_]$1[_enabled], [],
821 [LT_SUPPORTED_TAG([$1])dnl
822 m4_append([_LT_TAGS], [$1 ])dnl
823 m4_define([_LT_LANG_]$1[_enabled], [])dnl
824 _LT_LANG_$1_CONFIG($1)])dnl
825])# _LT_LANG
826
827
828m4_ifndef([AC_PROG_GO], [
829############################################################
830# NOTE: This macro has been submitted for inclusion into #
831# GNU Autoconf as AC_PROG_GO. When it is available in #
832# a released version of Autoconf we should remove this #
833# macro and use it instead. #
834############################################################
835m4_defun([AC_PROG_GO],
836[AC_LANG_PUSH(Go)dnl
837AC_ARG_VAR([GOC], [Go compiler command])dnl
838AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
839_AC_ARG_VAR_LDFLAGS()dnl
840AC_CHECK_TOOL(GOC, gccgo)
841if test -z "$GOC"; then
842 if test -n "$ac_tool_prefix"; then
843 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
844 fi
845fi
846if test -z "$GOC"; then
847 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
848fi
849])#m4_defun
850])#m4_ifndef
851
852
853# _LT_LANG_DEFAULT_CONFIG
854# -----------------------
855m4_defun([_LT_LANG_DEFAULT_CONFIG],
856[AC_PROVIDE_IFELSE([AC_PROG_CXX],
857 [LT_LANG(CXX)],
858 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
859
860AC_PROVIDE_IFELSE([AC_PROG_F77],
861 [LT_LANG(F77)],
862 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
863
864AC_PROVIDE_IFELSE([AC_PROG_FC],
865 [LT_LANG(FC)],
866 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
867
868dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
869dnl pulling things in needlessly.
870AC_PROVIDE_IFELSE([AC_PROG_GCJ],
871 [LT_LANG(GCJ)],
872 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
873 [LT_LANG(GCJ)],
874 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
875 [LT_LANG(GCJ)],
876 [m4_ifdef([AC_PROG_GCJ],
877 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
878 m4_ifdef([A][M_PROG_GCJ],
879 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
880 m4_ifdef([LT_PROG_GCJ],
881 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
882
883AC_PROVIDE_IFELSE([AC_PROG_GO],
884 [LT_LANG(GO)],
885 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
886
887AC_PROVIDE_IFELSE([LT_PROG_RC],
888 [LT_LANG(RC)],
889 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
890])# _LT_LANG_DEFAULT_CONFIG
891
892# Obsolete macros:
893AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
894AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
895AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
896AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
897AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
898dnl aclocal-1.4 backwards compatibility:
899dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
900dnl AC_DEFUN([AC_LIBTOOL_F77], [])
901dnl AC_DEFUN([AC_LIBTOOL_FC], [])
902dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
903dnl AC_DEFUN([AC_LIBTOOL_RC], [])
904
905
906# _LT_TAG_COMPILER
907# ----------------
908m4_defun([_LT_TAG_COMPILER],
909[AC_REQUIRE([AC_PROG_CC])dnl
910
911_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
912_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
913_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
914_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
915
916# If no C compiler was specified, use CC.
917LTCC=${LTCC-"$CC"}
918
919# If no C compiler flags were specified, use CFLAGS.
920LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
921
922# Allow CC to be a program name with arguments.
923compiler=$CC
924])# _LT_TAG_COMPILER
925
926
927# _LT_COMPILER_BOILERPLATE
928# ------------------------
929# Check for compiler boilerplate output or warnings with
930# the simple compiler test code.
931m4_defun([_LT_COMPILER_BOILERPLATE],
932[m4_require([_LT_DECL_SED])dnl
933ac_outfile=conftest.$ac_objext
934echo "$lt_simple_compile_test_code" >conftest.$ac_ext
935eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
936_lt_compiler_boilerplate=`cat conftest.err`
937$RM conftest*
938])# _LT_COMPILER_BOILERPLATE
939
940
941# _LT_LINKER_BOILERPLATE
942# ----------------------
943# Check for linker boilerplate output or warnings with
944# the simple link test code.
945m4_defun([_LT_LINKER_BOILERPLATE],
946[m4_require([_LT_DECL_SED])dnl
947ac_outfile=conftest.$ac_objext
948echo "$lt_simple_link_test_code" >conftest.$ac_ext
949eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
950_lt_linker_boilerplate=`cat conftest.err`
951$RM -r conftest*
952])# _LT_LINKER_BOILERPLATE
953
954# _LT_REQUIRED_DARWIN_CHECKS
955# -------------------------
956m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
957 case $host_os in
958 rhapsody* | darwin*)
959 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
960 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
961 AC_CHECK_TOOL([LIPO], [lipo], [:])
962 AC_CHECK_TOOL([OTOOL], [otool], [:])
963 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
964 _LT_DECL([], [DSYMUTIL], [1],
965 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
966 _LT_DECL([], [NMEDIT], [1],
967 [Tool to change global to local symbols on Mac OS X])
968 _LT_DECL([], [LIPO], [1],
969 [Tool to manipulate fat objects and archives on Mac OS X])
970 _LT_DECL([], [OTOOL], [1],
971 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
972 _LT_DECL([], [OTOOL64], [1],
973 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
974
975 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
976 [lt_cv_apple_cc_single_mod=no
977 if test -z "${LT_MULTI_MODULE}"; then
978 # By default we will add the -single_module flag. You can override
979 # by either setting the environment variable LT_MULTI_MODULE
980 # non-empty at configure time, or by adding -multi_module to the
981 # link flags.
982 rm -rf libconftest.dylib*
983 echo "int foo(void){return 1;}" > conftest.c
984 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
985-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
986 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
987 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
988 _lt_result=$?
989 # If there is a non-empty error log, and "single_module"
990 # appears in it, assume the flag caused a linker warning
991 if test -s conftest.err && $GREP single_module conftest.err; then
992 cat conftest.err >&AS_MESSAGE_LOG_FD
993 # Otherwise, if the output was created with a 0 exit code from
994 # the compiler, it worked.
995 elif test -f libconftest.dylib && test $_lt_result -eq 0; then
996 lt_cv_apple_cc_single_mod=yes
997 else
998 cat conftest.err >&AS_MESSAGE_LOG_FD
999 fi
1000 rm -rf libconftest.dylib*
1001 rm -f conftest.*
1002 fi])
1003
1004 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1005 [lt_cv_ld_exported_symbols_list],
1006 [lt_cv_ld_exported_symbols_list=no
1007 save_LDFLAGS=$LDFLAGS
1008 echo "_main" > conftest.sym
1009 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1010 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1011 [lt_cv_ld_exported_symbols_list=yes],
1012 [lt_cv_ld_exported_symbols_list=no])
1013 LDFLAGS="$save_LDFLAGS"
1014 ])
1015
1016 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1017 [lt_cv_ld_force_load=no
1018 cat > conftest.c << _LT_EOF
1019int forced_loaded() { return 2;}
1020_LT_EOF
1021 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1022 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1023 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1024 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1025 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1026 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1027 cat > conftest.c << _LT_EOF
1028int main() { return 0;}
1029_LT_EOF
1030 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1031 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1032 _lt_result=$?
1033 if test -s conftest.err && $GREP force_load conftest.err; then
1034 cat conftest.err >&AS_MESSAGE_LOG_FD
1035 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1036 lt_cv_ld_force_load=yes
1037 else
1038 cat conftest.err >&AS_MESSAGE_LOG_FD
1039 fi
1040 rm -f conftest.err libconftest.a conftest conftest.c
1041 rm -rf conftest.dSYM
1042 ])
1043 case $host_os in
1044 rhapsody* | darwin1.[[012]])
1045 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1046 darwin1.*)
1047 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1048 darwin*) # darwin 5.x on
1049 # if running on 10.5 or later, the deployment target defaults
1050 # to the OS version, if on x86, and 10.4, the deployment
1051 # target defaults to 10.4. Don't you love it?
1052 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1053 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1054 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1055 10.[[012]]*)
1056 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1057 10.*)
1058 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1059 esac
1060 ;;
1061 esac
1062 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1063 _lt_dar_single_mod='$single_module'
1064 fi
1065 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1066 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1067 else
1068 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1069 fi
1070 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1071 _lt_dsymutil='~$DSYMUTIL $lib || :'
1072 else
1073 _lt_dsymutil=
1074 fi
1075 ;;
1076 esac
1077])
1078
1079
1080# _LT_DARWIN_LINKER_FEATURES([TAG])
1081# ---------------------------------
1082# Checks for linker and compiler features on darwin
1083m4_defun([_LT_DARWIN_LINKER_FEATURES],
1084[
1085 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1086 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1087 _LT_TAGVAR(hardcode_direct, $1)=no
1088 _LT_TAGVAR(hardcode_automatic, $1)=yes
1089 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1090 if test "$lt_cv_ld_force_load" = "yes"; then
1091 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1092 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1093 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1094 else
1095 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1096 fi
1097 _LT_TAGVAR(link_all_deplibs, $1)=yes
1098 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1099 case $cc_basename in
1100 ifort*) _lt_dar_can_shared=yes ;;
1101 *) _lt_dar_can_shared=$GCC ;;
1102 esac
1103 if test "$_lt_dar_can_shared" = "yes"; then
1104 output_verbose_link_cmd=func_echo_all
1105 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1106 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1107 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1108 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1109 m4_if([$1], [CXX],
1110[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1111 _LT_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${_lt_dsymutil}"
1112 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1113 fi
1114],[])
1115 else
1116 _LT_TAGVAR(ld_shlibs, $1)=no
1117 fi
1118])
1119
1120# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1121# ----------------------------------
1122# Links a minimal program and checks the executable
1123# for the system default hardcoded library path. In most cases,
1124# this is /usr/lib:/lib, but when the MPI compilers are used
1125# the location of the communication and MPI libs are included too.
1126# If we don't find anything, use the default library path according
1127# to the aix ld manual.
1128# Store the results from the different compilers for each TAGNAME.
1129# Allow to override them for all tags through lt_cv_aix_libpath.
1130m4_defun([_LT_SYS_MODULE_PATH_AIX],
1131[m4_require([_LT_DECL_SED])dnl
1132if test "${lt_cv_aix_libpath+set}" = set; then
1133 aix_libpath=$lt_cv_aix_libpath
1134else
1135 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1136 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1137 lt_aix_libpath_sed='[
1138 /Import File Strings/,/^$/ {
1139 /^0/ {
1140 s/^0 *\([^ ]*\) *$/\1/
1141 p
1142 }
1143 }]'
1144 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1145 # Check for a 64-bit object if we didn't find anything.
1146 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1147 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1148 fi],[])
1149 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1150 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1151 fi
1152 ])
1153 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1154fi
1155])# _LT_SYS_MODULE_PATH_AIX
1156
1157
1158# _LT_SHELL_INIT(ARG)
1159# -------------------
1160m4_define([_LT_SHELL_INIT],
1161[m4_divert_text([M4SH-INIT], [$1
1162])])# _LT_SHELL_INIT
1163
1164
1165
1166# _LT_PROG_ECHO_BACKSLASH
1167# -----------------------
1168# Find how we can fake an echo command that does not interpret backslash.
1169# In particular, with Autoconf 2.60 or later we add some code to the start
1170# of the generated configure script which will find a shell with a builtin
1171# printf (which we can use as an echo command).
1172m4_defun([_LT_PROG_ECHO_BACKSLASH],
1173[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1174ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1175ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1176
1177AC_MSG_CHECKING([how to print strings])
1178# Test print first, because it will be a builtin if present.
1179if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1180 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1181 ECHO='print -r --'
1182elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1183 ECHO='printf %s\n'
1184else
1185 # Use this function as a fallback that always works.
1186 func_fallback_echo ()
1187 {
1188 eval 'cat <<_LTECHO_EOF
1189$[]1
1190_LTECHO_EOF'
1191 }
1192 ECHO='func_fallback_echo'
1193fi
1194
1195# func_echo_all arg...
1196# Invoke $ECHO with all args, space-separated.
1197func_echo_all ()
1198{
1199 $ECHO "$*"
1200}
1201
1202case "$ECHO" in
1203 printf*) AC_MSG_RESULT([printf]) ;;
1204 print*) AC_MSG_RESULT([print -r]) ;;
1205 *) AC_MSG_RESULT([cat]) ;;
1206esac
1207
1208m4_ifdef([_AS_DETECT_SUGGESTED],
1209[_AS_DETECT_SUGGESTED([
1210 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1211 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1212 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1213 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1214 PATH=/empty FPATH=/empty; export PATH FPATH
1215 test "X`printf %s $ECHO`" = "X$ECHO" \
1216 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1217
1218_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1219_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1220])# _LT_PROG_ECHO_BACKSLASH
1221
1222
1223# _LT_WITH_SYSROOT
1224# ----------------
1225AC_DEFUN([_LT_WITH_SYSROOT],
1226[AC_MSG_CHECKING([for sysroot])
1227AC_ARG_WITH([sysroot],
1228[ --with-sysroot[=DIR] Search for dependent libraries within DIR
1229 (or the compiler's sysroot if not specified).],
1230[], [with_sysroot=no])
1231
1232dnl lt_sysroot will always be passed unquoted. We quote it here
1233dnl in case the user passed a directory name.
1234lt_sysroot=
1235case ${with_sysroot} in #(
1236 yes)
1237 if test "$GCC" = yes; then
1238 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1239 fi
1240 ;; #(
1241 /*)
1242 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1243 ;; #(
1244 no|'')
1245 ;; #(
1246 *)
1247 AC_MSG_RESULT([${with_sysroot}])
1248 AC_MSG_ERROR([The sysroot must be an absolute path.])
1249 ;;
1250esac
1251
1252 AC_MSG_RESULT([${lt_sysroot:-no}])
1253_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1254[dependent libraries, and in which our libraries should be installed.])])
1255
1256# _LT_ENABLE_LOCK
1257# ---------------
1258m4_defun([_LT_ENABLE_LOCK],
1259[AC_ARG_ENABLE([libtool-lock],
1260 [AS_HELP_STRING([--disable-libtool-lock],
1261 [avoid locking (might break parallel builds)])])
1262test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1263
1264# Some flags need to be propagated to the compiler or linker for good
1265# libtool support.
1266case $host in
1267ia64-*-hpux*)
1268 # Find out which ABI we are using.
1269 echo 'int i;' > conftest.$ac_ext
1270 if AC_TRY_EVAL(ac_compile); then
1271 case `/usr/bin/file conftest.$ac_objext` in
1272 *ELF-32*)
1273 HPUX_IA64_MODE="32"
1274 ;;
1275 *ELF-64*)
1276 HPUX_IA64_MODE="64"
1277 ;;
1278 esac
1279 fi
1280 rm -rf conftest*
1281 ;;
1282*-*-irix6*)
1283 # Find out which ABI we are using.
1284 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1285 if AC_TRY_EVAL(ac_compile); then
1286 if test "$lt_cv_prog_gnu_ld" = yes; then
1287 case `/usr/bin/file conftest.$ac_objext` in
1288 *32-bit*)
1289 LD="${LD-ld} -melf32bsmip"
1290 ;;
1291 *N32*)
1292 LD="${LD-ld} -melf32bmipn32"
1293 ;;
1294 *64-bit*)
1295 LD="${LD-ld} -melf64bmip"
1296 ;;
1297 esac
1298 else
1299 case `/usr/bin/file conftest.$ac_objext` in
1300 *32-bit*)
1301 LD="${LD-ld} -32"
1302 ;;
1303 *N32*)
1304 LD="${LD-ld} -n32"
1305 ;;
1306 *64-bit*)
1307 LD="${LD-ld} -64"
1308 ;;
1309 esac
1310 fi
1311 fi
1312 rm -rf conftest*
1313 ;;
1314
1315x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1316s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1317 # Find out which ABI we are using.
1318 echo 'int i;' > conftest.$ac_ext
1319 if AC_TRY_EVAL(ac_compile); then
1320 case `/usr/bin/file conftest.o` in
1321 *32-bit*)
1322 case $host in
1323 x86_64-*kfreebsd*-gnu)
1324 LD="${LD-ld} -m elf_i386_fbsd"
1325 ;;
1326 x86_64-*linux*)
1327 LD="${LD-ld} -m elf_i386"
1328 ;;
1329 ppc64-*linux*|powerpc64-*linux*)
1330 LD="${LD-ld} -m elf32ppclinux"
1331 ;;
1332 s390x-*linux*)
1333 LD="${LD-ld} -m elf_s390"
1334 ;;
1335 sparc64-*linux*)
1336 LD="${LD-ld} -m elf32_sparc"
1337 ;;
1338 esac
1339 ;;
1340 *64-bit*)
1341 case $host in
1342 x86_64-*kfreebsd*-gnu)
1343 LD="${LD-ld} -m elf_x86_64_fbsd"
1344 ;;
1345 x86_64-*linux*)
1346 LD="${LD-ld} -m elf_x86_64"
1347 ;;
1348 ppc*-*linux*|powerpc*-*linux*)
1349 LD="${LD-ld} -m elf64ppc"
1350 ;;
1351 s390*-*linux*|s390*-*tpf*)
1352 LD="${LD-ld} -m elf64_s390"
1353 ;;
1354 sparc*-*linux*)
1355 LD="${LD-ld} -m elf64_sparc"
1356 ;;
1357 esac
1358 ;;
1359 esac
1360 fi
1361 rm -rf conftest*
1362 ;;
1363
1364*-*-sco3.2v5*)
1365 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1366 SAVE_CFLAGS="$CFLAGS"
1367 CFLAGS="$CFLAGS -belf"
1368 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1369 [AC_LANG_PUSH(C)
1370 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1371 AC_LANG_POP])
1372 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1373 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1374 CFLAGS="$SAVE_CFLAGS"
1375 fi
1376 ;;
1377*-*solaris*)
1378 # Find out which ABI we are using.
1379 echo 'int i;' > conftest.$ac_ext
1380 if AC_TRY_EVAL(ac_compile); then
1381 case `/usr/bin/file conftest.o` in
1382 *64-bit*)
1383 case $lt_cv_prog_gnu_ld in
1384 yes*)
1385 case $host in
1386 i?86-*-solaris*)
1387 LD="${LD-ld} -m elf_x86_64"
1388 ;;
1389 sparc*-*-solaris*)
1390 LD="${LD-ld} -m elf64_sparc"
1391 ;;
1392 esac
1393 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1394 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1395 LD="${LD-ld}_sol2"
1396 fi
1397 ;;
1398 *)
1399 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1400 LD="${LD-ld} -64"
1401 fi
1402 ;;
1403 esac
1404 ;;
1405 esac
1406 fi
1407 rm -rf conftest*
1408 ;;
1409esac
1410
1411need_locks="$enable_libtool_lock"
1412])# _LT_ENABLE_LOCK
1413
1414
1415# _LT_PROG_AR
1416# -----------
1417m4_defun([_LT_PROG_AR],
1418[AC_CHECK_TOOLS(AR, [ar], false)
1419: ${AR=ar}
1420: ${AR_FLAGS=cru}
1421_LT_DECL([], [AR], [1], [The archiver])
1422_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1423
1424AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1425 [lt_cv_ar_at_file=no
1426 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1427 [echo conftest.$ac_objext > conftest.lst
1428 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1429 AC_TRY_EVAL([lt_ar_try])
1430 if test "$ac_status" -eq 0; then
1431 # Ensure the archiver fails upon bogus file names.
1432 rm -f conftest.$ac_objext libconftest.a
1433 AC_TRY_EVAL([lt_ar_try])
1434 if test "$ac_status" -ne 0; then
1435 lt_cv_ar_at_file=@
1436 fi
1437 fi
1438 rm -f conftest.* libconftest.a
1439 ])
1440 ])
1441
1442if test "x$lt_cv_ar_at_file" = xno; then
1443 archiver_list_spec=
1444else
1445 archiver_list_spec=$lt_cv_ar_at_file
1446fi
1447_LT_DECL([], [archiver_list_spec], [1],
1448 [How to feed a file listing to the archiver])
1449])# _LT_PROG_AR
1450
1451
1452# _LT_CMD_OLD_ARCHIVE
1453# -------------------
1454m4_defun([_LT_CMD_OLD_ARCHIVE],
1455[_LT_PROG_AR
1456
1457AC_CHECK_TOOL(STRIP, strip, :)
1458test -z "$STRIP" && STRIP=:
1459_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1460
1461AC_CHECK_TOOL(RANLIB, ranlib, :)
1462test -z "$RANLIB" && RANLIB=:
1463_LT_DECL([], [RANLIB], [1],
1464 [Commands used to install an old-style archive])
1465
1466# Determine commands to create old-style static archives.
1467old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1468old_postinstall_cmds='chmod 644 $oldlib'
1469old_postuninstall_cmds=
1470
1471if test -n "$RANLIB"; then
1472 case $host_os in
1473 openbsd*)
1474 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1475 ;;
1476 *)
1477 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1478 ;;
1479 esac
1480 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1481fi
1482
1483case $host_os in
1484 darwin*)
1485 lock_old_archive_extraction=yes ;;
1486 *)
1487 lock_old_archive_extraction=no ;;
1488esac
1489_LT_DECL([], [old_postinstall_cmds], [2])
1490_LT_DECL([], [old_postuninstall_cmds], [2])
1491_LT_TAGDECL([], [old_archive_cmds], [2],
1492 [Commands used to build an old-style archive])
1493_LT_DECL([], [lock_old_archive_extraction], [0],
1494 [Whether to use a lock for old archive extraction])
1495])# _LT_CMD_OLD_ARCHIVE
1496
1497
1498# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1499# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1500# ----------------------------------------------------------------
1501# Check whether the given compiler option works
1502AC_DEFUN([_LT_COMPILER_OPTION],
1503[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1504m4_require([_LT_DECL_SED])dnl
1505AC_CACHE_CHECK([$1], [$2],
1506 [$2=no
1507 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1508 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1509 lt_compiler_flag="$3"
1510 # Insert the option either (1) after the last *FLAGS variable, or
1511 # (2) before a word containing "conftest.", or (3) at the end.
1512 # Note that $ac_compile itself does not contain backslashes and begins
1513 # with a dollar sign (not a hyphen), so the echo should work correctly.
1514 # The option is referenced via a variable to avoid confusing sed.
1515 lt_compile=`echo "$ac_compile" | $SED \
1516 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1517 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1518 -e 's:$: $lt_compiler_flag:'`
1519 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1520 (eval "$lt_compile" 2>conftest.err)
1521 ac_status=$?
1522 cat conftest.err >&AS_MESSAGE_LOG_FD
1523 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1524 if (exit $ac_status) && test -s "$ac_outfile"; then
1525 # The compiler can only warn and ignore the option if not recognized
1526 # So say no if there are warnings other than the usual output.
1527 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1528 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1529 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1530 $2=yes
1531 fi
1532 fi
1533 $RM conftest*
1534])
1535
1536if test x"[$]$2" = xyes; then
1537 m4_if([$5], , :, [$5])
1538else
1539 m4_if([$6], , :, [$6])
1540fi
1541])# _LT_COMPILER_OPTION
1542
1543# Old name:
1544AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1545dnl aclocal-1.4 backwards compatibility:
1546dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1547
1548
1549# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1550# [ACTION-SUCCESS], [ACTION-FAILURE])
1551# ----------------------------------------------------
1552# Check whether the given linker option works
1553AC_DEFUN([_LT_LINKER_OPTION],
1554[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1555m4_require([_LT_DECL_SED])dnl
1556AC_CACHE_CHECK([$1], [$2],
1557 [$2=no
1558 save_LDFLAGS="$LDFLAGS"
1559 LDFLAGS="$LDFLAGS $3"
1560 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1561 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1562 # The linker can only warn and ignore the option if not recognized
1563 # So say no if there are warnings
1564 if test -s conftest.err; then
1565 # Append any errors to the config.log.
1566 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1567 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1568 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1569 if diff conftest.exp conftest.er2 >/dev/null; then
1570 $2=yes
1571 fi
1572 else
1573 $2=yes
1574 fi
1575 fi
1576 $RM -r conftest*
1577 LDFLAGS="$save_LDFLAGS"
1578])
1579
1580if test x"[$]$2" = xyes; then
1581 m4_if([$4], , :, [$4])
1582else
1583 m4_if([$5], , :, [$5])
1584fi
1585])# _LT_LINKER_OPTION
1586
1587# Old name:
1588AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1589dnl aclocal-1.4 backwards compatibility:
1590dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1591
1592
1593# LT_CMD_MAX_LEN
1594#---------------
1595AC_DEFUN([LT_CMD_MAX_LEN],
1596[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1597# find the maximum length of command line arguments
1598AC_MSG_CHECKING([the maximum length of command line arguments])
1599AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1600 i=0
1601 teststring="ABCD"
1602
1603 case $build_os in
1604 msdosdjgpp*)
1605 # On DJGPP, this test can blow up pretty badly due to problems in libc
1606 # (any single argument exceeding 2000 bytes causes a buffer overrun
1607 # during glob expansion). Even if it were fixed, the result of this
1608 # check would be larger than it should be.
1609 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1610 ;;
1611
1612 gnu*)
1613 # Under GNU Hurd, this test is not required because there is
1614 # no limit to the length of command line arguments.
1615 # Libtool will interpret -1 as no limit whatsoever
1616 lt_cv_sys_max_cmd_len=-1;
1617 ;;
1618
1619 cygwin* | mingw* | cegcc*)
1620 # On Win9x/ME, this test blows up -- it succeeds, but takes
1621 # about 5 minutes as the teststring grows exponentially.
1622 # Worse, since 9x/ME are not pre-emptively multitasking,
1623 # you end up with a "frozen" computer, even though with patience
1624 # the test eventually succeeds (with a max line length of 256k).
1625 # Instead, let's just punt: use the minimum linelength reported by
1626 # all of the supported platforms: 8192 (on NT/2K/XP).
1627 lt_cv_sys_max_cmd_len=8192;
1628 ;;
1629
1630 mint*)
1631 # On MiNT this can take a long time and run out of memory.
1632 lt_cv_sys_max_cmd_len=8192;
1633 ;;
1634
1635 amigaos*)
1636 # On AmigaOS with pdksh, this test takes hours, literally.
1637 # So we just punt and use a minimum line length of 8192.
1638 lt_cv_sys_max_cmd_len=8192;
1639 ;;
1640
1641 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1642 # This has been around since 386BSD, at least. Likely further.
1643 if test -x /sbin/sysctl; then
1644 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1645 elif test -x /usr/sbin/sysctl; then
1646 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1647 else
1648 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1649 fi
1650 # And add a safety zone
1651 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1652 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1653 ;;
1654
1655 interix*)
1656 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1657 lt_cv_sys_max_cmd_len=196608
1658 ;;
1659
1660 os2*)
1661 # The test takes a long time on OS/2.
1662 lt_cv_sys_max_cmd_len=8192
1663 ;;
1664
1665 osf*)
1666 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1667 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1668 # nice to cause kernel panics so lets avoid the loop below.
1669 # First set a reasonable default.
1670 lt_cv_sys_max_cmd_len=16384
1671 #
1672 if test -x /sbin/sysconfig; then
1673 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1674 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1675 esac
1676 fi
1677 ;;
1678 sco3.2v5*)
1679 lt_cv_sys_max_cmd_len=102400
1680 ;;
1681 sysv5* | sco5v6* | sysv4.2uw2*)
1682 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1683 if test -n "$kargmax"; then
1684 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1685 else
1686 lt_cv_sys_max_cmd_len=32768
1687 fi
1688 ;;
1689 *)
1690 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1691 if test -n "$lt_cv_sys_max_cmd_len"; then
1692 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1693 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1694 else
1695 # Make teststring a little bigger before we do anything with it.
1696 # a 1K string should be a reasonable start.
1697 for i in 1 2 3 4 5 6 7 8 ; do
1698 teststring=$teststring$teststring
1699 done
1700 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1701 # If test is not a shell built-in, we'll probably end up computing a
1702 # maximum length that is only half of the actual maximum length, but
1703 # we can't tell.
1704 while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1705 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1706 test $i != 17 # 1/2 MB should be enough
1707 do
1708 i=`expr $i + 1`
1709 teststring=$teststring$teststring
1710 done
1711 # Only check the string length outside the loop.
1712 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1713 teststring=
1714 # Add a significant safety factor because C++ compilers can tack on
1715 # massive amounts of additional arguments before passing them to the
1716 # linker. It appears as though 1/2 is a usable value.
1717 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1718 fi
1719 ;;
1720 esac
1721])
1722if test -n $lt_cv_sys_max_cmd_len ; then
1723 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1724else
1725 AC_MSG_RESULT(none)
1726fi
1727max_cmd_len=$lt_cv_sys_max_cmd_len
1728_LT_DECL([], [max_cmd_len], [0],
1729 [What is the maximum length of a command?])
1730])# LT_CMD_MAX_LEN
1731
1732# Old name:
1733AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1734dnl aclocal-1.4 backwards compatibility:
1735dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1736
1737
1738# _LT_HEADER_DLFCN
1739# ----------------
1740m4_defun([_LT_HEADER_DLFCN],
1741[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1742])# _LT_HEADER_DLFCN
1743
1744
1745# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1746# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1747# ----------------------------------------------------------------
1748m4_defun([_LT_TRY_DLOPEN_SELF],
1749[m4_require([_LT_HEADER_DLFCN])dnl
1750if test "$cross_compiling" = yes; then :
1751 [$4]
1752else
1753 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1754 lt_status=$lt_dlunknown
1755 cat > conftest.$ac_ext <<_LT_EOF
1756[#line $LINENO "configure"
1757#include "confdefs.h"
1758
1759#if HAVE_DLFCN_H
1760#include <dlfcn.h>
1761#endif
1762
1763#include <stdio.h>
1764
1765#ifdef RTLD_GLOBAL
1766# define LT_DLGLOBAL RTLD_GLOBAL
1767#else
1768# ifdef DL_GLOBAL
1769# define LT_DLGLOBAL DL_GLOBAL
1770# else
1771# define LT_DLGLOBAL 0
1772# endif
1773#endif
1774
1775/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1776 find out it does not work in some platform. */
1777#ifndef LT_DLLAZY_OR_NOW
1778# ifdef RTLD_LAZY
1779# define LT_DLLAZY_OR_NOW RTLD_LAZY
1780# else
1781# ifdef DL_LAZY
1782# define LT_DLLAZY_OR_NOW DL_LAZY
1783# else
1784# ifdef RTLD_NOW
1785# define LT_DLLAZY_OR_NOW RTLD_NOW
1786# else
1787# ifdef DL_NOW
1788# define LT_DLLAZY_OR_NOW DL_NOW
1789# else
1790# define LT_DLLAZY_OR_NOW 0
1791# endif
1792# endif
1793# endif
1794# endif
1795#endif
1796
1797/* When -fvisbility=hidden is used, assume the code has been annotated
1798 correspondingly for the symbols needed. */
1799#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1800int fnord () __attribute__((visibility("default")));
1801#endif
1802
1803int fnord () { return 42; }
1804int main ()
1805{
1806 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1807 int status = $lt_dlunknown;
1808
1809 if (self)
1810 {
1811 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1812 else
1813 {
1814 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1815 else puts (dlerror ());
1816 }
1817 /* dlclose (self); */
1818 }
1819 else
1820 puts (dlerror ());
1821
1822 return status;
1823}]
1824_LT_EOF
1825 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1826 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1827 lt_status=$?
1828 case x$lt_status in
1829 x$lt_dlno_uscore) $1 ;;
1830 x$lt_dlneed_uscore) $2 ;;
1831 x$lt_dlunknown|x*) $3 ;;
1832 esac
1833 else :
1834 # compilation failed
1835 $3
1836 fi
1837fi
1838rm -fr conftest*
1839])# _LT_TRY_DLOPEN_SELF
1840
1841
1842# LT_SYS_DLOPEN_SELF
1843# ------------------
1844AC_DEFUN([LT_SYS_DLOPEN_SELF],
1845[m4_require([_LT_HEADER_DLFCN])dnl
1846if test "x$enable_dlopen" != xyes; then
1847 enable_dlopen=unknown
1848 enable_dlopen_self=unknown
1849 enable_dlopen_self_static=unknown
1850else
1851 lt_cv_dlopen=no
1852 lt_cv_dlopen_libs=
1853
1854 case $host_os in
1855 beos*)
1856 lt_cv_dlopen="load_add_on"
1857 lt_cv_dlopen_libs=
1858 lt_cv_dlopen_self=yes
1859 ;;
1860
1861 mingw* | pw32* | cegcc*)
1862 lt_cv_dlopen="LoadLibrary"
1863 lt_cv_dlopen_libs=
1864 ;;
1865
1866 cygwin*)
1867 lt_cv_dlopen="dlopen"
1868 lt_cv_dlopen_libs=
1869 ;;
1870
1871 darwin*)
1872 # if libdl is installed we need to link against it
1873 AC_CHECK_LIB([dl], [dlopen],
1874 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1875 lt_cv_dlopen="dyld"
1876 lt_cv_dlopen_libs=
1877 lt_cv_dlopen_self=yes
1878 ])
1879 ;;
1880
1881 *)
1882 AC_CHECK_FUNC([shl_load],
1883 [lt_cv_dlopen="shl_load"],
1884 [AC_CHECK_LIB([dld], [shl_load],
1885 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1886 [AC_CHECK_FUNC([dlopen],
1887 [lt_cv_dlopen="dlopen"],
1888 [AC_CHECK_LIB([dl], [dlopen],
1889 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1890 [AC_CHECK_LIB([svld], [dlopen],
1891 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1892 [AC_CHECK_LIB([dld], [dld_link],
1893 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1894 ])
1895 ])
1896 ])
1897 ])
1898 ])
1899 ;;
1900 esac
1901
1902 if test "x$lt_cv_dlopen" != xno; then
1903 enable_dlopen=yes
1904 else
1905 enable_dlopen=no
1906 fi
1907
1908 case $lt_cv_dlopen in
1909 dlopen)
1910 save_CPPFLAGS="$CPPFLAGS"
1911 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1912
1913 save_LDFLAGS="$LDFLAGS"
1914 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1915
1916 save_LIBS="$LIBS"
1917 LIBS="$lt_cv_dlopen_libs $LIBS"
1918
1919 AC_CACHE_CHECK([whether a program can dlopen itself],
1920 lt_cv_dlopen_self, [dnl
1921 _LT_TRY_DLOPEN_SELF(
1922 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1923 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1924 ])
1925
1926 if test "x$lt_cv_dlopen_self" = xyes; then
1927 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1928 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1929 lt_cv_dlopen_self_static, [dnl
1930 _LT_TRY_DLOPEN_SELF(
1931 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1932 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1933 ])
1934 fi
1935
1936 CPPFLAGS="$save_CPPFLAGS"
1937 LDFLAGS="$save_LDFLAGS"
1938 LIBS="$save_LIBS"
1939 ;;
1940 esac
1941
1942 case $lt_cv_dlopen_self in
1943 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1944 *) enable_dlopen_self=unknown ;;
1945 esac
1946
1947 case $lt_cv_dlopen_self_static in
1948 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1949 *) enable_dlopen_self_static=unknown ;;
1950 esac
1951fi
1952_LT_DECL([dlopen_support], [enable_dlopen], [0],
1953 [Whether dlopen is supported])
1954_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1955 [Whether dlopen of programs is supported])
1956_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1957 [Whether dlopen of statically linked programs is supported])
1958])# LT_SYS_DLOPEN_SELF
1959
1960# Old name:
1961AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1962dnl aclocal-1.4 backwards compatibility:
1963dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1964
1965
1966# _LT_COMPILER_C_O([TAGNAME])
1967# ---------------------------
1968# Check to see if options -c and -o are simultaneously supported by compiler.
1969# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1970m4_defun([_LT_COMPILER_C_O],
1971[m4_require([_LT_DECL_SED])dnl
1972m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1973m4_require([_LT_TAG_COMPILER])dnl
1974AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1975 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1976 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1977 $RM -r conftest 2>/dev/null
1978 mkdir conftest
1979 cd conftest
1980 mkdir out
1981 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1982
1983 lt_compiler_flag="-o out/conftest2.$ac_objext"
1984 # Insert the option either (1) after the last *FLAGS variable, or
1985 # (2) before a word containing "conftest.", or (3) at the end.
1986 # Note that $ac_compile itself does not contain backslashes and begins
1987 # with a dollar sign (not a hyphen), so the echo should work correctly.
1988 lt_compile=`echo "$ac_compile" | $SED \
1989 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1990 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1991 -e 's:$: $lt_compiler_flag:'`
1992 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1993 (eval "$lt_compile" 2>out/conftest.err)
1994 ac_status=$?
1995 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1996 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1997 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1998 then
1999 # The compiler can only warn and ignore the option if not recognized
2000 # So say no if there are warnings
2001 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2002 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2003 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2004 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2005 fi
2006 fi
2007 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2008 $RM conftest*
2009 # SGI C++ compiler will create directory out/ii_files/ for
2010 # template instantiation
2011 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2012 $RM out/* && rmdir out
2013 cd ..
2014 $RM -r conftest
2015 $RM conftest*
2016])
2017_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2018 [Does compiler simultaneously support -c and -o options?])
2019])# _LT_COMPILER_C_O
2020
2021
2022# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2023# ----------------------------------
2024# Check to see if we can do hard links to lock some files if needed
2025m4_defun([_LT_COMPILER_FILE_LOCKS],
2026[m4_require([_LT_ENABLE_LOCK])dnl
2027m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2028_LT_COMPILER_C_O([$1])
2029
2030hard_links="nottested"
2031if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2032 # do not overwrite the value of need_locks provided by the user
2033 AC_MSG_CHECKING([if we can lock with hard links])
2034 hard_links=yes
2035 $RM conftest*
2036 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2037 touch conftest.a
2038 ln conftest.a conftest.b 2>&5 || hard_links=no
2039 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2040 AC_MSG_RESULT([$hard_links])
2041 if test "$hard_links" = no; then
2042 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2043 need_locks=warn
2044 fi
2045else
2046 need_locks=no
2047fi
2048_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2049])# _LT_COMPILER_FILE_LOCKS
2050
2051
2052# _LT_CHECK_OBJDIR
2053# ----------------
2054m4_defun([_LT_CHECK_OBJDIR],
2055[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2056[rm -f .libs 2>/dev/null
2057mkdir .libs 2>/dev/null
2058if test -d .libs; then
2059 lt_cv_objdir=.libs
2060else
2061 # MS-DOS does not allow filenames that begin with a dot.
2062 lt_cv_objdir=_libs
2063fi
2064rmdir .libs 2>/dev/null])
2065objdir=$lt_cv_objdir
2066_LT_DECL([], [objdir], [0],
2067 [The name of the directory that contains temporary libtool files])dnl
2068m4_pattern_allow([LT_OBJDIR])dnl
2069AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2070 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2071])# _LT_CHECK_OBJDIR
2072
2073
2074# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2075# --------------------------------------
2076# Check hardcoding attributes.
2077m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2078[AC_MSG_CHECKING([how to hardcode library paths into programs])
2079_LT_TAGVAR(hardcode_action, $1)=
2080if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2081 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2082 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2083
2084 # We can hardcode non-existent directories.
2085 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2086 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2087 # have to relink, otherwise we might link with an installed library
2088 # when we should be linking with a yet-to-be-installed one
2089 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2090 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2091 # Linking always hardcodes the temporary library directory.
2092 _LT_TAGVAR(hardcode_action, $1)=relink
2093 else
2094 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2095 _LT_TAGVAR(hardcode_action, $1)=immediate
2096 fi
2097else
2098 # We cannot hardcode anything, or else we can only hardcode existing
2099 # directories.
2100 _LT_TAGVAR(hardcode_action, $1)=unsupported
2101fi
2102AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2103
2104if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2105 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2106 # Fast installation is not supported
2107 enable_fast_install=no
2108elif test "$shlibpath_overrides_runpath" = yes ||
2109 test "$enable_shared" = no; then
2110 # Fast installation is not necessary
2111 enable_fast_install=needless
2112fi
2113_LT_TAGDECL([], [hardcode_action], [0],
2114 [How to hardcode a shared library path into an executable])
2115])# _LT_LINKER_HARDCODE_LIBPATH
2116
2117
2118# _LT_CMD_STRIPLIB
2119# ----------------
2120m4_defun([_LT_CMD_STRIPLIB],
2121[m4_require([_LT_DECL_EGREP])
2122striplib=
2123old_striplib=
2124AC_MSG_CHECKING([whether stripping libraries is possible])
2125if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2126 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2127 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2128 AC_MSG_RESULT([yes])
2129else
2130# FIXME - insert some real tests, host_os isn't really good enough
2131 case $host_os in
2132 darwin*)
2133 if test -n "$STRIP" ; then
2134 striplib="$STRIP -x"
2135 old_striplib="$STRIP -S"
2136 AC_MSG_RESULT([yes])
2137 else
2138 AC_MSG_RESULT([no])
2139 fi
2140 ;;
2141 *)
2142 AC_MSG_RESULT([no])
2143 ;;
2144 esac
2145fi
2146_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2147_LT_DECL([], [striplib], [1])
2148])# _LT_CMD_STRIPLIB
2149
2150
2151# _LT_SYS_DYNAMIC_LINKER([TAG])
2152# -----------------------------
2153# PORTME Fill in your ld.so characteristics
2154m4_defun([_LT_SYS_DYNAMIC_LINKER],
2155[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2156m4_require([_LT_DECL_EGREP])dnl
2157m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2158m4_require([_LT_DECL_OBJDUMP])dnl
2159m4_require([_LT_DECL_SED])dnl
2160m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2161AC_MSG_CHECKING([dynamic linker characteristics])
2162m4_if([$1],
2163 [], [
2164if test "$GCC" = yes; then
2165 case $host_os in
2166 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2167 *) lt_awk_arg="/^libraries:/" ;;
2168 esac
2169 case $host_os in
2170 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2171 *) lt_sed_strip_eq="s,=/,/,g" ;;
2172 esac
2173 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2174 case $lt_search_path_spec in
2175 *\;*)
2176 # if the path contains ";" then we assume it to be the separator
2177 # otherwise default to the standard path separator (i.e. ":") - it is
2178 # assumed that no part of a normal pathname contains ";" but that should
2179 # okay in the real world where ";" in dirpaths is itself problematic.
2180 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2181 ;;
2182 *)
2183 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2184 ;;
2185 esac
2186 # Ok, now we have the path, separated by spaces, we can step through it
2187 # and add multilib dir if necessary.
2188 lt_tmp_lt_search_path_spec=
2189 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2190 for lt_sys_path in $lt_search_path_spec; do
2191 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2192 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2193 else
2194 test -d "$lt_sys_path" && \
2195 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2196 fi
2197 done
2198 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2199BEGIN {RS=" "; FS="/|\n";} {
2200 lt_foo="";
2201 lt_count=0;
2202 for (lt_i = NF; lt_i > 0; lt_i--) {
2203 if ($lt_i != "" && $lt_i != ".") {
2204 if ($lt_i == "..") {
2205 lt_count++;
2206 } else {
2207 if (lt_count == 0) {
2208 lt_foo="/" $lt_i lt_foo;
2209 } else {
2210 lt_count--;
2211 }
2212 }
2213 }
2214 }
2215 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2216 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2217}'`
2218 # AWK program above erroneously prepends '/' to C:/dos/paths
2219 # for these hosts.
2220 case $host_os in
2221 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2222 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2223 esac
2224 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2225else
2226 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2227fi])
2228library_names_spec=
2229libname_spec='lib$name'
2230soname_spec=
2231shrext_cmds=".so"
2232postinstall_cmds=
2233postuninstall_cmds=
2234finish_cmds=
2235finish_eval=
2236shlibpath_var=
2237shlibpath_overrides_runpath=unknown
2238version_type=none
2239dynamic_linker="$host_os ld.so"
2240sys_lib_dlsearch_path_spec="/lib /usr/lib"
2241need_lib_prefix=unknown
2242hardcode_into_libs=no
2243
2244# when you set need_version to no, make sure it does not cause -set_version
2245# flags to be left without arguments
2246need_version=unknown
2247
2248case $host_os in
2249aix3*)
2250 version_type=linux # correct to gnu/linux during the next big refactor
2251 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2252 shlibpath_var=LIBPATH
2253
2254 # AIX 3 has no versioning support, so we append a major version to the name.
2255 soname_spec='${libname}${release}${shared_ext}$major'
2256 ;;
2257
2258aix[[4-9]]*)
2259 version_type=linux # correct to gnu/linux during the next big refactor
2260 need_lib_prefix=no
2261 need_version=no
2262 hardcode_into_libs=yes
2263 if test "$host_cpu" = ia64; then
2264 # AIX 5 supports IA64
2265 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2266 shlibpath_var=LD_LIBRARY_PATH
2267 else
2268 # With GCC up to 2.95.x, collect2 would create an import file
2269 # for dependence libraries. The import file would start with
2270 # the line `#! .'. This would cause the generated library to
2271 # depend on `.', always an invalid library. This was fixed in
2272 # development snapshots of GCC prior to 3.0.
2273 case $host_os in
2274 aix4 | aix4.[[01]] | aix4.[[01]].*)
2275 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2276 echo ' yes '
2277 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2278 :
2279 else
2280 can_build_shared=no
2281 fi
2282 ;;
2283 esac
2284 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2285 # soname into executable. Probably we can add versioning support to
2286 # collect2, so additional links can be useful in future.
2287 if test "$aix_use_runtimelinking" = yes; then
2288 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2289 # instead of lib<name>.a to let people know that these are not
2290 # typical AIX shared libraries.
2291 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2292 else
2293 # We preserve .a as extension for shared libraries through AIX4.2
2294 # and later when we are not doing run time linking.
2295 library_names_spec='${libname}${release}.a $libname.a'
2296 soname_spec='${libname}${release}${shared_ext}$major'
2297 fi
2298 shlibpath_var=LIBPATH
2299 fi
2300 ;;
2301
2302amigaos*)
2303 case $host_cpu in
2304 powerpc)
2305 # Since July 2007 AmigaOS4 officially supports .so libraries.
2306 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2307 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2308 ;;
2309 m68k)
2310 library_names_spec='$libname.ixlibrary $libname.a'
2311 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2312 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2313 ;;
2314 esac
2315 ;;
2316
2317beos*)
2318 library_names_spec='${libname}${shared_ext}'
2319 dynamic_linker="$host_os ld.so"
2320 shlibpath_var=LIBRARY_PATH
2321 ;;
2322
2323bsdi[[45]]*)
2324 version_type=linux # correct to gnu/linux during the next big refactor
2325 need_version=no
2326 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2327 soname_spec='${libname}${release}${shared_ext}$major'
2328 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2329 shlibpath_var=LD_LIBRARY_PATH
2330 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2331 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2332 # the default ld.so.conf also contains /usr/contrib/lib and
2333 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2334 # libtool to hard-code these into programs
2335 ;;
2336
2337cygwin* | mingw* | pw32* | cegcc*)
2338 version_type=windows
2339 shrext_cmds=".dll"
2340 need_version=no
2341 need_lib_prefix=no
2342
2343 case $GCC,$cc_basename in
2344 yes,*)
2345 # gcc
2346 library_names_spec='$libname.dll.a'
2347 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2348 postinstall_cmds='base_file=`basename \${file}`~
2349 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2350 dldir=$destdir/`dirname \$dlpath`~
2351 test -d \$dldir || mkdir -p \$dldir~
2352 $install_prog $dir/$dlname \$dldir/$dlname~
2353 chmod a+x \$dldir/$dlname~
2354 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2355 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2356 fi'
2357 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2358 dlpath=$dir/\$dldll~
2359 $RM \$dlpath'
2360 shlibpath_overrides_runpath=yes
2361
2362 case $host_os in
2363 cygwin*)
2364 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2365 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2366m4_if([$1], [],[
2367 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2368 ;;
2369 mingw* | cegcc*)
2370 # MinGW DLLs use traditional 'lib' prefix
2371 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2372 ;;
2373 pw32*)
2374 # pw32 DLLs use 'pw' prefix rather than 'lib'
2375 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2376 ;;
2377 esac
2378 dynamic_linker='Win32 ld.exe'
2379 ;;
2380
2381 *,cl*)
2382 # Native MSVC
2383 libname_spec='$name'
2384 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2385 library_names_spec='${libname}.dll.lib'
2386
2387 case $build_os in
2388 mingw*)
2389 sys_lib_search_path_spec=
2390 lt_save_ifs=$IFS
2391 IFS=';'
2392 for lt_path in $LIB
2393 do
2394 IFS=$lt_save_ifs
2395 # Let DOS variable expansion print the short 8.3 style file name.
2396 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2397 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2398 done
2399 IFS=$lt_save_ifs
2400 # Convert to MSYS style.
2401 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2402 ;;
2403 cygwin*)
2404 # Convert to unix form, then to dos form, then back to unix form
2405 # but this time dos style (no spaces!) so that the unix form looks
2406 # like /cygdrive/c/PROGRA~1:/cygdr...
2407 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2408 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2409 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2410 ;;
2411 *)
2412 sys_lib_search_path_spec="$LIB"
2413 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2414 # It is most probably a Windows format PATH.
2415 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2416 else
2417 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2418 fi
2419 # FIXME: find the short name or the path components, as spaces are
2420 # common. (e.g. "Program Files" -> "PROGRA~1")
2421 ;;
2422 esac
2423
2424 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2425 postinstall_cmds='base_file=`basename \${file}`~
2426 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2427 dldir=$destdir/`dirname \$dlpath`~
2428 test -d \$dldir || mkdir -p \$dldir~
2429 $install_prog $dir/$dlname \$dldir/$dlname'
2430 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2431 dlpath=$dir/\$dldll~
2432 $RM \$dlpath'
2433 shlibpath_overrides_runpath=yes
2434 dynamic_linker='Win32 link.exe'
2435 ;;
2436
2437 *)
2438 # Assume MSVC wrapper
2439 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2440 dynamic_linker='Win32 ld.exe'
2441 ;;
2442 esac
2443 # FIXME: first we should search . and the directory the executable is in
2444 shlibpath_var=PATH
2445 ;;
2446
2447darwin* | rhapsody*)
2448 dynamic_linker="$host_os dyld"
2449 version_type=darwin
2450 need_lib_prefix=no
2451 need_version=no
2452 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2453 soname_spec='${libname}${release}${major}$shared_ext'
2454 shlibpath_overrides_runpath=yes
2455 shlibpath_var=DYLD_LIBRARY_PATH
2456 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2457m4_if([$1], [],[
2458 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2459 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2460 ;;
2461
2462dgux*)
2463 version_type=linux # correct to gnu/linux during the next big refactor
2464 need_lib_prefix=no
2465 need_version=no
2466 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2467 soname_spec='${libname}${release}${shared_ext}$major'
2468 shlibpath_var=LD_LIBRARY_PATH
2469 ;;
2470
2471freebsd* | dragonfly*)
2472 # DragonFly does not have aout. When/if they implement a new
2473 # versioning mechanism, adjust this.
2474 if test -x /usr/bin/objformat; then
2475 objformat=`/usr/bin/objformat`
2476 else
2477 case $host_os in
2478 freebsd[[23]].*) objformat=aout ;;
2479 *) objformat=elf ;;
2480 esac
2481 fi
2482 version_type=freebsd-$objformat
2483 case $version_type in
2484 freebsd-elf*)
2485 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2486 need_version=no
2487 need_lib_prefix=no
2488 ;;
2489 freebsd-*)
2490 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2491 need_version=yes
2492 ;;
2493 esac
2494 shlibpath_var=LD_LIBRARY_PATH
2495 case $host_os in
2496 freebsd2.*)
2497 shlibpath_overrides_runpath=yes
2498 ;;
2499 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2500 shlibpath_overrides_runpath=yes
2501 hardcode_into_libs=yes
2502 ;;
2503 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2504 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2505 shlibpath_overrides_runpath=no
2506 hardcode_into_libs=yes
2507 ;;
2508 *) # from 4.6 on, and DragonFly
2509 shlibpath_overrides_runpath=yes
2510 hardcode_into_libs=yes
2511 ;;
2512 esac
2513 ;;
2514
2515gnu*)
2516 version_type=linux # correct to gnu/linux during the next big refactor
2517 need_lib_prefix=no
2518 need_version=no
2519 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2520 soname_spec='${libname}${release}${shared_ext}$major'
2521 shlibpath_var=LD_LIBRARY_PATH
2522 shlibpath_overrides_runpath=no
2523 hardcode_into_libs=yes
2524 ;;
2525
2526haiku*)
2527 version_type=linux # correct to gnu/linux during the next big refactor
2528 need_lib_prefix=no
2529 need_version=no
2530 dynamic_linker="$host_os runtime_loader"
2531 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2532 soname_spec='${libname}${release}${shared_ext}$major'
2533 shlibpath_var=LIBRARY_PATH
2534 shlibpath_overrides_runpath=yes
2535 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2536 hardcode_into_libs=yes
2537 ;;
2538
2539hpux9* | hpux10* | hpux11*)
2540 # Give a soname corresponding to the major version so that dld.sl refuses to
2541 # link against other versions.
2542 version_type=sunos
2543 need_lib_prefix=no
2544 need_version=no
2545 case $host_cpu in
2546 ia64*)
2547 shrext_cmds='.so'
2548 hardcode_into_libs=yes
2549 dynamic_linker="$host_os dld.so"
2550 shlibpath_var=LD_LIBRARY_PATH
2551 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2552 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2553 soname_spec='${libname}${release}${shared_ext}$major'
2554 if test "X$HPUX_IA64_MODE" = X32; then
2555 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2556 else
2557 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2558 fi
2559 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2560 ;;
2561 hppa*64*)
2562 shrext_cmds='.sl'
2563 hardcode_into_libs=yes
2564 dynamic_linker="$host_os dld.sl"
2565 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2566 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2567 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2568 soname_spec='${libname}${release}${shared_ext}$major'
2569 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2570 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2571 ;;
2572 *)
2573 shrext_cmds='.sl'
2574 dynamic_linker="$host_os dld.sl"
2575 shlibpath_var=SHLIB_PATH
2576 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2577 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2578 soname_spec='${libname}${release}${shared_ext}$major'
2579 ;;
2580 esac
2581 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2582 postinstall_cmds='chmod 555 $lib'
2583 # or fails outright, so override atomically:
2584 install_override_mode=555
2585 ;;
2586
2587interix[[3-9]]*)
2588 version_type=linux # correct to gnu/linux during the next big refactor
2589 need_lib_prefix=no
2590 need_version=no
2591 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2592 soname_spec='${libname}${release}${shared_ext}$major'
2593 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2594 shlibpath_var=LD_LIBRARY_PATH
2595 shlibpath_overrides_runpath=no
2596 hardcode_into_libs=yes
2597 ;;
2598
2599irix5* | irix6* | nonstopux*)
2600 case $host_os in
2601 nonstopux*) version_type=nonstopux ;;
2602 *)
2603 if test "$lt_cv_prog_gnu_ld" = yes; then
2604 version_type=linux # correct to gnu/linux during the next big refactor
2605 else
2606 version_type=irix
2607 fi ;;
2608 esac
2609 need_lib_prefix=no
2610 need_version=no
2611 soname_spec='${libname}${release}${shared_ext}$major'
2612 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2613 case $host_os in
2614 irix5* | nonstopux*)
2615 libsuff= shlibsuff=
2616 ;;
2617 *)
2618 case $LD in # libtool.m4 will add one of these switches to LD
2619 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2620 libsuff= shlibsuff= libmagic=32-bit;;
2621 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2622 libsuff=32 shlibsuff=N32 libmagic=N32;;
2623 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2624 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2625 *) libsuff= shlibsuff= libmagic=never-match;;
2626 esac
2627 ;;
2628 esac
2629 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2630 shlibpath_overrides_runpath=no
2631 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2632 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2633 hardcode_into_libs=yes
2634 ;;
2635
2636# No shared lib support for Linux oldld, aout, or coff.
2637linux*oldld* | linux*aout* | linux*coff*)
2638 dynamic_linker=no
2639 ;;
2640
2641# This must be glibc/ELF.
2642linux* | k*bsd*-gnu | kopensolaris*-gnu)
2643 version_type=linux # correct to gnu/linux during the next big refactor
2644 need_lib_prefix=no
2645 need_version=no
2646 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2647 soname_spec='${libname}${release}${shared_ext}$major'
2648 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2649 shlibpath_var=LD_LIBRARY_PATH
2650 shlibpath_overrides_runpath=no
2651
2652 # Some binutils ld are patched to set DT_RUNPATH
2653 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2654 [lt_cv_shlibpath_overrides_runpath=no
2655 save_LDFLAGS=$LDFLAGS
2656 save_libdir=$libdir
2657 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2658 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2659 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2660 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2661 [lt_cv_shlibpath_overrides_runpath=yes])])
2662 LDFLAGS=$save_LDFLAGS
2663 libdir=$save_libdir
2664 ])
2665 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2666
2667 # This implies no fast_install, which is unacceptable.
2668 # Some rework will be needed to allow for fast_install
2669 # before this can be enabled.
2670 hardcode_into_libs=yes
2671
2672 # Append ld.so.conf contents to the search path
2673 if test -f /etc/ld.so.conf; then
2674 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2675 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2676 fi
2677
2678 # We used to test for /lib/ld.so.1 and disable shared libraries on
2679 # powerpc, because MkLinux only supported shared libraries with the
2680 # GNU dynamic linker. Since this was broken with cross compilers,
2681 # most powerpc-linux boxes support dynamic linking these days and
2682 # people can always --disable-shared, the test was removed, and we
2683 # assume the GNU/Linux dynamic linker is in use.
2684 dynamic_linker='GNU/Linux ld.so'
2685 ;;
2686
2687netbsd*)
2688 version_type=sunos
2689 need_lib_prefix=no
2690 need_version=no
2691 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2692 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2693 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2694 dynamic_linker='NetBSD (a.out) ld.so'
2695 else
2696 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2697 soname_spec='${libname}${release}${shared_ext}$major'
2698 dynamic_linker='NetBSD ld.elf_so'
2699 fi
2700 shlibpath_var=LD_LIBRARY_PATH
2701 shlibpath_overrides_runpath=yes
2702 hardcode_into_libs=yes
2703 ;;
2704
2705newsos6)
2706 version_type=linux # correct to gnu/linux during the next big refactor
2707 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2708 shlibpath_var=LD_LIBRARY_PATH
2709 shlibpath_overrides_runpath=yes
2710 ;;
2711
2712*nto* | *qnx*)
2713 version_type=qnx
2714 need_lib_prefix=no
2715 need_version=no
2716 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2717 soname_spec='${libname}${release}${shared_ext}$major'
2718 shlibpath_var=LD_LIBRARY_PATH
2719 shlibpath_overrides_runpath=no
2720 hardcode_into_libs=yes
2721 dynamic_linker='ldqnx.so'
2722 ;;
2723
2724openbsd*)
2725 version_type=sunos
2726 sys_lib_dlsearch_path_spec="/usr/lib"
2727 need_lib_prefix=no
2728 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2729 case $host_os in
2730 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2731 *) need_version=no ;;
2732 esac
2733 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2734 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2735 shlibpath_var=LD_LIBRARY_PATH
2736 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2737 case $host_os in
2738 openbsd2.[[89]] | openbsd2.[[89]].*)
2739 shlibpath_overrides_runpath=no
2740 ;;
2741 *)
2742 shlibpath_overrides_runpath=yes
2743 ;;
2744 esac
2745 else
2746 shlibpath_overrides_runpath=yes
2747 fi
2748 ;;
2749
2750os2*)
2751 libname_spec='$name'
2752 shrext_cmds=".dll"
2753 need_lib_prefix=no
2754 library_names_spec='$libname${shared_ext} $libname.a'
2755 dynamic_linker='OS/2 ld.exe'
2756 shlibpath_var=LIBPATH
2757 ;;
2758
2759osf3* | osf4* | osf5*)
2760 version_type=osf
2761 need_lib_prefix=no
2762 need_version=no
2763 soname_spec='${libname}${release}${shared_ext}$major'
2764 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2765 shlibpath_var=LD_LIBRARY_PATH
2766 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2767 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2768 ;;
2769
2770rdos*)
2771 dynamic_linker=no
2772 ;;
2773
2774solaris*)
2775 version_type=linux # correct to gnu/linux during the next big refactor
2776 need_lib_prefix=no
2777 need_version=no
2778 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2779 soname_spec='${libname}${release}${shared_ext}$major'
2780 shlibpath_var=LD_LIBRARY_PATH
2781 shlibpath_overrides_runpath=yes
2782 hardcode_into_libs=yes
2783 # ldd complains unless libraries are executable
2784 postinstall_cmds='chmod +x $lib'
2785 ;;
2786
2787sunos4*)
2788 version_type=sunos
2789 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2790 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2791 shlibpath_var=LD_LIBRARY_PATH
2792 shlibpath_overrides_runpath=yes
2793 if test "$with_gnu_ld" = yes; then
2794 need_lib_prefix=no
2795 fi
2796 need_version=yes
2797 ;;
2798
2799sysv4 | sysv4.3*)
2800 version_type=linux # correct to gnu/linux during the next big refactor
2801 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2802 soname_spec='${libname}${release}${shared_ext}$major'
2803 shlibpath_var=LD_LIBRARY_PATH
2804 case $host_vendor in
2805 sni)
2806 shlibpath_overrides_runpath=no
2807 need_lib_prefix=no
2808 runpath_var=LD_RUN_PATH
2809 ;;
2810 siemens)
2811 need_lib_prefix=no
2812 ;;
2813 motorola)
2814 need_lib_prefix=no
2815 need_version=no
2816 shlibpath_overrides_runpath=no
2817 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2818 ;;
2819 esac
2820 ;;
2821
2822sysv4*MP*)
2823 if test -d /usr/nec ;then
2824 version_type=linux # correct to gnu/linux during the next big refactor
2825 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2826 soname_spec='$libname${shared_ext}.$major'
2827 shlibpath_var=LD_LIBRARY_PATH
2828 fi
2829 ;;
2830
2831sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2832 version_type=freebsd-elf
2833 need_lib_prefix=no
2834 need_version=no
2835 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2836 soname_spec='${libname}${release}${shared_ext}$major'
2837 shlibpath_var=LD_LIBRARY_PATH
2838 shlibpath_overrides_runpath=yes
2839 hardcode_into_libs=yes
2840 if test "$with_gnu_ld" = yes; then
2841 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2842 else
2843 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2844 case $host_os in
2845 sco3.2v5*)
2846 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2847 ;;
2848 esac
2849 fi
2850 sys_lib_dlsearch_path_spec='/usr/lib'
2851 ;;
2852
2853tpf*)
2854 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2855 version_type=linux # correct to gnu/linux during the next big refactor
2856 need_lib_prefix=no
2857 need_version=no
2858 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2859 shlibpath_var=LD_LIBRARY_PATH
2860 shlibpath_overrides_runpath=no
2861 hardcode_into_libs=yes
2862 ;;
2863
2864uts4*)
2865 version_type=linux # correct to gnu/linux during the next big refactor
2866 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2867 soname_spec='${libname}${release}${shared_ext}$major'
2868 shlibpath_var=LD_LIBRARY_PATH
2869 ;;
2870
2871*)
2872 dynamic_linker=no
2873 ;;
2874esac
2875AC_MSG_RESULT([$dynamic_linker])
2876test "$dynamic_linker" = no && can_build_shared=no
2877
2878variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2879if test "$GCC" = yes; then
2880 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2881fi
2882
2883if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2884 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2885fi
2886if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2887 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2888fi
2889
2890_LT_DECL([], [variables_saved_for_relink], [1],
2891 [Variables whose values should be saved in libtool wrapper scripts and
2892 restored at link time])
2893_LT_DECL([], [need_lib_prefix], [0],
2894 [Do we need the "lib" prefix for modules?])
2895_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2896_LT_DECL([], [version_type], [0], [Library versioning type])
2897_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2898_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2899_LT_DECL([], [shlibpath_overrides_runpath], [0],
2900 [Is shlibpath searched before the hard-coded library search path?])
2901_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2902_LT_DECL([], [library_names_spec], [1],
2903 [[List of archive names. First name is the real one, the rest are links.
2904 The last name is the one that the linker finds with -lNAME]])
2905_LT_DECL([], [soname_spec], [1],
2906 [[The coded name of the library, if different from the real name]])
2907_LT_DECL([], [install_override_mode], [1],
2908 [Permission mode override for installation of shared libraries])
2909_LT_DECL([], [postinstall_cmds], [2],
2910 [Command to use after installation of a shared archive])
2911_LT_DECL([], [postuninstall_cmds], [2],
2912 [Command to use after uninstallation of a shared archive])
2913_LT_DECL([], [finish_cmds], [2],
2914 [Commands used to finish a libtool library installation in a directory])
2915_LT_DECL([], [finish_eval], [1],
2916 [[As "finish_cmds", except a single script fragment to be evaled but
2917 not shown]])
2918_LT_DECL([], [hardcode_into_libs], [0],
2919 [Whether we should hardcode library paths into libraries])
2920_LT_DECL([], [sys_lib_search_path_spec], [2],
2921 [Compile-time system search path for libraries])
2922_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2923 [Run-time system search path for libraries])
2924])# _LT_SYS_DYNAMIC_LINKER
2925
2926
2927# _LT_PATH_TOOL_PREFIX(TOOL)
2928# --------------------------
2929# find a file program which can recognize shared library
2930AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2931[m4_require([_LT_DECL_EGREP])dnl
2932AC_MSG_CHECKING([for $1])
2933AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2934[case $MAGIC_CMD in
2935[[\\/*] | ?:[\\/]*])
2936 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2937 ;;
2938*)
2939 lt_save_MAGIC_CMD="$MAGIC_CMD"
2940 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2941dnl $ac_dummy forces splitting on constant user-supplied paths.
2942dnl POSIX.2 word splitting is done only on the output of word expansions,
2943dnl not every word. This closes a longstanding sh security hole.
2944 ac_dummy="m4_if([$2], , $PATH, [$2])"
2945 for ac_dir in $ac_dummy; do
2946 IFS="$lt_save_ifs"
2947 test -z "$ac_dir" && ac_dir=.
2948 if test -f $ac_dir/$1; then
2949 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2950 if test -n "$file_magic_test_file"; then
2951 case $deplibs_check_method in
2952 "file_magic "*)