diff options
| author | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
| commit | b2f192faabe412adce79534e22efe9fb69ee40e2 (patch) | |
| tree | 7076c49d4286f8a1733650bd8fbc7161af200d57 /meta/packages/jpeg | |
| parent | 2cf0eadf9f730027833af802d7e6c90b44248f80 (diff) | |
| download | poky-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz | |
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/jpeg')
| -rw-r--r-- | meta/packages/jpeg/jpeg-6b/debian.patch | 10014 | ||||
| -rw-r--r-- | meta/packages/jpeg/jpeg-6b/ldflags.patch | 16 | ||||
| -rw-r--r-- | meta/packages/jpeg/jpeg-6b/paths.patch | 77 | ||||
| -rw-r--r-- | meta/packages/jpeg/jpeg-native_6b.bb | 14 | ||||
| -rw-r--r-- | meta/packages/jpeg/jpeg_6b.bb | 36 |
5 files changed, 10157 insertions, 0 deletions
diff --git a/meta/packages/jpeg/jpeg-6b/debian.patch b/meta/packages/jpeg/jpeg-6b/debian.patch new file mode 100644 index 0000000000..823c8e08dc --- /dev/null +++ b/meta/packages/jpeg/jpeg-6b/debian.patch | |||
| @@ -0,0 +1,10014 @@ | |||
| 1 | |||
| 2 | # | ||
| 3 | # Made by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
| 4 | # | ||
| 5 | |||
| 6 | --- jpeg-6b/jpegtran.1~libjpeg6bb-5 | ||
| 7 | +++ jpeg-6b/jpegtran.1 | ||
| 8 | @@ -131,6 +131,24 @@ | ||
| 9 | .B \-rot 180 -trim | ||
| 10 | trims both edges. | ||
| 11 | .PP | ||
| 12 | +We also offer a lossless-crop option, which discards data outside a given | ||
| 13 | +image region but losslessly preserves what is inside. Like the rotate and | ||
| 14 | +flip transforms, lossless crop is restricted by the JPEG format: the upper | ||
| 15 | +left corner of the selected region must fall on an iMCU boundary. If this | ||
| 16 | +does not hold for the given crop parameters, we silently move the upper left | ||
| 17 | +corner up and/or left to make it so, simultaneously increasing the region | ||
| 18 | +dimensions to keep the lower right crop corner unchanged. (Thus, the | ||
| 19 | +output image covers at least the requested region, but may cover more.) | ||
| 20 | + | ||
| 21 | +Note: lossless-crop is an enhancement from http://sylvana.net/jpegcrop/ | ||
| 22 | +that may not be available on non-Debian systems. | ||
| 23 | + | ||
| 24 | +The image can be losslessly cropped by giving the switch: | ||
| 25 | +.TP | ||
| 26 | +.B \-crop WxH+X+Y | ||
| 27 | +Crop to a rectangular subarea of width W, height H starting at point X,Y. | ||
| 28 | +.PP | ||
| 29 | +.PP | ||
| 30 | Another not-strictly-lossless transformation switch is: | ||
| 31 | .TP | ||
| 32 | .B \-grayscale | ||
| 33 | --- jpeg-6b/configure~libjpeg6bb-5 | ||
| 34 | +++ jpeg-6b/configure | ||
| 35 | @@ -52,7 +52,7 @@ | ||
| 36 | includedir='${prefix}/include' | ||
| 37 | oldincludedir='/usr/include' | ||
| 38 | infodir='${prefix}/info' | ||
| 39 | -mandir='${prefix}/man' | ||
| 40 | +mandir='${prefix}/share/man' | ||
| 41 | |||
| 42 | # Initialize some other variables. | ||
| 43 | subdirs= | ||
| 44 | @@ -1559,7 +1559,8 @@ | ||
| 45 | if test "x$LTSTATIC" = xno; then | ||
| 46 | disable_static="--disable-static" | ||
| 47 | fi | ||
| 48 | - $srcdir/ltconfig $disable_shared $disable_static $srcdir/ltmain.sh | ||
| 49 | + chmod a+x $srcdir/ltconfig.new | ||
| 50 | + $srcdir/ltconfig.new $disable_shared $disable_static $srcdir/ltmain.new.sh $host | ||
| 51 | fi | ||
| 52 | |||
| 53 | # Select memory manager depending on user input. | ||
| 54 | --- jpeg-6b/makefile.cfg~libjpeg6bb-5 | ||
| 55 | +++ jpeg-6b/makefile.cfg | ||
| 56 | @@ -17,7 +17,7 @@ | ||
| 57 | binprefix = | ||
| 58 | manprefix = | ||
| 59 | manext = 1 | ||
| 60 | -mandir = $(prefix)/man/man$(manext) | ||
| 61 | +mandir = $(prefix)/share/man/man$(manext) | ||
| 62 | |||
| 63 | # The name of your C compiler: | ||
| 64 | CC= @CC@ | ||
| 65 | @@ -210,6 +210,11 @@ | ||
| 66 | $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h | ||
| 67 | $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h | ||
| 68 | $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h | ||
| 69 | +#<ballombe@debian.org>:mjpegtools require this file to build and header say: | ||
| 70 | +# * These declarations are considered internal to the JPEG library; most | ||
| 71 | +# * applications using the library shouldn't need to include this file. | ||
| 72 | +# So it is not forbidden to use it, therefore it must be installed. | ||
| 73 | + $(INSTALL_DATA) $(srcdir)/jpegint.h $(includedir)/jpegint.h | ||
| 74 | |||
| 75 | clean: | ||
| 76 | $(RM) *.o *.lo libjpeg.a libjpeg.la | ||
| 77 | --- jpeg-6b/jpegtran.c~libjpeg6bb-5 | ||
| 78 | +++ jpeg-6b/jpegtran.c | ||
| 79 | @@ -1,7 +1,7 @@ | ||
| 80 | /* | ||
| 81 | * jpegtran.c | ||
| 82 | * | ||
| 83 | - * Copyright (C) 1995-1997, Thomas G. Lane. | ||
| 84 | + * Copyright (C) 1995-2001, Thomas G. Lane. | ||
| 85 | * This file is part of the Independent JPEG Group's software. | ||
| 86 | * For conditions of distribution and use, see the accompanying README file. | ||
| 87 | * | ||
| 88 | @@ -64,6 +64,7 @@ | ||
| 89 | #endif | ||
| 90 | #if TRANSFORMS_SUPPORTED | ||
| 91 | fprintf(stderr, "Switches for modifying the image:\n"); | ||
| 92 | + fprintf(stderr, " -crop WxH+X+Y Crop to a rectangular subarea\n"); | ||
| 93 | fprintf(stderr, " -grayscale Reduce to grayscale (omit color data)\n"); | ||
| 94 | fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or top-bottom)\n"); | ||
| 95 | fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwise)\n"); | ||
| 96 | @@ -134,6 +135,7 @@ | ||
| 97 | transformoption.transform = JXFORM_NONE; | ||
| 98 | transformoption.trim = FALSE; | ||
| 99 | transformoption.force_grayscale = FALSE; | ||
| 100 | + transformoption.crop = FALSE; | ||
| 101 | cinfo->err->trace_level = 0; | ||
| 102 | |||
| 103 | /* Scan command line options, adjust parameters */ | ||
| 104 | @@ -160,7 +162,7 @@ | ||
| 105 | exit(EXIT_FAILURE); | ||
| 106 | #endif | ||
| 107 | |||
| 108 | - } else if (keymatch(arg, "copy", 1)) { | ||
| 109 | + } else if (keymatch(arg, "copy", 2)) { | ||
| 110 | /* Select which extra markers to copy. */ | ||
| 111 | if (++argn >= argc) /* advance to next argument */ | ||
| 112 | usage(); | ||
| 113 | @@ -173,6 +175,20 @@ | ||
| 114 | } else | ||
| 115 | usage(); | ||
| 116 | |||
| 117 | + } else if (keymatch(arg, "crop", 2)) { | ||
| 118 | + /* Perform lossless cropping. */ | ||
| 119 | +#if TRANSFORMS_SUPPORTED | ||
| 120 | + if (++argn >= argc) /* advance to next argument */ | ||
| 121 | + usage(); | ||
| 122 | + if (! jtransform_parse_crop_spec(&transformoption, argv[argn])) { | ||
| 123 | + fprintf(stderr, "%s: bogus -crop argument '%s'\n", | ||
| 124 | + progname, argv[argn]); | ||
| 125 | + exit(EXIT_FAILURE); | ||
| 126 | + } | ||
| 127 | +#else | ||
| 128 | + select_transform(JXFORM_NONE); /* force an error */ | ||
| 129 | +#endif | ||
| 130 | + | ||
| 131 | } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { | ||
| 132 | /* Enable debug printouts. */ | ||
| 133 | /* On first -d, print version identification */ | ||
| 134 | @@ -342,8 +358,10 @@ | ||
| 135 | jvirt_barray_ptr * src_coef_arrays; | ||
| 136 | jvirt_barray_ptr * dst_coef_arrays; | ||
| 137 | int file_index; | ||
| 138 | - FILE * input_file; | ||
| 139 | - FILE * output_file; | ||
| 140 | + /* We assume all-in-memory processing and can therefore use only a | ||
| 141 | + * single file pointer for sequential input and output operation. | ||
| 142 | + */ | ||
| 143 | + FILE * fp; | ||
| 144 | |||
| 145 | /* On Mac, fetch a command line. */ | ||
| 146 | #ifdef USE_CCOMMAND | ||
| 147 | @@ -406,24 +424,13 @@ | ||
| 148 | |||
| 149 | /* Open the input file. */ | ||
| 150 | if (file_index < argc) { | ||
| 151 | - if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) { | ||
| 152 | + if ((fp = fopen(argv[file_index], READ_BINARY)) == NULL) { | ||
| 153 | fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]); | ||
| 154 | exit(EXIT_FAILURE); | ||
| 155 | } | ||
| 156 | } else { | ||
| 157 | /* default input file is stdin */ | ||
| 158 | - input_file = read_stdin(); | ||
| 159 | - } | ||
| 160 | - | ||
| 161 | - /* Open the output file. */ | ||
| 162 | - if (outfilename != NULL) { | ||
| 163 | - if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) { | ||
| 164 | - fprintf(stderr, "%s: can't open %s\n", progname, outfilename); | ||
| 165 | - exit(EXIT_FAILURE); | ||
| 166 | - } | ||
| 167 | - } else { | ||
| 168 | - /* default output file is stdout */ | ||
| 169 | - output_file = write_stdout(); | ||
| 170 | + fp = read_stdin(); | ||
| 171 | } | ||
| 172 | |||
| 173 | #ifdef PROGRESS_REPORT | ||
| 174 | @@ -431,7 +438,7 @@ | ||
| 175 | #endif | ||
| 176 | |||
| 177 | /* Specify data source for decompression */ | ||
| 178 | - jpeg_stdio_src(&srcinfo, input_file); | ||
| 179 | + jpeg_stdio_src(&srcinfo, fp); | ||
| 180 | |||
| 181 | /* Enable saving of extra markers that we want to copy */ | ||
| 182 | jcopy_markers_setup(&srcinfo, copyoption); | ||
| 183 | @@ -463,11 +470,32 @@ | ||
| 184 | dst_coef_arrays = src_coef_arrays; | ||
| 185 | #endif | ||
| 186 | |||
| 187 | + /* Close input file, if we opened it. | ||
| 188 | + * Note: we assume that jpeg_read_coefficients consumed all input | ||
| 189 | + * until JPEG_REACHED_EOI, and that jpeg_finish_decompress will | ||
| 190 | + * only consume more while (! cinfo->inputctl->eoi_reached). | ||
| 191 | + * We cannot call jpeg_finish_decompress here since we still need the | ||
| 192 | + * virtual arrays allocated from the source object for processing. | ||
| 193 | + */ | ||
| 194 | + if (fp != stdin) | ||
| 195 | + fclose(fp); | ||
| 196 | + | ||
| 197 | + /* Open the output file. */ | ||
| 198 | + if (outfilename != NULL) { | ||
| 199 | + if ((fp = fopen(outfilename, WRITE_BINARY)) == NULL) { | ||
| 200 | + fprintf(stderr, "%s: can't open %s\n", progname, outfilename); | ||
| 201 | + exit(EXIT_FAILURE); | ||
| 202 | + } | ||
| 203 | + } else { | ||
| 204 | + /* default output file is stdout */ | ||
| 205 | + fp = write_stdout(); | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | /* Adjust default compression parameters by re-parsing the options */ | ||
| 209 | file_index = parse_switches(&dstinfo, argc, argv, 0, TRUE); | ||
| 210 | |||
| 211 | /* Specify data destination for compression */ | ||
| 212 | - jpeg_stdio_dest(&dstinfo, output_file); | ||
| 213 | + jpeg_stdio_dest(&dstinfo, fp); | ||
| 214 | |||
| 215 | /* Start compressor (note no image data is actually written here) */ | ||
| 216 | jpeg_write_coefficients(&dstinfo, dst_coef_arrays); | ||
| 217 | @@ -488,11 +516,9 @@ | ||
| 218 | (void) jpeg_finish_decompress(&srcinfo); | ||
| 219 | jpeg_destroy_decompress(&srcinfo); | ||
| 220 | |||
| 221 | - /* Close files, if we opened them */ | ||
| 222 | - if (input_file != stdin) | ||
| 223 | - fclose(input_file); | ||
| 224 | - if (output_file != stdout) | ||
| 225 | - fclose(output_file); | ||
| 226 | + /* Close output file, if we opened it */ | ||
| 227 | + if (fp != stdout) | ||
| 228 | + fclose(fp); | ||
| 229 | |||
| 230 | #ifdef PROGRESS_REPORT | ||
| 231 | end_progress_monitor((j_common_ptr) &dstinfo); | ||
| 232 | --- jpeg-6b/rdjpgcom.c~libjpeg6bb-5 | ||
| 233 | +++ jpeg-6b/rdjpgcom.c | ||
| 234 | @@ -14,6 +14,7 @@ | ||
| 235 | #define JPEG_CJPEG_DJPEG /* to get the command-line config symbols */ | ||
| 236 | #include "jinclude.h" /* get auto-config symbols, <stdio.h> */ | ||
| 237 | |||
| 238 | +#include <locale.h> /*ballombe@debian.org: use locale for isprint*/ | ||
| 239 | #include <ctype.h> /* to declare isupper(), tolower() */ | ||
| 240 | #ifdef USE_SETMODE | ||
| 241 | #include <fcntl.h> /* to declare setmode()'s parameter macros */ | ||
| 242 | @@ -223,7 +224,10 @@ | ||
| 243 | unsigned int length; | ||
| 244 | int ch; | ||
| 245 | int lastch = 0; | ||
| 246 | - | ||
| 247 | +/* ballombe@debian.org Thu, 15 Nov 2001 20:04:47 +0100*/ | ||
| 248 | +/* Set locale properly for isprint*/ | ||
| 249 | + setlocale(LC_CTYPE,""); | ||
| 250 | + | ||
| 251 | /* Get the marker parameter length count */ | ||
| 252 | length = read_2_bytes(); | ||
| 253 | /* Length includes itself, so must be at least 2 */ | ||
| 254 | @@ -254,6 +258,8 @@ | ||
| 255 | length--; | ||
| 256 | } | ||
| 257 | printf("\n"); | ||
| 258 | +/*ballombe@debian.org: revert to C locale*/ | ||
| 259 | + setlocale(LC_CTYPE,"C"); | ||
| 260 | } | ||
| 261 | |||
| 262 | |||
| 263 | --- jpeg-6b/transupp.c~libjpeg6bb-5 | ||
| 264 | +++ jpeg-6b/transupp.c | ||
| 265 | @@ -1,7 +1,7 @@ | ||
| 266 | /* | ||
| 267 | * transupp.c | ||
| 268 | * | ||
| 269 | - * Copyright (C) 1997, Thomas G. Lane. | ||
| 270 | + * Copyright (C) 1997-2001, Thomas G. Lane. | ||
| 271 | * This file is part of the Independent JPEG Group's software. | ||
| 272 | * For conditions of distribution and use, see the accompanying README file. | ||
| 273 | * | ||
| 274 | @@ -20,6 +20,7 @@ | ||
| 275 | #include "jinclude.h" | ||
| 276 | #include "jpeglib.h" | ||
| 277 | #include "transupp.h" /* My own external interface */ | ||
| 278 | +#include <ctype.h> /* to declare isdigit() */ | ||
| 279 | |||
| 280 | |||
| 281 | #if TRANSFORMS_SUPPORTED | ||
| 282 | @@ -28,7 +29,8 @@ | ||
| 283 | * Lossless image transformation routines. These routines work on DCT | ||
| 284 | * coefficient arrays and thus do not require any lossy decompression | ||
| 285 | * or recompression of the image. | ||
| 286 | - * Thanks to Guido Vollbeding for the initial design and code of this feature. | ||
| 287 | + * Thanks to Guido Vollbeding for the initial design and code of this feature, | ||
| 288 | + * and to Ben Jackson for introducing the cropping feature. | ||
| 289 | * | ||
| 290 | * Horizontal flipping is done in-place, using a single top-to-bottom | ||
| 291 | * pass through the virtual source array. It will thus be much the | ||
| 292 | @@ -42,6 +44,13 @@ | ||
| 293 | * arrays for most of the transforms. That could result in much thrashing | ||
| 294 | * if the image is larger than main memory. | ||
| 295 | * | ||
| 296 | + * If cropping or trimming is involved, the destination arrays may be smaller | ||
| 297 | + * than the source arrays. Note it is not possible to do horizontal flip | ||
| 298 | + * in-place when a nonzero Y crop offset is specified, since we'd have to move | ||
| 299 | + * data from one block row to another but the virtual array manager doesn't | ||
| 300 | + * guarantee we can touch more than one row at a time. So in that case, | ||
| 301 | + * we have to use a separate destination array. | ||
| 302 | + * | ||
| 303 | * Some notes about the operating environment of the individual transform | ||
| 304 | * routines: | ||
| 305 | * 1. Both the source and destination virtual arrays are allocated from the | ||
| 306 | @@ -54,20 +63,65 @@ | ||
| 307 | * and we may as well take that as the effective iMCU size. | ||
| 308 | * 4. When "trim" is in effect, the destination's dimensions will be the | ||
| 309 | * trimmed values but the source's will be untrimmed. | ||
| 310 | - * 5. All the routines assume that the source and destination buffers are | ||
| 311 | + * 5. When "crop" is in effect, the destination's dimensions will be the | ||
| 312 | + * cropped values but the source's will be uncropped. Each transform | ||
| 313 | + * routine is responsible for picking up source data starting at the | ||
| 314 | + * correct X and Y offset for the crop region. (The X and Y offsets | ||
| 315 | + * passed to the transform routines are measured in iMCU blocks of the | ||
| 316 | + * destination.) | ||
| 317 | + * 6. All the routines assume that the source and destination buffers are | ||
| 318 | * padded out to a full iMCU boundary. This is true, although for the | ||
| 319 | * source buffer it is an undocumented property of jdcoefct.c. | ||
| 320 | - * Notes 2,3,4 boil down to this: generally we should use the destination's | ||
| 321 | - * dimensions and ignore the source's. | ||
| 322 | */ | ||
| 323 | |||
| 324 | |||
| 325 | LOCAL(void) | ||
| 326 | -do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 327 | - jvirt_barray_ptr *src_coef_arrays) | ||
| 328 | -/* Horizontal flip; done in-place, so no separate dest array is required */ | ||
| 329 | +do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 330 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 331 | + jvirt_barray_ptr *src_coef_arrays, | ||
| 332 | + jvirt_barray_ptr *dst_coef_arrays) | ||
| 333 | +/* Crop. This is only used when no rotate/flip is requested with the crop. */ | ||
| 334 | { | ||
| 335 | - JDIMENSION MCU_cols, comp_width, blk_x, blk_y; | ||
| 336 | + JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks; | ||
| 337 | + int ci, offset_y; | ||
| 338 | + JBLOCKARRAY src_buffer, dst_buffer; | ||
| 339 | + jpeg_component_info *compptr; | ||
| 340 | + | ||
| 341 | + /* We simply have to copy the right amount of data (the destination's | ||
| 342 | + * image size) starting at the given X and Y offsets in the source. | ||
| 343 | + */ | ||
| 344 | + for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 345 | + compptr = dstinfo->comp_info + ci; | ||
| 346 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 347 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 348 | + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 349 | + dst_blk_y += compptr->v_samp_factor) { | ||
| 350 | + dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 351 | + ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, | ||
| 352 | + (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
| 353 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 354 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 355 | + dst_blk_y + y_crop_blocks, | ||
| 356 | + (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 357 | + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 358 | + jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, | ||
| 359 | + dst_buffer[offset_y], | ||
| 360 | + compptr->width_in_blocks); | ||
| 361 | + } | ||
| 362 | + } | ||
| 363 | + } | ||
| 364 | +} | ||
| 365 | + | ||
| 366 | + | ||
| 367 | +LOCAL(void) | ||
| 368 | +do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 369 | + JDIMENSION x_crop_offset, | ||
| 370 | + jvirt_barray_ptr *src_coef_arrays) | ||
| 371 | +/* Horizontal flip; done in-place, so no separate dest array is required. | ||
| 372 | + * NB: this only works when y_crop_offset is zero. | ||
| 373 | + */ | ||
| 374 | +{ | ||
| 375 | + JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks; | ||
| 376 | int ci, k, offset_y; | ||
| 377 | JBLOCKARRAY buffer; | ||
| 378 | JCOEFPTR ptr1, ptr2; | ||
| 379 | @@ -79,17 +133,19 @@ | ||
| 380 | * mirroring by changing the signs of odd-numbered columns. | ||
| 381 | * Partial iMCUs at the right edge are left untouched. | ||
| 382 | */ | ||
| 383 | - MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 384 | + MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 385 | |||
| 386 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 387 | compptr = dstinfo->comp_info + ci; | ||
| 388 | comp_width = MCU_cols * compptr->h_samp_factor; | ||
| 389 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 390 | for (blk_y = 0; blk_y < compptr->height_in_blocks; | ||
| 391 | blk_y += compptr->v_samp_factor) { | ||
| 392 | buffer = (*srcinfo->mem->access_virt_barray) | ||
| 393 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y, | ||
| 394 | (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
| 395 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 396 | + /* Do the mirroring */ | ||
| 397 | for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) { | ||
| 398 | ptr1 = buffer[offset_y][blk_x]; | ||
| 399 | ptr2 = buffer[offset_y][comp_width - blk_x - 1]; | ||
| 400 | @@ -105,6 +161,79 @@ | ||
| 401 | *ptr2++ = -temp1; | ||
| 402 | } | ||
| 403 | } | ||
| 404 | + if (x_crop_blocks > 0) { | ||
| 405 | + /* Now left-justify the portion of the data to be kept. | ||
| 406 | + * We can't use a single jcopy_block_row() call because that routine | ||
| 407 | + * depends on memcpy(), whose behavior is unspecified for overlapping | ||
| 408 | + * source and destination areas. Sigh. | ||
| 409 | + */ | ||
| 410 | + for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) { | ||
| 411 | + jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks, | ||
| 412 | + buffer[offset_y] + blk_x, | ||
| 413 | + (JDIMENSION) 1); | ||
| 414 | + } | ||
| 415 | + } | ||
| 416 | + } | ||
| 417 | + } | ||
| 418 | + } | ||
| 419 | +} | ||
| 420 | + | ||
| 421 | + | ||
| 422 | +LOCAL(void) | ||
| 423 | +do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 424 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 425 | + jvirt_barray_ptr *src_coef_arrays, | ||
| 426 | + jvirt_barray_ptr *dst_coef_arrays) | ||
| 427 | +/* Horizontal flip in general cropping case */ | ||
| 428 | +{ | ||
| 429 | + JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; | ||
| 430 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 431 | + int ci, k, offset_y; | ||
| 432 | + JBLOCKARRAY src_buffer, dst_buffer; | ||
| 433 | + JBLOCKROW src_row_ptr, dst_row_ptr; | ||
| 434 | + JCOEFPTR src_ptr, dst_ptr; | ||
| 435 | + jpeg_component_info *compptr; | ||
| 436 | + | ||
| 437 | + /* Here we must output into a separate array because we can't touch | ||
| 438 | + * different rows of a single virtual array simultaneously. Otherwise, | ||
| 439 | + * this is essentially the same as the routine above. | ||
| 440 | + */ | ||
| 441 | + MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 442 | + | ||
| 443 | + for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 444 | + compptr = dstinfo->comp_info + ci; | ||
| 445 | + comp_width = MCU_cols * compptr->h_samp_factor; | ||
| 446 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 447 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 448 | + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 449 | + dst_blk_y += compptr->v_samp_factor) { | ||
| 450 | + dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 451 | + ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, | ||
| 452 | + (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
| 453 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 454 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 455 | + dst_blk_y + y_crop_blocks, | ||
| 456 | + (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 457 | + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 458 | + dst_row_ptr = dst_buffer[offset_y]; | ||
| 459 | + src_row_ptr = src_buffer[offset_y]; | ||
| 460 | + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { | ||
| 461 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 462 | + /* Do the mirrorable blocks */ | ||
| 463 | + dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 464 | + src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; | ||
| 465 | + /* this unrolled loop doesn't need to know which row it's on... */ | ||
| 466 | + for (k = 0; k < DCTSIZE2; k += 2) { | ||
| 467 | + *dst_ptr++ = *src_ptr++; /* copy even column */ | ||
| 468 | + *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */ | ||
| 469 | + } | ||
| 470 | + } else { | ||
| 471 | + /* Copy last partial block(s) verbatim */ | ||
| 472 | + jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, | ||
| 473 | + dst_row_ptr + dst_blk_x, | ||
| 474 | + (JDIMENSION) 1); | ||
| 475 | + } | ||
| 476 | + } | ||
| 477 | } | ||
| 478 | } | ||
| 479 | } | ||
| 480 | @@ -113,11 +242,13 @@ | ||
| 481 | |||
| 482 | LOCAL(void) | ||
| 483 | do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 484 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 485 | jvirt_barray_ptr *src_coef_arrays, | ||
| 486 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 487 | /* Vertical flip */ | ||
| 488 | { | ||
| 489 | JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; | ||
| 490 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 491 | int ci, i, j, offset_y; | ||
| 492 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 493 | JBLOCKROW src_row_ptr, dst_row_ptr; | ||
| 494 | @@ -131,33 +262,38 @@ | ||
| 495 | * of odd-numbered rows. | ||
| 496 | * Partial iMCUs at the bottom edge are copied verbatim. | ||
| 497 | */ | ||
| 498 | - MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 499 | + MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 500 | |||
| 501 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 502 | compptr = dstinfo->comp_info + ci; | ||
| 503 | comp_height = MCU_rows * compptr->v_samp_factor; | ||
| 504 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 505 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 506 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 507 | dst_blk_y += compptr->v_samp_factor) { | ||
| 508 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 509 | ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, | ||
| 510 | (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
| 511 | - if (dst_blk_y < comp_height) { | ||
| 512 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 513 | /* Row is within the mirrorable area. */ | ||
| 514 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 515 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 516 | - comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor, | ||
| 517 | + comp_height - y_crop_blocks - dst_blk_y - | ||
| 518 | + (JDIMENSION) compptr->v_samp_factor, | ||
| 519 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 520 | } else { | ||
| 521 | /* Bottom-edge blocks will be copied verbatim. */ | ||
| 522 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 523 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y, | ||
| 524 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 525 | + dst_blk_y + y_crop_blocks, | ||
| 526 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 527 | } | ||
| 528 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 529 | - if (dst_blk_y < comp_height) { | ||
| 530 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 531 | /* Row is within the mirrorable area. */ | ||
| 532 | dst_row_ptr = dst_buffer[offset_y]; | ||
| 533 | src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; | ||
| 534 | + src_row_ptr += x_crop_blocks; | ||
| 535 | for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; | ||
| 536 | dst_blk_x++) { | ||
| 537 | dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 538 | @@ -173,7 +309,8 @@ | ||
| 539 | } | ||
| 540 | } else { | ||
| 541 | /* Just copy row verbatim. */ | ||
| 542 | - jcopy_block_row(src_buffer[offset_y], dst_buffer[offset_y], | ||
| 543 | + jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, | ||
| 544 | + dst_buffer[offset_y], | ||
| 545 | compptr->width_in_blocks); | ||
| 546 | } | ||
| 547 | } | ||
| 548 | @@ -184,11 +321,12 @@ | ||
| 549 | |||
| 550 | LOCAL(void) | ||
| 551 | do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 552 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 553 | jvirt_barray_ptr *src_coef_arrays, | ||
| 554 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 555 | /* Transpose source into destination */ | ||
| 556 | { | ||
| 557 | - JDIMENSION dst_blk_x, dst_blk_y; | ||
| 558 | + JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks; | ||
| 559 | int ci, i, j, offset_x, offset_y; | ||
| 560 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 561 | JCOEFPTR src_ptr, dst_ptr; | ||
| 562 | @@ -201,6 +339,8 @@ | ||
| 563 | */ | ||
| 564 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 565 | compptr = dstinfo->comp_info + ci; | ||
| 566 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 567 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 568 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 569 | dst_blk_y += compptr->v_samp_factor) { | ||
| 570 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 571 | @@ -210,11 +350,12 @@ | ||
| 572 | for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; | ||
| 573 | dst_blk_x += compptr->h_samp_factor) { | ||
| 574 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 575 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, | ||
| 576 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 577 | + dst_blk_x + x_crop_blocks, | ||
| 578 | (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 579 | for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { | ||
| 580 | - src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; | ||
| 581 | dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 582 | + src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks]; | ||
| 583 | for (i = 0; i < DCTSIZE; i++) | ||
| 584 | for (j = 0; j < DCTSIZE; j++) | ||
| 585 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 586 | @@ -228,6 +369,7 @@ | ||
| 587 | |||
| 588 | LOCAL(void) | ||
| 589 | do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 590 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 591 | jvirt_barray_ptr *src_coef_arrays, | ||
| 592 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 593 | /* 90 degree rotation is equivalent to | ||
| 594 | @@ -237,6 +379,7 @@ | ||
| 595 | */ | ||
| 596 | { | ||
| 597 | JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; | ||
| 598 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 599 | int ci, i, j, offset_x, offset_y; | ||
| 600 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 601 | JCOEFPTR src_ptr, dst_ptr; | ||
| 602 | @@ -246,11 +389,13 @@ | ||
| 603 | * at the (output) right edge properly. They just get transposed and | ||
| 604 | * not mirrored. | ||
| 605 | */ | ||
| 606 | - MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 607 | + MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 608 | |||
| 609 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 610 | compptr = dstinfo->comp_info + ci; | ||
| 611 | comp_width = MCU_cols * compptr->h_samp_factor; | ||
| 612 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 613 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 614 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 615 | dst_blk_y += compptr->v_samp_factor) { | ||
| 616 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 617 | @@ -259,15 +404,26 @@ | ||
| 618 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 619 | for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; | ||
| 620 | dst_blk_x += compptr->h_samp_factor) { | ||
| 621 | - src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 622 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, | ||
| 623 | - (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 624 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 625 | + /* Block is within the mirrorable area. */ | ||
| 626 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 627 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 628 | + comp_width - x_crop_blocks - dst_blk_x - | ||
| 629 | + (JDIMENSION) compptr->h_samp_factor, | ||
| 630 | + (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 631 | + } else { | ||
| 632 | + /* Edge blocks are transposed but not mirrored. */ | ||
| 633 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 634 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 635 | + dst_blk_x + x_crop_blocks, | ||
| 636 | + (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 637 | + } | ||
| 638 | for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { | ||
| 639 | - src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; | ||
| 640 | - if (dst_blk_x < comp_width) { | ||
| 641 | + dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 642 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 643 | /* Block is within the mirrorable area. */ | ||
| 644 | - dst_ptr = dst_buffer[offset_y] | ||
| 645 | - [comp_width - dst_blk_x - offset_x - 1]; | ||
| 646 | + src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] | ||
| 647 | + [dst_blk_y + offset_y + y_crop_blocks]; | ||
| 648 | for (i = 0; i < DCTSIZE; i++) { | ||
| 649 | for (j = 0; j < DCTSIZE; j++) | ||
| 650 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 651 | @@ -277,7 +433,8 @@ | ||
| 652 | } | ||
| 653 | } else { | ||
| 654 | /* Edge blocks are transposed but not mirrored. */ | ||
| 655 | - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 656 | + src_ptr = src_buffer[offset_x] | ||
| 657 | + [dst_blk_y + offset_y + y_crop_blocks]; | ||
| 658 | for (i = 0; i < DCTSIZE; i++) | ||
| 659 | for (j = 0; j < DCTSIZE; j++) | ||
| 660 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 661 | @@ -292,6 +449,7 @@ | ||
| 662 | |||
| 663 | LOCAL(void) | ||
| 664 | do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 665 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 666 | jvirt_barray_ptr *src_coef_arrays, | ||
| 667 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 668 | /* 270 degree rotation is equivalent to | ||
| 669 | @@ -301,6 +459,7 @@ | ||
| 670 | */ | ||
| 671 | { | ||
| 672 | JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; | ||
| 673 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 674 | int ci, i, j, offset_x, offset_y; | ||
| 675 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 676 | JCOEFPTR src_ptr, dst_ptr; | ||
| 677 | @@ -310,11 +469,13 @@ | ||
| 678 | * at the (output) bottom edge properly. They just get transposed and | ||
| 679 | * not mirrored. | ||
| 680 | */ | ||
| 681 | - MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 682 | + MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 683 | |||
| 684 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 685 | compptr = dstinfo->comp_info + ci; | ||
| 686 | comp_height = MCU_rows * compptr->v_samp_factor; | ||
| 687 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 688 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 689 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 690 | dst_blk_y += compptr->v_samp_factor) { | ||
| 691 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 692 | @@ -324,14 +485,15 @@ | ||
| 693 | for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; | ||
| 694 | dst_blk_x += compptr->h_samp_factor) { | ||
| 695 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 696 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, | ||
| 697 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 698 | + dst_blk_x + x_crop_blocks, | ||
| 699 | (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 700 | for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { | ||
| 701 | dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 702 | - if (dst_blk_y < comp_height) { | ||
| 703 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 704 | /* Block is within the mirrorable area. */ | ||
| 705 | src_ptr = src_buffer[offset_x] | ||
| 706 | - [comp_height - dst_blk_y - offset_y - 1]; | ||
| 707 | + [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; | ||
| 708 | for (i = 0; i < DCTSIZE; i++) { | ||
| 709 | for (j = 0; j < DCTSIZE; j++) { | ||
| 710 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 711 | @@ -341,7 +503,8 @@ | ||
| 712 | } | ||
| 713 | } else { | ||
| 714 | /* Edge blocks are transposed but not mirrored. */ | ||
| 715 | - src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; | ||
| 716 | + src_ptr = src_buffer[offset_x] | ||
| 717 | + [dst_blk_y + offset_y + y_crop_blocks]; | ||
| 718 | for (i = 0; i < DCTSIZE; i++) | ||
| 719 | for (j = 0; j < DCTSIZE; j++) | ||
| 720 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 721 | @@ -356,6 +519,7 @@ | ||
| 722 | |||
| 723 | LOCAL(void) | ||
| 724 | do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 725 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 726 | jvirt_barray_ptr *src_coef_arrays, | ||
| 727 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 728 | /* 180 degree rotation is equivalent to | ||
| 729 | @@ -365,89 +529,93 @@ | ||
| 730 | */ | ||
| 731 | { | ||
| 732 | JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; | ||
| 733 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 734 | int ci, i, j, offset_y; | ||
| 735 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 736 | JBLOCKROW src_row_ptr, dst_row_ptr; | ||
| 737 | JCOEFPTR src_ptr, dst_ptr; | ||
| 738 | jpeg_component_info *compptr; | ||
| 739 | |||
| 740 | - MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 741 | - MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 742 | + MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 743 | + MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 744 | |||
| 745 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 746 | compptr = dstinfo->comp_info + ci; | ||
| 747 | comp_width = MCU_cols * compptr->h_samp_factor; | ||
| 748 | comp_height = MCU_rows * compptr->v_samp_factor; | ||
| 749 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 750 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 751 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 752 | dst_blk_y += compptr->v_samp_factor) { | ||
| 753 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 754 | ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, | ||
| 755 | (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
| 756 | - if (dst_blk_y < comp_height) { | ||
| 757 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 758 | /* Row is within the vertically mirrorable area. */ | ||
| 759 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 760 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 761 | - comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor, | ||
| 762 | + comp_height - y_crop_blocks - dst_blk_y - | ||
| 763 | + (JDIMENSION) compptr->v_samp_factor, | ||
| 764 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 765 | } else { | ||
| 766 | /* Bottom-edge rows are only mirrored horizontally. */ | ||
| 767 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 768 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y, | ||
| 769 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 770 | + dst_blk_y + y_crop_blocks, | ||
| 771 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
| 772 | } | ||
| 773 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 774 | - if (dst_blk_y < comp_height) { | ||
| 775 | + dst_row_ptr = dst_buffer[offset_y]; | ||
| 776 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 777 | /* Row is within the mirrorable area. */ | ||
| 778 | - dst_row_ptr = dst_buffer[offset_y]; | ||
| 779 | src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; | ||
| 780 | - /* Process the blocks that can be mirrored both ways. */ | ||
| 781 | - for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) { | ||
| 782 | + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { | ||
| 783 | dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 784 | - src_ptr = src_row_ptr[comp_width - dst_blk_x - 1]; | ||
| 785 | - for (i = 0; i < DCTSIZE; i += 2) { | ||
| 786 | - /* For even row, negate every odd column. */ | ||
| 787 | - for (j = 0; j < DCTSIZE; j += 2) { | ||
| 788 | - *dst_ptr++ = *src_ptr++; | ||
| 789 | - *dst_ptr++ = - *src_ptr++; | ||
| 790 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 791 | + /* Process the blocks that can be mirrored both ways. */ | ||
| 792 | + src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; | ||
| 793 | + for (i = 0; i < DCTSIZE; i += 2) { | ||
| 794 | + /* For even row, negate every odd column. */ | ||
| 795 | + for (j = 0; j < DCTSIZE; j += 2) { | ||
| 796 | + *dst_ptr++ = *src_ptr++; | ||
| 797 | + *dst_ptr++ = - *src_ptr++; | ||
| 798 | + } | ||
| 799 | + /* For odd row, negate every even column. */ | ||
| 800 | + for (j = 0; j < DCTSIZE; j += 2) { | ||
| 801 | + *dst_ptr++ = - *src_ptr++; | ||
| 802 | + *dst_ptr++ = *src_ptr++; | ||
| 803 | + } | ||
| 804 | } | ||
| 805 | - /* For odd row, negate every even column. */ | ||
| 806 | - for (j = 0; j < DCTSIZE; j += 2) { | ||
| 807 | - *dst_ptr++ = - *src_ptr++; | ||
| 808 | - *dst_ptr++ = *src_ptr++; | ||
| 809 | + } else { | ||
| 810 | + /* Any remaining right-edge blocks are only mirrored vertically. */ | ||
| 811 | + src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x]; | ||
| 812 | + for (i = 0; i < DCTSIZE; i += 2) { | ||
| 813 | + for (j = 0; j < DCTSIZE; j++) | ||
| 814 | + *dst_ptr++ = *src_ptr++; | ||
| 815 | + for (j = 0; j < DCTSIZE; j++) | ||
| 816 | + *dst_ptr++ = - *src_ptr++; | ||
| 817 | } | ||
| 818 | } | ||
| 819 | } | ||
| 820 | - /* Any remaining right-edge blocks are only mirrored vertically. */ | ||
| 821 | - for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { | ||
| 822 | - dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 823 | - src_ptr = src_row_ptr[dst_blk_x]; | ||
| 824 | - for (i = 0; i < DCTSIZE; i += 2) { | ||
| 825 | - for (j = 0; j < DCTSIZE; j++) | ||
| 826 | - *dst_ptr++ = *src_ptr++; | ||
| 827 | - for (j = 0; j < DCTSIZE; j++) | ||
| 828 | - *dst_ptr++ = - *src_ptr++; | ||
| 829 | - } | ||
| 830 | - } | ||
| 831 | } else { | ||
| 832 | /* Remaining rows are just mirrored horizontally. */ | ||
| 833 | - dst_row_ptr = dst_buffer[offset_y]; | ||
| 834 | src_row_ptr = src_buffer[offset_y]; | ||
| 835 | - /* Process the blocks that can be mirrored. */ | ||
| 836 | - for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) { | ||
| 837 | - dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 838 | - src_ptr = src_row_ptr[comp_width - dst_blk_x - 1]; | ||
| 839 | - for (i = 0; i < DCTSIZE2; i += 2) { | ||
| 840 | - *dst_ptr++ = *src_ptr++; | ||
| 841 | - *dst_ptr++ = - *src_ptr++; | ||
| 842 | + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { | ||
| 843 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 844 | + /* Process the blocks that can be mirrored. */ | ||
| 845 | + dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 846 | + src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; | ||
| 847 | + for (i = 0; i < DCTSIZE2; i += 2) { | ||
| 848 | + *dst_ptr++ = *src_ptr++; | ||
| 849 | + *dst_ptr++ = - *src_ptr++; | ||
| 850 | + } | ||
| 851 | + } else { | ||
| 852 | + /* Any remaining right-edge blocks are only copied. */ | ||
| 853 | + jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, | ||
| 854 | + dst_row_ptr + dst_blk_x, | ||
| 855 | + (JDIMENSION) 1); | ||
| 856 | } | ||
| 857 | } | ||
| 858 | - /* Any remaining right-edge blocks are only copied. */ | ||
| 859 | - for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { | ||
| 860 | - dst_ptr = dst_row_ptr[dst_blk_x]; | ||
| 861 | - src_ptr = src_row_ptr[dst_blk_x]; | ||
| 862 | - for (i = 0; i < DCTSIZE2; i++) | ||
| 863 | - *dst_ptr++ = *src_ptr++; | ||
| 864 | - } | ||
| 865 | } | ||
| 866 | } | ||
| 867 | } | ||
| 868 | @@ -457,6 +625,7 @@ | ||
| 869 | |||
| 870 | LOCAL(void) | ||
| 871 | do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 872 | + JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
| 873 | jvirt_barray_ptr *src_coef_arrays, | ||
| 874 | jvirt_barray_ptr *dst_coef_arrays) | ||
| 875 | /* Transverse transpose is equivalent to | ||
| 876 | @@ -470,18 +639,21 @@ | ||
| 877 | */ | ||
| 878 | { | ||
| 879 | JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; | ||
| 880 | + JDIMENSION x_crop_blocks, y_crop_blocks; | ||
| 881 | int ci, i, j, offset_x, offset_y; | ||
| 882 | JBLOCKARRAY src_buffer, dst_buffer; | ||
| 883 | JCOEFPTR src_ptr, dst_ptr; | ||
| 884 | jpeg_component_info *compptr; | ||
| 885 | |||
| 886 | - MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 887 | - MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 888 | + MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE); | ||
| 889 | + MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE); | ||
| 890 | |||
| 891 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 892 | compptr = dstinfo->comp_info + ci; | ||
| 893 | comp_width = MCU_cols * compptr->h_samp_factor; | ||
| 894 | comp_height = MCU_rows * compptr->v_samp_factor; | ||
| 895 | + x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
| 896 | + y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
| 897 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
| 898 | dst_blk_y += compptr->v_samp_factor) { | ||
| 899 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 900 | @@ -490,17 +662,26 @@ | ||
| 901 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
| 902 | for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; | ||
| 903 | dst_blk_x += compptr->h_samp_factor) { | ||
| 904 | - src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 905 | - ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, | ||
| 906 | - (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 907 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 908 | + /* Block is within the mirrorable area. */ | ||
| 909 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 910 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 911 | + comp_width - x_crop_blocks - dst_blk_x - | ||
| 912 | + (JDIMENSION) compptr->h_samp_factor, | ||
| 913 | + (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 914 | + } else { | ||
| 915 | + src_buffer = (*srcinfo->mem->access_virt_barray) | ||
| 916 | + ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
| 917 | + dst_blk_x + x_crop_blocks, | ||
| 918 | + (JDIMENSION) compptr->h_samp_factor, FALSE); | ||
| 919 | + } | ||
| 920 | for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { | ||
| 921 | - if (dst_blk_y < comp_height) { | ||
| 922 | - src_ptr = src_buffer[offset_x] | ||
| 923 | - [comp_height - dst_blk_y - offset_y - 1]; | ||
| 924 | - if (dst_blk_x < comp_width) { | ||
| 925 | + dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 926 | + if (y_crop_blocks + dst_blk_y < comp_height) { | ||
| 927 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 928 | /* Block is within the mirrorable area. */ | ||
| 929 | - dst_ptr = dst_buffer[offset_y] | ||
| 930 | - [comp_width - dst_blk_x - offset_x - 1]; | ||
| 931 | + src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] | ||
| 932 | + [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; | ||
| 933 | for (i = 0; i < DCTSIZE; i++) { | ||
| 934 | for (j = 0; j < DCTSIZE; j++) { | ||
| 935 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 936 | @@ -516,7 +697,8 @@ | ||
| 937 | } | ||
| 938 | } else { | ||
| 939 | /* Right-edge blocks are mirrored in y only */ | ||
| 940 | - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 941 | + src_ptr = src_buffer[offset_x] | ||
| 942 | + [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; | ||
| 943 | for (i = 0; i < DCTSIZE; i++) { | ||
| 944 | for (j = 0; j < DCTSIZE; j++) { | ||
| 945 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 946 | @@ -526,11 +708,10 @@ | ||
| 947 | } | ||
| 948 | } | ||
| 949 | } else { | ||
| 950 | - src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; | ||
| 951 | - if (dst_blk_x < comp_width) { | ||
| 952 | + if (x_crop_blocks + dst_blk_x < comp_width) { | ||
| 953 | /* Bottom-edge blocks are mirrored in x only */ | ||
| 954 | - dst_ptr = dst_buffer[offset_y] | ||
| 955 | - [comp_width - dst_blk_x - offset_x - 1]; | ||
| 956 | + src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] | ||
| 957 | + [dst_blk_y + offset_y + y_crop_blocks]; | ||
| 958 | for (i = 0; i < DCTSIZE; i++) { | ||
| 959 | for (j = 0; j < DCTSIZE; j++) | ||
| 960 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 961 | @@ -540,7 +721,8 @@ | ||
| 962 | } | ||
| 963 | } else { | ||
| 964 | /* At lower right corner, just transpose, no mirroring */ | ||
| 965 | - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; | ||
| 966 | + src_ptr = src_buffer[offset_x] | ||
| 967 | + [dst_blk_y + offset_y + y_crop_blocks]; | ||
| 968 | for (i = 0; i < DCTSIZE; i++) | ||
| 969 | for (j = 0; j < DCTSIZE; j++) | ||
| 970 | dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; | ||
| 971 | @@ -554,8 +736,116 @@ | ||
| 972 | } | ||
| 973 | |||
| 974 | |||
| 975 | +/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec. | ||
| 976 | + * Returns TRUE if valid integer found, FALSE if not. | ||
| 977 | + * *strptr is advanced over the digit string, and *result is set to its value. | ||
| 978 | + */ | ||
| 979 | + | ||
| 980 | +LOCAL(boolean) | ||
| 981 | +jt_read_integer (const char ** strptr, JDIMENSION * result) | ||
| 982 | +{ | ||
| 983 | + const char * ptr = *strptr; | ||
| 984 | + JDIMENSION val = 0; | ||
| 985 | + | ||
| 986 | + for (; isdigit(*ptr); ptr++) { | ||
| 987 | + val = val * 10 + (JDIMENSION) (*ptr - '0'); | ||
| 988 | + } | ||
| 989 | + *result = val; | ||
| 990 | + if (ptr == *strptr) | ||
| 991 | + return FALSE; /* oops, no digits */ | ||
| 992 | + *strptr = ptr; | ||
| 993 | + return TRUE; | ||
| 994 | +} | ||
| 995 | + | ||
| 996 | + | ||
| 997 | +/* Parse a crop specification (written in X11 geometry style). | ||
| 998 | + * The routine returns TRUE if the spec string is valid, FALSE if not. | ||
| 999 | + * | ||
| 1000 | + * The crop spec string should have the format | ||
| 1001 | + * <width>x<height>{+-}<xoffset>{+-}<yoffset> | ||
| 1002 | + * where width, height, xoffset, and yoffset are unsigned integers. | ||
| 1003 | + * Each of the elements can be omitted to indicate a default value. | ||
| 1004 | + * (A weakness of this style is that it is not possible to omit xoffset | ||
| 1005 | + * while specifying yoffset, since they look alike.) | ||
| 1006 | + * | ||
| 1007 | + * This code is loosely based on XParseGeometry from the X11 distribution. | ||
| 1008 | + */ | ||
| 1009 | + | ||
| 1010 | +GLOBAL(boolean) | ||
| 1011 | +jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec) | ||
| 1012 | +{ | ||
| 1013 | + info->crop = FALSE; | ||
| 1014 | + info->crop_width_set = JCROP_UNSET; | ||
| 1015 | + info->crop_height_set = JCROP_UNSET; | ||
| 1016 | + info->crop_xoffset_set = JCROP_UNSET; | ||
| 1017 | + info->crop_yoffset_set = JCROP_UNSET; | ||
| 1018 | + | ||
| 1019 | + if (isdigit(*spec)) { | ||
| 1020 | + /* fetch width */ | ||
| 1021 | + if (! jt_read_integer(&spec, &info->crop_width)) | ||
| 1022 | + return FALSE; | ||
| 1023 | + info->crop_width_set = JCROP_POS; | ||
| 1024 | + } | ||
| 1025 | + if (*spec == 'x' || *spec == 'X') { | ||
| 1026 | + /* fetch height */ | ||
| 1027 | + spec++; | ||
| 1028 | + if (! jt_read_integer(&spec, &info->crop_height)) | ||
| 1029 | + return FALSE; | ||
| 1030 | + info->crop_height_set = JCROP_POS; | ||
| 1031 | + } | ||
| 1032 | + if (*spec == '+' || *spec == '-') { | ||
| 1033 | + /* fetch xoffset */ | ||
| 1034 | + info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; | ||
| 1035 | + spec++; | ||
| 1036 | + if (! jt_read_integer(&spec, &info->crop_xoffset)) | ||
| 1037 | + return FALSE; | ||
| 1038 | + } | ||
| 1039 | + if (*spec == '+' || *spec == '-') { | ||
| 1040 | + /* fetch yoffset */ | ||
| 1041 | + info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; | ||
| 1042 | + spec++; | ||
| 1043 | + if (! jt_read_integer(&spec, &info->crop_yoffset)) | ||
| 1044 | + return FALSE; | ||
| 1045 | + } | ||
| 1046 | + /* We had better have gotten to the end of the string. */ | ||
| 1047 | + if (*spec != '\0') | ||
| 1048 | + return FALSE; | ||
| 1049 | + info->crop = TRUE; | ||
| 1050 | + return TRUE; | ||
| 1051 | +} | ||
| 1052 | + | ||
| 1053 | + | ||
| 1054 | +/* Trim off any partial iMCUs on the indicated destination edge */ | ||
| 1055 | + | ||
| 1056 | +LOCAL(void) | ||
| 1057 | +trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width) | ||
| 1058 | +{ | ||
| 1059 | + JDIMENSION MCU_cols; | ||
| 1060 | + | ||
| 1061 | + MCU_cols = info->output_width / (info->max_h_samp_factor * DCTSIZE); | ||
| 1062 | + if (MCU_cols > 0 && info->x_crop_offset + MCU_cols == | ||
| 1063 | + full_width / (info->max_h_samp_factor * DCTSIZE)) | ||
| 1064 | + info->output_width = MCU_cols * (info->max_h_samp_factor * DCTSIZE); | ||
| 1065 | +} | ||
| 1066 | + | ||
| 1067 | +LOCAL(void) | ||
| 1068 | +trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height) | ||
| 1069 | +{ | ||
| 1070 | + JDIMENSION MCU_rows; | ||
| 1071 | + | ||
| 1072 | + MCU_rows = info->output_height / (info->max_v_samp_factor * DCTSIZE); | ||
| 1073 | + if (MCU_rows > 0 && info->y_crop_offset + MCU_rows == | ||
| 1074 | + full_height / (info->max_v_samp_factor * DCTSIZE)) | ||
| 1075 | + info->output_height = MCU_rows * (info->max_v_samp_factor * DCTSIZE); | ||
| 1076 | +} | ||
| 1077 | + | ||
| 1078 | + | ||
| 1079 | /* Request any required workspace. | ||
| 1080 | * | ||
| 1081 | + * This routine figures out the size that the output image will be | ||
| 1082 | + * (which implies that all the transform parameters must be set before | ||
| 1083 | + * it is called). | ||
| 1084 | + * | ||
| 1085 | * We allocate the workspace virtual arrays from the source decompression | ||
| 1086 | * object, so that all the arrays (both the original data and the workspace) | ||
| 1087 | * will be taken into account while making memory management decisions. | ||
| 1088 | @@ -569,9 +859,13 @@ | ||
| 1089 | jpeg_transform_info *info) | ||
| 1090 | { | ||
| 1091 | jvirt_barray_ptr *coef_arrays = NULL; | ||
| 1092 | + boolean need_workspace, transpose_it; | ||
| 1093 | jpeg_component_info *compptr; | ||
| 1094 | - int ci; | ||
| 1095 | + JDIMENSION xoffset, yoffset, width_in_iMCUs, height_in_iMCUs; | ||
| 1096 | + JDIMENSION width_in_blocks, height_in_blocks; | ||
| 1097 | + int ci, h_samp_factor, v_samp_factor; | ||
| 1098 | |||
| 1099 | + /* Determine number of components in output image */ | ||
| 1100 | if (info->force_grayscale && | ||
| 1101 | srcinfo->jpeg_color_space == JCS_YCbCr && | ||
| 1102 | srcinfo->num_components == 3) { | ||
| 1103 | @@ -581,55 +875,181 @@ | ||
| 1104 | /* Process all the components */ | ||
| 1105 | info->num_components = srcinfo->num_components; | ||
| 1106 | } | ||
| 1107 | + /* If there is only one output component, force the iMCU size to be 1; | ||
| 1108 | + * else use the source iMCU size. (This allows us to do the right thing | ||
| 1109 | + * when reducing color to grayscale, and also provides a handy way of | ||
| 1110 | + * cleaning up "funny" grayscale images whose sampling factors are not 1x1.) | ||
| 1111 | + */ | ||
| 1112 | + | ||
| 1113 | + switch (info->transform) { | ||
| 1114 | + case JXFORM_TRANSPOSE: | ||
| 1115 | + case JXFORM_TRANSVERSE: | ||
| 1116 | + case JXFORM_ROT_90: | ||
| 1117 | + case JXFORM_ROT_270: | ||
| 1118 | + info->output_width = srcinfo->image_height; | ||
| 1119 | + info->output_height = srcinfo->image_width; | ||
| 1120 | + if (info->num_components == 1) { | ||
| 1121 | + info->max_h_samp_factor = 1; | ||
| 1122 | + info->max_v_samp_factor = 1; | ||
| 1123 | + } else { | ||
| 1124 | + info->max_h_samp_factor = srcinfo->max_v_samp_factor; | ||
| 1125 | + info->max_v_samp_factor = srcinfo->max_h_samp_factor; | ||
| 1126 | + } | ||
| 1127 | + break; | ||
| 1128 | + default: | ||
| 1129 | + info->output_width = srcinfo->image_width; | ||
| 1130 | + info->output_height = srcinfo->image_height; | ||
| 1131 | + if (info->num_components == 1) { | ||
| 1132 | + info->max_h_samp_factor = 1; | ||
| 1133 | + info->max_v_samp_factor = 1; | ||
| 1134 | + } else { | ||
| 1135 | + info->max_h_samp_factor = srcinfo->max_h_samp_factor; | ||
| 1136 | + info->max_v_samp_factor = srcinfo->max_v_samp_factor; | ||
| 1137 | + } | ||
| 1138 | + break; | ||
| 1139 | + } | ||
| 1140 | + | ||
| 1141 | + /* If cropping has been requested, compute the crop area's position and | ||
| 1142 | + * dimensions, ensuring that its upper left corner falls at an iMCU boundary. | ||
| 1143 | + */ | ||
| 1144 | + if (info->crop) { | ||
| 1145 | + /* Insert default values for unset crop parameters */ | ||
| 1146 | + if (info->crop_xoffset_set == JCROP_UNSET) | ||
| 1147 | + info->crop_xoffset = 0; /* default to +0 */ | ||
| 1148 | + if (info->crop_yoffset_set == JCROP_UNSET) | ||
| 1149 | + info->crop_yoffset = 0; /* default to +0 */ | ||
| 1150 | + if (info->crop_xoffset >= info->output_width || | ||
| 1151 | + info->crop_yoffset >= info->output_height) | ||
| 1152 | + ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
| 1153 | + if (info->crop_width_set == JCROP_UNSET) | ||
| 1154 | + info->crop_width = info->output_width - info->crop_xoffset; | ||
| 1155 | + if (info->crop_height_set == JCROP_UNSET) | ||
| 1156 | + info->crop_height = info->output_height - info->crop_yoffset; | ||
| 1157 | + /* Ensure parameters are valid */ | ||
| 1158 | + if (info->crop_width <= 0 || info->crop_width > info->output_width || | ||
| 1159 | + info->crop_height <= 0 || info->crop_height > info->output_height || | ||
| 1160 | + info->crop_xoffset > info->output_width - info->crop_width || | ||
| 1161 | + info->crop_yoffset > info->output_height - info->crop_height) | ||
| 1162 | + ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
| 1163 | + /* Convert negative crop offsets into regular offsets */ | ||
| 1164 | + if (info->crop_xoffset_set == JCROP_NEG) | ||
| 1165 | + xoffset = info->output_width - info->crop_width - info->crop_xoffset; | ||
| 1166 | + else | ||
| 1167 | + xoffset = info->crop_xoffset; | ||
| 1168 | + if (info->crop_yoffset_set == JCROP_NEG) | ||
| 1169 | + yoffset = info->output_height - info->crop_height - info->crop_yoffset; | ||
| 1170 | + else | ||
| 1171 | + yoffset = info->crop_yoffset; | ||
| 1172 | + /* Now adjust so that upper left corner falls at an iMCU boundary */ | ||
| 1173 | + info->output_width = | ||
| 1174 | + info->crop_width + (xoffset % (info->max_h_samp_factor * DCTSIZE)); | ||
| 1175 | + info->output_height = | ||
| 1176 | + info->crop_height + (yoffset % (info->max_v_samp_factor * DCTSIZE)); | ||
| 1177 | + /* Save x/y offsets measured in iMCUs */ | ||
| 1178 | + info->x_crop_offset = xoffset / (info->max_h_samp_factor * DCTSIZE); | ||
| 1179 | + info->y_crop_offset = yoffset / (info->max_v_samp_factor * DCTSIZE); | ||
| 1180 | + } else { | ||
| 1181 | + info->x_crop_offset = 0; | ||
| 1182 | + info->y_crop_offset = 0; | ||
| 1183 | + } | ||
| 1184 | |||
| 1185 | + /* Figure out whether we need workspace arrays, | ||
| 1186 | + * and if so whether they are transposed relative to the source. | ||
| 1187 | + */ | ||
| 1188 | + need_workspace = FALSE; | ||
| 1189 | + transpose_it = FALSE; | ||
| 1190 | switch (info->transform) { | ||
| 1191 | case JXFORM_NONE: | ||
| 1192 | + if (info->x_crop_offset != 0 || info->y_crop_offset != 0) | ||
| 1193 | + need_workspace = TRUE; | ||
| 1194 | + /* No workspace needed if neither cropping nor transforming */ | ||
| 1195 | + break; | ||
| 1196 | case JXFORM_FLIP_H: | ||
| 1197 | - /* Don't need a workspace array */ | ||
| 1198 | + if (info->trim) | ||
| 1199 | + trim_right_edge(info, srcinfo->image_width); | ||
| 1200 | + if (info->y_crop_offset != 0) | ||
| 1201 | + need_workspace = TRUE; | ||
| 1202 | + /* do_flip_h_no_crop doesn't need a workspace array */ | ||
| 1203 | break; | ||
| 1204 | case JXFORM_FLIP_V: | ||
| 1205 | - case JXFORM_ROT_180: | ||
| 1206 | - /* Need workspace arrays having same dimensions as source image. | ||
| 1207 | - * Note that we allocate arrays padded out to the next iMCU boundary, | ||
| 1208 | - * so that transform routines need not worry about missing edge blocks. | ||
| 1209 | - */ | ||
| 1210 | - coef_arrays = (jvirt_barray_ptr *) | ||
| 1211 | - (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, | ||
| 1212 | - SIZEOF(jvirt_barray_ptr) * info->num_components); | ||
| 1213 | - for (ci = 0; ci < info->num_components; ci++) { | ||
| 1214 | - compptr = srcinfo->comp_info + ci; | ||
| 1215 | - coef_arrays[ci] = (*srcinfo->mem->request_virt_barray) | ||
| 1216 | - ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE, | ||
| 1217 | - (JDIMENSION) jround_up((long) compptr->width_in_blocks, | ||
| 1218 | - (long) compptr->h_samp_factor), | ||
| 1219 | - (JDIMENSION) jround_up((long) compptr->height_in_blocks, | ||
| 1220 | - (long) compptr->v_samp_factor), | ||
| 1221 | - (JDIMENSION) compptr->v_samp_factor); | ||
| 1222 | - } | ||
| 1223 | + if (info->trim) | ||
| 1224 | + trim_bottom_edge(info, srcinfo->image_height); | ||
| 1225 | + /* Need workspace arrays having same dimensions as source image. */ | ||
| 1226 | + need_workspace = TRUE; | ||
| 1227 | break; | ||
| 1228 | case JXFORM_TRANSPOSE: | ||
| 1229 | + /* transpose does NOT have to trim anything */ | ||
| 1230 | + /* Need workspace arrays having transposed dimensions. */ | ||
| 1231 | + need_workspace = TRUE; | ||
| 1232 | + transpose_it = TRUE; | ||
| 1233 | + break; | ||
| 1234 | case JXFORM_TRANSVERSE: | ||
| 1235 | + if (info->trim) { | ||
| 1236 | + trim_right_edge(info, srcinfo->image_height); | ||
| 1237 | + trim_bottom_edge(info, srcinfo->image_width); | ||
| 1238 | + } | ||
| 1239 | + /* Need workspace arrays having transposed dimensions. */ | ||
| 1240 | + need_workspace = TRUE; | ||
| 1241 | + transpose_it = TRUE; | ||
| 1242 | + break; | ||
| 1243 | case JXFORM_ROT_90: | ||
| 1244 | + if (info->trim) | ||
| 1245 | + trim_right_edge(info, srcinfo->image_height); | ||
| 1246 | + /* Need workspace arrays having transposed dimensions. */ | ||
| 1247 | + need_workspace = TRUE; | ||
| 1248 | + transpose_it = TRUE; | ||
| 1249 | + break; | ||
| 1250 | + case JXFORM_ROT_180: | ||
| 1251 | + if (info->trim) { | ||
| 1252 | + trim_right_edge(info, srcinfo->image_width); | ||
| 1253 | + trim_bottom_edge(info, srcinfo->image_height); | ||
| 1254 | + } | ||
| 1255 | + /* Need workspace arrays having same dimensions as source image. */ | ||
| 1256 | + need_workspace = TRUE; | ||
| 1257 | + break; | ||
| 1258 | case JXFORM_ROT_270: | ||
| 1259 | - /* Need workspace arrays having transposed dimensions. | ||
| 1260 | - * Note that we allocate arrays padded out to the next iMCU boundary, | ||
| 1261 | - * so that transform routines need not worry about missing edge blocks. | ||
| 1262 | - */ | ||
| 1263 | + if (info->trim) | ||
| 1264 | + trim_bottom_edge(info, srcinfo->image_width); | ||
| 1265 | + /* Need workspace arrays having transposed dimensions. */ | ||
| 1266 | + need_workspace = TRUE; | ||
| 1267 | + transpose_it = TRUE; | ||
| 1268 | + break; | ||
| 1269 | + } | ||
| 1270 | + | ||
| 1271 | + /* Allocate workspace if needed. | ||
| 1272 | + * Note that we allocate arrays padded out to the next iMCU boundary, | ||
| 1273 | + * so that transform routines need not worry about missing edge blocks. | ||
| 1274 | + */ | ||
| 1275 | + if (need_workspace) { | ||
| 1276 | coef_arrays = (jvirt_barray_ptr *) | ||
| 1277 | (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, | ||
| 1278 | - SIZEOF(jvirt_barray_ptr) * info->num_components); | ||
| 1279 | + SIZEOF(jvirt_barray_ptr) * info->num_components); | ||
| 1280 | + width_in_iMCUs = (JDIMENSION) | ||
| 1281 | + jdiv_round_up((long) info->output_width, | ||
| 1282 | + (long) (info->max_h_samp_factor * DCTSIZE)); | ||
| 1283 | + height_in_iMCUs = (JDIMENSION) | ||
| 1284 | + jdiv_round_up((long) info->output_height, | ||
| 1285 | + (long) (info->max_v_samp_factor * DCTSIZE)); | ||
| 1286 | for (ci = 0; ci < info->num_components; ci++) { | ||
| 1287 | compptr = srcinfo->comp_info + ci; | ||
| 1288 | + if (info->num_components == 1) { | ||
| 1289 | + /* we're going to force samp factors to 1x1 in this case */ | ||
| 1290 | + h_samp_factor = v_samp_factor = 1; | ||
| 1291 | + } else if (transpose_it) { | ||
| 1292 | + h_samp_factor = compptr->v_samp_factor; | ||
| 1293 | + v_samp_factor = compptr->h_samp_factor; | ||
| 1294 | + } else { | ||
| 1295 | + h_samp_factor = compptr->h_samp_factor; | ||
| 1296 | + v_samp_factor = compptr->v_samp_factor; | ||
| 1297 | + } | ||
| 1298 | + width_in_blocks = width_in_iMCUs * h_samp_factor; | ||
| 1299 | + height_in_blocks = height_in_iMCUs * v_samp_factor; | ||
| 1300 | coef_arrays[ci] = (*srcinfo->mem->request_virt_barray) | ||
| 1301 | ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE, | ||
| 1302 | - (JDIMENSION) jround_up((long) compptr->height_in_blocks, | ||
| 1303 | - (long) compptr->v_samp_factor), | ||
| 1304 | - (JDIMENSION) jround_up((long) compptr->width_in_blocks, | ||
| 1305 | - (long) compptr->h_samp_factor), | ||
| 1306 | - (JDIMENSION) compptr->h_samp_factor); | ||
| 1307 | + width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor); | ||
| 1308 | } | ||
| 1309 | - break; | ||
| 1310 | } | ||
| 1311 | + | ||
| 1312 | info->workspace_coef_arrays = coef_arrays; | ||
| 1313 | } | ||
| 1314 | |||
| 1315 | @@ -642,14 +1062,8 @@ | ||
| 1316 | int tblno, i, j, ci, itemp; | ||
| 1317 | jpeg_component_info *compptr; | ||
| 1318 | JQUANT_TBL *qtblptr; | ||
| 1319 | - JDIMENSION dtemp; | ||
| 1320 | UINT16 qtemp; | ||
| 1321 | |||
| 1322 | - /* Transpose basic image dimensions */ | ||
| 1323 | - dtemp = dstinfo->image_width; | ||
| 1324 | - dstinfo->image_width = dstinfo->image_height; | ||
| 1325 | - dstinfo->image_height = dtemp; | ||
| 1326 | - | ||
| 1327 | /* Transpose sampling factors */ | ||
| 1328 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 1329 | compptr = dstinfo->comp_info + ci; | ||
| 1330 | @@ -674,46 +1088,159 @@ | ||
| 1331 | } | ||
| 1332 | |||
| 1333 | |||
| 1334 | -/* Trim off any partial iMCUs on the indicated destination edge */ | ||
| 1335 | +/* Adjust Exif image parameters. | ||
| 1336 | + * | ||
| 1337 | + * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible. | ||
| 1338 | + */ | ||
| 1339 | |||
| 1340 | LOCAL(void) | ||
| 1341 | -trim_right_edge (j_compress_ptr dstinfo) | ||
| 1342 | +adjust_exif_parameters (JOCTET FAR * data, unsigned int length, | ||
| 1343 | + JDIMENSION new_width, JDIMENSION new_height) | ||
| 1344 | { | ||
| 1345 | - int ci, max_h_samp_factor; | ||
| 1346 | - JDIMENSION MCU_cols; | ||
| 1347 | + boolean is_motorola; /* Flag for byte order */ | ||
| 1348 | + unsigned int number_of_tags, tagnum; | ||
| 1349 | + unsigned int firstoffset, offset; | ||
| 1350 | + JDIMENSION new_value; | ||
| 1351 | |||
| 1352 | - /* We have to compute max_h_samp_factor ourselves, | ||
| 1353 | - * because it hasn't been set yet in the destination | ||
| 1354 | - * (and we don't want to use the source's value). | ||
| 1355 | - */ | ||
| 1356 | - max_h_samp_factor = 1; | ||
| 1357 | - for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 1358 | - int h_samp_factor = dstinfo->comp_info[ci].h_samp_factor; | ||
| 1359 | - max_h_samp_factor = MAX(max_h_samp_factor, h_samp_factor); | ||
| 1360 | + if (length < 12) return; /* Length of an IFD entry */ | ||
| 1361 | + | ||
| 1362 | + /* Discover byte order */ | ||
| 1363 | + if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49) | ||
| 1364 | + is_motorola = FALSE; | ||
| 1365 | + else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D) | ||
| 1366 | + is_motorola = TRUE; | ||
| 1367 | + else | ||
| 1368 | + return; | ||
| 1369 | + | ||
| 1370 | + /* Check Tag Mark */ | ||
| 1371 | + if (is_motorola) { | ||
| 1372 | + if (GETJOCTET(data[2]) != 0) return; | ||
| 1373 | + if (GETJOCTET(data[3]) != 0x2A) return; | ||
| 1374 | + } else { | ||
| 1375 | + if (GETJOCTET(data[3]) != 0) return; | ||
| 1376 | + if (GETJOCTET(data[2]) != 0x2A) return; | ||
| 1377 | } | ||
| 1378 | - MCU_cols = dstinfo->image_width / (max_h_samp_factor * DCTSIZE); | ||
| 1379 | - if (MCU_cols > 0) /* can't trim to 0 pixels */ | ||
| 1380 | - dstinfo->image_width = MCU_cols * (max_h_samp_factor * DCTSIZE); | ||
| 1381 | -} | ||
| 1382 | |||
| 1383 | -LOCAL(void) | ||
| 1384 | -trim_bottom_edge (j_compress_ptr dstinfo) | ||
| 1385 | -{ | ||
| 1386 | - int ci, max_v_samp_factor; | ||
| 1387 | - JDIMENSION MCU_rows; | ||
| 1388 | + /* Get first IFD offset (offset to IFD0) */ | ||
| 1389 | + if (is_motorola) { | ||
| 1390 | + if (GETJOCTET(data[4]) != 0) return; | ||
| 1391 | + if (GETJOCTET(data[5]) != 0) return; | ||
| 1392 | + firstoffset = GETJOCTET(data[6]); | ||
| 1393 | + firstoffset <<= 8; | ||
| 1394 | + firstoffset += GETJOCTET(data[7]); | ||
| 1395 | + } else { | ||
| 1396 | + if (GETJOCTET(data[7]) != 0) return; | ||
| 1397 | + if (GETJOCTET(data[6]) != 0) return; | ||
| 1398 | + firstoffset = GETJOCTET(data[5]); | ||
| 1399 | + firstoffset <<= 8; | ||
| 1400 | + firstoffset += GETJOCTET(data[4]); | ||
| 1401 | + } | ||
| 1402 | + if (firstoffset > length - 2) return; /* check end of data segment */ | ||
| 1403 | |||
| 1404 | - /* We have to compute max_v_samp_factor ourselves, | ||
| 1405 | - * because it hasn't been set yet in the destination | ||
| 1406 | - * (and we don't want to use the source's value). | ||
| 1407 | - */ | ||
| 1408 | - max_v_samp_factor = 1; | ||
| 1409 | - for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
| 1410 | - int v_samp_factor = dstinfo->comp_info[ci].v_samp_factor; | ||
| 1411 | - max_v_samp_factor = MAX(max_v_samp_factor, v_samp_factor); | ||
| 1412 | + /* Get the number of directory entries contained in this IFD */ | ||
| 1413 | + if (is_motorola) { | ||
| 1414 | + number_of_tags = GETJOCTET(data[firstoffset]); | ||
| 1415 | + number_of_tags <<= 8; | ||
| 1416 | + number_of_tags += GETJOCTET(data[firstoffset+1]); | ||
| 1417 | + } else { | ||
| 1418 | + number_of_tags = GETJOCTET(data[firstoffset+1]); | ||
| 1419 | + number_of_tags <<= 8; | ||
| 1420 | + number_of_tags += GETJOCTET(data[firstoffset]); | ||
| 1421 | } | ||
| 1422 | - MCU_rows = dstinfo->image_height / (max_v_samp_factor * DCTSIZE); | ||
| 1423 | - if (MCU_rows > 0) /* can't trim to 0 pixels */ | ||
| 1424 | - dstinfo->image_height = MCU_rows * (max_v_samp_factor * DCTSIZE); | ||
| 1425 | + if (number_of_tags == 0) return; | ||
| 1426 | + firstoffset += 2; | ||
| 1427 | + | ||
| 1428 | + /* Search for ExifSubIFD offset Tag in IFD0 */ | ||
| 1429 | + for (;;) { | ||
| 1430 | + if (firstoffset > length - 12) return; /* check end of data segment */ | ||
| 1431 | + /* Get Tag number */ | ||
| 1432 | + if (is_motorola) { | ||
| 1433 | + tagnum = GETJOCTET(data[firstoffset]); | ||
| 1434 | + tagnum <<= 8; | ||
| 1435 | + tagnum += GETJOCTET(data[firstoffset+1]); | ||
| 1436 | + } else { | ||
| 1437 | + tagnum = GETJOCTET(data[firstoffset+1]); | ||
| 1438 | + tagnum <<= 8; | ||
| 1439 | + tagnum += GETJOCTET(data[firstoffset]); | ||
| 1440 | + } | ||
| 1441 | + if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */ | ||
| 1442 | + if (--number_of_tags == 0) return; | ||
| 1443 | + firstoffset += 12; | ||
| 1444 | + } | ||
| 1445 | + | ||
| 1446 | + /* Get the ExifSubIFD offset */ | ||
| 1447 | + if (is_motorola) { | ||
| 1448 | + if (GETJOCTET(data[firstoffset+8]) != 0) return; | ||
| 1449 | + if (GETJOCTET(data[firstoffset+9]) != 0) return; | ||
| 1450 | + offset = GETJOCTET(data[firstoffset+10]); | ||
| 1451 | + offset <<= 8; | ||
| 1452 | + offset += GETJOCTET(data[firstoffset+11]); | ||
| 1453 | + } else { | ||
| 1454 | + if (GETJOCTET(data[firstoffset+11]) != 0) return; | ||
| 1455 | + if (GETJOCTET(data[firstoffset+10]) != 0) return; | ||
| 1456 | + offset = GETJOCTET(data[firstoffset+9]); | ||
| 1457 | + offset <<= 8; | ||
| 1458 | + offset += GETJOCTET(data[firstoffset+8]); | ||
| 1459 | + } | ||
| 1460 | + if (offset > length - 2) return; /* check end of data segment */ | ||
| 1461 | + | ||
| 1462 | + /* Get the number of directory entries contained in this SubIFD */ | ||
| 1463 | + if (is_motorola) { | ||
| 1464 | + number_of_tags = GETJOCTET(data[offset]); | ||
| 1465 | + number_of_tags <<= 8; | ||
| 1466 | + number_of_tags += GETJOCTET(data[offset+1]); | ||
| 1467 | + } else { | ||
| 1468 | + number_of_tags = GETJOCTET(data[offset+1]); | ||
| 1469 | + number_of_tags <<= 8; | ||
| 1470 | + number_of_tags += GETJOCTET(data[offset]); | ||
| 1471 | + } | ||
| 1472 | + if (number_of_tags < 2) return; | ||
| 1473 | + offset += 2; | ||
| 1474 | + | ||
| 1475 | + /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */ | ||
| 1476 | + do { | ||
| 1477 | + if (offset > length - 12) return; /* check end of data segment */ | ||
| 1478 | + /* Get Tag number */ | ||
| 1479 | + if (is_motorola) { | ||
| 1480 | + tagnum = GETJOCTET(data[offset]); | ||
| 1481 | + tagnum <<= 8; | ||
| 1482 | + tagnum += GETJOCTET(data[offset+1]); | ||
| 1483 | + } else { | ||
| 1484 | + tagnum = GETJOCTET(data[offset+1]); | ||
| 1485 | + tagnum <<= 8; | ||
| 1486 | + tagnum += GETJOCTET(data[offset]); | ||
| 1487 | + } | ||
| 1488 | + if (tagnum == 0xA002 || tagnum == 0xA003) { | ||
| 1489 | + if (tagnum == 0xA002) | ||
| 1490 | + new_value = new_width; /* ExifImageWidth Tag */ | ||
| 1491 | + else | ||
| 1492 | + new_value = new_height; /* ExifImageHeight Tag */ | ||
| 1493 | + if (is_motorola) { | ||
| 1494 | + data[offset+2] = 0; /* Format = unsigned long (4 octets) */ | ||
| 1495 | + data[offset+3] = 4; | ||
| 1496 | + data[offset+4] = 0; /* Number Of Components = 1 */ | ||
| 1497 | + data[offset+5] = 0; | ||
| 1498 | + data[offset+6] = 0; | ||
| 1499 | + data[offset+7] = 1; | ||
| 1500 | + data[offset+8] = 0; | ||
| 1501 | + data[offset+9] = 0; | ||
| 1502 | + data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF); | ||
| 1503 | + data[offset+11] = (JOCTET)(new_value & 0xFF); | ||
| 1504 | + } else { | ||
| 1505 | + data[offset+2] = 4; /* Format = unsigned long (4 octets) */ | ||
| 1506 | + data[offset+3] = 0; | ||
| 1507 | + data[offset+4] = 1; /* Number Of Components = 1 */ | ||
| 1508 | + data[offset+5] = 0; | ||
| 1509 | + data[offset+6] = 0; | ||
| 1510 | + data[offset+7] = 0; | ||
| 1511 | + data[offset+8] = (JOCTET)(new_value & 0xFF); | ||
| 1512 | + data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF); | ||
| 1513 | + data[offset+10] = 0; | ||
| 1514 | + data[offset+11] = 0; | ||
| 1515 | + } | ||
| 1516 | + } | ||
| 1517 | + offset += 12; | ||
| 1518 | + } while (--number_of_tags); | ||
| 1519 | } | ||
| 1520 | |||
| 1521 | |||
| 1522 | @@ -736,18 +1263,22 @@ | ||
| 1523 | { | ||
| 1524 | /* If force-to-grayscale is requested, adjust destination parameters */ | ||
| 1525 | if (info->force_grayscale) { | ||
| 1526 | - /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed | ||
| 1527 | - * properly. Among other things, the target h_samp_factor & v_samp_factor | ||
| 1528 | - * will get set to 1, which typically won't match the source. | ||
| 1529 | - * In fact we do this even if the source is already grayscale; that | ||
| 1530 | - * provides an easy way of coercing a grayscale JPEG with funny sampling | ||
| 1531 | - * factors to the customary 1,1. (Some decoders fail on other factors.) | ||
| 1532 | + /* First, ensure we have YCbCr or grayscale data, and that the source's | ||
| 1533 | + * Y channel is full resolution. (No reasonable person would make Y | ||
| 1534 | + * be less than full resolution, so actually coping with that case | ||
| 1535 | + * isn't worth extra code space. But we check it to avoid crashing.) | ||
| 1536 | */ | ||
| 1537 | - if ((dstinfo->jpeg_color_space == JCS_YCbCr && | ||
| 1538 | - dstinfo->num_components == 3) || | ||
| 1539 | - (dstinfo->jpeg_color_space == JCS_GRAYSCALE && | ||
| 1540 | - dstinfo->num_components == 1)) { | ||
| 1541 | - /* We have to preserve the source's quantization table number. */ | ||
| 1542 | + if (((dstinfo->jpeg_color_space == JCS_YCbCr && | ||
| 1543 | + dstinfo->num_components == 3) || | ||
| 1544 | + (dstinfo->jpeg_color_space == JCS_GRAYSCALE && | ||
| 1545 | + dstinfo->num_components == 1)) && | ||
| 1546 | + srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor && | ||
| 1547 | + srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) { | ||
| 1548 | + /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed | ||
| 1549 | + * properly. Among other things, it sets the target h_samp_factor & | ||
| 1550 | + * v_samp_factor to 1, which typically won't match the source. | ||
| 1551 | + * We have to preserve the source's quantization table number, however. | ||
| 1552 | + */ | ||
| 1553 | int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no; | ||
| 1554 | jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE); | ||
| 1555 | dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no; | ||
| 1556 | @@ -755,50 +1286,52 @@ | ||
| 1557 | /* Sorry, can't do it */ | ||
| 1558 | ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL); | ||
| 1559 | } | ||
| 1560 | + } else if (info->num_components == 1) { | ||
| 1561 | + /* For a single-component source, we force the destination sampling factors | ||
| 1562 | + * to 1x1, with or without force_grayscale. This is useful because some | ||
| 1563 | + * decoders choke on grayscale images with other sampling factors. | ||
| 1564 | + */ | ||
| 1565 | + dstinfo->comp_info[0].h_samp_factor = 1; | ||
| 1566 | + dstinfo->comp_info[0].v_samp_factor = 1; | ||
| 1567 | } | ||
| 1568 | |||
| 1569 | - /* Correct the destination's image dimensions etc if necessary */ | ||
| 1570 | + /* Correct the destination's image dimensions as necessary | ||
| 1571 | + * for crop and rotate/flip operations. | ||
| 1572 | + */ | ||
| 1573 | + dstinfo->image_width = info->output_width; | ||
| 1574 | + dstinfo->image_height = info->output_height; | ||
| 1575 | + | ||
| 1576 | + /* Transpose destination image parameters */ | ||
| 1577 | switch (info->transform) { | ||
| 1578 | - case JXFORM_NONE: | ||
| 1579 | - /* Nothing to do */ | ||
| 1580 | - break; | ||
| 1581 | - case JXFORM_FLIP_H: | ||
| 1582 | - if (info->trim) | ||
| 1583 | - trim_right_edge(dstinfo); | ||
| 1584 | - break; | ||
| 1585 | - case JXFORM_FLIP_V: | ||
| 1586 | - if (info->trim) | ||
| 1587 | - trim_bottom_edge(dstinfo); | ||
| 1588 | - break; | ||
| 1589 | case JXFORM_TRANSPOSE: | ||
| 1590 | - transpose_critical_parameters(dstinfo); | ||
| 1591 | - /* transpose does NOT have to trim anything */ | ||
| 1592 | - break; | ||
| 1593 | case JXFORM_TRANSVERSE: | ||
| 1594 | - transpose_critical_parameters(dstinfo); | ||
| 1595 | - if (info->trim) { | ||
| 1596 | - trim_right_edge(dstinfo); | ||
| 1597 | - trim_bottom_edge(dstinfo); | ||
| 1598 | - } | ||
| 1599 | - break; | ||
| 1600 | case JXFORM_ROT_90: | ||
| 1601 | - transpose_critical_parameters(dstinfo); | ||
| 1602 | - if (info->trim) | ||
| 1603 | - trim_right_edge(dstinfo); | ||
| 1604 | - break; | ||
| 1605 | - case JXFORM_ROT_180: | ||
| 1606 | - if (info->trim) { | ||
| 1607 | - trim_right_edge(dstinfo); | ||
| 1608 | - trim_bottom_edge(dstinfo); | ||
| 1609 | - } | ||
| 1610 | - break; | ||
| 1611 | case JXFORM_ROT_270: | ||
| 1612 | transpose_critical_parameters(dstinfo); | ||
| 1613 | - if (info->trim) | ||
| 1614 | - trim_bottom_edge(dstinfo); | ||
| 1615 | break; | ||
| 1616 | } | ||
| 1617 | |||
| 1618 | + /* Adjust Exif properties */ | ||
| 1619 | + if (srcinfo->marker_list != NULL && | ||
| 1620 | + srcinfo->marker_list->marker == JPEG_APP0+1 && | ||
| 1621 | + srcinfo->marker_list->data_length >= 6 && | ||
| 1622 | + GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 && | ||
| 1623 | + GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 && | ||
| 1624 | + GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 && | ||
| 1625 | + GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 && | ||
| 1626 | + GETJOCTET(srcinfo->marker_list->data[4]) == 0 && | ||
| 1627 | + GETJOCTET(srcinfo->marker_list->data[5]) == 0) { | ||
| 1628 | + /* Suppress output of JFIF marker */ | ||
| 1629 | + dstinfo->write_JFIF_header = FALSE; | ||
| 1630 | + /* Adjust Exif image parameters */ | ||
| 1631 | + if (dstinfo->image_width != srcinfo->image_width || | ||
| 1632 | + dstinfo->image_height != srcinfo->image_height) | ||
| 1633 | + /* Align data segment to start of TIFF structure for parsing */ | ||
| 1634 | + adjust_exif_parameters(srcinfo->marker_list->data + 6, | ||
| 1635 | + srcinfo->marker_list->data_length - 6, | ||
| 1636 | + dstinfo->image_width, dstinfo->image_height); | ||
| 1637 | + } | ||
| 1638 | + | ||
| 1639 | /* Return the appropriate output data set */ | ||
| 1640 | if (info->workspace_coef_arrays != NULL) | ||
| 1641 | return info->workspace_coef_arrays; | ||
| 1642 | @@ -816,36 +1349,53 @@ | ||
| 1643 | */ | ||
| 1644 | |||
| 1645 | GLOBAL(void) | ||
| 1646 | -jtransform_execute_transformation (j_decompress_ptr srcinfo, | ||
| 1647 | - j_compress_ptr dstinfo, | ||
| 1648 | - jvirt_barray_ptr *src_coef_arrays, | ||
| 1649 | - jpeg_transform_info *info) | ||
| 1650 | +jtransform_execute_transform (j_decompress_ptr srcinfo, | ||
| 1651 | + j_compress_ptr dstinfo, | ||
| 1652 | + jvirt_barray_ptr *src_coef_arrays, | ||
| 1653 | + jpeg_transform_info *info) | ||
| 1654 | { | ||
| 1655 | jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays; | ||
| 1656 | |||
| 1657 | + /* Note: conditions tested here should match those in switch statement | ||
| 1658 | + * in jtransform_request_workspace() | ||
| 1659 | + */ | ||
| 1660 | switch (info->transform) { | ||
| 1661 | case JXFORM_NONE: | ||
| 1662 | + if (info->x_crop_offset != 0 || info->y_crop_offset != 0) | ||
| 1663 | + do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1664 | + src_coef_arrays, dst_coef_arrays); | ||
| 1665 | break; | ||
| 1666 | case JXFORM_FLIP_H: | ||
| 1667 | - do_flip_h(srcinfo, dstinfo, src_coef_arrays); | ||
| 1668 | + if (info->y_crop_offset != 0) | ||
| 1669 | + do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1670 | + src_coef_arrays, dst_coef_arrays); | ||
| 1671 | + else | ||
| 1672 | + do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset, | ||
| 1673 | + src_coef_arrays); | ||
| 1674 | break; | ||
| 1675 | case JXFORM_FLIP_V: | ||
| 1676 | - do_flip_v(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1677 | + do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1678 | + src_coef_arrays, dst_coef_arrays); | ||
| 1679 | break; | ||
| 1680 | case JXFORM_TRANSPOSE: | ||
| 1681 | - do_transpose(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1682 | + do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1683 | + src_coef_arrays, dst_coef_arrays); | ||
| 1684 | break; | ||
| 1685 | case JXFORM_TRANSVERSE: | ||
| 1686 | - do_transverse(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1687 | + do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1688 | + src_coef_arrays, dst_coef_arrays); | ||
| 1689 | break; | ||
| 1690 | case JXFORM_ROT_90: | ||
| 1691 | - do_rot_90(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1692 | + do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1693 | + src_coef_arrays, dst_coef_arrays); | ||
| 1694 | break; | ||
| 1695 | case JXFORM_ROT_180: | ||
| 1696 | - do_rot_180(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1697 | + do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1698 | + src_coef_arrays, dst_coef_arrays); | ||
| 1699 | break; | ||
| 1700 | case JXFORM_ROT_270: | ||
| 1701 | - do_rot_270(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); | ||
| 1702 | + do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
| 1703 | + src_coef_arrays, dst_coef_arrays); | ||
| 1704 | break; | ||
| 1705 | } | ||
| 1706 | } | ||
| 1707 | --- jpeg-6b/jerror.h~libjpeg6bb-5 | ||
| 1708 | +++ jpeg-6b/jerror.h | ||
| 1709 | @@ -45,6 +45,7 @@ | ||
| 1710 | JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") | ||
| 1711 | JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") | ||
| 1712 | JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") | ||
| 1713 | +JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") | ||
| 1714 | JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range") | ||
| 1715 | JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported") | ||
| 1716 | JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") | ||
| 1717 | --- jpeg-6b/transupp.h~libjpeg6bb-5 | ||
| 1718 | +++ jpeg-6b/transupp.h | ||
| 1719 | @@ -1,7 +1,7 @@ | ||
| 1720 | /* | ||
| 1721 | * transupp.h | ||
| 1722 | * | ||
| 1723 | - * Copyright (C) 1997, Thomas G. Lane. | ||
| 1724 | + * Copyright (C) 1997-2001, Thomas G. Lane. | ||
| 1725 | * This file is part of the Independent JPEG Group's software. | ||
| 1726 | * For conditions of distribution and use, see the accompanying README file. | ||
| 1727 | * | ||
| 1728 | @@ -22,32 +22,6 @@ | ||
| 1729 | #define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */ | ||
| 1730 | #endif | ||
| 1731 | |||
| 1732 | -/* Short forms of external names for systems with brain-damaged linkers. */ | ||
| 1733 | - | ||
| 1734 | -#ifdef NEED_SHORT_EXTERNAL_NAMES | ||
| 1735 | -#define jtransform_request_workspace jTrRequest | ||
| 1736 | -#define jtransform_adjust_parameters jTrAdjust | ||
| 1737 | -#define jtransform_execute_transformation jTrExec | ||
| 1738 | -#define jcopy_markers_setup jCMrkSetup | ||
| 1739 | -#define jcopy_markers_execute jCMrkExec | ||
| 1740 | -#endif /* NEED_SHORT_EXTERNAL_NAMES */ | ||
| 1741 | - | ||
| 1742 | - | ||
| 1743 | -/* | ||
| 1744 | - * Codes for supported types of image transformations. | ||
| 1745 | - */ | ||
| 1746 | - | ||
| 1747 | -typedef enum { | ||
| 1748 | - JXFORM_NONE, /* no transformation */ | ||
| 1749 | - JXFORM_FLIP_H, /* horizontal flip */ | ||
| 1750 | - JXFORM_FLIP_V, /* vertical flip */ | ||
| 1751 | - JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */ | ||
| 1752 | - JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ | ||
| 1753 | - JXFORM_ROT_90, /* 90-degree clockwise rotation */ | ||
| 1754 | - JXFORM_ROT_180, /* 180-degree rotation */ | ||
| 1755 | - JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ | ||
| 1756 | -} JXFORM_CODE; | ||
| 1757 | - | ||
| 1758 | /* | ||
| 1759 | * Although rotating and flipping data expressed as DCT coefficients is not | ||
| 1760 | * hard, there is an asymmetry in the JPEG format specification for images | ||
| 1761 | @@ -75,6 +49,19 @@ | ||
| 1762 | * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim | ||
| 1763 | * followed by -rot 180 -trim trims both edges.) | ||
| 1764 | * | ||
| 1765 | + * We also offer a lossless-crop option, which discards data outside a given | ||
| 1766 | + * image region but losslessly preserves what is inside. Like the rotate and | ||
| 1767 | + * flip transforms, lossless crop is restricted by the JPEG format: the upper | ||
| 1768 | + * left corner of the selected region must fall on an iMCU boundary. If this | ||
| 1769 | + * does not hold for the given crop parameters, we silently move the upper left | ||
| 1770 | + * corner up and/or left to make it so, simultaneously increasing the region | ||
| 1771 | + * dimensions to keep the lower right crop corner unchanged. (Thus, the | ||
| 1772 | + * output image covers at least the requested region, but may cover more.) | ||
| 1773 | + * | ||
| 1774 | + * If both crop and a rotate/flip transform are requested, the crop is applied | ||
| 1775 | + * last --- that is, the crop region is specified in terms of the destination | ||
| 1776 | + * image. | ||
| 1777 | + * | ||
| 1778 | * We also offer a "force to grayscale" option, which simply discards the | ||
| 1779 | * chrominance channels of a YCbCr image. This is lossless in the sense that | ||
| 1780 | * the luminance channel is preserved exactly. It's not the same kind of | ||
| 1781 | @@ -83,20 +70,87 @@ | ||
| 1782 | * be aware of the option to know how many components to work on. | ||
| 1783 | */ | ||
| 1784 | |||
| 1785 | + | ||
| 1786 | +/* Short forms of external names for systems with brain-damaged linkers. */ | ||
| 1787 | + | ||
| 1788 | +#ifdef NEED_SHORT_EXTERNAL_NAMES | ||
| 1789 | +#define jtransform_parse_crop_spec jTrParCrop | ||
| 1790 | +#define jtransform_request_workspace jTrRequest | ||
| 1791 | +#define jtransform_adjust_parameters jTrAdjust | ||
| 1792 | +#define jtransform_execute_transform jTrExec | ||
| 1793 | +#define jcopy_markers_setup jCMrkSetup | ||
| 1794 | +#define jcopy_markers_execute jCMrkExec | ||
| 1795 | +#endif /* NEED_SHORT_EXTERNAL_NAMES */ | ||
| 1796 | + | ||
| 1797 | + | ||
| 1798 | +/* | ||
| 1799 | + * Codes for supported types of image transformations. | ||
| 1800 | + */ | ||
| 1801 | + | ||
| 1802 | +typedef enum { | ||
| 1803 | + JXFORM_NONE, /* no transformation */ | ||
| 1804 | + JXFORM_FLIP_H, /* horizontal flip */ | ||
| 1805 | + JXFORM_FLIP_V, /* vertical flip */ | ||
| 1806 | + JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */ | ||
| 1807 | + JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ | ||
| 1808 | + JXFORM_ROT_90, /* 90-degree clockwise rotation */ | ||
| 1809 | + JXFORM_ROT_180, /* 180-degree rotation */ | ||
| 1810 | + JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ | ||
| 1811 | +} JXFORM_CODE; | ||
| 1812 | + | ||
| 1813 | +/* | ||
| 1814 | + * Codes for crop parameters, which can individually be unspecified, | ||
| 1815 | + * positive, or negative. (Negative width or height makes no sense, though.) | ||
| 1816 | + */ | ||
| 1817 | + | ||
| 1818 | +typedef enum { | ||
| 1819 | + JCROP_UNSET, | ||
| 1820 | + JCROP_POS, | ||
| 1821 | + JCROP_NEG | ||
| 1822 | +} JCROP_CODE; | ||
| 1823 | + | ||
| 1824 | +/* | ||
| 1825 | + * Transform parameters struct. | ||
| 1826 | + * NB: application must not change any elements of this struct after | ||
| 1827 | + * calling jtransform_request_workspace. | ||
| 1828 | + */ | ||
| 1829 | + | ||
| 1830 | typedef struct { | ||
| 1831 | /* Options: set by caller */ | ||
| 1832 | JXFORM_CODE transform; /* image transform operator */ | ||
| 1833 | boolean trim; /* if TRUE, trim partial MCUs as needed */ | ||
| 1834 | boolean force_grayscale; /* if TRUE, convert color image to grayscale */ | ||
| 1835 | + boolean crop; /* if TRUE, crop source image */ | ||
| 1836 | + | ||
| 1837 | + /* Crop parameters: application need not set these unless crop is TRUE. | ||
| 1838 | + * These can be filled in by jtransform_parse_crop_spec(). | ||
| 1839 | + */ | ||
| 1840 | + JDIMENSION crop_width; /* Width of selected region */ | ||
| 1841 | + JCROP_CODE crop_width_set; | ||
| 1842 | + JDIMENSION crop_height; /* Height of selected region */ | ||
| 1843 | + JCROP_CODE crop_height_set; | ||
| 1844 | + JDIMENSION crop_xoffset; /* X offset of selected region */ | ||
| 1845 | + JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */ | ||
| 1846 | + JDIMENSION crop_yoffset; /* Y offset of selected region */ | ||
| 1847 | + JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */ | ||
| 1848 | |||
| 1849 | /* Internal workspace: caller should not touch these */ | ||
| 1850 | int num_components; /* # of components in workspace */ | ||
| 1851 | jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */ | ||
| 1852 | + JDIMENSION output_width; /* cropped destination dimensions */ | ||
| 1853 | + JDIMENSION output_height; | ||
| 1854 | + JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */ | ||
| 1855 | + JDIMENSION y_crop_offset; | ||
| 1856 | + int max_h_samp_factor; /* destination iMCU size */ | ||
| 1857 | + int max_v_samp_factor; | ||
| 1858 | } jpeg_transform_info; | ||
| 1859 | |||
| 1860 | |||
| 1861 | #if TRANSFORMS_SUPPORTED | ||
| 1862 | |||
| 1863 | +/* Parse a crop specification (written in X11 geometry style) */ | ||
| 1864 | +EXTERN(boolean) jtransform_parse_crop_spec | ||
| 1865 | + JPP((jpeg_transform_info *info, const char *spec)); | ||
| 1866 | /* Request any required workspace */ | ||
| 1867 | EXTERN(void) jtransform_request_workspace | ||
| 1868 | JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info)); | ||
| 1869 | @@ -106,11 +160,18 @@ | ||
| 1870 | jvirt_barray_ptr *src_coef_arrays, | ||
| 1871 | jpeg_transform_info *info)); | ||
| 1872 | /* Execute the actual transformation, if any */ | ||
| 1873 | -EXTERN(void) jtransform_execute_transformation | ||
| 1874 | +EXTERN(void) jtransform_execute_transform | ||
| 1875 | JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
| 1876 | jvirt_barray_ptr *src_coef_arrays, | ||
| 1877 | jpeg_transform_info *info)); | ||
| 1878 | |||
| 1879 | +/* jtransform_execute_transform used to be called | ||
| 1880 | + * jtransform_execute_transformation, but some compilers complain about | ||
| 1881 | + * routine names that long. This macro is here to avoid breaking any | ||
| 1882 | + * old source code that uses the original name... | ||
| 1883 | + */ | ||
| 1884 | +#define jtransform_execute_transformation jtransform_execute_transform | ||
| 1885 | + | ||
| 1886 | #endif /* TRANSFORMS_SUPPORTED */ | ||
| 1887 | |||
| 1888 | |||
| 1889 | --- jpeg-6b/config.guess~libjpeg6bb-5 | ||
| 1890 | +++ jpeg-6b/config.guess | ||
| 1891 | @@ -1,4 +1,10 @@ | ||
| 1892 | #! /bin/sh | ||
| 1893 | +# autotools-dev hack (<ballombe@debian.org>, Wed, 14 Nov 2001 10:13:10 +0100) | ||
| 1894 | +if [ -x /usr/share/misc/config.guess ]; then | ||
| 1895 | + /usr/share/misc/config.guess $* | ||
| 1896 | + exit $? | ||
| 1897 | +fi | ||
| 1898 | + | ||
| 1899 | # Attempt to guess a canonical system name. | ||
| 1900 | # Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. | ||
| 1901 | # | ||
| 1902 | --- jpeg-6b/config.sub~libjpeg6bb-5 | ||
| 1903 | +++ jpeg-6b/config.sub | ||
| 1904 | @@ -1,4 +1,10 @@ | ||
| 1905 | #! /bin/sh | ||
| 1906 | +# autotools-dev hack (<ballombe@debian.org>, Wed, 14 Nov 2001 10:13:10 +0100) | ||
| 1907 | +if [ -x /usr/share/misc/config.sub ]; then | ||
| 1908 | + /usr/share/misc/config.sub $* | ||
| 1909 | + exit $? | ||
| 1910 | +fi | ||
| 1911 | + | ||
| 1912 | # Configuration validation subroutine script, version 1.1. | ||
| 1913 | # Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. | ||
| 1914 | # This file is (in principle) common to ALL GNU software. | ||
| 1915 | --- /dev/null | ||
| 1916 | +++ jpeg-6b/libtool.cfg | ||
| 1917 | @@ -0,0 +1,224 @@ | ||
| 1918 | +# libtool.cfg - Libtool configuration file. | ||
| 1919 | +# Generated automatically by ltconfig (GNU libtool 1.3.3 (1.385.2.181 1999/07/02 15:49:11)) | ||
| 1920 | +# Libtool was configured as follows, on host yellowpig: | ||
| 1921 | +# | ||
| 1922 | +# CC="old_CC" CFLAGS="old_CFLAGS" CPPFLAGS="old_CPPFLAGS" \ | ||
| 1923 | +# LD="old_LD" LDFLAGS="old_LDFLAGS" LIBS="old_LIBS" \ | ||
| 1924 | +# NM="old_NM" RANLIB="old_RANLIB" LN_S="old_LN_S" \ | ||
| 1925 | +# DLLTOOL="old_DLLTOOL" OBJDUMP="old_OBJDUMP" AS="old_AS" \ | ||
| 1926 | +# ./ltconfig.new ./ltmain.sh.new i386-gnu | ||
| 1927 | +# | ||
| 1928 | +# Compiler and other test output produced by ltconfig.new, useful for | ||
| 1929 | +# debugging ltconfig.new, is in ./config.log if it exists. | ||
| 1930 | + | ||
| 1931 | +# The version of ltconfig.new that generated this script. | ||
| 1932 | +LTCONFIG_VERSION=1.3.3 | ||
| 1933 | + | ||
| 1934 | +# Shell to use when invoking shell scripts. | ||
| 1935 | +SHELL=/bin/sh | ||
| 1936 | + | ||
| 1937 | +# Whether or not to build shared libraries. | ||
| 1938 | +build_libtool_libs=yes | ||
| 1939 | + | ||
| 1940 | +# Whether or not to build static libraries. | ||
| 1941 | +build_old_libs=yes | ||
| 1942 | + | ||
| 1943 | +# Whether or not to optimize for fast installation. | ||
| 1944 | +fast_install=yes | ||
| 1945 | + | ||
| 1946 | +# The host system. | ||
| 1947 | +host_alias=i386-gnu | ||
| 1948 | +host=i386-pc-gnu | ||
| 1949 | + | ||
| 1950 | +# An echo program that does not interpret backslashes. | ||
| 1951 | +echo=echo | ||
| 1952 | + | ||
| 1953 | +# The archiver. | ||
| 1954 | +AR=ar | ||
| 1955 | + | ||
| 1956 | +# The default C compiler. | ||
| 1957 | +CC=gcc | ||
| 1958 | + | ||
| 1959 | +# The linker used to build libraries. | ||
| 1960 | +LD=/usr/bin/ld | ||
| 1961 | + | ||
| 1962 | +# Whether we need hard or soft links. | ||
| 1963 | +LN_S=ln -s | ||
| 1964 | + | ||
| 1965 | +# A BSD-compatible nm program. | ||
| 1966 | +NM=/usr/bin/nm -B | ||
| 1967 | + | ||
| 1968 | +# Used on cygwin: DLL creation program. | ||
| 1969 | +DLLTOOL="dlltool" | ||
| 1970 | + | ||
| 1971 | +# Used on cygwin: object dumper. | ||
| 1972 | +OBJDUMP="objdump" | ||
| 1973 | + | ||
| 1974 | +# Used on cygwin: assembler. | ||
| 1975 | +AS="as" | ||
| 1976 | + | ||
| 1977 | +# The name of the directory that contains temporary libtool files. | ||
| 1978 | +objdir=.libs | ||
| 1979 | + | ||
| 1980 | +# How to create reloadable object files. | ||
| 1981 | +reload_flag= -r | ||
| 1982 | +reload_cmds=$LD$reload_flag -o $output$reload_objs | ||
| 1983 | + | ||
| 1984 | +# How to pass a linker flag through the compiler. | ||
| 1985 | +wl=-Wl, | ||
| 1986 | + | ||
| 1987 | +# Object file suffix (normally "o"). | ||
| 1988 | +objext="o" | ||
| 1989 | + | ||
| 1990 | +# Old archive suffix (normally "a"). | ||
| 1991 | +libext="a" | ||
| 1992 | + | ||
| 1993 | +# Executable file suffix (normally ""). | ||
| 1994 | +exeext="" | ||
| 1995 | + | ||
| 1996 | +# Additional compiler flags for building library objects. | ||
| 1997 | +pic_flag= -fPIC | ||
| 1998 | + | ||
| 1999 | +# Does compiler simultaneously support -c and -o options? | ||
| 2000 | +compiler_c_o=yes | ||
| 2001 | + | ||
| 2002 | +# Can we write directly to a .lo ? | ||
| 2003 | +compiler_o_lo=yes | ||
| 2004 | + | ||
| 2005 | +# Must we lock files when doing compilation ? | ||
| 2006 | +need_locks=no | ||
| 2007 | + | ||
| 2008 | +# Do we need the lib prefix for modules? | ||
| 2009 | +need_lib_prefix=no | ||
| 2010 | + | ||
| 2011 | +# Do we need a version for libraries? | ||
| 2012 | +need_version=no | ||
| 2013 | + | ||
| 2014 | +# Whether dlopen is supported. | ||
| 2015 | +dlopen=unknown | ||
| 2016 | + | ||
| 2017 | +# Whether dlopen of programs is supported. | ||
| 2018 | +dlopen_self=unknown | ||
| 2019 | + | ||
| 2020 | +# Whether dlopen of statically linked programs is supported. | ||
| 2021 | +dlopen_self_static=unknown | ||
| 2022 | + | ||
| 2023 | +# Compiler flag to prevent dynamic linking. | ||
| 2024 | +link_static_flag=-static | ||
| 2025 | + | ||
| 2026 | +# Compiler flag to turn off builtin functions. | ||
| 2027 | +no_builtin_flag= -fno-builtin -fno-rtti -fno-exceptions | ||
| 2028 | + | ||
| 2029 | +# Compiler flag to allow reflexive dlopens. | ||
| 2030 | +export_dynamic_flag_spec=${wl}--export-dynamic | ||
| 2031 | + | ||
| 2032 | +# Compiler flag to generate shared objects directly from archives. | ||
| 2033 | +whole_archive_flag_spec=${wl}--whole-archive$convenience ${wl}--no-whole-archive | ||
| 2034 | + | ||
| 2035 | +# Compiler flag to generate thread-safe objects. | ||
| 2036 | +thread_safe_flag_spec= | ||
| 2037 | + | ||
| 2038 | +# Library versioning type. | ||
| 2039 | +version_type=linux | ||
| 2040 | + | ||
| 2041 | +# Format of library name prefix. | ||
| 2042 | +libname_spec=lib$name | ||
| 2043 | + | ||
| 2044 | +# List of archive names. First name is the real one, the rest are links. | ||
| 2045 | +# The last name is the one that the linker finds with -lNAME. | ||
| 2046 | +library_names_spec=${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so | ||
| 2047 | + | ||
| 2048 | +# The coded name of the library, if different from the real name. | ||
| 2049 | +soname_spec=${libname}${release}.so$major | ||
| 2050 | + | ||
| 2051 | +# Commands used to build and install an old-style archive. | ||
| 2052 | +RANLIB=ranlib | ||
| 2053 | +old_archive_cmds=$AR cru $oldlib$oldobjs~$RANLIB $oldlib | ||
| 2054 | +old_postinstall_cmds=$RANLIB $oldlib~chmod 644 $oldlib | ||
| 2055 | +old_postuninstall_cmds= | ||
| 2056 | + | ||
| 2057 | +# Create an old-style archive from a shared archive. | ||
| 2058 | +old_archive_from_new_cmds= | ||
| 2059 | + | ||
| 2060 | +# Commands used to build and install a shared archive. | ||
| 2061 | +archive_cmds=$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib | ||
| 2062 | +archive_expsym_cmds=$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib | ||
| 2063 | +postinstall_cmds= | ||
| 2064 | +postuninstall_cmds= | ||
| 2065 | + | ||
| 2066 | +# Method to check whether dependent libraries are shared objects. | ||
| 2067 | +deplibs_check_method=unknown | ||
| 2068 | + | ||
| 2069 | +# Command to use when deplibs_check_method == file_magic. | ||
| 2070 | +file_magic_cmd= | ||
| 2071 | + | ||
| 2072 | +# Flag that allows shared libraries with undefined symbols to be built. | ||
| 2073 | +allow_undefined_flag= | ||
| 2074 | + | ||
| 2075 | +# Flag that forces no undefined symbols. | ||
| 2076 | +no_undefined_flag= | ||
| 2077 | + | ||
| 2078 | +# Commands used to finish a libtool library installation in a directory. | ||
| 2079 | +finish_cmds= | ||
| 2080 | + | ||
| 2081 | +# Same as above, but a single script fragment to be evaled but not shown. | ||
| 2082 | +finish_eval= | ||
| 2083 | + | ||
| 2084 | +# Take the output of nm and produce a listing of raw symbols and C names. | ||
| 2085 | +global_symbol_pipe=sed -n -e 's/^.*[ ]\([ABCDGISTW]\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' | ||
| 2086 | + | ||
| 2087 | +# Transform the output of nm in a proper C declaration | ||
| 2088 | +global_symbol_to_cdecl=sed -n -e 's/^. .* \(.*\)$/extern char \1;/p' | ||
| 2089 | + | ||
| 2090 | +# This is the shared library runtime path variable. | ||
| 2091 | +runpath_var=LD_RUN_PATH | ||
| 2092 | + | ||
| 2093 | +# This is the shared library path variable. | ||
| 2094 | +shlibpath_var=LD_LIBRARY_PATH | ||
| 2095 | + | ||
| 2096 | +# Is shlibpath searched before the hard-coded library search path? | ||
| 2097 | +shlibpath_overrides_runpath=unknown | ||
| 2098 | + | ||
| 2099 | +# How to hardcode a shared library path into an executable. | ||
| 2100 | +hardcode_action=immediate | ||
| 2101 | + | ||
| 2102 | +# Flag to hardcode $libdir into a binary during linking. | ||
| 2103 | +# This must work even if $libdir does not exist. | ||
| 2104 | +hardcode_libdir_flag_spec=${wl}--rpath ${wl}$libdir | ||
| 2105 | + | ||
| 2106 | +# Whether we need a single -rpath flag with a separated argument. | ||
| 2107 | +hardcode_libdir_separator= | ||
| 2108 | + | ||
| 2109 | +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the | ||
| 2110 | +# resulting binary. | ||
| 2111 | +hardcode_direct=no | ||
| 2112 | + | ||
| 2113 | +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the | ||
| 2114 | +# resulting binary. | ||
| 2115 | +hardcode_minus_L=no | ||
| 2116 | + | ||
| 2117 | +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into | ||
| 2118 | +# the resulting binary. | ||
| 2119 | +hardcode_shlibpath_var=unsupported | ||
| 2120 | + | ||
| 2121 | +# Compile-time system search path for libraries | ||
| 2122 | +sys_lib_search_path_spec=/lib /usr/lib /usr/local/lib | ||
| 2123 | + | ||
| 2124 | +# Run-time system search path for libraries | ||
| 2125 | +sys_lib_dlsearch_path_spec=/lib /usr/lib | ||
| 2126 | + | ||
| 2127 | +# Fix the shell variable $srcfile for the compiler. | ||
| 2128 | +fix_srcfile_path="" | ||
| 2129 | + | ||
| 2130 | +# Set to yes if exported symbols are required. | ||
| 2131 | +always_export_symbols=no | ||
| 2132 | + | ||
| 2133 | +# The commands to list exported symbols. | ||
| 2134 | +export_symbols_cmds=$NM $libobjs $convenience | $global_symbol_pipe | sed 's/.* //' | sort | uniq > $export_symbols | ||
| 2135 | + | ||
| 2136 | +# Symbols that should not be listed in the preloaded symbols. | ||
| 2137 | +exclude_expsyms=_GLOBAL_OFFSET_TABLE_ | ||
| 2138 | + | ||
| 2139 | +# Symbols that must always be exported. | ||
| 2140 | +include_expsyms= | ||
| 2141 | + | ||
| 2142 | --- /dev/null | ||
| 2143 | +++ jpeg-6b/ltmain.new.sh | ||
| 2144 | @@ -0,0 +1,3975 @@ | ||
| 2145 | +# ltmain.sh - Provide generalized library-building support services. | ||
| 2146 | +# NOTE: Changing this file will not affect anything until you rerun ltconfig. | ||
| 2147 | +# | ||
| 2148 | +# Copyright (C) 1996-1999 Free Software Foundation, Inc. | ||
| 2149 | +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | ||
| 2150 | +# | ||
| 2151 | +# This program is free software; you can redistribute it and/or modify | ||
| 2152 | +# it under the terms of the GNU General Public License as published by | ||
| 2153 | +# the Free Software Foundation; either version 2 of the License, or | ||
| 2154 | +# (at your option) any later version. | ||
| 2155 | +# | ||
| 2156 | +# This program is distributed in the hope that it will be useful, but | ||
| 2157 | +# WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2158 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2159 | +# General Public License for more details. | ||
| 2160 | +# | ||
| 2161 | +# You should have received a copy of the GNU General Public License | ||
| 2162 | +# along with this program; if not, write to the Free Software | ||
| 2163 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 2164 | +# | ||
| 2165 | +# As a special exception to the GNU General Public License, if you | ||
| 2166 | +# distribute this file as part of a program that contains a | ||
| 2167 | +# configuration script generated by Autoconf, you may include it under | ||
| 2168 | +# the same distribution terms that you use for the rest of that program. | ||
| 2169 | + | ||
| 2170 | +# Check that we have a working $echo. | ||
| 2171 | +if test "X$1" = X--no-reexec; then | ||
| 2172 | + # Discard the --no-reexec flag, and continue. | ||
| 2173 | + shift | ||
| 2174 | +elif test "X$1" = X--fallback-echo; then | ||
| 2175 | + # Avoid inline document here, it may be left over | ||
| 2176 | + : | ||
| 2177 | +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then | ||
| 2178 | + # Yippee, $echo works! | ||
| 2179 | + : | ||
| 2180 | +else | ||
| 2181 | + # Restart under the correct shell, and then maybe $echo will work. | ||
| 2182 | + exec $SHELL "$0" --no-reexec ${1+"$@"} | ||
| 2183 | +fi | ||
| 2184 | + | ||
| 2185 | +if test "X$1" = X--fallback-echo; then | ||
| 2186 | + # used as fallback echo | ||
| 2187 | + shift | ||
| 2188 | + cat <<EOF | ||
| 2189 | +$* | ||
| 2190 | +EOF | ||
| 2191 | + exit 0 | ||
| 2192 | +fi | ||
| 2193 | + | ||
| 2194 | +# The name of this program. | ||
| 2195 | +progname=`$echo "$0" | sed 's%^.*/%%'` | ||
| 2196 | +modename="$progname" | ||
| 2197 | + | ||
| 2198 | +# Constants. | ||
| 2199 | +PROGRAM=ltmain.sh | ||
| 2200 | +PACKAGE=libtool | ||
| 2201 | +VERSION=1.3.3 | ||
| 2202 | +TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" | ||
| 2203 | + | ||
| 2204 | +default_mode= | ||
| 2205 | +help="Try \`$progname --help' for more information." | ||
| 2206 | +magic="%%%MAGIC variable%%%" | ||
| 2207 | +mkdir="mkdir" | ||
| 2208 | +mv="mv -f" | ||
| 2209 | +rm="rm -f" | ||
| 2210 | + | ||
| 2211 | +# Sed substitution that helps us do robust quoting. It backslashifies | ||
| 2212 | +# metacharacters that are still active within double-quoted strings. | ||
| 2213 | +Xsed='sed -e 1s/^X//' | ||
| 2214 | +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' | ||
| 2215 | +SP2NL='tr \040 \012' | ||
| 2216 | +NL2SP='tr \015\012 \040\040' | ||
| 2217 | + | ||
| 2218 | +# NLS nuisances. | ||
| 2219 | +# Only set LANG and LC_ALL to C if already set. | ||
| 2220 | +# These must not be set unconditionally because not all systems understand | ||
| 2221 | +# e.g. LANG=C (notably SCO). | ||
| 2222 | +# We save the old values to restore during execute mode. | ||
| 2223 | +if test "${LC_ALL+set}" = set; then | ||
| 2224 | + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL | ||
| 2225 | +fi | ||
| 2226 | +if test "${LANG+set}" = set; then | ||
| 2227 | + save_LANG="$LANG"; LANG=C; export LANG | ||
| 2228 | +fi | ||
| 2229 | + | ||
| 2230 | +if test "$LTCONFIG_VERSION" != "$VERSION"; then | ||
| 2231 | + echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 | ||
| 2232 | + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 | ||
| 2233 | + exit 1 | ||
| 2234 | +fi | ||
| 2235 | + | ||
| 2236 | +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then | ||
| 2237 | + echo "$modename: not configured to build any kind of library" 1>&2 | ||
| 2238 | + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 | ||
| 2239 | + exit 1 | ||
| 2240 | +fi | ||
| 2241 | + | ||
| 2242 | +# Global variables. | ||
| 2243 | +mode=$default_mode | ||
| 2244 | +nonopt= | ||
| 2245 | +prev= | ||
| 2246 | +prevopt= | ||
| 2247 | +run= | ||
| 2248 | +show="$echo" | ||
| 2249 | +show_help= | ||
| 2250 | +execute_dlfiles= | ||
| 2251 | +lo2o="s/\\.lo\$/.${objext}/" | ||
| 2252 | +o2lo="s/\\.${objext}\$/.lo/" | ||
| 2253 | + | ||
| 2254 | +# Parse our command line options once, thoroughly. | ||
| 2255 | +while test $# -gt 0 | ||
| 2256 | +do | ||
| 2257 | + arg="$1" | ||
| 2258 | + shift | ||
| 2259 | + | ||
| 2260 | + case "$arg" in | ||
| 2261 | + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; | ||
| 2262 | + *) optarg= ;; | ||
| 2263 | + esac | ||
| 2264 | + | ||
| 2265 | + # If the previous option needs an argument, assign it. | ||
| 2266 | + if test -n "$prev"; then | ||
| 2267 | + case "$prev" in | ||
| 2268 | + execute_dlfiles) | ||
| 2269 | + eval "$prev=\"\$$prev \$arg\"" | ||
| 2270 | + ;; | ||
| 2271 | + *) | ||
| 2272 | + eval "$prev=\$arg" | ||
| 2273 | + ;; | ||
| 2274 | + esac | ||
| 2275 | + | ||
| 2276 | + prev= | ||
| 2277 | + prevopt= | ||
| 2278 | + continue | ||
| 2279 | + fi | ||
| 2280 | + | ||
| 2281 | + # Have we seen a non-optional argument yet? | ||
| 2282 | + case "$arg" in | ||
| 2283 | + --help) | ||
| 2284 | + show_help=yes | ||
| 2285 | + ;; | ||
| 2286 | + | ||
| 2287 | + --version) | ||
| 2288 | + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" | ||
| 2289 | + exit 0 | ||
| 2290 | + ;; | ||
| 2291 | + | ||
| 2292 | + --config) | ||
| 2293 | + sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 | ||
| 2294 | + exit 0 | ||
| 2295 | + ;; | ||
| 2296 | + | ||
| 2297 | + --debug) | ||
| 2298 | + echo "$progname: enabling shell trace mode" | ||
| 2299 | + set -x | ||
| 2300 | + ;; | ||
| 2301 | + | ||
| 2302 | + --dry-run | -n) | ||
| 2303 | + run=: | ||
| 2304 | + ;; | ||
| 2305 | + | ||
| 2306 | + --features) | ||
| 2307 | + echo "host: $host" | ||
| 2308 | + if test "$build_libtool_libs" = yes; then | ||
| 2309 | + echo "enable shared libraries" | ||
| 2310 | + else | ||
| 2311 | + echo "disable shared libraries" | ||
| 2312 | + fi | ||
| 2313 | + if test "$build_old_libs" = yes; then | ||
| 2314 | + echo "enable static libraries" | ||
| 2315 | + else | ||
| 2316 | + echo "disable static libraries" | ||
| 2317 | + fi | ||
| 2318 | + exit 0 | ||
| 2319 | + ;; | ||
| 2320 | + | ||
| 2321 | + --finish) mode="finish" ;; | ||
| 2322 | + | ||
| 2323 | + --mode) prevopt="--mode" prev=mode ;; | ||
| 2324 | + --mode=*) mode="$optarg" ;; | ||
| 2325 | + | ||
| 2326 | + --quiet | --silent) | ||
| 2327 | + show=: | ||
| 2328 | + ;; | ||
| 2329 | + | ||
| 2330 | + -dlopen) | ||
| 2331 | + prevopt="-dlopen" | ||
| 2332 | + prev=execute_dlfiles | ||
| 2333 | + ;; | ||
| 2334 | + | ||
| 2335 | + -*) | ||
| 2336 | + $echo "$modename: unrecognized option \`$arg'" 1>&2 | ||
| 2337 | + $echo "$help" 1>&2 | ||
| 2338 | + exit 1 | ||
| 2339 | + ;; | ||
| 2340 | + | ||
| 2341 | + *) | ||
| 2342 | + nonopt="$arg" | ||
| 2343 | + break | ||
| 2344 | + ;; | ||
| 2345 | + esac | ||
| 2346 | +done | ||
| 2347 | + | ||
| 2348 | +if test -n "$prevopt"; then | ||
| 2349 | + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 | ||
| 2350 | + $echo "$help" 1>&2 | ||
| 2351 | + exit 1 | ||
| 2352 | +fi | ||
| 2353 | + | ||
| 2354 | +if test -z "$show_help"; then | ||
| 2355 | + | ||
| 2356 | + # Infer the operation mode. | ||
| 2357 | + if test -z "$mode"; then | ||
| 2358 | + case "$nonopt" in | ||
| 2359 | + *cc | *++ | gcc* | *-gcc*) | ||
| 2360 | + mode=link | ||
| 2361 | + for arg | ||
| 2362 | + do | ||
| 2363 | + case "$arg" in | ||
| 2364 | + -c) | ||
| 2365 | + mode=compile | ||
| 2366 | + break | ||
| 2367 | + ;; | ||
| 2368 | + esac | ||
| 2369 | + done | ||
| 2370 | + ;; | ||
| 2371 | + *db | *dbx | *strace | *truss) | ||
| 2372 | + mode=execute | ||
| 2373 | + ;; | ||
| 2374 | + *install*|cp|mv) | ||
| 2375 | + mode=install | ||
| 2376 | + ;; | ||
| 2377 | + *rm) | ||
| 2378 | + mode=uninstall | ||
| 2379 | + ;; | ||
| 2380 | + *) | ||
| 2381 | + # If we have no mode, but dlfiles were specified, then do execute mode. | ||
| 2382 | + test -n "$execute_dlfiles" && mode=execute | ||
| 2383 | + | ||
| 2384 | + # Just use the default operation mode. | ||
| 2385 | + if test -z "$mode"; then | ||
| 2386 | + if test -n "$nonopt"; then | ||
| 2387 | + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 | ||
| 2388 | + else | ||
| 2389 | + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 | ||
| 2390 | + fi | ||
| 2391 | + fi | ||
| 2392 | + ;; | ||
| 2393 | + esac | ||
| 2394 | + fi | ||
| 2395 | + | ||
| 2396 | + # Only execute mode is allowed to have -dlopen flags. | ||
| 2397 | + if test -n "$execute_dlfiles" && test "$mode" != execute; then | ||
| 2398 | + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 | ||
| 2399 | + $echo "$help" 1>&2 | ||
| 2400 | + exit 1 | ||
| 2401 | + fi | ||
| 2402 | + | ||
| 2403 | + # Change the help message to a mode-specific one. | ||
| 2404 | + generic_help="$help" | ||
| 2405 | + help="Try \`$modename --help --mode=$mode' for more information." | ||
| 2406 | + | ||
| 2407 | + # These modes are in order of execution frequency so that they run quickly. | ||
| 2408 | + case "$mode" in | ||
| 2409 | + # libtool compile mode | ||
| 2410 | + compile) | ||
| 2411 | + modename="$modename: compile" | ||
| 2412 | + # Get the compilation command and the source file. | ||
| 2413 | + base_compile= | ||
| 2414 | + lastarg= | ||
| 2415 | + srcfile="$nonopt" | ||
| 2416 | + suppress_output= | ||
| 2417 | + | ||
| 2418 | + user_target=no | ||
| 2419 | + for arg | ||
| 2420 | + do | ||
| 2421 | + # Accept any command-line options. | ||
| 2422 | + case "$arg" in | ||
| 2423 | + -o) | ||
| 2424 | + if test "$user_target" != "no"; then | ||
| 2425 | + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 | ||
| 2426 | + exit 1 | ||
| 2427 | + fi | ||
| 2428 | + user_target=next | ||
| 2429 | + ;; | ||
| 2430 | + | ||
| 2431 | + -static) | ||
| 2432 | + build_old_libs=yes | ||
| 2433 | + continue | ||
| 2434 | + ;; | ||
| 2435 | + esac | ||
| 2436 | + | ||
| 2437 | + case "$user_target" in | ||
| 2438 | + next) | ||
| 2439 | + # The next one is the -o target name | ||
| 2440 | + user_target=yes | ||
| 2441 | + continue | ||
| 2442 | + ;; | ||
| 2443 | + yes) | ||
| 2444 | + # We got the output file | ||
| 2445 | + user_target=set | ||
| 2446 | + libobj="$arg" | ||
| 2447 | + continue | ||
| 2448 | + ;; | ||
| 2449 | + esac | ||
| 2450 | + | ||
| 2451 | + # Accept the current argument as the source file. | ||
| 2452 | + lastarg="$srcfile" | ||
| 2453 | + srcfile="$arg" | ||
| 2454 | + | ||
| 2455 | + # Aesthetically quote the previous argument. | ||
| 2456 | + | ||
| 2457 | + # Backslashify any backslashes, double quotes, and dollar signs. | ||
| 2458 | + # These are the only characters that are still specially | ||
| 2459 | + # interpreted inside of double-quoted scrings. | ||
| 2460 | + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` | ||
| 2461 | + | ||
| 2462 | + # Double-quote args containing other shell metacharacters. | ||
| 2463 | + # Many Bourne shells cannot handle close brackets correctly in scan | ||
| 2464 | + # sets, so we specify it separately. | ||
| 2465 | + case "$lastarg" in | ||
| 2466 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 2467 | + lastarg="\"$lastarg\"" | ||
| 2468 | + ;; | ||
| 2469 | + esac | ||
| 2470 | + | ||
| 2471 | + # Add the previous argument to base_compile. | ||
| 2472 | + if test -z "$base_compile"; then | ||
| 2473 | + base_compile="$lastarg" | ||
| 2474 | + else | ||
| 2475 | + base_compile="$base_compile $lastarg" | ||
| 2476 | + fi | ||
| 2477 | + done | ||
| 2478 | + | ||
| 2479 | + case "$user_target" in | ||
| 2480 | + set) | ||
| 2481 | + ;; | ||
| 2482 | + no) | ||
| 2483 | + # Get the name of the library object. | ||
| 2484 | + libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` | ||
| 2485 | + ;; | ||
| 2486 | + *) | ||
| 2487 | + $echo "$modename: you must specify a target with \`-o'" 1>&2 | ||
| 2488 | + exit 1 | ||
| 2489 | + ;; | ||
| 2490 | + esac | ||
| 2491 | + | ||
| 2492 | + # Recognize several different file suffixes. | ||
| 2493 | + # If the user specifies -o file.o, it is replaced with file.lo | ||
| 2494 | + xform='[cCFSfmso]' | ||
| 2495 | + case "$libobj" in | ||
| 2496 | + *.ada) xform=ada ;; | ||
| 2497 | + *.adb) xform=adb ;; | ||
| 2498 | + *.ads) xform=ads ;; | ||
| 2499 | + *.asm) xform=asm ;; | ||
| 2500 | + *.c++) xform=c++ ;; | ||
| 2501 | + *.cc) xform=cc ;; | ||
| 2502 | + *.cpp) xform=cpp ;; | ||
| 2503 | + *.cxx) xform=cxx ;; | ||
| 2504 | + *.f90) xform=f90 ;; | ||
| 2505 | + *.for) xform=for ;; | ||
| 2506 | + esac | ||
| 2507 | + | ||
| 2508 | + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` | ||
| 2509 | + | ||
| 2510 | + case "$libobj" in | ||
| 2511 | + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; | ||
| 2512 | + *) | ||
| 2513 | + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 | ||
| 2514 | + exit 1 | ||
| 2515 | + ;; | ||
| 2516 | + esac | ||
| 2517 | + | ||
| 2518 | + if test -z "$base_compile"; then | ||
| 2519 | + $echo "$modename: you must specify a compilation command" 1>&2 | ||
| 2520 | + $echo "$help" 1>&2 | ||
| 2521 | + exit 1 | ||
| 2522 | + fi | ||
| 2523 | + | ||
| 2524 | + # Delete any leftover library objects. | ||
| 2525 | + if test "$build_old_libs" = yes; then | ||
| 2526 | + removelist="$obj $libobj" | ||
| 2527 | + else | ||
| 2528 | + removelist="$libobj" | ||
| 2529 | + fi | ||
| 2530 | + | ||
| 2531 | + $run $rm $removelist | ||
| 2532 | + trap "$run $rm $removelist; exit 1" 1 2 15 | ||
| 2533 | + | ||
| 2534 | + # Calculate the filename of the output object if compiler does | ||
| 2535 | + # not support -o with -c | ||
| 2536 | + if test "$compiler_c_o" = no; then | ||
| 2537 | + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext} | ||
| 2538 | + lockfile="$output_obj.lock" | ||
| 2539 | + removelist="$removelist $output_obj $lockfile" | ||
| 2540 | + trap "$run $rm $removelist; exit 1" 1 2 15 | ||
| 2541 | + else | ||
| 2542 | + need_locks=no | ||
| 2543 | + lockfile= | ||
| 2544 | + fi | ||
| 2545 | + | ||
| 2546 | + # Lock this critical section if it is needed | ||
| 2547 | + # We use this script file to make the link, it avoids creating a new file | ||
| 2548 | + if test "$need_locks" = yes; then | ||
| 2549 | + until ln "$0" "$lockfile" 2>/dev/null; do | ||
| 2550 | + $show "Waiting for $lockfile to be removed" | ||
| 2551 | + sleep 2 | ||
| 2552 | + done | ||
| 2553 | + elif test "$need_locks" = warn; then | ||
| 2554 | + if test -f "$lockfile"; then | ||
| 2555 | + echo "\ | ||
| 2556 | +*** ERROR, $lockfile exists and contains: | ||
| 2557 | +`cat $lockfile 2>/dev/null` | ||
| 2558 | + | ||
| 2559 | +This indicates that another process is trying to use the same | ||
| 2560 | +temporary object file, and libtool could not work around it because | ||
| 2561 | +your compiler does not support \`-c' and \`-o' together. If you | ||
| 2562 | +repeat this compilation, it may succeed, by chance, but you had better | ||
| 2563 | +avoid parallel builds (make -j) in this platform, or get a better | ||
| 2564 | +compiler." | ||
| 2565 | + | ||
| 2566 | + $run $rm $removelist | ||
| 2567 | + exit 1 | ||
| 2568 | + fi | ||
| 2569 | + echo $srcfile > "$lockfile" | ||
| 2570 | + fi | ||
| 2571 | + | ||
| 2572 | + if test -n "$fix_srcfile_path"; then | ||
| 2573 | + eval srcfile=\"$fix_srcfile_path\" | ||
| 2574 | + fi | ||
| 2575 | + | ||
| 2576 | + # Only build a PIC object if we are building libtool libraries. | ||
| 2577 | + if test "$build_libtool_libs" = yes; then | ||
| 2578 | + # Without this assignment, base_compile gets emptied. | ||
| 2579 | + fbsd_hideous_sh_bug=$base_compile | ||
| 2580 | + | ||
| 2581 | + # All platforms use -DPIC, to notify preprocessed assembler code. | ||
| 2582 | + command="$base_compile $pic_flag -DPIC $srcfile" | ||
| 2583 | + if test "$build_old_libs" = yes; then | ||
| 2584 | + lo_libobj="$libobj" | ||
| 2585 | + dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` | ||
| 2586 | + if test "X$dir" = "X$libobj"; then | ||
| 2587 | + dir="$objdir" | ||
| 2588 | + else | ||
| 2589 | + dir="$dir/$objdir" | ||
| 2590 | + fi | ||
| 2591 | + libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` | ||
| 2592 | + | ||
| 2593 | + if test -d "$dir"; then | ||
| 2594 | + $show "$rm $libobj" | ||
| 2595 | + $run $rm $libobj | ||
| 2596 | + else | ||
| 2597 | + $show "$mkdir $dir" | ||
| 2598 | + $run $mkdir $dir | ||
| 2599 | + status=$? | ||
| 2600 | + if test $status -ne 0 && test ! -d $dir; then | ||
| 2601 | + exit $status | ||
| 2602 | + fi | ||
| 2603 | + fi | ||
| 2604 | + fi | ||
| 2605 | + if test "$compiler_o_lo" = yes; then | ||
| 2606 | + output_obj="$libobj" | ||
| 2607 | + command="$command -o $output_obj" | ||
| 2608 | + elif test "$compiler_c_o" = yes; then | ||
| 2609 | + output_obj="$obj" | ||
| 2610 | + command="$command -o $output_obj" | ||
| 2611 | + fi | ||
| 2612 | + | ||
| 2613 | + $run $rm "$output_obj" | ||
| 2614 | + $show "$command" | ||
| 2615 | + if $run eval "$command"; then : | ||
| 2616 | + else | ||
| 2617 | + test -n "$output_obj" && $run $rm $removelist | ||
| 2618 | + exit 1 | ||
| 2619 | + fi | ||
| 2620 | + | ||
| 2621 | + if test "$need_locks" = warn && | ||
| 2622 | + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then | ||
| 2623 | + echo "\ | ||
| 2624 | +*** ERROR, $lockfile contains: | ||
| 2625 | +`cat $lockfile 2>/dev/null` | ||
| 2626 | + | ||
| 2627 | +but it should contain: | ||
| 2628 | +$srcfile | ||
| 2629 | + | ||
| 2630 | +This indicates that another process is trying to use the same | ||
| 2631 | +temporary object file, and libtool could not work around it because | ||
| 2632 | +your compiler does not support \`-c' and \`-o' together. If you | ||
| 2633 | +repeat this compilation, it may succeed, by chance, but you had better | ||
| 2634 | +avoid parallel builds (make -j) in this platform, or get a better | ||
| 2635 | +compiler." | ||
| 2636 | + | ||
| 2637 | + $run $rm $removelist | ||
| 2638 | + exit 1 | ||
| 2639 | + fi | ||
| 2640 | + | ||
| 2641 | + # Just move the object if needed, then go on to compile the next one | ||
| 2642 | + if test x"$output_obj" != x"$libobj"; then | ||
| 2643 | + $show "$mv $output_obj $libobj" | ||
| 2644 | + if $run $mv $output_obj $libobj; then : | ||
| 2645 | + else | ||
| 2646 | + error=$? | ||
| 2647 | + $run $rm $removelist | ||
| 2648 | + exit $error | ||
| 2649 | + fi | ||
| 2650 | + fi | ||
| 2651 | + | ||
| 2652 | + # If we have no pic_flag, then copy the object into place and finish. | ||
| 2653 | + if test -z "$pic_flag" && test "$build_old_libs" = yes; then | ||
| 2654 | + # Rename the .lo from within objdir to obj | ||
| 2655 | + if test -f $obj; then | ||
| 2656 | + $show $rm $obj | ||
| 2657 | + $run $rm $obj | ||
| 2658 | + fi | ||
| 2659 | + | ||
| 2660 | + $show "$mv $libobj $obj" | ||
| 2661 | + if $run $mv $libobj $obj; then : | ||
| 2662 | + else | ||
| 2663 | + error=$? | ||
| 2664 | + $run $rm $removelist | ||
| 2665 | + exit $error | ||
| 2666 | + fi | ||
| 2667 | + | ||
| 2668 | + # Now arrange that obj and lo_libobj become the same file | ||
| 2669 | + $show "$LN_S $obj $lo_libobj" | ||
| 2670 | + if $run $LN_S $obj $lo_libobj; then | ||
| 2671 | + exit 0 | ||
| 2672 | + else | ||
| 2673 | + error=$? | ||
| 2674 | + $run $rm $removelist | ||
| 2675 | + exit $error | ||
| 2676 | + fi | ||
| 2677 | + fi | ||
| 2678 | + | ||
| 2679 | + # Allow error messages only from the first compilation. | ||
| 2680 | + suppress_output=' >/dev/null 2>&1' | ||
| 2681 | + fi | ||
| 2682 | + | ||
| 2683 | + # Only build a position-dependent object if we build old libraries. | ||
| 2684 | + if test "$build_old_libs" = yes; then | ||
| 2685 | + command="$base_compile $srcfile" | ||
| 2686 | + if test "$compiler_c_o" = yes; then | ||
| 2687 | + command="$command -o $obj" | ||
| 2688 | + output_obj="$obj" | ||
| 2689 | + fi | ||
| 2690 | + | ||
| 2691 | + # Suppress compiler output if we already did a PIC compilation. | ||
| 2692 | + command="$command$suppress_output" | ||
| 2693 | + $run $rm "$output_obj" | ||
| 2694 | + $show "$command" | ||
| 2695 | + if $run eval "$command"; then : | ||
| 2696 | + else | ||
| 2697 | + $run $rm $removelist | ||
| 2698 | + exit 1 | ||
| 2699 | + fi | ||
| 2700 | + | ||
| 2701 | + if test "$need_locks" = warn && | ||
| 2702 | + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then | ||
| 2703 | + echo "\ | ||
| 2704 | +*** ERROR, $lockfile contains: | ||
| 2705 | +`cat $lockfile 2>/dev/null` | ||
| 2706 | + | ||
| 2707 | +but it should contain: | ||
| 2708 | +$srcfile | ||
| 2709 | + | ||
| 2710 | +This indicates that another process is trying to use the same | ||
| 2711 | +temporary object file, and libtool could not work around it because | ||
| 2712 | +your compiler does not support \`-c' and \`-o' together. If you | ||
| 2713 | +repeat this compilation, it may succeed, by chance, but you had better | ||
| 2714 | +avoid parallel builds (make -j) in this platform, or get a better | ||
| 2715 | +compiler." | ||
| 2716 | + | ||
| 2717 | + $run $rm $removelist | ||
| 2718 | + exit 1 | ||
| 2719 | + fi | ||
| 2720 | + | ||
| 2721 | + # Just move the object if needed | ||
| 2722 | + if test x"$output_obj" != x"$obj"; then | ||
| 2723 | + $show "$mv $output_obj $obj" | ||
| 2724 | + if $run $mv $output_obj $obj; then : | ||
| 2725 | + else | ||
| 2726 | + error=$? | ||
| 2727 | + $run $rm $removelist | ||
| 2728 | + exit $error | ||
| 2729 | + fi | ||
| 2730 | + fi | ||
| 2731 | + | ||
| 2732 | + # Create an invalid libtool object if no PIC, so that we do not | ||
| 2733 | + # accidentally link it into a program. | ||
| 2734 | + if test "$build_libtool_libs" != yes; then | ||
| 2735 | + $show "echo timestamp > $libobj" | ||
| 2736 | + $run eval "echo timestamp > \$libobj" || exit $? | ||
| 2737 | + else | ||
| 2738 | + # Move the .lo from within objdir | ||
| 2739 | + $show "$mv $libobj $lo_libobj" | ||
| 2740 | + if $run $mv $libobj $lo_libobj; then : | ||
| 2741 | + else | ||
| 2742 | + error=$? | ||
| 2743 | + $run $rm $removelist | ||
| 2744 | + exit $error | ||
| 2745 | + fi | ||
| 2746 | + fi | ||
| 2747 | + fi | ||
| 2748 | + | ||
| 2749 | + # Unlock the critical section if it was locked | ||
| 2750 | + if test "$need_locks" != no; then | ||
| 2751 | + $rm "$lockfile" | ||
| 2752 | + fi | ||
| 2753 | + | ||
| 2754 | + exit 0 | ||
| 2755 | + ;; | ||
| 2756 | + | ||
| 2757 | + # libtool link mode | ||
| 2758 | + link) | ||
| 2759 | + modename="$modename: link" | ||
| 2760 | + C_compiler="$CC" # save it, to compile generated C sources | ||
| 2761 | + CC="$nonopt" | ||
| 2762 | + case "$host" in | ||
| 2763 | + *-*-cygwin* | *-*-mingw* | *-*-os2*) | ||
| 2764 | + # It is impossible to link a dll without this setting, and | ||
| 2765 | + # we shouldn't force the makefile maintainer to figure out | ||
| 2766 | + # which system we are compiling for in order to pass an extra | ||
| 2767 | + # flag for every libtool invokation. | ||
| 2768 | + # allow_undefined=no | ||
| 2769 | + | ||
| 2770 | + # FIXME: Unfortunately, there are problems with the above when trying | ||
| 2771 | + # to make a dll which has undefined symbols, in which case not | ||
| 2772 | + # even a static library is built. For now, we need to specify | ||
| 2773 | + # -no-undefined on the libtool link line when we can be certain | ||
| 2774 | + # that all symbols are satisfied, otherwise we get a static library. | ||
| 2775 | + allow_undefined=yes | ||
| 2776 | + | ||
| 2777 | + # This is a source program that is used to create dlls on Windows | ||
| 2778 | + # Don't remove nor modify the starting and closing comments | ||
| 2779 | +# /* ltdll.c starts here */ | ||
| 2780 | +# #define WIN32_LEAN_AND_MEAN | ||
| 2781 | +# #include <windows.h> | ||
| 2782 | +# #undef WIN32_LEAN_AND_MEAN | ||
| 2783 | +# #include <stdio.h> | ||
| 2784 | +# | ||
| 2785 | +# #ifndef __CYGWIN__ | ||
| 2786 | +# # ifdef __CYGWIN32__ | ||
| 2787 | +# # define __CYGWIN__ __CYGWIN32__ | ||
| 2788 | +# # endif | ||
| 2789 | +# #endif | ||
| 2790 | +# | ||
| 2791 | +# #ifdef __cplusplus | ||
| 2792 | +# extern "C" { | ||
| 2793 | +# #endif | ||
| 2794 | +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); | ||
| 2795 | +# #ifdef __cplusplus | ||
| 2796 | +# } | ||
| 2797 | +# #endif | ||
| 2798 | +# | ||
| 2799 | +# #ifdef __CYGWIN__ | ||
| 2800 | +# #include <cygwin/cygwin_dll.h> | ||
| 2801 | +# DECLARE_CYGWIN_DLL( DllMain ); | ||
| 2802 | +# #endif | ||
| 2803 | +# HINSTANCE __hDllInstance_base; | ||
| 2804 | +# | ||
| 2805 | +# BOOL APIENTRY | ||
| 2806 | +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) | ||
| 2807 | +# { | ||
| 2808 | +# __hDllInstance_base = hInst; | ||
| 2809 | +# return TRUE; | ||
| 2810 | +# } | ||
| 2811 | +# /* ltdll.c ends here */ | ||
| 2812 | + # This is a source program that is used to create import libraries | ||
| 2813 | + # on Windows for dlls which lack them. Don't remove nor modify the | ||
| 2814 | + # starting and closing comments | ||
| 2815 | +# /* impgen.c starts here */ | ||
| 2816 | +# /* Copyright (C) 1999 Free Software Foundation, Inc. | ||
| 2817 | +# | ||
| 2818 | +# This file is part of GNU libtool. | ||
| 2819 | +# | ||
| 2820 | +# This program is free software; you can redistribute it and/or modify | ||
| 2821 | +# it under the terms of the GNU General Public License as published by | ||
| 2822 | +# the Free Software Foundation; either version 2 of the License, or | ||
| 2823 | +# (at your option) any later version. | ||
| 2824 | +# | ||
| 2825 | +# This program is distributed in the hope that it will be useful, | ||
| 2826 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2827 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 2828 | +# GNU General Public License for more details. | ||
| 2829 | +# | ||
| 2830 | +# You should have received a copy of the GNU General Public License | ||
| 2831 | +# along with this program; if not, write to the Free Software | ||
| 2832 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 2833 | +# */ | ||
| 2834 | +# | ||
| 2835 | +# #include <stdio.h> /* for printf() */ | ||
| 2836 | +# #include <unistd.h> /* for open(), lseek(), read() */ | ||
| 2837 | +# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ | ||
| 2838 | +# #include <string.h> /* for strdup() */ | ||
| 2839 | +# | ||
| 2840 | +# static unsigned int | ||
| 2841 | +# pe_get16 (fd, offset) | ||
| 2842 | +# int fd; | ||
| 2843 | +# int offset; | ||
| 2844 | +# { | ||
| 2845 | +# unsigned char b[2]; | ||
| 2846 | +# lseek (fd, offset, SEEK_SET); | ||
| 2847 | +# read (fd, b, 2); | ||
| 2848 | +# return b[0] + (b[1]<<8); | ||
| 2849 | +# } | ||
| 2850 | +# | ||
| 2851 | +# static unsigned int | ||
| 2852 | +# pe_get32 (fd, offset) | ||
| 2853 | +# int fd; | ||
| 2854 | +# int offset; | ||
| 2855 | +# { | ||
| 2856 | +# unsigned char b[4]; | ||
| 2857 | +# lseek (fd, offset, SEEK_SET); | ||
| 2858 | +# read (fd, b, 4); | ||
| 2859 | +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); | ||
| 2860 | +# } | ||
| 2861 | +# | ||
| 2862 | +# static unsigned int | ||
| 2863 | +# pe_as32 (ptr) | ||
| 2864 | +# void *ptr; | ||
| 2865 | +# { | ||
| 2866 | +# unsigned char *b = ptr; | ||
| 2867 | +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); | ||
| 2868 | +# } | ||
| 2869 | +# | ||
| 2870 | +# int | ||
| 2871 | +# main (argc, argv) | ||
| 2872 | +# int argc; | ||
| 2873 | +# char *argv[]; | ||
| 2874 | +# { | ||
| 2875 | +# int dll; | ||
| 2876 | +# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; | ||
| 2877 | +# unsigned long export_rva, export_size, nsections, secptr, expptr; | ||
| 2878 | +# unsigned long name_rvas, nexp; | ||
| 2879 | +# unsigned char *expdata, *erva; | ||
| 2880 | +# char *filename, *dll_name; | ||
| 2881 | +# | ||
| 2882 | +# filename = argv[1]; | ||
| 2883 | +# | ||
| 2884 | +# dll = open(filename, O_RDONLY|O_BINARY); | ||
| 2885 | +# if (!dll) | ||
| 2886 | +# return 1; | ||
| 2887 | +# | ||
| 2888 | +# dll_name = filename; | ||
| 2889 | +# | ||
| 2890 | +# for (i=0; filename[i]; i++) | ||
| 2891 | +# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') | ||
| 2892 | +# dll_name = filename + i +1; | ||
| 2893 | +# | ||
| 2894 | +# pe_header_offset = pe_get32 (dll, 0x3c); | ||
| 2895 | +# opthdr_ofs = pe_header_offset + 4 + 20; | ||
| 2896 | +# num_entries = pe_get32 (dll, opthdr_ofs + 92); | ||
| 2897 | +# | ||
| 2898 | +# if (num_entries < 1) /* no exports */ | ||
| 2899 | +# return 1; | ||
| 2900 | +# | ||
| 2901 | +# export_rva = pe_get32 (dll, opthdr_ofs + 96); | ||
| 2902 | +# export_size = pe_get32 (dll, opthdr_ofs + 100); | ||
| 2903 | +# nsections = pe_get16 (dll, pe_header_offset + 4 +2); | ||
| 2904 | +# secptr = (pe_header_offset + 4 + 20 + | ||
| 2905 | +# pe_get16 (dll, pe_header_offset + 4 + 16)); | ||
| 2906 | +# | ||
| 2907 | +# expptr = 0; | ||
| 2908 | +# for (i = 0; i < nsections; i++) | ||
| 2909 | +# { | ||
| 2910 | +# char sname[8]; | ||
| 2911 | +# unsigned long secptr1 = secptr + 40 * i; | ||
| 2912 | +# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); | ||
| 2913 | +# unsigned long vsize = pe_get32 (dll, secptr1 + 16); | ||
| 2914 | +# unsigned long fptr = pe_get32 (dll, secptr1 + 20); | ||
| 2915 | +# lseek(dll, secptr1, SEEK_SET); | ||
| 2916 | +# read(dll, sname, 8); | ||
| 2917 | +# if (vaddr <= export_rva && vaddr+vsize > export_rva) | ||
| 2918 | +# { | ||
| 2919 | +# expptr = fptr + (export_rva - vaddr); | ||
| 2920 | +# if (export_rva + export_size > vaddr + vsize) | ||
| 2921 | +# export_size = vsize - (export_rva - vaddr); | ||
| 2922 | +# break; | ||
| 2923 | +# } | ||
| 2924 | +# } | ||
| 2925 | +# | ||
| 2926 | +# expdata = (unsigned char*)malloc(export_size); | ||
| 2927 | +# lseek (dll, expptr, SEEK_SET); | ||
| 2928 | +# read (dll, expdata, export_size); | ||
| 2929 | +# erva = expdata - export_rva; | ||
| 2930 | +# | ||
| 2931 | +# nexp = pe_as32 (expdata+24); | ||
| 2932 | +# name_rvas = pe_as32 (expdata+32); | ||
| 2933 | +# | ||
| 2934 | +# printf ("EXPORTS\n"); | ||
| 2935 | +# for (i = 0; i<nexp; i++) | ||
| 2936 | +# { | ||
| 2937 | +# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); | ||
| 2938 | +# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); | ||
| 2939 | +# } | ||
| 2940 | +# | ||
| 2941 | +# return 0; | ||
| 2942 | +# } | ||
| 2943 | +# /* impgen.c ends here */ | ||
| 2944 | + ;; | ||
| 2945 | + *) | ||
| 2946 | + allow_undefined=yes | ||
| 2947 | + ;; | ||
| 2948 | + esac | ||
| 2949 | + compile_command="$CC" | ||
| 2950 | + finalize_command="$CC" | ||
| 2951 | + | ||
| 2952 | + compile_rpath= | ||
| 2953 | + finalize_rpath= | ||
| 2954 | + compile_shlibpath= | ||
| 2955 | + finalize_shlibpath= | ||
| 2956 | + convenience= | ||
| 2957 | + old_convenience= | ||
| 2958 | + deplibs= | ||
| 2959 | + linkopts= | ||
| 2960 | + | ||
| 2961 | + if test -n "$shlibpath_var"; then | ||
| 2962 | + # get the directories listed in $shlibpath_var | ||
| 2963 | + eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` | ||
| 2964 | + else | ||
| 2965 | + lib_search_path= | ||
| 2966 | + fi | ||
| 2967 | + # now prepend the system-specific ones | ||
| 2968 | + eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\" | ||
| 2969 | + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" | ||
| 2970 | + | ||
| 2971 | + avoid_version=no | ||
| 2972 | + dlfiles= | ||
| 2973 | + dlprefiles= | ||
| 2974 | + dlself=no | ||
| 2975 | + export_dynamic=no | ||
| 2976 | + export_symbols= | ||
| 2977 | + export_symbols_regex= | ||
| 2978 | + generated= | ||
| 2979 | + libobjs= | ||
| 2980 | + link_against_libtool_libs= | ||
| 2981 | + ltlibs= | ||
| 2982 | + module=no | ||
| 2983 | + objs= | ||
| 2984 | + prefer_static_libs=no | ||
| 2985 | + preload=no | ||
| 2986 | + prev= | ||
| 2987 | + prevarg= | ||
| 2988 | + release= | ||
| 2989 | + rpath= | ||
| 2990 | + xrpath= | ||
| 2991 | + perm_rpath= | ||
| 2992 | + temp_rpath= | ||
| 2993 | + thread_safe=no | ||
| 2994 | + vinfo= | ||
| 2995 | + | ||
| 2996 | + # We need to know -static, to get the right output filenames. | ||
| 2997 | + for arg | ||
| 2998 | + do | ||
| 2999 | + case "$arg" in | ||
| 3000 | + -all-static | -static) | ||
| 3001 | + if test "X$arg" = "X-all-static"; then | ||
| 3002 | + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then | ||
| 3003 | + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 | ||
| 3004 | + fi | ||
| 3005 | + if test -n "$link_static_flag"; then | ||
| 3006 | + dlopen_self=$dlopen_self_static | ||
| 3007 | + fi | ||
| 3008 | + else | ||
| 3009 | + if test -z "$pic_flag" && test -n "$link_static_flag"; then | ||
| 3010 | + dlopen_self=$dlopen_self_static | ||
| 3011 | + fi | ||
| 3012 | + fi | ||
| 3013 | + build_libtool_libs=no | ||
| 3014 | + build_old_libs=yes | ||
| 3015 | + prefer_static_libs=yes | ||
| 3016 | + break | ||
| 3017 | + ;; | ||
| 3018 | + esac | ||
| 3019 | + done | ||
| 3020 | + | ||
| 3021 | + # See if our shared archives depend on static archives. | ||
| 3022 | + test -n "$old_archive_from_new_cmds" && build_old_libs=yes | ||
| 3023 | + | ||
| 3024 | + # Go through the arguments, transforming them on the way. | ||
| 3025 | + while test $# -gt 0; do | ||
| 3026 | + arg="$1" | ||
| 3027 | + shift | ||
| 3028 | + | ||
| 3029 | + # If the previous option needs an argument, assign it. | ||
| 3030 | + if test -n "$prev"; then | ||
| 3031 | + case "$prev" in | ||
| 3032 | + output) | ||
| 3033 | + compile_command="$compile_command @OUTPUT@" | ||
| 3034 | + finalize_command="$finalize_command @OUTPUT@" | ||
| 3035 | + ;; | ||
| 3036 | + esac | ||
| 3037 | + | ||
| 3038 | + case "$prev" in | ||
| 3039 | + dlfiles|dlprefiles) | ||
| 3040 | + if test "$preload" = no; then | ||
| 3041 | + # Add the symbol object into the linking commands. | ||
| 3042 | + compile_command="$compile_command @SYMFILE@" | ||
| 3043 | + finalize_command="$finalize_command @SYMFILE@" | ||
| 3044 | + preload=yes | ||
| 3045 | + fi | ||
| 3046 | + case "$arg" in | ||
| 3047 | + *.la | *.lo) ;; # We handle these cases below. | ||
| 3048 | + force) | ||
| 3049 | + if test "$dlself" = no; then | ||
| 3050 | + dlself=needless | ||
| 3051 | + export_dynamic=yes | ||
| 3052 | + fi | ||
| 3053 | + prev= | ||
| 3054 | + continue | ||
| 3055 | + ;; | ||
| 3056 | + self) | ||
| 3057 | + if test "$prev" = dlprefiles; then | ||
| 3058 | + dlself=yes | ||
| 3059 | + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then | ||
| 3060 | + dlself=yes | ||
| 3061 | + else | ||
| 3062 | + dlself=needless | ||
| 3063 | + export_dynamic=yes | ||
| 3064 | + fi | ||
| 3065 | + prev= | ||
| 3066 | + continue | ||
| 3067 | + ;; | ||
| 3068 | + *) | ||
| 3069 | + if test "$prev" = dlfiles; then | ||
| 3070 | + dlfiles="$dlfiles $arg" | ||
| 3071 | + else | ||
| 3072 | + dlprefiles="$dlprefiles $arg" | ||
| 3073 | + fi | ||
| 3074 | + prev= | ||
| 3075 | + ;; | ||
| 3076 | + esac | ||
| 3077 | + ;; | ||
| 3078 | + expsyms) | ||
| 3079 | + export_symbols="$arg" | ||
| 3080 | + if test ! -f "$arg"; then | ||
| 3081 | + $echo "$modename: symbol file \`$arg' does not exist" | ||
| 3082 | + exit 1 | ||
| 3083 | + fi | ||
| 3084 | + prev= | ||
| 3085 | + continue | ||
| 3086 | + ;; | ||
| 3087 | + expsyms_regex) | ||
| 3088 | + export_symbols_regex="$arg" | ||
| 3089 | + prev= | ||
| 3090 | + continue | ||
| 3091 | + ;; | ||
| 3092 | + release) | ||
| 3093 | + release="-$arg" | ||
| 3094 | + prev= | ||
| 3095 | + continue | ||
| 3096 | + ;; | ||
| 3097 | + rpath | xrpath) | ||
| 3098 | + # We need an absolute path. | ||
| 3099 | + case "$arg" in | ||
| 3100 | + [\\/]* | [A-Za-z]:[\\/]*) ;; | ||
| 3101 | + *) | ||
| 3102 | + $echo "$modename: only absolute run-paths are allowed" 1>&2 | ||
| 3103 | + exit 1 | ||
| 3104 | + ;; | ||
| 3105 | + esac | ||
| 3106 | + if test "$prev" = rpath; then | ||
| 3107 | + case "$rpath " in | ||
| 3108 | + *" $arg "*) ;; | ||
| 3109 | + *) rpath="$rpath $arg" ;; | ||
| 3110 | + esac | ||
| 3111 | + else | ||
| 3112 | + case "$xrpath " in | ||
| 3113 | + *" $arg "*) ;; | ||
| 3114 | + *) xrpath="$xrpath $arg" ;; | ||
| 3115 | + esac | ||
| 3116 | + fi | ||
| 3117 | + prev= | ||
| 3118 | + continue | ||
| 3119 | + ;; | ||
| 3120 | + *) | ||
| 3121 | + eval "$prev=\"\$arg\"" | ||
| 3122 | + prev= | ||
| 3123 | + continue | ||
| 3124 | + ;; | ||
| 3125 | + esac | ||
| 3126 | + fi | ||
| 3127 | + | ||
| 3128 | + prevarg="$arg" | ||
| 3129 | + | ||
| 3130 | + case "$arg" in | ||
| 3131 | + -all-static) | ||
| 3132 | + if test -n "$link_static_flag"; then | ||
| 3133 | + compile_command="$compile_command $link_static_flag" | ||
| 3134 | + finalize_command="$finalize_command $link_static_flag" | ||
| 3135 | + fi | ||
| 3136 | + continue | ||
| 3137 | + ;; | ||
| 3138 | + | ||
| 3139 | + -allow-undefined) | ||
| 3140 | + # FIXME: remove this flag sometime in the future. | ||
| 3141 | + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 | ||
| 3142 | + continue | ||
| 3143 | + ;; | ||
| 3144 | + | ||
| 3145 | + -avoid-version) | ||
| 3146 | + avoid_version=yes | ||
| 3147 | + continue | ||
| 3148 | + ;; | ||
| 3149 | + | ||
| 3150 | + -dlopen) | ||
| 3151 | + prev=dlfiles | ||
| 3152 | + continue | ||
| 3153 | + ;; | ||
| 3154 | + | ||
| 3155 | + -dlpreopen) | ||
| 3156 | + prev=dlprefiles | ||
| 3157 | + continue | ||
| 3158 | + ;; | ||
| 3159 | + | ||
| 3160 | + -export-dynamic) | ||
| 3161 | + export_dynamic=yes | ||
| 3162 | + continue | ||
| 3163 | + ;; | ||
| 3164 | + | ||
| 3165 | + -export-symbols | -export-symbols-regex) | ||
| 3166 | + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then | ||
| 3167 | + $echo "$modename: not more than one -exported-symbols argument allowed" | ||
| 3168 | + exit 1 | ||
| 3169 | + fi | ||
| 3170 | + if test "X$arg" = "X-export-symbols"; then | ||
| 3171 | + prev=expsyms | ||
| 3172 | + else | ||
| 3173 | + prev=expsyms_regex | ||
| 3174 | + fi | ||
| 3175 | + continue | ||
| 3176 | + ;; | ||
| 3177 | + | ||
| 3178 | + -L*) | ||
| 3179 | + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` | ||
| 3180 | + # We need an absolute path. | ||
| 3181 | + case "$dir" in | ||
| 3182 | + [\\/]* | [A-Za-z]:[\\/]*) ;; | ||
| 3183 | + *) | ||
| 3184 | + absdir=`cd "$dir" && pwd` | ||
| 3185 | + if test -z "$absdir"; then | ||
| 3186 | + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 | ||
| 3187 | + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 | ||
| 3188 | + absdir="$dir" | ||
| 3189 | + fi | ||
| 3190 | + dir="$absdir" | ||
| 3191 | + ;; | ||
| 3192 | + esac | ||
| 3193 | + case " $deplibs " in | ||
| 3194 | + *" $arg "*) ;; | ||
| 3195 | + *) deplibs="$deplibs $arg";; | ||
| 3196 | + esac | ||
| 3197 | + case " $lib_search_path " in | ||
| 3198 | + *" $dir "*) ;; | ||
| 3199 | + *) lib_search_path="$lib_search_path $dir";; | ||
| 3200 | + esac | ||
| 3201 | + case "$host" in | ||
| 3202 | + *-*-cygwin* | *-*-mingw* | *-*-os2*) | ||
| 3203 | + dllsearchdir=`cd "$dir" && pwd || echo "$dir"` | ||
| 3204 | + case ":$dllsearchpath:" in | ||
| 3205 | + ::) dllsearchpath="$dllsearchdir";; | ||
| 3206 | + *":$dllsearchdir:"*) ;; | ||
| 3207 | + *) dllsearchpath="$dllsearchpath:$dllsearchdir";; | ||
| 3208 | + esac | ||
| 3209 | + ;; | ||
| 3210 | + esac | ||
| 3211 | + ;; | ||
| 3212 | + | ||
| 3213 | + -l*) | ||
| 3214 | + if test "$arg" = "-lc"; then | ||
| 3215 | + case "$host" in | ||
| 3216 | + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) | ||
| 3217 | + # These systems don't actually have c library (as such) | ||
| 3218 | + continue | ||
| 3219 | + ;; | ||
| 3220 | + esac | ||
| 3221 | + elif test "$arg" = "-lm"; then | ||
| 3222 | + case "$host" in | ||
| 3223 | + *-*-cygwin* | *-*-beos*) | ||
| 3224 | + # These systems don't actually have math library (as such) | ||
| 3225 | + continue | ||
| 3226 | + ;; | ||
| 3227 | + esac | ||
| 3228 | + fi | ||
| 3229 | + deplibs="$deplibs $arg" | ||
| 3230 | + ;; | ||
| 3231 | + | ||
| 3232 | + -module) | ||
| 3233 | + module=yes | ||
| 3234 | + continue | ||
| 3235 | + ;; | ||
| 3236 | + | ||
| 3237 | + -no-undefined) | ||
| 3238 | + allow_undefined=no | ||
| 3239 | + continue | ||
| 3240 | + ;; | ||
| 3241 | + | ||
| 3242 | + -o) prev=output ;; | ||
| 3243 | + | ||
| 3244 | + -release) | ||
| 3245 | + prev=release | ||
| 3246 | + continue | ||
| 3247 | + ;; | ||
| 3248 | + | ||
| 3249 | + -rpath) | ||
| 3250 | + prev=rpath | ||
| 3251 | + continue | ||
| 3252 | + ;; | ||
| 3253 | + | ||
| 3254 | + -R) | ||
| 3255 | + prev=xrpath | ||
| 3256 | + continue | ||
| 3257 | + ;; | ||
| 3258 | + | ||
| 3259 | + -R*) | ||
| 3260 | + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` | ||
| 3261 | + # We need an absolute path. | ||
| 3262 | + case "$dir" in | ||
| 3263 | + [\\/]* | [A-Za-z]:[\\/]*) ;; | ||
| 3264 | + *) | ||
| 3265 | + $echo "$modename: only absolute run-paths are allowed" 1>&2 | ||
| 3266 | + exit 1 | ||
| 3267 | + ;; | ||
| 3268 | + esac | ||
| 3269 | + case "$xrpath " in | ||
| 3270 | + *" $dir "*) ;; | ||
| 3271 | + *) xrpath="$xrpath $dir" ;; | ||
| 3272 | + esac | ||
| 3273 | + continue | ||
| 3274 | + ;; | ||
| 3275 | + | ||
| 3276 | + -static) | ||
| 3277 | + # If we have no pic_flag, then this is the same as -all-static. | ||
| 3278 | + if test -z "$pic_flag" && test -n "$link_static_flag"; then | ||
| 3279 | + compile_command="$compile_command $link_static_flag" | ||
| 3280 | + finalize_command="$finalize_command $link_static_flag" | ||
| 3281 | + fi | ||
| 3282 | + continue | ||
| 3283 | + ;; | ||
| 3284 | + | ||
| 3285 | + -thread-safe) | ||
| 3286 | + thread_safe=yes | ||
| 3287 | + continue | ||
| 3288 | + ;; | ||
| 3289 | + | ||
| 3290 | + -version-info) | ||
| 3291 | + prev=vinfo | ||
| 3292 | + continue | ||
| 3293 | + ;; | ||
| 3294 | + | ||
| 3295 | + # Some other compiler flag. | ||
| 3296 | + -* | +*) | ||
| 3297 | + # Unknown arguments in both finalize_command and compile_command need | ||
| 3298 | + # to be aesthetically quoted because they are evaled later. | ||
| 3299 | + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | ||
| 3300 | + case "$arg" in | ||
| 3301 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 3302 | + arg="\"$arg\"" | ||
| 3303 | + ;; | ||
| 3304 | + esac | ||
| 3305 | + ;; | ||
| 3306 | + | ||
| 3307 | + *.o | *.obj | *.a | *.lib) | ||
| 3308 | + # A standard object. | ||
| 3309 | + objs="$objs $arg" | ||
| 3310 | + ;; | ||
| 3311 | + | ||
| 3312 | + *.lo) | ||
| 3313 | + # A library object. | ||
| 3314 | + if test "$prev" = dlfiles; then | ||
| 3315 | + dlfiles="$dlfiles $arg" | ||
| 3316 | + if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then | ||
| 3317 | + prev= | ||
| 3318 | + continue | ||
| 3319 | + else | ||
| 3320 | + # If libtool objects are unsupported, then we need to preload. | ||
| 3321 | + prev=dlprefiles | ||
| 3322 | + fi | ||
| 3323 | + fi | ||
| 3324 | + | ||
| 3325 | + if test "$prev" = dlprefiles; then | ||
| 3326 | + # Preload the old-style object. | ||
| 3327 | + dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` | ||
| 3328 | + prev= | ||
| 3329 | + fi | ||
| 3330 | + libobjs="$libobjs $arg" | ||
| 3331 | + ;; | ||
| 3332 | + | ||
| 3333 | + *.la) | ||
| 3334 | + # A libtool-controlled library. | ||
| 3335 | + | ||
| 3336 | + dlname= | ||
| 3337 | + libdir= | ||
| 3338 | + library_names= | ||
| 3339 | + old_library= | ||
| 3340 | + | ||
| 3341 | + # Check to see that this really is a libtool archive. | ||
| 3342 | + if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : | ||
| 3343 | + else | ||
| 3344 | + $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 | ||
| 3345 | + exit 1 | ||
| 3346 | + fi | ||
| 3347 | + | ||
| 3348 | + # If the library was installed with an old release of libtool, | ||
| 3349 | + # it will not redefine variable installed. | ||
| 3350 | + installed=yes | ||
| 3351 | + | ||
| 3352 | + # Read the .la file | ||
| 3353 | + # If there is no directory component, then add one. | ||
| 3354 | + case "$arg" in | ||
| 3355 | + */* | *\\*) . $arg ;; | ||
| 3356 | + *) . ./$arg ;; | ||
| 3357 | + esac | ||
| 3358 | + | ||
| 3359 | + # Get the name of the library we link against. | ||
| 3360 | + linklib= | ||
| 3361 | + for l in $old_library $library_names; do | ||
| 3362 | + linklib="$l" | ||
| 3363 | + done | ||
| 3364 | + | ||
| 3365 | + if test -z "$linklib"; then | ||
| 3366 | + $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 | ||
| 3367 | + exit 1 | ||
| 3368 | + fi | ||
| 3369 | + | ||
| 3370 | + # Find the relevant object directory and library name. | ||
| 3371 | + name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` | ||
| 3372 | + | ||
| 3373 | + if test "X$installed" = Xyes; then | ||
| 3374 | + dir="$libdir" | ||
| 3375 | + else | ||
| 3376 | + dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` | ||
| 3377 | + if test "X$dir" = "X$arg"; then | ||
| 3378 | + dir="$objdir" | ||
| 3379 | + else | ||
| 3380 | + dir="$dir/$objdir" | ||
| 3381 | + fi | ||
| 3382 | + fi | ||
| 3383 | + | ||
| 3384 | + if test -n "$dependency_libs"; then | ||
| 3385 | + # Extract -R and -L from dependency_libs | ||
| 3386 | + temp_deplibs= | ||
| 3387 | + for deplib in $dependency_libs; do | ||
| 3388 | + case "$deplib" in | ||
| 3389 | + -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` | ||
| 3390 | + case " $rpath $xrpath " in | ||
| 3391 | + *" $temp_xrpath "*) ;; | ||
| 3392 | + *) xrpath="$xrpath $temp_xrpath";; | ||
| 3393 | + esac;; | ||
| 3394 | + -L*) case "$compile_command $temp_deplibs " in | ||
| 3395 | + *" $deplib "*) ;; | ||
| 3396 | + *) temp_deplibs="$temp_deplibs $deplib";; | ||
| 3397 | + esac | ||
| 3398 | + temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'` | ||
| 3399 | + case " $lib_search_path " in | ||
| 3400 | + *" $temp_dir "*) ;; | ||
| 3401 | + *) lib_search_path="$lib_search_path $temp_dir";; | ||
| 3402 | + esac | ||
| 3403 | + ;; | ||
| 3404 | + *) temp_deplibs="$temp_deplibs $deplib";; | ||
| 3405 | + esac | ||
| 3406 | + done | ||
| 3407 | + dependency_libs="$temp_deplibs" | ||
| 3408 | + fi | ||
| 3409 | + | ||
| 3410 | + if test -z "$libdir"; then | ||
| 3411 | + # It is a libtool convenience library, so add in its objects. | ||
| 3412 | + convenience="$convenience $dir/$old_library" | ||
| 3413 | + old_convenience="$old_convenience $dir/$old_library" | ||
| 3414 | + deplibs="$deplibs$dependency_libs" | ||
| 3415 | + compile_command="$compile_command $dir/$old_library$dependency_libs" | ||
| 3416 | + finalize_command="$finalize_command $dir/$old_library$dependency_libs" | ||
| 3417 | + continue | ||
| 3418 | + fi | ||
| 3419 | + | ||
| 3420 | + # This library was specified with -dlopen. | ||
| 3421 | + if test "$prev" = dlfiles; then | ||
| 3422 | + dlfiles="$dlfiles $arg" | ||
| 3423 | + if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then | ||
| 3424 | + # If there is no dlname, no dlopen support or we're linking statically, | ||
| 3425 | + # we need to preload. | ||
| 3426 | + prev=dlprefiles | ||
| 3427 | + else | ||
| 3428 | + # We should not create a dependency on this library, but we | ||
| 3429 | + # may need any libraries it requires. | ||
| 3430 | + compile_command="$compile_command$dependency_libs" | ||
| 3431 | + finalize_command="$finalize_command$dependency_libs" | ||
| 3432 | + prev= | ||
| 3433 | + continue | ||
| 3434 | + fi | ||
| 3435 | + fi | ||
| 3436 | + | ||
| 3437 | + # The library was specified with -dlpreopen. | ||
| 3438 | + if test "$prev" = dlprefiles; then | ||
| 3439 | + # Prefer using a static library (so that no silly _DYNAMIC symbols | ||
| 3440 | + # are required to link). | ||
| 3441 | + if test -n "$old_library"; then | ||
| 3442 | + dlprefiles="$dlprefiles $dir/$old_library" | ||
| 3443 | + else | ||
| 3444 | + dlprefiles="$dlprefiles $dir/$linklib" | ||
| 3445 | + fi | ||
| 3446 | + prev= | ||
| 3447 | + fi | ||
| 3448 | + | ||
| 3449 | + if test -n "$library_names" && | ||
| 3450 | + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then | ||
| 3451 | + link_against_libtool_libs="$link_against_libtool_libs $arg" | ||
| 3452 | + if test -n "$shlibpath_var"; then | ||
| 3453 | + # Make sure the rpath contains only unique directories. | ||
| 3454 | + case "$temp_rpath " in | ||
| 3455 | + *" $dir "*) ;; | ||
| 3456 | + *) temp_rpath="$temp_rpath $dir" ;; | ||
| 3457 | + esac | ||
| 3458 | + fi | ||
| 3459 | + | ||
| 3460 | + # We need an absolute path. | ||
| 3461 | + case "$dir" in | ||
| 3462 | + [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;; | ||
| 3463 | + *) | ||
| 3464 | + absdir=`cd "$dir" && pwd` | ||
| 3465 | + if test -z "$absdir"; then | ||
| 3466 | + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 | ||
| 3467 | + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 | ||
| 3468 | + absdir="$dir" | ||
| 3469 | + fi | ||
| 3470 | + ;; | ||
| 3471 | + esac | ||
| 3472 | + | ||
| 3473 | + # This is the magic to use -rpath. | ||
| 3474 | + # Skip directories that are in the system default run-time | ||
| 3475 | + # search path, unless they have been requested with -R. | ||
| 3476 | + case " $sys_lib_dlsearch_path " in | ||
| 3477 | + *" $absdir "*) ;; | ||
| 3478 | + *) | ||
| 3479 | + case "$compile_rpath " in | ||
| 3480 | + *" $absdir "*) ;; | ||
| 3481 | + *) compile_rpath="$compile_rpath $absdir" | ||
| 3482 | + esac | ||
| 3483 | + ;; | ||
| 3484 | + esac | ||
| 3485 | + | ||
| 3486 | + case " $sys_lib_dlsearch_path " in | ||
| 3487 | + *" $libdir "*) ;; | ||
| 3488 | + *) | ||
| 3489 | + case "$finalize_rpath " in | ||
| 3490 | + *" $libdir "*) ;; | ||
| 3491 | + *) finalize_rpath="$finalize_rpath $libdir" | ||
| 3492 | + esac | ||
| 3493 | + ;; | ||
| 3494 | + esac | ||
| 3495 | + | ||
| 3496 | + lib_linked=yes | ||
| 3497 | + case "$hardcode_action" in | ||
| 3498 | + immediate | unsupported) | ||
| 3499 | + if test "$hardcode_direct" = no; then | ||
| 3500 | + compile_command="$compile_command $dir/$linklib" | ||
| 3501 | + deplibs="$deplibs $dir/$linklib" | ||
| 3502 | + case "$host" in | ||
| 3503 | + *-*-cygwin* | *-*-mingw* | *-*-os2*) | ||
| 3504 | + dllsearchdir=`cd "$dir" && pwd || echo "$dir"` | ||
| 3505 | + if test -n "$dllsearchpath"; then | ||
| 3506 | + dllsearchpath="$dllsearchpath:$dllsearchdir" | ||
| 3507 | + else | ||
| 3508 | + dllsearchpath="$dllsearchdir" | ||
| 3509 | + fi | ||
| 3510 | + ;; | ||
| 3511 | + esac | ||
| 3512 | + elif test "$hardcode_minus_L" = no; then | ||
| 3513 | + case "$host" in | ||
| 3514 | + *-*-sunos*) | ||
| 3515 | + compile_shlibpath="$compile_shlibpath$dir:" | ||
| 3516 | + ;; | ||
| 3517 | + esac | ||
| 3518 | + case "$compile_command " in | ||
| 3519 | + *" -L$dir "*) ;; | ||
| 3520 | + *) compile_command="$compile_command -L$dir";; | ||
| 3521 | + esac | ||
| 3522 | + compile_command="$compile_command -l$name" | ||
| 3523 | + deplibs="$deplibs -L$dir -l$name" | ||
| 3524 | + elif test "$hardcode_shlibpath_var" = no; then | ||
| 3525 | + case ":$compile_shlibpath:" in | ||
| 3526 | + *":$dir:"*) ;; | ||
| 3527 | + *) compile_shlibpath="$compile_shlibpath$dir:";; | ||
| 3528 | + esac | ||
| 3529 | + compile_command="$compile_command -l$name" | ||
| 3530 | + deplibs="$deplibs -l$name" | ||
| 3531 | + else | ||
| 3532 | + lib_linked=no | ||
| 3533 | + fi | ||
| 3534 | + ;; | ||
| 3535 | + | ||
| 3536 | + relink) | ||
| 3537 | + if test "$hardcode_direct" = yes; then | ||
| 3538 | + compile_command="$compile_command $absdir/$linklib" | ||
| 3539 | + deplibs="$deplibs $absdir/$linklib" | ||
| 3540 | + elif test "$hardcode_minus_L" = yes; then | ||
| 3541 | + case "$compile_command " in | ||
| 3542 | + *" -L$absdir "*) ;; | ||
| 3543 | + *) compile_command="$compile_command -L$absdir";; | ||
| 3544 | + esac | ||
| 3545 | + compile_command="$compile_command -l$name" | ||
| 3546 | + deplibs="$deplibs -L$absdir -l$name" | ||
| 3547 | + elif test "$hardcode_shlibpath_var" = yes; then | ||
| 3548 | + case ":$compile_shlibpath:" in | ||
| 3549 | + *":$absdir:"*) ;; | ||
| 3550 | + *) compile_shlibpath="$compile_shlibpath$absdir:";; | ||
| 3551 | + esac | ||
| 3552 | + compile_command="$compile_command -l$name" | ||
| 3553 | + deplibs="$deplibs -l$name" | ||
| 3554 | + else | ||
| 3555 | + lib_linked=no | ||
| 3556 | + fi | ||
| 3557 | + ;; | ||
| 3558 | + | ||
| 3559 | + *) | ||
| 3560 | + lib_linked=no | ||
| 3561 | + ;; | ||
| 3562 | + esac | ||
| 3563 | + | ||
| 3564 | + if test "$lib_linked" != yes; then | ||
| 3565 | + $echo "$modename: configuration error: unsupported hardcode properties" | ||
| 3566 | + exit 1 | ||
| 3567 | + fi | ||
| 3568 | + | ||
| 3569 | + # Finalize command for both is simple: just hardcode it. | ||
| 3570 | + if test "$hardcode_direct" = yes; then | ||
| 3571 | + finalize_command="$finalize_command $libdir/$linklib" | ||
| 3572 | + elif test "$hardcode_minus_L" = yes; then | ||
| 3573 | + case "$finalize_command " in | ||
| 3574 | + *" -L$libdir "*) ;; | ||
| 3575 | + *) finalize_command="$finalize_command -L$libdir";; | ||
| 3576 | + esac | ||
| 3577 | + finalize_command="$finalize_command -l$name" | ||
| 3578 | + elif test "$hardcode_shlibpath_var" = yes; then | ||
| 3579 | + case ":$finalize_shlibpath:" in | ||
| 3580 | + *":$libdir:"*) ;; | ||
| 3581 | + *) finalize_shlibpath="$finalize_shlibpath$libdir:";; | ||
| 3582 | + esac | ||
| 3583 | + finalize_command="$finalize_command -l$name" | ||
| 3584 | + else | ||
| 3585 | + # We cannot seem to hardcode it, guess we'll fake it. | ||
| 3586 | + case "$finalize_command " in | ||
| 3587 | + *" -L$dir "*) ;; | ||
| 3588 | + *) finalize_command="$finalize_command -L$libdir";; | ||
| 3589 | + esac | ||
| 3590 | + finalize_command="$finalize_command -l$name" | ||
| 3591 | + fi | ||
| 3592 | + else | ||
| 3593 | + # Transform directly to old archives if we don't build new libraries. | ||
| 3594 | + if test -n "$pic_flag" && test -z "$old_library"; then | ||
| 3595 | + $echo "$modename: cannot find static library for \`$arg'" 1>&2 | ||
| 3596 | + exit 1 | ||
| 3597 | + fi | ||
| 3598 | + | ||
| 3599 | + # Here we assume that one of hardcode_direct or hardcode_minus_L | ||
| 3600 | + # is not unsupported. This is valid on all known static and | ||
| 3601 | + # shared platforms. | ||
| 3602 | + if test "$hardcode_direct" != unsupported; then | ||
| 3603 | + test -n "$old_library" && linklib="$old_library" | ||
| 3604 | + compile_command="$compile_command $dir/$linklib" | ||
| 3605 | + finalize_command="$finalize_command $dir/$linklib" | ||
| 3606 | + else | ||
| 3607 | + case "$compile_command " in | ||
| 3608 | + *" -L$dir "*) ;; | ||
| 3609 | + *) compile_command="$compile_command -L$dir";; | ||
| 3610 | + esac | ||
| 3611 | + compile_command="$compile_command -l$name" | ||
| 3612 | + case "$finalize_command " in | ||
| 3613 | + *" -L$dir "*) ;; | ||
| 3614 | + *) finalize_command="$finalize_command -L$dir";; | ||
| 3615 | + esac | ||
| 3616 | + finalize_command="$finalize_command -l$name" | ||
| 3617 | + fi | ||
| 3618 | + fi | ||
| 3619 | + | ||
| 3620 | + # Add in any libraries that this one depends upon. | ||
| 3621 | + compile_command="$compile_command$dependency_libs" | ||
| 3622 | + finalize_command="$finalize_command$dependency_libs" | ||
| 3623 | + continue | ||
| 3624 | + ;; | ||
| 3625 | + | ||
| 3626 | + # Some other compiler argument. | ||
| 3627 | + *) | ||
| 3628 | + # Unknown arguments in both finalize_command and compile_command need | ||
| 3629 | + # to be aesthetically quoted because they are evaled later. | ||
| 3630 | + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | ||
| 3631 | + case "$arg" in | ||
| 3632 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 3633 | + arg="\"$arg\"" | ||
| 3634 | + ;; | ||
| 3635 | + esac | ||
| 3636 | + ;; | ||
| 3637 | + esac | ||
| 3638 | + | ||
| 3639 | + # Now actually substitute the argument into the commands. | ||
| 3640 | + if test -n "$arg"; then | ||
| 3641 | + compile_command="$compile_command $arg" | ||
| 3642 | + finalize_command="$finalize_command $arg" | ||
| 3643 | + fi | ||
| 3644 | + done | ||
| 3645 | + | ||
| 3646 | + if test -n "$prev"; then | ||
| 3647 | + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 | ||
| 3648 | + $echo "$help" 1>&2 | ||
| 3649 | + exit 1 | ||
| 3650 | + fi | ||
| 3651 | + | ||
| 3652 | + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then | ||
| 3653 | + eval arg=\"$export_dynamic_flag_spec\" | ||
| 3654 | + compile_command="$compile_command $arg" | ||
| 3655 | + finalize_command="$finalize_command $arg" | ||
| 3656 | + fi | ||
| 3657 | + | ||
| 3658 | + oldlibs= | ||
| 3659 | + # calculate the name of the file, without its directory | ||
| 3660 | + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` | ||
| 3661 | + libobjs_save="$libobjs" | ||
| 3662 | + | ||
| 3663 | + case "$output" in | ||
| 3664 | + "") | ||
| 3665 | + $echo "$modename: you must specify an output file" 1>&2 | ||
| 3666 | + $echo "$help" 1>&2 | ||
| 3667 | + exit 1 | ||
| 3668 | + ;; | ||
| 3669 | + | ||
| 3670 | + *.a | *.lib) | ||
| 3671 | + if test -n "$link_against_libtool_libs"; then | ||
| 3672 | + $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 | ||
| 3673 | + exit 1 | ||
| 3674 | + fi | ||
| 3675 | + | ||
| 3676 | + if test -n "$deplibs"; then | ||
| 3677 | + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 | ||
| 3678 | + fi | ||
| 3679 | + | ||
| 3680 | + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | ||
| 3681 | + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 | ||
| 3682 | + fi | ||
| 3683 | + | ||
| 3684 | + if test -n "$rpath"; then | ||
| 3685 | + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 | ||
| 3686 | + fi | ||
| 3687 | + | ||
| 3688 | + if test -n "$xrpath"; then | ||
| 3689 | + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 | ||
| 3690 | + fi | ||
| 3691 | + | ||
| 3692 | + if test -n "$vinfo"; then | ||
| 3693 | + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 | ||
| 3694 | + fi | ||
| 3695 | + | ||
| 3696 | + if test -n "$release"; then | ||
| 3697 | + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 | ||
| 3698 | + fi | ||
| 3699 | + | ||
| 3700 | + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then | ||
| 3701 | + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 | ||
| 3702 | + fi | ||
| 3703 | + | ||
| 3704 | + # Now set the variables for building old libraries. | ||
| 3705 | + build_libtool_libs=no | ||
| 3706 | + oldlibs="$output" | ||
| 3707 | + ;; | ||
| 3708 | + | ||
| 3709 | + *.la) | ||
| 3710 | + # Make sure we only generate libraries of the form `libNAME.la'. | ||
| 3711 | + case "$outputname" in | ||
| 3712 | + lib*) | ||
| 3713 | + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` | ||
| 3714 | + eval libname=\"$libname_spec\" | ||
| 3715 | + ;; | ||
| 3716 | + *) | ||
| 3717 | + if test "$module" = no; then | ||
| 3718 | + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 | ||
| 3719 | + $echo "$help" 1>&2 | ||
| 3720 | + exit 1 | ||
| 3721 | + fi | ||
| 3722 | + if test "$need_lib_prefix" != no; then | ||
| 3723 | + # Add the "lib" prefix for modules if required | ||
| 3724 | + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` | ||
| 3725 | + eval libname=\"$libname_spec\" | ||
| 3726 | + else | ||
| 3727 | + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` | ||
| 3728 | + fi | ||
| 3729 | + ;; | ||
| 3730 | + esac | ||
| 3731 | + | ||
| 3732 | + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` | ||
| 3733 | + if test "X$output_objdir" = "X$output"; then | ||
| 3734 | + output_objdir="$objdir" | ||
| 3735 | + else | ||
| 3736 | + output_objdir="$output_objdir/$objdir" | ||
| 3737 | + fi | ||
| 3738 | + | ||
| 3739 | + if test -n "$objs"; then | ||
| 3740 | + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 | ||
| 3741 | + exit 1 | ||
| 3742 | + fi | ||
| 3743 | + | ||
| 3744 | + # How the heck are we supposed to write a wrapper for a shared library? | ||
| 3745 | + if test -n "$link_against_libtool_libs"; then | ||
| 3746 | + $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 | ||
| 3747 | + exit 1 | ||
| 3748 | + fi | ||
| 3749 | + | ||
| 3750 | + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | ||
| 3751 | + $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 | ||
| 3752 | + fi | ||
| 3753 | + | ||
| 3754 | + set dummy $rpath | ||
| 3755 | + if test $# -gt 2; then | ||
| 3756 | + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 | ||
| 3757 | + fi | ||
| 3758 | + install_libdir="$2" | ||
| 3759 | + | ||
| 3760 | + oldlibs= | ||
| 3761 | + if test -z "$rpath"; then | ||
| 3762 | + if test "$build_libtool_libs" = yes; then | ||
| 3763 | + # Building a libtool convenience library. | ||
| 3764 | + libext=al | ||
| 3765 | + oldlibs="$output_objdir/$libname.$libext $oldlibs" | ||
| 3766 | + build_libtool_libs=convenience | ||
| 3767 | + build_old_libs=yes | ||
| 3768 | + fi | ||
| 3769 | + dependency_libs="$deplibs" | ||
| 3770 | + | ||
| 3771 | + if test -n "$vinfo"; then | ||
| 3772 | + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 | ||
| 3773 | + fi | ||
| 3774 | + | ||
| 3775 | + if test -n "$release"; then | ||
| 3776 | + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 | ||
| 3777 | + fi | ||
| 3778 | + else | ||
| 3779 | + | ||
| 3780 | + # Parse the version information argument. | ||
| 3781 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' | ||
| 3782 | + set dummy $vinfo 0 0 0 | ||
| 3783 | + IFS="$save_ifs" | ||
| 3784 | + | ||
| 3785 | + if test -n "$8"; then | ||
| 3786 | + $echo "$modename: too many parameters to \`-version-info'" 1>&2 | ||
| 3787 | + $echo "$help" 1>&2 | ||
| 3788 | + exit 1 | ||
| 3789 | + fi | ||
| 3790 | + | ||
| 3791 | + current="$2" | ||
| 3792 | + revision="$3" | ||
| 3793 | + age="$4" | ||
| 3794 | + | ||
| 3795 | + # Check that each of the things are valid numbers. | ||
| 3796 | + case "$current" in | ||
| 3797 | + 0 | [1-9] | [1-9][0-9]*) ;; | ||
| 3798 | + *) | ||
| 3799 | + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 | ||
| 3800 | + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | ||
| 3801 | + exit 1 | ||
| 3802 | + ;; | ||
| 3803 | + esac | ||
| 3804 | + | ||
| 3805 | + case "$revision" in | ||
| 3806 | + 0 | [1-9] | [1-9][0-9]*) ;; | ||
| 3807 | + *) | ||
| 3808 | + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 | ||
| 3809 | + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | ||
| 3810 | + exit 1 | ||
| 3811 | + ;; | ||
| 3812 | + esac | ||
| 3813 | + | ||
| 3814 | + case "$age" in | ||
| 3815 | + 0 | [1-9] | [1-9][0-9]*) ;; | ||
| 3816 | + *) | ||
| 3817 | + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 | ||
| 3818 | + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | ||
| 3819 | + exit 1 | ||
| 3820 | + ;; | ||
| 3821 | + esac | ||
| 3822 | + | ||
| 3823 | + if test $age -gt $current; then | ||
| 3824 | + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 | ||
| 3825 | + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | ||
| 3826 | + exit 1 | ||
| 3827 | + fi | ||
| 3828 | + | ||
| 3829 | + # Calculate the version variables. | ||
| 3830 | + major= | ||
| 3831 | + versuffix= | ||
| 3832 | + verstring= | ||
| 3833 | + case "$version_type" in | ||
| 3834 | + none) ;; | ||
| 3835 | + | ||
| 3836 | + irix) | ||
| 3837 | + major=`expr $current - $age + 1` | ||
| 3838 | + versuffix="$major.$revision" | ||
| 3839 | + verstring="sgi$major.$revision" | ||
| 3840 | + | ||
| 3841 | + # Add in all the interfaces that we are compatible with. | ||
| 3842 | + loop=$revision | ||
| 3843 | + while test $loop != 0; do | ||
| 3844 | + iface=`expr $revision - $loop` | ||
| 3845 | + loop=`expr $loop - 1` | ||
| 3846 | + verstring="sgi$major.$iface:$verstring" | ||
| 3847 | + done | ||
| 3848 | + ;; | ||
| 3849 | + | ||
| 3850 | + linux) | ||
| 3851 | + major=.`expr $current - $age` | ||
| 3852 | + versuffix="$major.$age.$revision" | ||
| 3853 | + ;; | ||
| 3854 | + | ||
| 3855 | + osf) | ||
| 3856 | + major=`expr $current - $age` | ||
| 3857 | + versuffix=".$current.$age.$revision" | ||
| 3858 | + verstring="$current.$age.$revision" | ||
| 3859 | + | ||
| 3860 | + # Add in all the interfaces that we are compatible with. | ||
| 3861 | + loop=$age | ||
| 3862 | + while test $loop != 0; do | ||
| 3863 | + iface=`expr $current - $loop` | ||
| 3864 | + loop=`expr $loop - 1` | ||
| 3865 | + verstring="$verstring:${iface}.0" | ||
| 3866 | + done | ||
| 3867 | + | ||
| 3868 | + # Make executables depend on our current version. | ||
| 3869 | + verstring="$verstring:${current}.0" | ||
| 3870 | + ;; | ||
| 3871 | + | ||
| 3872 | + sunos) | ||
| 3873 | + major=".$current" | ||
| 3874 | + versuffix=".$current.$revision" | ||
| 3875 | + ;; | ||
| 3876 | + | ||
| 3877 | + freebsd-aout) | ||
| 3878 | + major=".$current" | ||
| 3879 | + versuffix=".$current.$revision"; | ||
| 3880 | + ;; | ||
| 3881 | + | ||
| 3882 | + freebsd-elf) | ||
| 3883 | + major=".$current" | ||
| 3884 | + versuffix=".$current"; | ||
| 3885 | + ;; | ||
| 3886 | + | ||
| 3887 | + windows) | ||
| 3888 | + # Like Linux, but with '-' rather than '.', since we only | ||
| 3889 | + # want one extension on Windows 95. | ||
| 3890 | + major=`expr $current - $age` | ||
| 3891 | + versuffix="-$major-$age-$revision" | ||
| 3892 | + ;; | ||
| 3893 | + | ||
| 3894 | + *) | ||
| 3895 | + $echo "$modename: unknown library version type \`$version_type'" 1>&2 | ||
| 3896 | + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 | ||
| 3897 | + exit 1 | ||
| 3898 | + ;; | ||
| 3899 | + esac | ||
| 3900 | + | ||
| 3901 | + # Clear the version info if we defaulted, and they specified a release. | ||
| 3902 | + if test -z "$vinfo" && test -n "$release"; then | ||
| 3903 | + major= | ||
| 3904 | + verstring="0.0" | ||
| 3905 | + if test "$need_version" = no; then | ||
| 3906 | + versuffix= | ||
| 3907 | + else | ||
| 3908 | + versuffix=".0.0" | ||
| 3909 | + fi | ||
| 3910 | + fi | ||
| 3911 | + | ||
| 3912 | + # Remove version info from name if versioning should be avoided | ||
| 3913 | + if test "$avoid_version" = yes && test "$need_version" = no; then | ||
| 3914 | + major= | ||
| 3915 | + versuffix= | ||
| 3916 | + verstring="" | ||
| 3917 | + fi | ||
| 3918 | + | ||
| 3919 | + # Check to see if the archive will have undefined symbols. | ||
| 3920 | + if test "$allow_undefined" = yes; then | ||
| 3921 | + if test "$allow_undefined_flag" = unsupported; then | ||
| 3922 | + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 | ||
| 3923 | + build_libtool_libs=no | ||
| 3924 | + build_old_libs=yes | ||
| 3925 | + fi | ||
| 3926 | + else | ||
| 3927 | + # Don't allow undefined symbols. | ||
| 3928 | + allow_undefined_flag="$no_undefined_flag" | ||
| 3929 | + fi | ||
| 3930 | + | ||
| 3931 | + dependency_libs="$deplibs" | ||
| 3932 | + case "$host" in | ||
| 3933 | + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) | ||
| 3934 | + # these systems don't actually have a c library (as such)! | ||
| 3935 | + ;; | ||
| 3936 | + *) | ||
| 3937 | + # Add libc to deplibs on all other systems. | ||
| 3938 | + deplibs="$deplibs -lc" | ||
| 3939 | + ;; | ||
| 3940 | + esac | ||
| 3941 | + fi | ||
| 3942 | + | ||
| 3943 | + # Create the output directory, or remove our outputs if we need to. | ||
| 3944 | + if test -d $output_objdir; then | ||
| 3945 | + $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" | ||
| 3946 | + $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* | ||
| 3947 | + else | ||
| 3948 | + $show "$mkdir $output_objdir" | ||
| 3949 | + $run $mkdir $output_objdir | ||
| 3950 | + status=$? | ||
| 3951 | + if test $status -ne 0 && test ! -d $output_objdir; then | ||
| 3952 | + exit $status | ||
| 3953 | + fi | ||
| 3954 | + fi | ||
| 3955 | + | ||
| 3956 | + # Now set the variables for building old libraries. | ||
| 3957 | + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then | ||
| 3958 | + oldlibs="$oldlibs $output_objdir/$libname.$libext" | ||
| 3959 | + | ||
| 3960 | + # Transform .lo files to .o files. | ||
| 3961 | + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` | ||
| 3962 | + fi | ||
| 3963 | + | ||
| 3964 | + if test "$build_libtool_libs" = yes; then | ||
| 3965 | + # Transform deplibs into only deplibs that can be linked in shared. | ||
| 3966 | + name_save=$name | ||
| 3967 | + libname_save=$libname | ||
| 3968 | + release_save=$release | ||
| 3969 | + versuffix_save=$versuffix | ||
| 3970 | + major_save=$major | ||
| 3971 | + # I'm not sure if I'm treating the release correctly. I think | ||
| 3972 | + # release should show up in the -l (ie -lgmp5) so we don't want to | ||
| 3973 | + # add it in twice. Is that correct? | ||
| 3974 | + release="" | ||
| 3975 | + versuffix="" | ||
| 3976 | + major="" | ||
| 3977 | + newdeplibs= | ||
| 3978 | + droppeddeps=no | ||
| 3979 | + case "$deplibs_check_method" in | ||
| 3980 | + pass_all) | ||
| 3981 | + # Don't check for shared/static. Everything works. | ||
| 3982 | + # This might be a little naive. We might want to check | ||
| 3983 | + # whether the library exists or not. But this is on | ||
| 3984 | + # osf3 & osf4 and I'm not really sure... Just | ||
| 3985 | + # implementing what was already the behaviour. | ||
| 3986 | + newdeplibs=$deplibs | ||
| 3987 | + ;; | ||
| 3988 | + test_compile) | ||
| 3989 | + # This code stresses the "libraries are programs" paradigm to its | ||
| 3990 | + # limits. Maybe even breaks it. We compile a program, linking it | ||
| 3991 | + # against the deplibs as a proxy for the library. Then we can check | ||
| 3992 | + # whether they linked in statically or dynamically with ldd. | ||
| 3993 | + $rm conftest.c | ||
| 3994 | + cat > conftest.c <<EOF | ||
| 3995 | + int main() { return 0; } | ||
| 3996 | +EOF | ||
| 3997 | + $rm conftest | ||
| 3998 | + $C_compiler -o conftest conftest.c $deplibs | ||
| 3999 | + if test $? -eq 0 ; then | ||
| 4000 | + ldd_output=`ldd conftest` | ||
| 4001 | + for i in $deplibs; do | ||
| 4002 | + name="`expr $i : '-l\(.*\)'`" | ||
| 4003 | + # If $name is empty we are operating on a -L argument. | ||
| 4004 | + if test "$name" != "" ; then | ||
| 4005 | + libname=`eval \\$echo \"$libname_spec\"` | ||
| 4006 | + deplib_matches=`eval \\$echo \"$library_names_spec\"` | ||
| 4007 | + set dummy $deplib_matches | ||
| 4008 | + deplib_match=$2 | ||
| 4009 | + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then | ||
| 4010 | + newdeplibs="$newdeplibs $i" | ||
| 4011 | + else | ||
| 4012 | + droppeddeps=yes | ||
| 4013 | + echo | ||
| 4014 | + echo "*** Warning: This library needs some functionality provided by $i." | ||
| 4015 | + echo "*** I have the capability to make that library automatically link in when" | ||
| 4016 | + echo "*** you link to this library. But I can only do this if you have a" | ||
| 4017 | + echo "*** shared version of the library, which you do not appear to have." | ||
| 4018 | + fi | ||
| 4019 | + else | ||
| 4020 | + newdeplibs="$newdeplibs $i" | ||
| 4021 | + fi | ||
| 4022 | + done | ||
| 4023 | + else | ||
| 4024 | + # Error occured in the first compile. Let's try to salvage the situation: | ||
| 4025 | + # Compile a seperate program for each library. | ||
| 4026 | + for i in $deplibs; do | ||
| 4027 | + name="`expr $i : '-l\(.*\)'`" | ||
| 4028 | + # If $name is empty we are operating on a -L argument. | ||
| 4029 | + if test "$name" != "" ; then | ||
| 4030 | + $rm conftest | ||
| 4031 | + $C_compiler -o conftest conftest.c $i | ||
| 4032 | + # Did it work? | ||
| 4033 | + if test $? -eq 0 ; then | ||
| 4034 | + ldd_output=`ldd conftest` | ||
| 4035 | + libname=`eval \\$echo \"$libname_spec\"` | ||
| 4036 | + deplib_matches=`eval \\$echo \"$library_names_spec\"` | ||
| 4037 | + set dummy $deplib_matches | ||
| 4038 | + deplib_match=$2 | ||
| 4039 | + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then | ||
| 4040 | + newdeplibs="$newdeplibs $i" | ||
| 4041 | + else | ||
| 4042 | + droppeddeps=yes | ||
| 4043 | + echo | ||
| 4044 | + echo "*** Warning: This library needs some functionality provided by $i." | ||
| 4045 | + echo "*** I have the capability to make that library automatically link in when" | ||
| 4046 | + echo "*** you link to this library. But I can only do this if you have a" | ||
| 4047 | + echo "*** shared version of the library, which you do not appear to have." | ||
| 4048 | + fi | ||
| 4049 | + else | ||
| 4050 | + droppeddeps=yes | ||
| 4051 | + echo | ||
| 4052 | + echo "*** Warning! Library $i is needed by this library but I was not able to" | ||
| 4053 | + echo "*** make it link in! You will probably need to install it or some" | ||
| 4054 | + echo "*** library that it depends on before this library will be fully" | ||
| 4055 | + echo "*** functional. Installing it before continuing would be even better." | ||
| 4056 | + fi | ||
| 4057 | + else | ||
| 4058 | + newdeplibs="$newdeplibs $i" | ||
| 4059 | + fi | ||
| 4060 | + done | ||
| 4061 | + fi | ||
| 4062 | + ;; | ||
| 4063 | + file_magic*) | ||
| 4064 | + set dummy $deplibs_check_method | ||
| 4065 | + file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`" | ||
| 4066 | + for a_deplib in $deplibs; do | ||
| 4067 | + name="`expr $a_deplib : '-l\(.*\)'`" | ||
| 4068 | + # If $name is empty we are operating on a -L argument. | ||
| 4069 | + if test "$name" != "" ; then | ||
| 4070 | + libname=`eval \\$echo \"$libname_spec\"` | ||
| 4071 | + for i in $lib_search_path; do | ||
| 4072 | + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` | ||
| 4073 | + for potent_lib in $potential_libs; do | ||
| 4074 | + # Follow soft links. | ||
| 4075 | + if ls -lLd "$potent_lib" 2>/dev/null \ | ||
| 4076 | + | grep " -> " >/dev/null; then | ||
| 4077 | + continue | ||
| 4078 | + fi | ||
| 4079 | + # The statement above tries to avoid entering an | ||
| 4080 | + # endless loop below, in case of cyclic links. | ||
| 4081 | + # We might still enter an endless loop, since a link | ||
| 4082 | + # loop can be closed while we follow links, | ||
| 4083 | + # but so what? | ||
| 4084 | + potlib="$potent_lib" | ||
| 4085 | + while test -h "$potlib" 2>/dev/null; do | ||
| 4086 | + potliblink=`ls -ld $potlib | sed 's/.* -> //'` | ||
| 4087 | + case "$potliblink" in | ||
| 4088 | + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; | ||
| 4089 | + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; | ||
| 4090 | + esac | ||
| 4091 | + done | ||
| 4092 | + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ||
| 4093 | + | sed 10q \ | ||
| 4094 | + | egrep "$file_magic_regex" > /dev/null; then | ||
| 4095 | + newdeplibs="$newdeplibs $a_deplib" | ||
| 4096 | + a_deplib="" | ||
| 4097 | + break 2 | ||
| 4098 | + fi | ||
| 4099 | + done | ||
| 4100 | + done | ||
| 4101 | + if test -n "$a_deplib" ; then | ||
| 4102 | + droppeddeps=yes | ||
| 4103 | + echo | ||
| 4104 | + echo "*** Warning: This library needs some functionality provided by $a_deplib." | ||
| 4105 | + echo "*** I have the capability to make that library automatically link in when" | ||
| 4106 | + echo "*** you link to this library. But I can only do this if you have a" | ||
| 4107 | + echo "*** shared version of the library, which you do not appear to have." | ||
| 4108 | + fi | ||
| 4109 | + else | ||
| 4110 | + # Add a -L argument. | ||
| 4111 | + newdeplibs="$newdeplibs $a_deplib" | ||
| 4112 | + fi | ||
| 4113 | + done # Gone through all deplibs. | ||
| 4114 | + ;; | ||
| 4115 | + none | unknown | *) | ||
| 4116 | + newdeplibs="" | ||
| 4117 | + if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ | ||
| 4118 | + -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | | ||
| 4119 | + grep . >/dev/null; then | ||
| 4120 | + echo | ||
| 4121 | + if test "X$deplibs_check_method" = "Xnone"; then | ||
| 4122 | + echo "*** Warning: inter-library dependencies are not supported in this platform." | ||
| 4123 | + else | ||
| 4124 | + echo "*** Warning: inter-library dependencies are not known to be supported." | ||
| 4125 | + fi | ||
| 4126 | + echo "*** All declared inter-library dependencies are being dropped." | ||
| 4127 | + droppeddeps=yes | ||
| 4128 | + fi | ||
| 4129 | + ;; | ||
| 4130 | + esac | ||
| 4131 | + versuffix=$versuffix_save | ||
| 4132 | + major=$major_save | ||
| 4133 | + release=$release_save | ||
| 4134 | + libname=$libname_save | ||
| 4135 | + name=$name_save | ||
| 4136 | + | ||
| 4137 | + if test "$droppeddeps" = yes; then | ||
| 4138 | + if test "$module" = yes; then | ||
| 4139 | + echo | ||
| 4140 | + echo "*** Warning: libtool could not satisfy all declared inter-library" | ||
| 4141 | + echo "*** dependencies of module $libname. Therefore, libtool will create" | ||
| 4142 | + echo "*** a static module, that should work as long as the dlopening" | ||
| 4143 | + echo "*** application is linked with the -dlopen flag." | ||
| 4144 | + if test -z "$global_symbol_pipe"; then | ||
| 4145 | + echo | ||
| 4146 | + echo "*** However, this would only work if libtool was able to extract symbol" | ||
| 4147 | + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" | ||
| 4148 | + echo "*** not find such a program. So, this module is probably useless." | ||
| 4149 | + echo "*** \`nm' from GNU binutils and a full rebuild may help." | ||
| 4150 | + fi | ||
| 4151 | + if test "$build_old_libs" = no; then | ||
| 4152 | + oldlibs="$output_objdir/$libname.$libext" | ||
| 4153 | + build_libtool_libs=module | ||
| 4154 | + build_old_libs=yes | ||
| 4155 | + else | ||
| 4156 | + build_libtool_libs=no | ||
| 4157 | + fi | ||
| 4158 | + else | ||
| 4159 | + echo "*** The inter-library dependencies that have been dropped here will be" | ||
| 4160 | + echo "*** automatically added whenever a program is linked with this library" | ||
| 4161 | + echo "*** or is declared to -dlopen it." | ||
| 4162 | + fi | ||
| 4163 | + fi | ||
| 4164 | + # Done checking deplibs! | ||
| 4165 | + deplibs=$newdeplibs | ||
| 4166 | + fi | ||
| 4167 | + | ||
| 4168 | + # All the library-specific variables (install_libdir is set above). | ||
| 4169 | + library_names= | ||
| 4170 | + old_library= | ||
| 4171 | + dlname= | ||
| 4172 | + | ||
| 4173 | + # Test again, we may have decided not to build it any more | ||
| 4174 | + if test "$build_libtool_libs" = yes; then | ||
| 4175 | + # Get the real and link names of the library. | ||
| 4176 | + eval library_names=\"$library_names_spec\" | ||
| 4177 | + set dummy $library_names | ||
| 4178 | + realname="$2" | ||
| 4179 | + shift; shift | ||
| 4180 | + | ||
| 4181 | + if test -n "$soname_spec"; then | ||
| 4182 | + eval soname=\"$soname_spec\" | ||
| 4183 | + else | ||
| 4184 | + soname="$realname" | ||
| 4185 | + fi | ||
| 4186 | + | ||
| 4187 | + lib="$output_objdir/$realname" | ||
| 4188 | + for link | ||
| 4189 | + do | ||
| 4190 | + linknames="$linknames $link" | ||
| 4191 | + done | ||
| 4192 | + | ||
| 4193 | + # Ensure that we have .o objects for linkers which dislike .lo | ||
| 4194 | + # (e.g. aix) incase we are running --disable-static | ||
| 4195 | + for obj in $libobjs; do | ||
| 4196 | + oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"` | ||
| 4197 | + if test ! -f $oldobj; then | ||
| 4198 | + $show "${LN_S} $obj $oldobj" | ||
| 4199 | + $run ${LN_S} $obj $oldobj || exit $? | ||
| 4200 | + fi | ||
| 4201 | + done | ||
| 4202 | + | ||
| 4203 | + # Use standard objects if they are pic | ||
| 4204 | + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | ||
| 4205 | + | ||
| 4206 | + # Prepare the list of exported symbols | ||
| 4207 | + if test -z "$export_symbols"; then | ||
| 4208 | + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then | ||
| 4209 | + $show "generating symbol list for \`$libname.la'" | ||
| 4210 | + export_symbols="$output_objdir/$libname.exp" | ||
| 4211 | + $run $rm $export_symbols | ||
| 4212 | + eval cmds=\"$export_symbols_cmds\" | ||
| 4213 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 4214 | + for cmd in $cmds; do | ||
| 4215 | + IFS="$save_ifs" | ||
| 4216 | + $show "$cmd" | ||
| 4217 | + $run eval "$cmd" || exit $? | ||
| 4218 | + done | ||
| 4219 | + IFS="$save_ifs" | ||
| 4220 | + if test -n "$export_symbols_regex"; then | ||
| 4221 | + $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" | ||
| 4222 | + $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' | ||
| 4223 | + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" | ||
| 4224 | + $run eval '$mv "${export_symbols}T" "$export_symbols"' | ||
| 4225 | + fi | ||
| 4226 | + fi | ||
| 4227 | + fi | ||
| 4228 | + | ||
| 4229 | + if test -n "$export_symbols" && test -n "$include_expsyms"; then | ||
| 4230 | + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' | ||
| 4231 | + fi | ||
| 4232 | + | ||
| 4233 | + if test -n "$convenience"; then | ||
| 4234 | + if test -n "$whole_archive_flag_spec"; then | ||
| 4235 | + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" | ||
| 4236 | + else | ||
| 4237 | + gentop="$output_objdir/${outputname}x" | ||
| 4238 | + $show "${rm}r $gentop" | ||
| 4239 | + $run ${rm}r "$gentop" | ||
| 4240 | + $show "mkdir $gentop" | ||
| 4241 | + $run mkdir "$gentop" | ||
| 4242 | + status=$? | ||
| 4243 | + if test $status -ne 0 && test ! -d "$gentop"; then | ||
| 4244 | + exit $status | ||
| 4245 | + fi | ||
| 4246 | + generated="$generated $gentop" | ||
| 4247 | + | ||
| 4248 | + for xlib in $convenience; do | ||
| 4249 | + # Extract the objects. | ||
| 4250 | + case "$xlib" in | ||
| 4251 | + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; | ||
| 4252 | + *) xabs=`pwd`"/$xlib" ;; | ||
| 4253 | + esac | ||
| 4254 | + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | ||
| 4255 | + xdir="$gentop/$xlib" | ||
| 4256 | + | ||
| 4257 | + $show "${rm}r $xdir" | ||
| 4258 | + $run ${rm}r "$xdir" | ||
| 4259 | + $show "mkdir $xdir" | ||
| 4260 | + $run mkdir "$xdir" | ||
| 4261 | + status=$? | ||
| 4262 | + if test $status -ne 0 && test ! -d "$xdir"; then | ||
| 4263 | + exit $status | ||
| 4264 | + fi | ||
| 4265 | + $show "(cd $xdir && $AR x $xabs)" | ||
| 4266 | + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | ||
| 4267 | + | ||
| 4268 | + libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` | ||
| 4269 | + done | ||
| 4270 | + fi | ||
| 4271 | + fi | ||
| 4272 | + | ||
| 4273 | + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then | ||
| 4274 | + eval flag=\"$thread_safe_flag_spec\" | ||
| 4275 | + linkopts="$linkopts $flag" | ||
| 4276 | + fi | ||
| 4277 | + | ||
| 4278 | + # Do each of the archive commands. | ||
| 4279 | + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then | ||
| 4280 | + eval cmds=\"$archive_expsym_cmds\" | ||
| 4281 | + else | ||
| 4282 | + eval cmds=\"$archive_cmds\" | ||
| 4283 | + fi | ||
| 4284 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 4285 | + for cmd in $cmds; do | ||
| 4286 | + IFS="$save_ifs" | ||
| 4287 | + $show "$cmd" | ||
| 4288 | + $run eval "$cmd" || exit $? | ||
| 4289 | + done | ||
| 4290 | + IFS="$save_ifs" | ||
| 4291 | + | ||
| 4292 | + # Create links to the real library. | ||
| 4293 | + for linkname in $linknames; do | ||
| 4294 | + if test "$realname" != "$linkname"; then | ||
| 4295 | + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" | ||
| 4296 | + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? | ||
| 4297 | + fi | ||
| 4298 | + done | ||
| 4299 | + | ||
| 4300 | + # If -module or -export-dynamic was specified, set the dlname. | ||
| 4301 | + if test "$module" = yes || test "$export_dynamic" = yes; then | ||
| 4302 | + # On all known operating systems, these are identical. | ||
| 4303 | + dlname="$soname" | ||
| 4304 | + fi | ||
| 4305 | + fi | ||
| 4306 | + ;; | ||
| 4307 | + | ||
| 4308 | + *.lo | *.o | *.obj) | ||
| 4309 | + if test -n "$link_against_libtool_libs"; then | ||
| 4310 | + $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 | ||
| 4311 | + exit 1 | ||
| 4312 | + fi | ||
| 4313 | + | ||
| 4314 | + if test -n "$deplibs"; then | ||
| 4315 | + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 | ||
| 4316 | + fi | ||
| 4317 | + | ||
| 4318 | + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | ||
| 4319 | + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 | ||
| 4320 | + fi | ||
| 4321 | + | ||
| 4322 | + if test -n "$rpath"; then | ||
| 4323 | + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 | ||
| 4324 | + fi | ||
| 4325 | + | ||
| 4326 | + if test -n "$xrpath"; then | ||
| 4327 | + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 | ||
| 4328 | + fi | ||
| 4329 | + | ||
| 4330 | + if test -n "$vinfo"; then | ||
| 4331 | + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 | ||
| 4332 | + fi | ||
| 4333 | + | ||
| 4334 | + if test -n "$release"; then | ||
| 4335 | + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 | ||
| 4336 | + fi | ||
| 4337 | + | ||
| 4338 | + case "$output" in | ||
| 4339 | + *.lo) | ||
| 4340 | + if test -n "$objs"; then | ||
| 4341 | + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 | ||
| 4342 | + exit 1 | ||
| 4343 | + fi | ||
| 4344 | + libobj="$output" | ||
| 4345 | + obj=`$echo "X$output" | $Xsed -e "$lo2o"` | ||
| 4346 | + ;; | ||
| 4347 | + *) | ||
| 4348 | + libobj= | ||
| 4349 | + obj="$output" | ||
| 4350 | + ;; | ||
| 4351 | + esac | ||
| 4352 | + | ||
| 4353 | + # Delete the old objects. | ||
| 4354 | + $run $rm $obj $libobj | ||
| 4355 | + | ||
| 4356 | + # Objects from convenience libraries. This assumes | ||
| 4357 | + # single-version convenience libraries. Whenever we create | ||
| 4358 | + # different ones for PIC/non-PIC, this we'll have to duplicate | ||
| 4359 | + # the extraction. | ||
| 4360 | + reload_conv_objs= | ||
| 4361 | + gentop= | ||
| 4362 | + # reload_cmds runs $LD directly, so let us get rid of | ||
| 4363 | + # -Wl from whole_archive_flag_spec | ||
| 4364 | + wl= | ||
| 4365 | + | ||
| 4366 | + if test -n "$convenience"; then | ||
| 4367 | + if test -n "$whole_archive_flag_spec"; then | ||
| 4368 | + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" | ||
| 4369 | + else | ||
| 4370 | + gentop="$output_objdir/${obj}x" | ||
| 4371 | + $show "${rm}r $gentop" | ||
| 4372 | + $run ${rm}r "$gentop" | ||
| 4373 | + $show "mkdir $gentop" | ||
| 4374 | + $run mkdir "$gentop" | ||
| 4375 | + status=$? | ||
| 4376 | + if test $status -ne 0 && test ! -d "$gentop"; then | ||
| 4377 | + exit $status | ||
| 4378 | + fi | ||
| 4379 | + generated="$generated $gentop" | ||
| 4380 | + | ||
| 4381 | + for xlib in $convenience; do | ||
| 4382 | + # Extract the objects. | ||
| 4383 | + case "$xlib" in | ||
| 4384 | + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; | ||
| 4385 | + *) xabs=`pwd`"/$xlib" ;; | ||
| 4386 | + esac | ||
| 4387 | + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | ||
| 4388 | + xdir="$gentop/$xlib" | ||
| 4389 | + | ||
| 4390 | + $show "${rm}r $xdir" | ||
| 4391 | + $run ${rm}r "$xdir" | ||
| 4392 | + $show "mkdir $xdir" | ||
| 4393 | + $run mkdir "$xdir" | ||
| 4394 | + status=$? | ||
| 4395 | + if test $status -ne 0 && test ! -d "$xdir"; then | ||
| 4396 | + exit $status | ||
| 4397 | + fi | ||
| 4398 | + $show "(cd $xdir && $AR x $xabs)" | ||
| 4399 | + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | ||
| 4400 | + | ||
| 4401 | + reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` | ||
| 4402 | + done | ||
| 4403 | + fi | ||
| 4404 | + fi | ||
| 4405 | + | ||
| 4406 | + # Create the old-style object. | ||
| 4407 | + reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" | ||
| 4408 | + | ||
| 4409 | + output="$obj" | ||
| 4410 | + eval cmds=\"$reload_cmds\" | ||
| 4411 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 4412 | + for cmd in $cmds; do | ||
| 4413 | + IFS="$save_ifs" | ||
| 4414 | + $show "$cmd" | ||
| 4415 | + $run eval "$cmd" || exit $? | ||
| 4416 | + done | ||
| 4417 | + IFS="$save_ifs" | ||
| 4418 | + | ||
| 4419 | + # Exit if we aren't doing a library object file. | ||
| 4420 | + if test -z "$libobj"; then | ||
| 4421 | + if test -n "$gentop"; then | ||
| 4422 | + $show "${rm}r $gentop" | ||
| 4423 | + $run ${rm}r $gentop | ||
| 4424 | + fi | ||
| 4425 | + | ||
| 4426 | + exit 0 | ||
| 4427 | + fi | ||
| 4428 | + | ||
| 4429 | + if test "$build_libtool_libs" != yes; then | ||
| 4430 | + if test -n "$gentop"; then | ||
| 4431 | + $show "${rm}r $gentop" | ||
| 4432 | + $run ${rm}r $gentop | ||
| 4433 | + fi | ||
| 4434 | + | ||
| 4435 | + # Create an invalid libtool object if no PIC, so that we don't | ||
| 4436 | + # accidentally link it into a program. | ||
| 4437 | + $show "echo timestamp > $libobj" | ||
| 4438 | + $run eval "echo timestamp > $libobj" || exit $? | ||
| 4439 | + exit 0 | ||
| 4440 | + fi | ||
| 4441 | + | ||
| 4442 | + if test -n "$pic_flag"; then | ||
| 4443 | + # Only do commands if we really have different PIC objects. | ||
| 4444 | + reload_objs="$libobjs $reload_conv_objs" | ||
| 4445 | + output="$libobj" | ||
| 4446 | + eval cmds=\"$reload_cmds\" | ||
| 4447 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 4448 | + for cmd in $cmds; do | ||
| 4449 | + IFS="$save_ifs" | ||
| 4450 | + $show "$cmd" | ||
| 4451 | + $run eval "$cmd" || exit $? | ||
| 4452 | + done | ||
| 4453 | + IFS="$save_ifs" | ||
| 4454 | + else | ||
| 4455 | + # Just create a symlink. | ||
| 4456 | + $show $rm $libobj | ||
| 4457 | + $run $rm $libobj | ||
| 4458 | + $show "$LN_S $obj $libobj" | ||
| 4459 | + $run $LN_S $obj $libobj || exit $? | ||
| 4460 | + fi | ||
| 4461 | + | ||
| 4462 | + if test -n "$gentop"; then | ||
| 4463 | + $show "${rm}r $gentop" | ||
| 4464 | + $run ${rm}r $gentop | ||
| 4465 | + fi | ||
| 4466 | + | ||
| 4467 | + exit 0 | ||
| 4468 | + ;; | ||
| 4469 | + | ||
| 4470 | + # Anything else should be a program. | ||
| 4471 | + *) | ||
| 4472 | + if test -n "$vinfo"; then | ||
| 4473 | + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 | ||
| 4474 | + fi | ||
| 4475 | + | ||
| 4476 | + if test -n "$release"; then | ||
| 4477 | + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 | ||
| 4478 | + fi | ||
| 4479 | + | ||
| 4480 | + if test "$preload" = yes; then | ||
| 4481 | + if test "$dlopen" = unknown && test "$dlopen_self" = unknown && | ||
| 4482 | + test "$dlopen_self_static" = unknown; then | ||
| 4483 | + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." | ||
| 4484 | + fi | ||
| 4485 | + fi | ||
| 4486 | + | ||
| 4487 | + if test -n "$rpath$xrpath"; then | ||
| 4488 | + # If the user specified any rpath flags, then add them. | ||
| 4489 | + for libdir in $rpath $xrpath; do | ||
| 4490 | + # This is the magic to use -rpath. | ||
| 4491 | + case "$compile_rpath " in | ||
| 4492 | + *" $libdir "*) ;; | ||
| 4493 | + *) compile_rpath="$compile_rpath $libdir" ;; | ||
| 4494 | + esac | ||
| 4495 | + case "$finalize_rpath " in | ||
| 4496 | + *" $libdir "*) ;; | ||
| 4497 | + *) finalize_rpath="$finalize_rpath $libdir" ;; | ||
| 4498 | + esac | ||
| 4499 | + done | ||
| 4500 | + fi | ||
| 4501 | + | ||
| 4502 | + # Now hardcode the library paths | ||
| 4503 | + rpath= | ||
| 4504 | + hardcode_libdirs= | ||
| 4505 | + for libdir in $compile_rpath $finalize_rpath; do | ||
| 4506 | + if test -n "$hardcode_libdir_flag_spec"; then | ||
| 4507 | + if test -n "$hardcode_libdir_separator"; then | ||
| 4508 | + if test -z "$hardcode_libdirs"; then | ||
| 4509 | + hardcode_libdirs="$libdir" | ||
| 4510 | + else | ||
| 4511 | + # Just accumulate the unique libdirs. | ||
| 4512 | + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in | ||
| 4513 | + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) | ||
| 4514 | + ;; | ||
| 4515 | + *) | ||
| 4516 | + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" | ||
| 4517 | + ;; | ||
| 4518 | + esac | ||
| 4519 | + fi | ||
| 4520 | + else | ||
| 4521 | + eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 4522 | + rpath="$rpath $flag" | ||
| 4523 | + fi | ||
| 4524 | + elif test -n "$runpath_var"; then | ||
| 4525 | + case "$perm_rpath " in | ||
| 4526 | + *" $libdir "*) ;; | ||
| 4527 | + *) perm_rpath="$perm_rpath $libdir" ;; | ||
| 4528 | + esac | ||
| 4529 | + fi | ||
| 4530 | + done | ||
| 4531 | + # Substitute the hardcoded libdirs into the rpath. | ||
| 4532 | + if test -n "$hardcode_libdir_separator" && | ||
| 4533 | + test -n "$hardcode_libdirs"; then | ||
| 4534 | + libdir="$hardcode_libdirs" | ||
| 4535 | + eval rpath=\" $hardcode_libdir_flag_spec\" | ||
| 4536 | + fi | ||
| 4537 | + compile_rpath="$rpath" | ||
| 4538 | + | ||
| 4539 | + rpath= | ||
| 4540 | + hardcode_libdirs= | ||
| 4541 | + for libdir in $finalize_rpath; do | ||
| 4542 | + if test -n "$hardcode_libdir_flag_spec"; then | ||
| 4543 | + if test -n "$hardcode_libdir_separator"; then | ||
| 4544 | + if test -z "$hardcode_libdirs"; then | ||
| 4545 | + hardcode_libdirs="$libdir" | ||
| 4546 | + else | ||
| 4547 | + # Just accumulate the unique libdirs. | ||
| 4548 | + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in | ||
| 4549 | + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) | ||
| 4550 | + ;; | ||
| 4551 | + *) | ||
| 4552 | + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" | ||
| 4553 | + ;; | ||
| 4554 | + esac | ||
| 4555 | + fi | ||
| 4556 | + else | ||
| 4557 | + eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 4558 | + rpath="$rpath $flag" | ||
| 4559 | + fi | ||
| 4560 | + elif test -n "$runpath_var"; then | ||
| 4561 | + case "$finalize_perm_rpath " in | ||
| 4562 | + *" $libdir "*) ;; | ||
| 4563 | + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; | ||
| 4564 | + esac | ||
| 4565 | + fi | ||
| 4566 | + done | ||
| 4567 | + # Substitute the hardcoded libdirs into the rpath. | ||
| 4568 | + if test -n "$hardcode_libdir_separator" && | ||
| 4569 | + test -n "$hardcode_libdirs"; then | ||
| 4570 | + libdir="$hardcode_libdirs" | ||
| 4571 | + eval rpath=\" $hardcode_libdir_flag_spec\" | ||
| 4572 | + fi | ||
| 4573 | + finalize_rpath="$rpath" | ||
| 4574 | + | ||
| 4575 | + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` | ||
| 4576 | + if test "X$output_objdir" = "X$output"; then | ||
| 4577 | + output_objdir="$objdir" | ||
| 4578 | + else | ||
| 4579 | + output_objdir="$output_objdir/$objdir" | ||
| 4580 | + fi | ||
| 4581 | + | ||
| 4582 | + # Create the binary in the object directory, then wrap it. | ||
| 4583 | + if test ! -d $output_objdir; then | ||
| 4584 | + $show "$mkdir $output_objdir" | ||
| 4585 | + $run $mkdir $output_objdir | ||
| 4586 | + status=$? | ||
| 4587 | + if test $status -ne 0 && test ! -d $output_objdir; then | ||
| 4588 | + exit $status | ||
| 4589 | + fi | ||
| 4590 | + fi | ||
| 4591 | + | ||
| 4592 | + if test -n "$libobjs" && test "$build_old_libs" = yes; then | ||
| 4593 | + # Transform all the library objects into standard objects. | ||
| 4594 | + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | ||
| 4595 | + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | ||
| 4596 | + fi | ||
| 4597 | + | ||
| 4598 | + dlsyms= | ||
| 4599 | + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | ||
| 4600 | + if test -n "$NM" && test -n "$global_symbol_pipe"; then | ||
| 4601 | + dlsyms="${outputname}S.c" | ||
| 4602 | + else | ||
| 4603 | + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 | ||
| 4604 | + fi | ||
| 4605 | + fi | ||
| 4606 | + | ||
| 4607 | + if test -n "$dlsyms"; then | ||
| 4608 | + case "$dlsyms" in | ||
| 4609 | + "") ;; | ||
| 4610 | + *.c) | ||
| 4611 | + # Discover the nlist of each of the dlfiles. | ||
| 4612 | + nlist="$output_objdir/${outputname}.nm" | ||
| 4613 | + | ||
| 4614 | + $show "$rm $nlist ${nlist}S ${nlist}T" | ||
| 4615 | + $run $rm "$nlist" "${nlist}S" "${nlist}T" | ||
| 4616 | + | ||
| 4617 | + # Parse the name list into a source file. | ||
| 4618 | + $show "creating $output_objdir/$dlsyms" | ||
| 4619 | + | ||
| 4620 | + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ | ||
| 4621 | +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ | ||
| 4622 | +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ | ||
| 4623 | + | ||
| 4624 | +#ifdef __cplusplus | ||
| 4625 | +extern \"C\" { | ||
| 4626 | +#endif | ||
| 4627 | + | ||
| 4628 | +/* Prevent the only kind of declaration conflicts we can make. */ | ||
| 4629 | +#define lt_preloaded_symbols some_other_symbol | ||
| 4630 | + | ||
| 4631 | +/* External symbol declarations for the compiler. */\ | ||
| 4632 | +" | ||
| 4633 | + | ||
| 4634 | + if test "$dlself" = yes; then | ||
| 4635 | + $show "generating symbol list for \`$output'" | ||
| 4636 | + | ||
| 4637 | + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" | ||
| 4638 | + | ||
| 4639 | + # Add our own program objects to the symbol list. | ||
| 4640 | + progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | ||
| 4641 | + for arg in $progfiles; do | ||
| 4642 | + $show "extracting global C symbols from \`$arg'" | ||
| 4643 | + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" | ||
| 4644 | + done | ||
| 4645 | + | ||
| 4646 | + if test -n "$exclude_expsyms"; then | ||
| 4647 | + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' | ||
| 4648 | + $run eval '$mv "$nlist"T "$nlist"' | ||
| 4649 | + fi | ||
| 4650 | + | ||
| 4651 | + if test -n "$export_symbols_regex"; then | ||
| 4652 | + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' | ||
| 4653 | + $run eval '$mv "$nlist"T "$nlist"' | ||
| 4654 | + fi | ||
| 4655 | + | ||
| 4656 | + # Prepare the list of exported symbols | ||
| 4657 | + if test -z "$export_symbols"; then | ||
| 4658 | + export_symbols="$output_objdir/$output.exp" | ||
| 4659 | + $run $rm $export_symbols | ||
| 4660 | + $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' | ||
| 4661 | + else | ||
| 4662 | + $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' | ||
| 4663 | + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' | ||
| 4664 | + $run eval 'mv "$nlist"T "$nlist"' | ||
| 4665 | + fi | ||
| 4666 | + fi | ||
| 4667 | + | ||
| 4668 | + for arg in $dlprefiles; do | ||
| 4669 | + $show "extracting global C symbols from \`$arg'" | ||
| 4670 | + name=`echo "$arg" | sed -e 's%^.*/%%'` | ||
| 4671 | + $run eval 'echo ": $name " >> "$nlist"' | ||
| 4672 | + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" | ||
| 4673 | + done | ||
| 4674 | + | ||
| 4675 | + if test -z "$run"; then | ||
| 4676 | + # Make sure we have at least an empty file. | ||
| 4677 | + test -f "$nlist" || : > "$nlist" | ||
| 4678 | + | ||
| 4679 | + if test -n "$exclude_expsyms"; then | ||
| 4680 | + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T | ||
| 4681 | + $mv "$nlist"T "$nlist" | ||
| 4682 | + fi | ||
| 4683 | + | ||
| 4684 | + # Try sorting and uniquifying the output. | ||
| 4685 | + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then | ||
| 4686 | + : | ||
| 4687 | + else | ||
| 4688 | + grep -v "^: " < "$nlist" > "$nlist"S | ||
| 4689 | + fi | ||
| 4690 | + | ||
| 4691 | + if test -f "$nlist"S; then | ||
| 4692 | + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' | ||
| 4693 | + else | ||
| 4694 | + echo '/* NONE */' >> "$output_objdir/$dlsyms" | ||
| 4695 | + fi | ||
| 4696 | + | ||
| 4697 | + $echo >> "$output_objdir/$dlsyms" "\ | ||
| 4698 | + | ||
| 4699 | +#undef lt_preloaded_symbols | ||
| 4700 | + | ||
| 4701 | +#if defined (__STDC__) && __STDC__ | ||
| 4702 | +# define lt_ptr_t void * | ||
| 4703 | +#else | ||
| 4704 | +# define lt_ptr_t char * | ||
| 4705 | +# define const | ||
| 4706 | +#endif | ||
| 4707 | + | ||
| 4708 | +/* The mapping between symbol names and symbols. */ | ||
| 4709 | +const struct { | ||
| 4710 | + const char *name; | ||
| 4711 | + lt_ptr_t address; | ||
| 4712 | +} | ||
| 4713 | +lt_preloaded_symbols[] = | ||
| 4714 | +{\ | ||
| 4715 | +" | ||
| 4716 | + | ||
| 4717 | + sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ | ||
| 4718 | + -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ | ||
| 4719 | + < "$nlist" >> "$output_objdir/$dlsyms" | ||
| 4720 | + | ||
| 4721 | + $echo >> "$output_objdir/$dlsyms" "\ | ||
| 4722 | + {0, (lt_ptr_t) 0} | ||
| 4723 | +}; | ||
| 4724 | + | ||
| 4725 | +/* This works around a problem in FreeBSD linker */ | ||
| 4726 | +#ifdef FREEBSD_WORKAROUND | ||
| 4727 | +static const void *lt_preloaded_setup() { | ||
| 4728 | + return lt_preloaded_symbols; | ||
| 4729 | +} | ||
| 4730 | +#endif | ||
| 4731 | + | ||
| 4732 | +#ifdef __cplusplus | ||
| 4733 | +} | ||
| 4734 | +#endif\ | ||
| 4735 | +" | ||
| 4736 | + fi | ||
| 4737 | + | ||
| 4738 | + pic_flag_for_symtable= | ||
| 4739 | + case "$host" in | ||
| 4740 | + # compiling the symbol table file with pic_flag works around | ||
| 4741 | + # a FreeBSD bug that causes programs to crash when -lm is | ||
| 4742 | + # linked before any other PIC object. But we must not use | ||
| 4743 | + # pic_flag when linking with -static. The problem exists in | ||
| 4744 | + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. | ||
| 4745 | + *-*-freebsd2*|*-*-freebsd3.0*) | ||
| 4746 | + case "$compile_command " in | ||
| 4747 | + *" -static "*) ;; | ||
| 4748 | + *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; | ||
| 4749 | + esac | ||
| 4750 | + esac | ||
| 4751 | + | ||
| 4752 | + # Now compile the dynamic symbol file. | ||
| 4753 | + $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" | ||
| 4754 | + $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? | ||
| 4755 | + | ||
| 4756 | + # Clean up the generated files. | ||
| 4757 | + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" | ||
| 4758 | + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" | ||
| 4759 | + | ||
| 4760 | + # Transform the symbol file into the correct name. | ||
| 4761 | + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` | ||
| 4762 | + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` | ||
| 4763 | + ;; | ||
| 4764 | + *) | ||
| 4765 | + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 | ||
| 4766 | + exit 1 | ||
| 4767 | + ;; | ||
| 4768 | + esac | ||
| 4769 | + else | ||
| 4770 | + # We keep going just in case the user didn't refer to | ||
| 4771 | + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe | ||
| 4772 | + # really was required. | ||
| 4773 | + | ||
| 4774 | + # Nullify the symbol file. | ||
| 4775 | + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` | ||
| 4776 | + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` | ||
| 4777 | + fi | ||
| 4778 | + | ||
| 4779 | + if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then | ||
| 4780 | + # Replace the output file specification. | ||
| 4781 | + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` | ||
| 4782 | + link_command="$compile_command$compile_rpath" | ||
| 4783 | + | ||
| 4784 | + # We have no uninstalled library dependencies, so finalize right now. | ||
| 4785 | + $show "$link_command" | ||
| 4786 | + $run eval "$link_command" | ||
| 4787 | + status=$? | ||
| 4788 | + | ||
| 4789 | + # Delete the generated files. | ||
| 4790 | + if test -n "$dlsyms"; then | ||
| 4791 | + $show "$rm $output_objdir/${outputname}S.${objext}" | ||
| 4792 | + $run $rm "$output_objdir/${outputname}S.${objext}" | ||
| 4793 | + fi | ||
| 4794 | + | ||
| 4795 | + exit $status | ||
| 4796 | + fi | ||
| 4797 | + | ||
| 4798 | + if test -n "$shlibpath_var"; then | ||
| 4799 | + # We should set the shlibpath_var | ||
| 4800 | + rpath= | ||
| 4801 | + for dir in $temp_rpath; do | ||
| 4802 | + case "$dir" in | ||
| 4803 | + [\\/]* | [A-Za-z]:[\\/]*) | ||
| 4804 | + # Absolute path. | ||
| 4805 | + rpath="$rpath$dir:" | ||
| 4806 | + ;; | ||
| 4807 | + *) | ||
| 4808 | + # Relative path: add a thisdir entry. | ||
| 4809 | + rpath="$rpath\$thisdir/$dir:" | ||
| 4810 | + ;; | ||
| 4811 | + esac | ||
| 4812 | + done | ||
| 4813 | + temp_rpath="$rpath" | ||
| 4814 | + fi | ||
| 4815 | + | ||
| 4816 | + if test -n "$compile_shlibpath$finalize_shlibpath"; then | ||
| 4817 | + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" | ||
| 4818 | + fi | ||
| 4819 | + if test -n "$finalize_shlibpath"; then | ||
| 4820 | + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" | ||
| 4821 | + fi | ||
| 4822 | + | ||
| 4823 | + compile_var= | ||
| 4824 | + finalize_var= | ||
| 4825 | + if test -n "$runpath_var"; then | ||
| 4826 | + if test -n "$perm_rpath"; then | ||
| 4827 | + # We should set the runpath_var. | ||
| 4828 | + rpath= | ||
| 4829 | + for dir in $perm_rpath; do | ||
| 4830 | + rpath="$rpath$dir:" | ||
| 4831 | + done | ||
| 4832 | + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " | ||
| 4833 | + fi | ||
| 4834 | + if test -n "$finalize_perm_rpath"; then | ||
| 4835 | + # We should set the runpath_var. | ||
| 4836 | + rpath= | ||
| 4837 | + for dir in $finalize_perm_rpath; do | ||
| 4838 | + rpath="$rpath$dir:" | ||
| 4839 | + done | ||
| 4840 | + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " | ||
| 4841 | + fi | ||
| 4842 | + fi | ||
| 4843 | + | ||
| 4844 | + if test "$hardcode_action" = relink; then | ||
| 4845 | + # Fast installation is not supported | ||
| 4846 | + link_command="$compile_var$compile_command$compile_rpath" | ||
| 4847 | + relink_command="$finalize_var$finalize_command$finalize_rpath" | ||
| 4848 | + | ||
| 4849 | + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 | ||
| 4850 | + $echo "$modename: \`$output' will be relinked during installation" 1>&2 | ||
| 4851 | + else | ||
| 4852 | + if test "$fast_install" != no; then | ||
| 4853 | + link_command="$finalize_var$compile_command$finalize_rpath" | ||
| 4854 | + if test "$fast_install" = yes; then | ||
| 4855 | + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` | ||
| 4856 | + else | ||
| 4857 | + # fast_install is set to needless | ||
| 4858 | + relink_command= | ||
| 4859 | + fi | ||
| 4860 | + else | ||
| 4861 | + link_command="$compile_var$compile_command$compile_rpath" | ||
| 4862 | + relink_command="$finalize_var$finalize_command$finalize_rpath" | ||
| 4863 | + fi | ||
| 4864 | + fi | ||
| 4865 | + | ||
| 4866 | + # Replace the output file specification. | ||
| 4867 | + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` | ||
| 4868 | + | ||
| 4869 | + # Delete the old output files. | ||
| 4870 | + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname | ||
| 4871 | + | ||
| 4872 | + $show "$link_command" | ||
| 4873 | + $run eval "$link_command" || exit $? | ||
| 4874 | + | ||
| 4875 | + # Now create the wrapper script. | ||
| 4876 | + $show "creating $output" | ||
| 4877 | + | ||
| 4878 | + # Quote the relink command for shipping. | ||
| 4879 | + if test -n "$relink_command"; then | ||
| 4880 | + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` | ||
| 4881 | + fi | ||
| 4882 | + | ||
| 4883 | + # Quote $echo for shipping. | ||
| 4884 | + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then | ||
| 4885 | + case "$0" in | ||
| 4886 | + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; | ||
| 4887 | + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; | ||
| 4888 | + esac | ||
| 4889 | + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` | ||
| 4890 | + else | ||
| 4891 | + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` | ||
| 4892 | + fi | ||
| 4893 | + | ||
| 4894 | + # Only actually do things if our run command is non-null. | ||
| 4895 | + if test -z "$run"; then | ||
| 4896 | + # win32 will think the script is a binary if it has | ||
| 4897 | + # a .exe suffix, so we strip it off here. | ||
| 4898 | + case $output in | ||
| 4899 | + *.exe) output=`echo $output|sed 's,.exe$,,'` ;; | ||
| 4900 | + esac | ||
| 4901 | + $rm $output | ||
| 4902 | + trap "$rm $output; exit 1" 1 2 15 | ||
| 4903 | + | ||
| 4904 | + $echo > $output "\ | ||
| 4905 | +#! $SHELL | ||
| 4906 | + | ||
| 4907 | +# $output - temporary wrapper script for $objdir/$outputname | ||
| 4908 | +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP | ||
| 4909 | +# | ||
| 4910 | +# The $output program cannot be directly executed until all the libtool | ||
| 4911 | +# libraries that it depends on are installed. | ||
| 4912 | +# | ||
| 4913 | +# This wrapper script should never be moved out of the build directory. | ||
| 4914 | +# If it is, it will not operate correctly. | ||
| 4915 | + | ||
| 4916 | +# Sed substitution that helps us do robust quoting. It backslashifies | ||
| 4917 | +# metacharacters that are still active within double-quoted strings. | ||
| 4918 | +Xsed='sed -e 1s/^X//' | ||
| 4919 | +sed_quote_subst='$sed_quote_subst' | ||
| 4920 | + | ||
| 4921 | +# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
| 4922 | +# if CDPATH is set. | ||
| 4923 | +if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi | ||
| 4924 | + | ||
| 4925 | +relink_command=\"$relink_command\" | ||
| 4926 | + | ||
| 4927 | +# This environment variable determines our operation mode. | ||
| 4928 | +if test \"\$libtool_install_magic\" = \"$magic\"; then | ||
| 4929 | + # install mode needs the following variable: | ||
| 4930 | + link_against_libtool_libs='$link_against_libtool_libs' | ||
| 4931 | +else | ||
| 4932 | + # When we are sourced in execute mode, \$file and \$echo are already set. | ||
| 4933 | + if test \"\$libtool_execute_magic\" != \"$magic\"; then | ||
| 4934 | + echo=\"$qecho\" | ||
| 4935 | + file=\"\$0\" | ||
| 4936 | + # Make sure echo works. | ||
| 4937 | + if test \"X\$1\" = X--no-reexec; then | ||
| 4938 | + # Discard the --no-reexec flag, and continue. | ||
| 4939 | + shift | ||
| 4940 | + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then | ||
| 4941 | + # Yippee, \$echo works! | ||
| 4942 | + : | ||
| 4943 | + else | ||
| 4944 | + # Restart under the correct shell, and then maybe \$echo will work. | ||
| 4945 | + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} | ||
| 4946 | + fi | ||
| 4947 | + fi\ | ||
| 4948 | +" | ||
| 4949 | + $echo >> $output "\ | ||
| 4950 | + | ||
| 4951 | + # Find the directory that this script lives in. | ||
| 4952 | + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` | ||
| 4953 | + test \"x\$thisdir\" = \"x\$file\" && thisdir=. | ||
| 4954 | + | ||
| 4955 | + # Follow symbolic links until we get to the real thisdir. | ||
| 4956 | + file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` | ||
| 4957 | + while test -n \"\$file\"; do | ||
| 4958 | + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` | ||
| 4959 | + | ||
| 4960 | + # If there was a directory component, then change thisdir. | ||
| 4961 | + if test \"x\$destdir\" != \"x\$file\"; then | ||
| 4962 | + case \"\$destdir\" in | ||
| 4963 | + [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;; | ||
| 4964 | + *) thisdir=\"\$thisdir/\$destdir\" ;; | ||
| 4965 | + esac | ||
| 4966 | + fi | ||
| 4967 | + | ||
| 4968 | + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` | ||
| 4969 | + file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` | ||
| 4970 | + done | ||
| 4971 | + | ||
| 4972 | + # Try to get the absolute directory name. | ||
| 4973 | + absdir=\`cd \"\$thisdir\" && pwd\` | ||
| 4974 | + test -n \"\$absdir\" && thisdir=\"\$absdir\" | ||
| 4975 | +" | ||
| 4976 | + | ||
| 4977 | + if test "$fast_install" = yes; then | ||
| 4978 | + echo >> $output "\ | ||
| 4979 | + program=lt-'$outputname' | ||
| 4980 | + progdir=\"\$thisdir/$objdir\" | ||
| 4981 | + | ||
| 4982 | + if test ! -f \"\$progdir/\$program\" || \\ | ||
| 4983 | + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ | ||
| 4984 | + test \"X\$file\" != \"X\$progdir/\$program\"; }; then | ||
| 4985 | + | ||
| 4986 | + file=\"\$\$-\$program\" | ||
| 4987 | + | ||
| 4988 | + if test ! -d \"\$progdir\"; then | ||
| 4989 | + $mkdir \"\$progdir\" | ||
| 4990 | + else | ||
| 4991 | + $rm \"\$progdir/\$file\" | ||
| 4992 | + fi" | ||
| 4993 | + | ||
| 4994 | + echo >> $output "\ | ||
| 4995 | + | ||
| 4996 | + # relink executable if necessary | ||
| 4997 | + if test -n \"\$relink_command\"; then | ||
| 4998 | + if (cd \"\$thisdir\" && eval \$relink_command); then : | ||
| 4999 | + else | ||
| 5000 | + $rm \"\$progdir/\$file\" | ||
| 5001 | + exit 1 | ||
| 5002 | + fi | ||
| 5003 | + fi | ||
| 5004 | + | ||
| 5005 | + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || | ||
| 5006 | + { $rm \"\$progdir/\$program\"; | ||
| 5007 | + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } | ||
| 5008 | + $rm \"\$progdir/\$file\" | ||
| 5009 | + fi" | ||
| 5010 | + else | ||
| 5011 | + echo >> $output "\ | ||
| 5012 | + program='$outputname$exeext' | ||
| 5013 | + progdir=\"\$thisdir/$objdir\" | ||
| 5014 | +" | ||
| 5015 | + fi | ||
| 5016 | + | ||
| 5017 | + echo >> $output "\ | ||
| 5018 | + | ||
| 5019 | + if test -f \"\$progdir/\$program\"; then" | ||
| 5020 | + | ||
| 5021 | + # Export our shlibpath_var if we have one. | ||
| 5022 | + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then | ||
| 5023 | + $echo >> $output "\ | ||
| 5024 | + # Add our own library path to $shlibpath_var | ||
| 5025 | + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" | ||
| 5026 | + | ||
| 5027 | + # Some systems cannot cope with colon-terminated $shlibpath_var | ||
| 5028 | + # The second colon is a workaround for a bug in BeOS R4 sed | ||
| 5029 | + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` | ||
| 5030 | + | ||
| 5031 | + export $shlibpath_var | ||
| 5032 | +" | ||
| 5033 | + fi | ||
| 5034 | + | ||
| 5035 | + # fixup the dll searchpath if we need to. | ||
| 5036 | + if test -n "$dllsearchpath"; then | ||
| 5037 | + $echo >> $output "\ | ||
| 5038 | + # Add the dll search path components to the executable PATH | ||
| 5039 | + PATH=$dllsearchpath:\$PATH | ||
| 5040 | +" | ||
| 5041 | + fi | ||
| 5042 | + | ||
| 5043 | + $echo >> $output "\ | ||
| 5044 | + if test \"\$libtool_execute_magic\" != \"$magic\"; then | ||
| 5045 | + # Run the actual program with our arguments. | ||
| 5046 | +" | ||
| 5047 | + case $host in | ||
| 5048 | + *-*-cygwin* | *-*-mingw | *-*-os2*) | ||
| 5049 | + # win32 systems need to use the prog path for dll | ||
| 5050 | + # lookup to work | ||
| 5051 | + $echo >> $output "\ | ||
| 5052 | + exec \$progdir\\\\\$program \${1+\"\$@\"} | ||
| 5053 | +" | ||
| 5054 | + ;; | ||
| 5055 | + *) | ||
| 5056 | + $echo >> $output "\ | ||
| 5057 | + # Export the path to the program. | ||
| 5058 | + PATH=\"\$progdir:\$PATH\" | ||
| 5059 | + export PATH | ||
| 5060 | + | ||
| 5061 | + exec \$program \${1+\"\$@\"} | ||
| 5062 | +" | ||
| 5063 | + ;; | ||
| 5064 | + esac | ||
| 5065 | + $echo >> $output "\ | ||
| 5066 | + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" | ||
| 5067 | + exit 1 | ||
| 5068 | + fi | ||
| 5069 | + else | ||
| 5070 | + # The program doesn't exist. | ||
| 5071 | + \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 | ||
| 5072 | + \$echo \"This script is just a wrapper for \$program.\" 1>&2 | ||
| 5073 | + echo \"See the $PACKAGE documentation for more information.\" 1>&2 | ||
| 5074 | + exit 1 | ||
| 5075 | + fi | ||
| 5076 | +fi\ | ||
| 5077 | +" | ||
| 5078 | + chmod +x $output | ||
| 5079 | + fi | ||
| 5080 | + exit 0 | ||
| 5081 | + ;; | ||
| 5082 | + esac | ||
| 5083 | + | ||
| 5084 | + # See if we need to build an old-fashioned archive. | ||
| 5085 | + for oldlib in $oldlibs; do | ||
| 5086 | + | ||
| 5087 | + if test "$build_libtool_libs" = convenience; then | ||
| 5088 | + oldobjs="$libobjs_save" | ||
| 5089 | + addlibs="$convenience" | ||
| 5090 | + build_libtool_libs=no | ||
| 5091 | + else | ||
| 5092 | + if test "$build_libtool_libs" = module; then | ||
| 5093 | + oldobjs="$libobjs_save" | ||
| 5094 | + build_libtool_libs=no | ||
| 5095 | + else | ||
| 5096 | + oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` | ||
| 5097 | + fi | ||
| 5098 | + addlibs="$old_convenience" | ||
| 5099 | + fi | ||
| 5100 | + | ||
| 5101 | + if test -n "$addlibs"; then | ||
| 5102 | + gentop="$output_objdir/${outputname}x" | ||
| 5103 | + $show "${rm}r $gentop" | ||
| 5104 | + $run ${rm}r "$gentop" | ||
| 5105 | + $show "mkdir $gentop" | ||
| 5106 | + $run mkdir "$gentop" | ||
| 5107 | + status=$? | ||
| 5108 | + if test $status -ne 0 && test ! -d "$gentop"; then | ||
| 5109 | + exit $status | ||
| 5110 | + fi | ||
| 5111 | + generated="$generated $gentop" | ||
| 5112 | + | ||
| 5113 | + # Add in members from convenience archives. | ||
| 5114 | + for xlib in $addlibs; do | ||
| 5115 | + # Extract the objects. | ||
| 5116 | + case "$xlib" in | ||
| 5117 | + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; | ||
| 5118 | + *) xabs=`pwd`"/$xlib" ;; | ||
| 5119 | + esac | ||
| 5120 | + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | ||
| 5121 | + xdir="$gentop/$xlib" | ||
| 5122 | + | ||
| 5123 | + $show "${rm}r $xdir" | ||
| 5124 | + $run ${rm}r "$xdir" | ||
| 5125 | + $show "mkdir $xdir" | ||
| 5126 | + $run mkdir "$xdir" | ||
| 5127 | + status=$? | ||
| 5128 | + if test $status -ne 0 && test ! -d "$xdir"; then | ||
| 5129 | + exit $status | ||
| 5130 | + fi | ||
| 5131 | + $show "(cd $xdir && $AR x $xabs)" | ||
| 5132 | + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | ||
| 5133 | + | ||
| 5134 | + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` | ||
| 5135 | + done | ||
| 5136 | + fi | ||
| 5137 | + | ||
| 5138 | + # Do each command in the archive commands. | ||
| 5139 | + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then | ||
| 5140 | + eval cmds=\"$old_archive_from_new_cmds\" | ||
| 5141 | + else | ||
| 5142 | + # Ensure that we have .o objects in place incase we decided | ||
| 5143 | + # not to build a shared library, and have fallen back to building | ||
| 5144 | + # static libs even though --disable-static was passed! | ||
| 5145 | + for oldobj in $oldobjs; do | ||
| 5146 | + if test ! -f $oldobj; then | ||
| 5147 | + obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"` | ||
| 5148 | + $show "${LN_S} $obj $oldobj" | ||
| 5149 | + $run ${LN_S} $obj $oldobj || exit $? | ||
| 5150 | + fi | ||
| 5151 | + done | ||
| 5152 | + | ||
| 5153 | + eval cmds=\"$old_archive_cmds\" | ||
| 5154 | + fi | ||
| 5155 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5156 | + for cmd in $cmds; do | ||
| 5157 | + IFS="$save_ifs" | ||
| 5158 | + $show "$cmd" | ||
| 5159 | + $run eval "$cmd" || exit $? | ||
| 5160 | + done | ||
| 5161 | + IFS="$save_ifs" | ||
| 5162 | + done | ||
| 5163 | + | ||
| 5164 | + if test -n "$generated"; then | ||
| 5165 | + $show "${rm}r$generated" | ||
| 5166 | + $run ${rm}r$generated | ||
| 5167 | + fi | ||
| 5168 | + | ||
| 5169 | + # Now create the libtool archive. | ||
| 5170 | + case "$output" in | ||
| 5171 | + *.la) | ||
| 5172 | + old_library= | ||
| 5173 | + test "$build_old_libs" = yes && old_library="$libname.$libext" | ||
| 5174 | + $show "creating $output" | ||
| 5175 | + | ||
| 5176 | + if test -n "$xrpath"; then | ||
| 5177 | + temp_xrpath= | ||
| 5178 | + for libdir in $xrpath; do | ||
| 5179 | + temp_xrpath="$temp_xrpath -R$libdir" | ||
| 5180 | + done | ||
| 5181 | + dependency_libs="$temp_xrpath $dependency_libs" | ||
| 5182 | + fi | ||
| 5183 | + | ||
| 5184 | + # Only create the output if not a dry run. | ||
| 5185 | + if test -z "$run"; then | ||
| 5186 | + for installed in no yes; do | ||
| 5187 | + if test "$installed" = yes; then | ||
| 5188 | + if test -z "$install_libdir"; then | ||
| 5189 | + break | ||
| 5190 | + fi | ||
| 5191 | + output="$output_objdir/$outputname"i | ||
| 5192 | + fi | ||
| 5193 | + $rm $output | ||
| 5194 | + $echo > $output "\ | ||
| 5195 | +# $outputname - a libtool library file | ||
| 5196 | +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP | ||
| 5197 | +# | ||
| 5198 | +# Please DO NOT delete this file! | ||
| 5199 | +# It is necessary for linking the library. | ||
| 5200 | + | ||
| 5201 | +# The name that we can dlopen(3). | ||
| 5202 | +dlname='$dlname' | ||
| 5203 | + | ||
| 5204 | +# Names of this library. | ||
| 5205 | +library_names='$library_names' | ||
| 5206 | + | ||
| 5207 | +# The name of the static archive. | ||
| 5208 | +old_library='$old_library' | ||
| 5209 | + | ||
| 5210 | +# Libraries that this one depends upon. | ||
| 5211 | +dependency_libs='$dependency_libs' | ||
| 5212 | + | ||
| 5213 | +# Version information for $libname. | ||
| 5214 | +current=$current | ||
| 5215 | +age=$age | ||
| 5216 | +revision=$revision | ||
| 5217 | + | ||
| 5218 | +# Is this an already installed library? | ||
| 5219 | +installed=$installed | ||
| 5220 | + | ||
| 5221 | +# Directory that this library needs to be installed in: | ||
| 5222 | +libdir='$install_libdir'\ | ||
| 5223 | +" | ||
| 5224 | + done | ||
| 5225 | + fi | ||
| 5226 | + | ||
| 5227 | + # Do a symbolic link so that the libtool archive can be found in | ||
| 5228 | + # LD_LIBRARY_PATH before the program is installed. | ||
| 5229 | + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" | ||
| 5230 | + $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? | ||
| 5231 | + ;; | ||
| 5232 | + esac | ||
| 5233 | + exit 0 | ||
| 5234 | + ;; | ||
| 5235 | + | ||
| 5236 | + # libtool install mode | ||
| 5237 | + install) | ||
| 5238 | + modename="$modename: install" | ||
| 5239 | + | ||
| 5240 | + # There may be an optional sh(1) argument at the beginning of | ||
| 5241 | + # install_prog (especially on Windows NT). | ||
| 5242 | + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then | ||
| 5243 | + # Aesthetically quote it. | ||
| 5244 | + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` | ||
| 5245 | + case "$arg" in | ||
| 5246 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 5247 | + arg="\"$arg\"" | ||
| 5248 | + ;; | ||
| 5249 | + esac | ||
| 5250 | + install_prog="$arg " | ||
| 5251 | + arg="$1" | ||
| 5252 | + shift | ||
| 5253 | + else | ||
| 5254 | + install_prog= | ||
| 5255 | + arg="$nonopt" | ||
| 5256 | + fi | ||
| 5257 | + | ||
| 5258 | + # The real first argument should be the name of the installation program. | ||
| 5259 | + # Aesthetically quote it. | ||
| 5260 | + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | ||
| 5261 | + case "$arg" in | ||
| 5262 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 5263 | + arg="\"$arg\"" | ||
| 5264 | + ;; | ||
| 5265 | + esac | ||
| 5266 | + install_prog="$install_prog$arg" | ||
| 5267 | + | ||
| 5268 | + # We need to accept at least all the BSD install flags. | ||
| 5269 | + dest= | ||
| 5270 | + files= | ||
| 5271 | + opts= | ||
| 5272 | + prev= | ||
| 5273 | + install_type= | ||
| 5274 | + isdir=no | ||
| 5275 | + stripme= | ||
| 5276 | + for arg | ||
| 5277 | + do | ||
| 5278 | + if test -n "$dest"; then | ||
| 5279 | + files="$files $dest" | ||
| 5280 | + dest="$arg" | ||
| 5281 | + continue | ||
| 5282 | + fi | ||
| 5283 | + | ||
| 5284 | + case "$arg" in | ||
| 5285 | + -d) isdir=yes ;; | ||
| 5286 | + -f) prev="-f" ;; | ||
| 5287 | + -g) prev="-g" ;; | ||
| 5288 | + -m) prev="-m" ;; | ||
| 5289 | + -o) prev="-o" ;; | ||
| 5290 | + -s) | ||
| 5291 | + stripme=" -s" | ||
| 5292 | + continue | ||
| 5293 | + ;; | ||
| 5294 | + -*) ;; | ||
| 5295 | + | ||
| 5296 | + *) | ||
| 5297 | + # If the previous option needed an argument, then skip it. | ||
| 5298 | + if test -n "$prev"; then | ||
| 5299 | + prev= | ||
| 5300 | + else | ||
| 5301 | + dest="$arg" | ||
| 5302 | + continue | ||
| 5303 | + fi | ||
| 5304 | + ;; | ||
| 5305 | + esac | ||
| 5306 | + | ||
| 5307 | + # Aesthetically quote the argument. | ||
| 5308 | + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | ||
| 5309 | + case "$arg" in | ||
| 5310 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) | ||
| 5311 | + arg="\"$arg\"" | ||
| 5312 | + ;; | ||
| 5313 | + esac | ||
| 5314 | + install_prog="$install_prog $arg" | ||
| 5315 | + done | ||
| 5316 | + | ||
| 5317 | + if test -z "$install_prog"; then | ||
| 5318 | + $echo "$modename: you must specify an install program" 1>&2 | ||
| 5319 | + $echo "$help" 1>&2 | ||
| 5320 | + exit 1 | ||
| 5321 | + fi | ||
| 5322 | + | ||
| 5323 | + if test -n "$prev"; then | ||
| 5324 | + $echo "$modename: the \`$prev' option requires an argument" 1>&2 | ||
| 5325 | + $echo "$help" 1>&2 | ||
| 5326 | + exit 1 | ||
| 5327 | + fi | ||
| 5328 | + | ||
| 5329 | + if test -z "$files"; then | ||
| 5330 | + if test -z "$dest"; then | ||
| 5331 | + $echo "$modename: no file or destination specified" 1>&2 | ||
| 5332 | + else | ||
| 5333 | + $echo "$modename: you must specify a destination" 1>&2 | ||
| 5334 | + fi | ||
| 5335 | + $echo "$help" 1>&2 | ||
| 5336 | + exit 1 | ||
| 5337 | + fi | ||
| 5338 | + | ||
| 5339 | + # Strip any trailing slash from the destination. | ||
| 5340 | + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` | ||
| 5341 | + | ||
| 5342 | + # Check to see that the destination is a directory. | ||
| 5343 | + test -d "$dest" && isdir=yes | ||
| 5344 | + if test "$isdir" = yes; then | ||
| 5345 | + destdir="$dest" | ||
| 5346 | + destname= | ||
| 5347 | + else | ||
| 5348 | + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` | ||
| 5349 | + test "X$destdir" = "X$dest" && destdir=. | ||
| 5350 | + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` | ||
| 5351 | + | ||
| 5352 | + # Not a directory, so check to see that there is only one file specified. | ||
| 5353 | + set dummy $files | ||
| 5354 | + if test $# -gt 2; then | ||
| 5355 | + $echo "$modename: \`$dest' is not a directory" 1>&2 | ||
| 5356 | + $echo "$help" 1>&2 | ||
| 5357 | + exit 1 | ||
| 5358 | + fi | ||
| 5359 | + fi | ||
| 5360 | + case "$destdir" in | ||
| 5361 | + [\\/]* | [A-Za-z]:[\\/]*) ;; | ||
| 5362 | + *) | ||
| 5363 | + for file in $files; do | ||
| 5364 | + case "$file" in | ||
| 5365 | + *.lo) ;; | ||
| 5366 | + *) | ||
| 5367 | + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 | ||
| 5368 | + $echo "$help" 1>&2 | ||
| 5369 | + exit 1 | ||
| 5370 | + ;; | ||
| 5371 | + esac | ||
| 5372 | + done | ||
| 5373 | + ;; | ||
| 5374 | + esac | ||
| 5375 | + | ||
| 5376 | + # This variable tells wrapper scripts just to set variables rather | ||
| 5377 | + # than running their programs. | ||
| 5378 | + libtool_install_magic="$magic" | ||
| 5379 | + | ||
| 5380 | + staticlibs= | ||
| 5381 | + future_libdirs= | ||
| 5382 | + current_libdirs= | ||
| 5383 | + for file in $files; do | ||
| 5384 | + | ||
| 5385 | + # Do each installation. | ||
| 5386 | + case "$file" in | ||
| 5387 | + *.a | *.lib) | ||
| 5388 | + # Do the static libraries later. | ||
| 5389 | + staticlibs="$staticlibs $file" | ||
| 5390 | + ;; | ||
| 5391 | + | ||
| 5392 | + *.la) | ||
| 5393 | + # Check to see that this really is a libtool archive. | ||
| 5394 | + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : | ||
| 5395 | + else | ||
| 5396 | + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 | ||
| 5397 | + $echo "$help" 1>&2 | ||
| 5398 | + exit 1 | ||
| 5399 | + fi | ||
| 5400 | + | ||
| 5401 | + library_names= | ||
| 5402 | + old_library= | ||
| 5403 | + # If there is no directory component, then add one. | ||
| 5404 | + case "$file" in | ||
| 5405 | + */* | *\\*) . $file ;; | ||
| 5406 | + *) . ./$file ;; | ||
| 5407 | + esac | ||
| 5408 | + | ||
| 5409 | + # Add the libdir to current_libdirs if it is the destination. | ||
| 5410 | + if test "X$destdir" = "X$libdir"; then | ||
| 5411 | + case "$current_libdirs " in | ||
| 5412 | + *" $libdir "*) ;; | ||
| 5413 | + *) current_libdirs="$current_libdirs $libdir" ;; | ||
| 5414 | + esac | ||
| 5415 | + else | ||
| 5416 | + # Note the libdir as a future libdir. | ||
| 5417 | + case "$future_libdirs " in | ||
| 5418 | + *" $libdir "*) ;; | ||
| 5419 | + *) future_libdirs="$future_libdirs $libdir" ;; | ||
| 5420 | + esac | ||
| 5421 | + fi | ||
| 5422 | + | ||
| 5423 | + dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" | ||
| 5424 | + test "X$dir" = "X$file/" && dir= | ||
| 5425 | + dir="$dir$objdir" | ||
| 5426 | + | ||
| 5427 | + # See the names of the shared library. | ||
| 5428 | + set dummy $library_names | ||
| 5429 | + if test -n "$2"; then | ||
| 5430 | + realname="$2" | ||
| 5431 | + shift | ||
| 5432 | + shift | ||
| 5433 | + | ||
| 5434 | + # Install the shared library and build the symlinks. | ||
| 5435 | + $show "$install_prog$stripme $dir/$realname $destdir/$realname" | ||
| 5436 | + $run eval "$install_prog$stripme $dir/$realname $destdir/$realname" || exit $? | ||
| 5437 | + | ||
| 5438 | + if test $# -gt 0; then | ||
| 5439 | + # Delete the old symlinks, and create new ones. | ||
| 5440 | + for linkname | ||
| 5441 | + do | ||
| 5442 | + if test "$linkname" != "$realname"; then | ||
| 5443 | + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" | ||
| 5444 | + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" | ||
| 5445 | + fi | ||
| 5446 | + done | ||
| 5447 | + fi | ||
| 5448 | + | ||
| 5449 | + # Do each command in the postinstall commands. | ||
| 5450 | + lib="$destdir/$realname" | ||
| 5451 | + eval cmds=\"$postinstall_cmds\" | ||
| 5452 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5453 | + for cmd in $cmds; do | ||
| 5454 | + IFS="$save_ifs" | ||
| 5455 | + $show "$cmd" | ||
| 5456 | + $run eval "$cmd" || exit $? | ||
| 5457 | + done | ||
| 5458 | + IFS="$save_ifs" | ||
| 5459 | + fi | ||
| 5460 | + | ||
| 5461 | + # Install the pseudo-library for information purposes. | ||
| 5462 | + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | ||
| 5463 | + instname="$dir/$name"i | ||
| 5464 | + $show "$install_prog $instname $destdir/$name" | ||
| 5465 | + $run eval "$install_prog $instname $destdir/$name" || exit $? | ||
| 5466 | + | ||
| 5467 | + # Maybe install the static library, too. | ||
| 5468 | + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" | ||
| 5469 | + ;; | ||
| 5470 | + | ||
| 5471 | + *.lo) | ||
| 5472 | + # Install (i.e. copy) a libtool object. | ||
| 5473 | + | ||
| 5474 | + # Figure out destination file name, if it wasn't already specified. | ||
| 5475 | + if test -n "$destname"; then | ||
| 5476 | + destfile="$destdir/$destname" | ||
| 5477 | + else | ||
| 5478 | + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | ||
| 5479 | + destfile="$destdir/$destfile" | ||
| 5480 | + fi | ||
| 5481 | + | ||
| 5482 | + # Deduce the name of the destination old-style object file. | ||
| 5483 | + case "$destfile" in | ||
| 5484 | + *.lo) | ||
| 5485 | + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` | ||
| 5486 | + ;; | ||
| 5487 | + *.o | *.obj) | ||
| 5488 | + staticdest="$destfile" | ||
| 5489 | + destfile= | ||
| 5490 | + ;; | ||
| 5491 | + *) | ||
| 5492 | + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 | ||
| 5493 | + $echo "$help" 1>&2 | ||
| 5494 | + exit 1 | ||
| 5495 | + ;; | ||
| 5496 | + esac | ||
| 5497 | + | ||
| 5498 | + # Install the libtool object if requested. | ||
| 5499 | + if test -n "$destfile"; then | ||
| 5500 | + $show "$install_prog $file $destfile" | ||
| 5501 | + $run eval "$install_prog $file $destfile" || exit $? | ||
| 5502 | + fi | ||
| 5503 | + | ||
| 5504 | + # Install the old object if enabled. | ||
| 5505 | + if test "$build_old_libs" = yes; then | ||
| 5506 | + # Deduce the name of the old-style object file. | ||
| 5507 | + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` | ||
| 5508 | + | ||
| 5509 | + $show "$install_prog $staticobj $staticdest" | ||
| 5510 | + $run eval "$install_prog \$staticobj \$staticdest" || exit $? | ||
| 5511 | + fi | ||
| 5512 | + exit 0 | ||
| 5513 | + ;; | ||
| 5514 | + | ||
| 5515 | + *) | ||
| 5516 | + # Figure out destination file name, if it wasn't already specified. | ||
| 5517 | + if test -n "$destname"; then | ||
| 5518 | + destfile="$destdir/$destname" | ||
| 5519 | + else | ||
| 5520 | + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | ||
| 5521 | + destfile="$destdir/$destfile" | ||
| 5522 | + fi | ||
| 5523 | + | ||
| 5524 | + # Do a test to see if this is really a libtool program. | ||
| 5525 | + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then | ||
| 5526 | + link_against_libtool_libs= | ||
| 5527 | + relink_command= | ||
| 5528 | + | ||
| 5529 | + # If there is no directory component, then add one. | ||
| 5530 | + case "$file" in | ||
| 5531 | + */* | *\\*) . $file ;; | ||
| 5532 | + *) . ./$file ;; | ||
| 5533 | + esac | ||
| 5534 | + | ||
| 5535 | + # Check the variables that should have been set. | ||
| 5536 | + if test -z "$link_against_libtool_libs"; then | ||
| 5537 | + $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 | ||
| 5538 | + exit 1 | ||
| 5539 | + fi | ||
| 5540 | + | ||
| 5541 | + finalize=yes | ||
| 5542 | + for lib in $link_against_libtool_libs; do | ||
| 5543 | + # Check to see that each library is installed. | ||
| 5544 | + libdir= | ||
| 5545 | + if test -f "$lib"; then | ||
| 5546 | + # If there is no directory component, then add one. | ||
| 5547 | + case "$lib" in | ||
| 5548 | + */* | *\\*) . $lib ;; | ||
| 5549 | + *) . ./$lib ;; | ||
| 5550 | + esac | ||
| 5551 | + fi | ||
| 5552 | + libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" | ||
| 5553 | + if test -n "$libdir" && test ! -f "$libfile"; then | ||
| 5554 | + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 | ||
| 5555 | + finalize=no | ||
| 5556 | + fi | ||
| 5557 | + done | ||
| 5558 | + | ||
| 5559 | + outputname= | ||
| 5560 | + if test "$fast_install" = no && test -n "$relink_command"; then | ||
| 5561 | + if test "$finalize" = yes && test -z "$run"; then | ||
| 5562 | + tmpdir="/tmp" | ||
| 5563 | + test -n "$TMPDIR" && tmpdir="$TMPDIR" | ||
| 5564 | + tmpdir="$tmpdir/libtool-$$" | ||
| 5565 | + if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : | ||
| 5566 | + else | ||
| 5567 | + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 | ||
| 5568 | + continue | ||
| 5569 | + fi | ||
| 5570 | + outputname="$tmpdir/$file" | ||
| 5571 | + # Replace the output file specification. | ||
| 5572 | + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` | ||
| 5573 | + | ||
| 5574 | + $show "$relink_command" | ||
| 5575 | + if $run eval "$relink_command"; then : | ||
| 5576 | + else | ||
| 5577 | + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 | ||
| 5578 | + ${rm}r "$tmpdir" | ||
| 5579 | + continue | ||
| 5580 | + fi | ||
| 5581 | + file="$outputname" | ||
| 5582 | + else | ||
| 5583 | + $echo "$modename: warning: cannot relink \`$file'" 1>&2 | ||
| 5584 | + fi | ||
| 5585 | + else | ||
| 5586 | + # Install the binary that we compiled earlier. | ||
| 5587 | + file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` | ||
| 5588 | + fi | ||
| 5589 | + fi | ||
| 5590 | + | ||
| 5591 | + $show "$install_prog$stripme $file $destfile" | ||
| 5592 | + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? | ||
| 5593 | + test -n "$outputname" && ${rm}r "$tmpdir" | ||
| 5594 | + ;; | ||
| 5595 | + esac | ||
| 5596 | + done | ||
| 5597 | + | ||
| 5598 | + for file in $staticlibs; do | ||
| 5599 | + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | ||
| 5600 | + | ||
| 5601 | + # Set up the ranlib parameters. | ||
| 5602 | + oldlib="$destdir/$name" | ||
| 5603 | + | ||
| 5604 | + $show "$install_prog $file $oldlib" | ||
| 5605 | + $run eval "$install_prog \$file \$oldlib" || exit $? | ||
| 5606 | + | ||
| 5607 | + # Do each command in the postinstall commands. | ||
| 5608 | + eval cmds=\"$old_postinstall_cmds\" | ||
| 5609 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5610 | + for cmd in $cmds; do | ||
| 5611 | + IFS="$save_ifs" | ||
| 5612 | + $show "$cmd" | ||
| 5613 | + $run eval "$cmd" || exit $? | ||
| 5614 | + done | ||
| 5615 | + IFS="$save_ifs" | ||
| 5616 | + done | ||
| 5617 | + | ||
| 5618 | + if test -n "$future_libdirs"; then | ||
| 5619 | + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 | ||
| 5620 | + fi | ||
| 5621 | + | ||
| 5622 | + if test -n "$current_libdirs"; then | ||
| 5623 | + # Maybe just do a dry run. | ||
| 5624 | + test -n "$run" && current_libdirs=" -n$current_libdirs" | ||
| 5625 | + exec $SHELL $0 --finish$current_libdirs | ||
| 5626 | + exit 1 | ||
| 5627 | + fi | ||
| 5628 | + | ||
| 5629 | + exit 0 | ||
| 5630 | + ;; | ||
| 5631 | + | ||
| 5632 | + # libtool finish mode | ||
| 5633 | + finish) | ||
| 5634 | + modename="$modename: finish" | ||
| 5635 | + libdirs="$nonopt" | ||
| 5636 | + admincmds= | ||
| 5637 | + | ||
| 5638 | + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then | ||
| 5639 | + for dir | ||
| 5640 | + do | ||
| 5641 | + libdirs="$libdirs $dir" | ||
| 5642 | + done | ||
| 5643 | + | ||
| 5644 | + for libdir in $libdirs; do | ||
| 5645 | + if test -n "$finish_cmds"; then | ||
| 5646 | + # Do each command in the finish commands. | ||
| 5647 | + eval cmds=\"$finish_cmds\" | ||
| 5648 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5649 | + for cmd in $cmds; do | ||
| 5650 | + IFS="$save_ifs" | ||
| 5651 | + $show "$cmd" | ||
| 5652 | + $run eval "$cmd" || admincmds="$admincmds | ||
| 5653 | + $cmd" | ||
| 5654 | + done | ||
| 5655 | + IFS="$save_ifs" | ||
| 5656 | + fi | ||
| 5657 | + if test -n "$finish_eval"; then | ||
| 5658 | + # Do the single finish_eval. | ||
| 5659 | + eval cmds=\"$finish_eval\" | ||
| 5660 | + $run eval "$cmds" || admincmds="$admincmds | ||
| 5661 | + $cmds" | ||
| 5662 | + fi | ||
| 5663 | + done | ||
| 5664 | + fi | ||
| 5665 | + | ||
| 5666 | + # Exit here if they wanted silent mode. | ||
| 5667 | + test "$show" = : && exit 0 | ||
| 5668 | + | ||
| 5669 | + echo "----------------------------------------------------------------------" | ||
| 5670 | + echo "Libraries have been installed in:" | ||
| 5671 | + for libdir in $libdirs; do | ||
| 5672 | + echo " $libdir" | ||
| 5673 | + done | ||
| 5674 | + echo | ||
| 5675 | + echo "If you ever happen to want to link against installed libraries" | ||
| 5676 | + echo "in a given directory, LIBDIR, you must either use libtool, and" | ||
| 5677 | + echo "specify the full pathname of the library, or use \`-LLIBDIR'" | ||
| 5678 | + echo "flag during linking and do at least one of the following:" | ||
| 5679 | + if test -n "$shlibpath_var"; then | ||
| 5680 | + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" | ||
| 5681 | + echo " during execution" | ||
| 5682 | + fi | ||
| 5683 | + if test -n "$runpath_var"; then | ||
| 5684 | + echo " - add LIBDIR to the \`$runpath_var' environment variable" | ||
| 5685 | + echo " during linking" | ||
| 5686 | + fi | ||
| 5687 | + if test -n "$hardcode_libdir_flag_spec"; then | ||
| 5688 | + libdir=LIBDIR | ||
| 5689 | + eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 5690 | + | ||
| 5691 | + echo " - use the \`$flag' linker flag" | ||
| 5692 | + fi | ||
| 5693 | + if test -n "$admincmds"; then | ||
| 5694 | + echo " - have your system administrator run these commands:$admincmds" | ||
| 5695 | + fi | ||
| 5696 | + if test -f /etc/ld.so.conf; then | ||
| 5697 | + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" | ||
| 5698 | + fi | ||
| 5699 | + echo | ||
| 5700 | + echo "See any operating system documentation about shared libraries for" | ||
| 5701 | + echo "more information, such as the ld(1) and ld.so(8) manual pages." | ||
| 5702 | + echo "----------------------------------------------------------------------" | ||
| 5703 | + exit 0 | ||
| 5704 | + ;; | ||
| 5705 | + | ||
| 5706 | + # libtool execute mode | ||
| 5707 | + execute) | ||
| 5708 | + modename="$modename: execute" | ||
| 5709 | + | ||
| 5710 | + # The first argument is the command name. | ||
| 5711 | + cmd="$nonopt" | ||
| 5712 | + if test -z "$cmd"; then | ||
| 5713 | + $echo "$modename: you must specify a COMMAND" 1>&2 | ||
| 5714 | + $echo "$help" | ||
| 5715 | + exit 1 | ||
| 5716 | + fi | ||
| 5717 | + | ||
| 5718 | + # Handle -dlopen flags immediately. | ||
| 5719 | + for file in $execute_dlfiles; do | ||
| 5720 | + if test ! -f "$file"; then | ||
| 5721 | + $echo "$modename: \`$file' is not a file" 1>&2 | ||
| 5722 | + $echo "$help" 1>&2 | ||
| 5723 | + exit 1 | ||
| 5724 | + fi | ||
| 5725 | + | ||
| 5726 | + dir= | ||
| 5727 | + case "$file" in | ||
| 5728 | + *.la) | ||
| 5729 | + # Check to see that this really is a libtool archive. | ||
| 5730 | + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : | ||
| 5731 | + else | ||
| 5732 | + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 | ||
| 5733 | + $echo "$help" 1>&2 | ||
| 5734 | + exit 1 | ||
| 5735 | + fi | ||
| 5736 | + | ||
| 5737 | + # Read the libtool library. | ||
| 5738 | + dlname= | ||
| 5739 | + library_names= | ||
| 5740 | + | ||
| 5741 | + # If there is no directory component, then add one. | ||
| 5742 | + case "$file" in | ||
| 5743 | + */* | *\\*) . $file ;; | ||
| 5744 | + *) . ./$file ;; | ||
| 5745 | + esac | ||
| 5746 | + | ||
| 5747 | + # Skip this library if it cannot be dlopened. | ||
| 5748 | + if test -z "$dlname"; then | ||
| 5749 | + # Warn if it was a shared library. | ||
| 5750 | + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" | ||
| 5751 | + continue | ||
| 5752 | + fi | ||
| 5753 | + | ||
| 5754 | + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | ||
| 5755 | + test "X$dir" = "X$file" && dir=. | ||
| 5756 | + | ||
| 5757 | + if test -f "$dir/$objdir/$dlname"; then | ||
| 5758 | + dir="$dir/$objdir" | ||
| 5759 | + else | ||
| 5760 | + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 | ||
| 5761 | + exit 1 | ||
| 5762 | + fi | ||
| 5763 | + ;; | ||
| 5764 | + | ||
| 5765 | + *.lo) | ||
| 5766 | + # Just add the directory containing the .lo file. | ||
| 5767 | + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | ||
| 5768 | + test "X$dir" = "X$file" && dir=. | ||
| 5769 | + ;; | ||
| 5770 | + | ||
| 5771 | + *) | ||
| 5772 | + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 | ||
| 5773 | + continue | ||
| 5774 | + ;; | ||
| 5775 | + esac | ||
| 5776 | + | ||
| 5777 | + # Get the absolute pathname. | ||
| 5778 | + absdir=`cd "$dir" && pwd` | ||
| 5779 | + test -n "$absdir" && dir="$absdir" | ||
| 5780 | + | ||
| 5781 | + # Now add the directory to shlibpath_var. | ||
| 5782 | + if eval "test -z \"\$$shlibpath_var\""; then | ||
| 5783 | + eval "$shlibpath_var=\"\$dir\"" | ||
| 5784 | + else | ||
| 5785 | + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" | ||
| 5786 | + fi | ||
| 5787 | + done | ||
| 5788 | + | ||
| 5789 | + # This variable tells wrapper scripts just to set shlibpath_var | ||
| 5790 | + # rather than running their programs. | ||
| 5791 | + libtool_execute_magic="$magic" | ||
| 5792 | + | ||
| 5793 | + # Check if any of the arguments is a wrapper script. | ||
| 5794 | + args= | ||
| 5795 | + for file | ||
| 5796 | + do | ||
| 5797 | + case "$file" in | ||
| 5798 | + -*) ;; | ||
| 5799 | + *) | ||
| 5800 | + # Do a test to see if this is really a libtool program. | ||
| 5801 | + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then | ||
| 5802 | + # If there is no directory component, then add one. | ||
| 5803 | + case "$file" in | ||
| 5804 | + */* | *\\*) . $file ;; | ||
| 5805 | + *) . ./$file ;; | ||
| 5806 | + esac | ||
| 5807 | + | ||
| 5808 | + # Transform arg to wrapped name. | ||
| 5809 | + file="$progdir/$program" | ||
| 5810 | + fi | ||
| 5811 | + ;; | ||
| 5812 | + esac | ||
| 5813 | + # Quote arguments (to preserve shell metacharacters). | ||
| 5814 | + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` | ||
| 5815 | + args="$args \"$file\"" | ||
| 5816 | + done | ||
| 5817 | + | ||
| 5818 | + if test -z "$run"; then | ||
| 5819 | + # Export the shlibpath_var. | ||
| 5820 | + eval "export $shlibpath_var" | ||
| 5821 | + | ||
| 5822 | + # Restore saved enviroment variables | ||
| 5823 | + if test "${save_LC_ALL+set}" = set; then | ||
| 5824 | + LC_ALL="$save_LC_ALL"; export LC_ALL | ||
| 5825 | + fi | ||
| 5826 | + if test "${save_LANG+set}" = set; then | ||
| 5827 | + LANG="$save_LANG"; export LANG | ||
| 5828 | + fi | ||
| 5829 | + | ||
| 5830 | + # Now actually exec the command. | ||
| 5831 | + eval "exec \$cmd$args" | ||
| 5832 | + | ||
| 5833 | + $echo "$modename: cannot exec \$cmd$args" | ||
| 5834 | + exit 1 | ||
| 5835 | + else | ||
| 5836 | + # Display what would be done. | ||
| 5837 | + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" | ||
| 5838 | + $echo "export $shlibpath_var" | ||
| 5839 | + $echo "$cmd$args" | ||
| 5840 | + exit 0 | ||
| 5841 | + fi | ||
| 5842 | + ;; | ||
| 5843 | + | ||
| 5844 | + # libtool uninstall mode | ||
| 5845 | + uninstall) | ||
| 5846 | + modename="$modename: uninstall" | ||
| 5847 | + rm="$nonopt" | ||
| 5848 | + files= | ||
| 5849 | + | ||
| 5850 | + for arg | ||
| 5851 | + do | ||
| 5852 | + case "$arg" in | ||
| 5853 | + -*) rm="$rm $arg" ;; | ||
| 5854 | + *) files="$files $arg" ;; | ||
| 5855 | + esac | ||
| 5856 | + done | ||
| 5857 | + | ||
| 5858 | + if test -z "$rm"; then | ||
| 5859 | + $echo "$modename: you must specify an RM program" 1>&2 | ||
| 5860 | + $echo "$help" 1>&2 | ||
| 5861 | + exit 1 | ||
| 5862 | + fi | ||
| 5863 | + | ||
| 5864 | + for file in $files; do | ||
| 5865 | + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | ||
| 5866 | + test "X$dir" = "X$file" && dir=. | ||
| 5867 | + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | ||
| 5868 | + | ||
| 5869 | + rmfiles="$file" | ||
| 5870 | + | ||
| 5871 | + case "$name" in | ||
| 5872 | + *.la) | ||
| 5873 | + # Possibly a libtool archive, so verify it. | ||
| 5874 | + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then | ||
| 5875 | + . $dir/$name | ||
| 5876 | + | ||
| 5877 | + # Delete the libtool libraries and symlinks. | ||
| 5878 | + for n in $library_names; do | ||
| 5879 | + rmfiles="$rmfiles $dir/$n" | ||
| 5880 | + done | ||
| 5881 | + test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" | ||
| 5882 | + | ||
| 5883 | + $show "$rm $rmfiles" | ||
| 5884 | + $run $rm $rmfiles | ||
| 5885 | + | ||
| 5886 | + if test -n "$library_names"; then | ||
| 5887 | + # Do each command in the postuninstall commands. | ||
| 5888 | + eval cmds=\"$postuninstall_cmds\" | ||
| 5889 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5890 | + for cmd in $cmds; do | ||
| 5891 | + IFS="$save_ifs" | ||
| 5892 | + $show "$cmd" | ||
| 5893 | + $run eval "$cmd" | ||
| 5894 | + done | ||
| 5895 | + IFS="$save_ifs" | ||
| 5896 | + fi | ||
| 5897 | + | ||
| 5898 | + if test -n "$old_library"; then | ||
| 5899 | + # Do each command in the old_postuninstall commands. | ||
| 5900 | + eval cmds=\"$old_postuninstall_cmds\" | ||
| 5901 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' | ||
| 5902 | + for cmd in $cmds; do | ||
| 5903 | + IFS="$save_ifs" | ||
| 5904 | + $show "$cmd" | ||
| 5905 | + $run eval "$cmd" | ||
| 5906 | + done | ||
| 5907 | + IFS="$save_ifs" | ||
| 5908 | + fi | ||
| 5909 | + | ||
| 5910 | + # FIXME: should reinstall the best remaining shared library. | ||
| 5911 | + fi | ||
| 5912 | + ;; | ||
| 5913 | + | ||
| 5914 | + *.lo) | ||
| 5915 | + if test "$build_old_libs" = yes; then | ||
| 5916 | + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` | ||
| 5917 | + rmfiles="$rmfiles $dir/$oldobj" | ||
| 5918 | + fi | ||
| 5919 | + $show "$rm $rmfiles" | ||
| 5920 | + $run $rm $rmfiles | ||
| 5921 | + ;; | ||
| 5922 | + | ||
| 5923 | + *) | ||
| 5924 | + $show "$rm $rmfiles" | ||
| 5925 | + $run $rm $rmfiles | ||
| 5926 | + ;; | ||
| 5927 | + esac | ||
| 5928 | + done | ||
| 5929 | + exit 0 | ||
| 5930 | + ;; | ||
| 5931 | + | ||
| 5932 | + "") | ||
| 5933 | + $echo "$modename: you must specify a MODE" 1>&2 | ||
| 5934 | + $echo "$generic_help" 1>&2 | ||
| 5935 | + exit 1 | ||
| 5936 | + ;; | ||
| 5937 | + esac | ||
| 5938 | + | ||
| 5939 | + $echo "$modename: invalid operation mode \`$mode'" 1>&2 | ||
| 5940 | + $echo "$generic_help" 1>&2 | ||
| 5941 | + exit 1 | ||
| 5942 | +fi # test -z "$show_help" | ||
| 5943 | + | ||
| 5944 | +# We need to display help for each of the modes. | ||
| 5945 | +case "$mode" in | ||
| 5946 | +"") $echo \ | ||
| 5947 | +"Usage: $modename [OPTION]... [MODE-ARG]... | ||
| 5948 | + | ||
| 5949 | +Provide generalized library-building support services. | ||
| 5950 | + | ||
| 5951 | + --config show all configuration variables | ||
| 5952 | + --debug enable verbose shell tracing | ||
| 5953 | +-n, --dry-run display commands without modifying any files | ||
| 5954 | + --features display basic configuration information and exit | ||
| 5955 | + --finish same as \`--mode=finish' | ||
| 5956 | + --help display this help message and exit | ||
| 5957 | + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] | ||
| 5958 | + --quiet same as \`--silent' | ||
| 5959 | + --silent don't print informational messages | ||
| 5960 | + --version print version information | ||
| 5961 | + | ||
| 5962 | +MODE must be one of the following: | ||
| 5963 | + | ||
| 5964 | + compile compile a source file into a libtool object | ||
| 5965 | + execute automatically set library path, then run a program | ||
| 5966 | + finish complete the installation of libtool libraries | ||
| 5967 | + install install libraries or executables | ||
| 5968 | + link create a library or an executable | ||
| 5969 | + uninstall remove libraries from an installed directory | ||
| 5970 | + | ||
| 5971 | +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for | ||
| 5972 | +a more detailed description of MODE." | ||
| 5973 | + exit 0 | ||
| 5974 | + ;; | ||
| 5975 | + | ||
| 5976 | +compile) | ||
| 5977 | + $echo \ | ||
| 5978 | +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE | ||
| 5979 | + | ||
| 5980 | +Compile a source file into a libtool library object. | ||
| 5981 | + | ||
| 5982 | +This mode accepts the following additional options: | ||
| 5983 | + | ||
| 5984 | + -o OUTPUT-FILE set the output file name to OUTPUT-FILE | ||
| 5985 | + -static always build a \`.o' file suitable for static linking | ||
| 5986 | + | ||
| 5987 | +COMPILE-COMMAND is a command to be used in creating a \`standard' object file | ||
| 5988 | +from the given SOURCEFILE. | ||
| 5989 | + | ||
| 5990 | +The output file name is determined by removing the directory component from | ||
| 5991 | +SOURCEFILE, then substituting the C source code suffix \`.c' with the | ||
| 5992 | +library object suffix, \`.lo'." | ||
| 5993 | + ;; | ||
| 5994 | + | ||
| 5995 | +execute) | ||
| 5996 | + $echo \ | ||
| 5997 | +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... | ||
| 5998 | + | ||
| 5999 | +Automatically set library path, then run a program. | ||
| 6000 | + | ||
| 6001 | +This mode accepts the following additional options: | ||
| 6002 | + | ||
| 6003 | + -dlopen FILE add the directory containing FILE to the library path | ||
| 6004 | + | ||
| 6005 | +This mode sets the library path environment variable according to \`-dlopen' | ||
| 6006 | +flags. | ||
| 6007 | + | ||
| 6008 | +If any of the ARGS are libtool executable wrappers, then they are translated | ||
| 6009 | +into their corresponding uninstalled binary, and any of their required library | ||
| 6010 | +directories are added to the library path. | ||
| 6011 | + | ||
| 6012 | +Then, COMMAND is executed, with ARGS as arguments." | ||
| 6013 | + ;; | ||
| 6014 | + | ||
| 6015 | +finish) | ||
| 6016 | + $echo \ | ||
| 6017 | +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... | ||
| 6018 | + | ||
| 6019 | +Complete the installation of libtool libraries. | ||
| 6020 | + | ||
| 6021 | +Each LIBDIR is a directory that contains libtool libraries. | ||
| 6022 | + | ||
| 6023 | +The commands that this mode executes may require superuser privileges. Use | ||
| 6024 | +the \`--dry-run' option if you just want to see what would be executed." | ||
| 6025 | + ;; | ||
| 6026 | + | ||
| 6027 | +install) | ||
| 6028 | + $echo \ | ||
| 6029 | +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... | ||
| 6030 | + | ||
| 6031 | +Install executables or libraries. | ||
| 6032 | + | ||
| 6033 | +INSTALL-COMMAND is the installation command. The first component should be | ||
| 6034 | +either the \`install' or \`cp' program. | ||
| 6035 | + | ||
| 6036 | +The rest of the components are interpreted as arguments to that command (only | ||
| 6037 | +BSD-compatible install options are recognized)." | ||
| 6038 | + ;; | ||
| 6039 | + | ||
| 6040 | +link) | ||
| 6041 | + $echo \ | ||
| 6042 | +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... | ||
| 6043 | + | ||
| 6044 | +Link object files or libraries together to form another library, or to | ||
| 6045 | +create an executable program. | ||
| 6046 | + | ||
| 6047 | +LINK-COMMAND is a command using the C compiler that you would use to create | ||
| 6048 | +a program from several object files. | ||
| 6049 | + | ||
| 6050 | +The following components of LINK-COMMAND are treated specially: | ||
| 6051 | + | ||
| 6052 | + -all-static do not do any dynamic linking at all | ||
| 6053 | + -avoid-version do not add a version suffix if possible | ||
| 6054 | + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime | ||
| 6055 | + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols | ||
| 6056 | + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) | ||
| 6057 | + -export-symbols SYMFILE | ||
| 6058 | + try to export only the symbols listed in SYMFILE | ||
| 6059 | + -export-symbols-regex REGEX | ||
| 6060 | + try to export only the symbols matching REGEX | ||
| 6061 | + -LLIBDIR search LIBDIR for required installed libraries | ||
| 6062 | + -lNAME OUTPUT-FILE requires the installed library libNAME | ||
| 6063 | + -module build a library that can dlopened | ||
| 6064 | + -no-undefined declare that a library does not refer to external symbols | ||
| 6065 | + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects | ||
| 6066 | + -release RELEASE specify package release information | ||
| 6067 | + -rpath LIBDIR the created library will eventually be installed in LIBDIR | ||
| 6068 | + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries | ||
| 6069 | + -static do not do any dynamic linking of libtool libraries | ||
| 6070 | + -version-info CURRENT[:REVISION[:AGE]] | ||
| 6071 | + specify library version info [each variable defaults to 0] | ||
| 6072 | + | ||
| 6073 | +All other options (arguments beginning with \`-') are ignored. | ||
| 6074 | + | ||
| 6075 | +Every other argument is treated as a filename. Files ending in \`.la' are | ||
| 6076 | +treated as uninstalled libtool libraries, other files are standard or library | ||
| 6077 | +object files. | ||
| 6078 | + | ||
| 6079 | +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, | ||
| 6080 | +only library objects (\`.lo' files) may be specified, and \`-rpath' is | ||
| 6081 | +required, except when creating a convenience library. | ||
| 6082 | + | ||
| 6083 | +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created | ||
| 6084 | +using \`ar' and \`ranlib', or on Windows using \`lib'. | ||
| 6085 | + | ||
| 6086 | +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file | ||
| 6087 | +is created, otherwise an executable program is created." | ||
| 6088 | + ;; | ||
| 6089 | + | ||
| 6090 | +uninstall) | ||
| 6091 | + $echo \ | ||
| 6092 | +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... | ||
| 6093 | + | ||
| 6094 | +Remove libraries from an installation directory. | ||
| 6095 | + | ||
| 6096 | +RM is the name of the program to use to delete files associated with each FILE | ||
| 6097 | +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed | ||
| 6098 | +to RM. | ||
| 6099 | + | ||
| 6100 | +If FILE is a libtool library, all the files associated with it are deleted. | ||
| 6101 | +Otherwise, only FILE itself is deleted using RM." | ||
| 6102 | + ;; | ||
| 6103 | + | ||
| 6104 | +*) | ||
| 6105 | + $echo "$modename: invalid operation mode \`$mode'" 1>&2 | ||
| 6106 | + $echo "$help" 1>&2 | ||
| 6107 | + exit 1 | ||
| 6108 | + ;; | ||
| 6109 | +esac | ||
| 6110 | + | ||
| 6111 | +echo | ||
| 6112 | +$echo "Try \`$modename --help' for more information about other modes." | ||
| 6113 | + | ||
| 6114 | +exit 0 | ||
| 6115 | + | ||
| 6116 | +# Local Variables: | ||
| 6117 | +# mode:shell-script | ||
| 6118 | +# sh-indentation:2 | ||
| 6119 | +# End: | ||
| 6120 | --- /dev/null | ||
| 6121 | +++ jpeg-6b/testimg.uu | ||
| 6122 | @@ -0,0 +1,873 @@ | ||
| 6123 | +begin 664 testimg.gif | ||
| 6124 | +M1TE&.#=AXP"5`/<``"PJ+&F/3)DN)4=;.)=43*#)F+R,>EI;F=%238.,O]T? | ||
| 6125 | +M*7)83%TL)WRK8=`Y+L]S;=K.K#8[*Y&1='%U6YET9N\U,>+HR5-U1/-06)<\ | ||
| 6126 | +M+6)"-4-`7W)UH)FNKU-99KJRI'23=$@_,KQ33+X[+6UG5J*+O=K3V(5`,M!$ | ||
| 6127 | +M/=%B77-VQ/LU6X=W9%E:.H^A=.+HW^:KIO9B9IBP?O/LW9AVGG.=5K2TZTY- | ||
| 6128 | +M-_9R<:18>/H<-'5W<TPH*I9A5IA%-[R]I?O\]\/APG]WH&]@;.';JM!4;%Y2 | ||
| 6129 | +M8EUI38^>J(,Q*LG(L],]1F-U8%U./KX_1YV3V'F,9/!%1W5LF[E:>:>ADHEI | ||
| 6130 | +M5IB^AKQR:?I4<CM,,?A&9/4K,G.<=_#>VL!@7]%(48^/W(A:3F)I9N`X,J>0 | ||
| 6131 | +M?8=.1(2!JKTC)$A"/OEE=\UD@2PQ+&IIEV""2).@C_?O\?F!@^2-B>!33_DK | ||
| 6132 | +M2;Y$-W!J>H>$S*A325]<2LV"@ZNOW3H_-7"#64]/2,[`LDMI//(Y0+R@D;UV | ||
| 6133 | +MG>&BG+F-L5%.9=W`M)F`</3.PL;)SJO+LJ.BJ)^?W=&CF?#=R8JW=Y2=WL^Q | ||
| 6134 | +MI::]O,#`U+R!=9>"M&(V+;YHAM$M*IIE@N'\Y4@T+V!;:_FQK+\Q*-_=W<]T | ||
| 6135 | +MDJ-OA,^/BH5<;ON.D+>?O(>#<(FMA)\]0/>?HJ>MD5-1C'N!R,?6M<O5UY"1 | ||
| 6136 | +MBXZ/Q>WHMTU#:H"1?G6"=*EC6<KMS(ANF("@>[R#H:A#-#<R+MZ!@ZF#IW1_ | ||
| 6137 | +MK3Q,/DM<1J_+EV9@E]G.Q:BPL;FTN+U58.%C87VB9<!V@G!`-F]./ZB^C>^_ | ||
| 6138 | +MN>$M+:AE?F&!8($Z+KY(1Z_3K*DQ)N%S<JIS9.)5:N$]1>)D=N!TBH9K?VJ/ | ||
| 6139 | +M8_IU?][;QI2:S/'A\JBN^*:@Q:"C\5]W2KZ^O69JLK2Z_,$Q06\M+9>QE*63 | ||
| 6140 | +MD:M58<B*J#0J+8:N;ZD[*]]$0*9XI.%'4*F!<6\X+[F5B&UA4SA$*O186YV4 | ||
| 6141 | +MQ?H\7^+OWN>SIW>57+QH8BP`````XP"5```(_P#=K=FU:]>N7;MV[=JU:]>N | ||
| 6142 | +M7;MV[=JU:]>N7;MV[=JU:]>N7;O<N=OESIT[=^[<N7/GSIT[=^[6N%OC;HV[ | ||
| 6143 | +M7;MV[=JU:U>$71%"A`@1(D0(-&C0W`@1XD:(&R$TA%"F[$09'[IT2:-#!X4T | ||
| 6144 | +M%"CF18D2)4H40(```0($*`JV)2A&T!FA:P0=>'3@Z=*E*T.&##XR^#B1(<.) | ||
| 6145 | +M#!DR^,B0(4,&'QE\9,B001<=.G1&T-'EHXRR$)MV[=JU:]<N=[MV[=JU:]<N | ||
| 6146 | +M=[O6K'&WQMT:=[O<N7/GSMVN32&4E2E#@,"S4*$JF;&3@(.P0K(*R2I42,R. | ||
| 6147 | +M5XLZ4''SBA:)%GT*%?\RLFN-NS5K=NW:M6O7KEV;=NW:M&O7KEV[=NW:M6O7 | ||
| 6148 | +M+H"[=NW:M6O7+G?N=KG;Y6Z7NUWN=KG;Y0Z`NS7NUNS:M6;7KEV[(NR*L"O$ | ||
| 6149 | +MKCTA0J!!$^)&B!`:0H0(H2%$"`W*EIWPX4.7+CITZ*"0AF(>H'GSH@"*$@40 | ||
| 6150 | +M($"`L,5S@`(>'7ATX-&!ITL7/%T9=/GPD2'#B0P93F3(<"+#B0P93F3(X"-# | ||
| 6151 | +M!A^H=.FB0X<.'5UW3BC;M"G$KCV[=NW:M6O7KEV[W.W:M6O-KC5KUKA;L\N= | ||
| 6152 | +M.W?NW+G;M$F#LC($".2P1H.&&3.L.!R0)4M6'UF%.-69]<H-%3<23!TQTL+_ | ||
| 6153 | +MB)%":]:XV^5NUZY=NW;MVK5KUZY=NW:YV^5NE[M-[G:YV^5NE[M=[G:Y<^?. | ||
| 6154 | +MG3MWN]RYV^5NE[M=[M:XV^5N%\`UNW;MVA5AUZX0NW:%"!$B1(@0(4*$"!$B | ||
| 6155 | +MA(80-T)H"*%!V8D3/C)D@`>/#ATZ=.;%PQ8E7I0H@``!B@(H2CP4(T;H&J%K | ||
| 6156 | +M!#Q=(W3I@J<K0X8,/C)D.)$APXD,&3)D.)$A0X83&7QD0`6/#ATZ=.C0T47@ | ||
| 6157 | +MA+(0FW9MVK5KUZY=NW;MVK5KUZXUN]:L6>-NS1IW:]SM<N?.W:9=FRPI4U:& | ||
| 6158 | +M0(Y,F8288>7+W`%9LF3)*B2K#Z<=9B3,>F5J!PD\_WV,>##B;LV:-;O<K=FU | ||
| 6159 | +M:]>N7;MV[=KE;I.[7>YVN=NU:]<N=YMV[=JURYV[7>YVN7/G;I>[7>YVN5NS | ||
| 6160 | +M:]>N-;MV[=H58=>N71%V[=H58E>(""%"A`@1(D2($"%"A`B!!F"()AHT*#MQ | ||
| 6161 | +M(DF&#/!TZ9(F#<62>/&B`(H"*`H@0(#BQ7-`9\0(72-TP=,%3Q<\'_!\9/"1 | ||
| 6162 | +M(<.)#!E.9,@0[42&:!E.9,APPD<&'ZATT:%#AXX(701.:`BQ:=.>/9OV[-JU | ||
| 6163 | +M:]>N7;MVK=FU9LV:76O6[%JS:]>N7>[<N=NU*80E9<K*E.FQ38@07[[8K)(E | ||
| 6164 | +M2Y:L0ALV%.*T8\<.6CLF'/_QT,(('B-K``!8LV:7NUUKW.URM\O=KEWNW+G; | ||
| 6165 | +MY6[7+G>[W.W:Y<[=+G?NW.URM\;=&G>[=NURM\O=+G>[UNS:M6O-KEV[=NW: | ||
| 6166 | +MM2O"K@B[=H78%2)$B$TA-FW:%")$B!`W;H1HHF&9LA/1HF7(H$N7-#I?4,2+ | ||
| 6167 | +M%R\*($"```&*`C`>"CHC=.F"IPO>"%WPX.G*`,]'A@P93F0XD>%$AA,9,IS( | ||
| 6168 | +M<"+#B0P9?&3P`8\.G1%TZ-"Y<T*9ADV[]FS:M6O3KEV[=NU:LVO-KC6[UJQ9 | ||
| 6169 | +MLV;7FC7N=NW:Y<Z=.W>;&(2HITS9LE';I`A18<[<*EFR9,F2)0O-AE^%.(D1 | ||
| 6170 | +M(P;_CX<6'O`8P0,`P!IW:]:X6[/+W2YWN]SM<N=NESMW[MRY<^=NESMW[G:Y | ||
| 6171 | +M<[?+W1IW[M:X6^-NS2YW:W:Y6[-KE[M=:W;MVK5FUZY=NW9%V+5KTZY=FW;M | ||
| 6172 | +M"A%A4XA-(2R%"!$BQ(T;&C0H4Q8M6K0,/GSH$B$-!0H4\;!%`00(4!1`\5", | ||
| 6173 | +MT#4"GBYXNG3!TZ4K@ZX,&7QD.)'A1(83&4YD`!CM1(9H&:*=R'#BA`]XNNC0 | ||
| 6174 | +M0>&$CJX[99:%"+%KSZ8]F_;LVA5AUZY=N];L6K-FS9HU:]:LV;5FS:XUNW:Y | ||
| 6175 | +M<^=NTR9+EC0H&R7E%BM?*LP=6"5+EBQ9&V1M0+/AUZ\^_WWZ].G3P@@>3@`` | ||
| 6176 | +M`%CC;HV[->[6K'&WQIV[76O<K7&WQIV[70#<N5OC;HT[=VO<N5OCSAT`=^[< | ||
| 6177 | +MN7.W:XV[7;O6[%KC;M<:=[MV[=JU:]>N")MV10BQ*\2N39LB;`H1(D*($#=" | ||
| 6178 | +MW`BA08.&>B>B1<N0(8,N772DH4`1+QZ@*(```8J'`L4(7?!TZ8('#QX\>/`R | ||
| 6179 | +MZ,K@(\.)#!E.9#AQ(D.T#">B93B1X<2)##Y\9-!%APX=.M)$W`FS0,.>/2%V | ||
| 6180 | +M`=RT:]>N7;MVK8FP9M>:-6LBK%D38<V:76MVK=FU9LT:=[MV;=H4PE*3(;?, | ||
| 6181 | +MF&&EPIRY5;)D;=@D:\.LV_/_Z!>P7,&`>\.#!`P#`&@``UNQ:X\X=@%WN | ||
| 6182 | +MW+E;X\Z=.P#NUK@#X&Z-.P#N`+A;X\Z=.W?N`+@#X&Z-NS7NW*UQMV;7+G<1 | ||
| 6183 | +MW.U:LVO-KEV[=D78M6O7KEV;=FW:%2'$IDTA0H0($2)$B!`A-&C04*]>M"31 | ||
| 6184 | +M?/C0I8N.M"\HXL6+4B%*A7@HZ.B"ITL7/%VZ=.G*H,M'A@P9,IS(<"+#B0S1 | ||
| 6185 | +M,D0[D2':B6C1HITX<<*'+EU.Z#B1)JU6K1X+\/3YM2O$KCV[]NS:M2O"FC41 | ||
| 6186 | +MUD18LV;-FC5KUJS9M6;-KEUK`.YRM\N=NTV;T&@8(J02&#NL5)@[($O6A@T; | ||
| 6187 | +M-OS:\*O_#S`/'CP`\X"G!1X\:P"L`;`&P!H`:]:X6[-F#0!W`-8`<`<`@+LU | ||
| 6188 | +M[@``<`?`'0``[M8`6`/`W1IW[MRM<>=NC3MW`-RM<;?&W2YWN];LVK5KUZY= | ||
| 6189 | +MNW9MVK4KPJ9=FW9MBK`I1(@0(="$T!#"DB5+]>I%BY8A0P8?NG31H4,G7KQX | ||
| 6190 | +M4>+%BX=BA"X?NC+HR@`O`[P,&3)DR)#A1(83)TZ<B)8A6K0,)Z)E.)'A1(83 | ||
| 6191 | +M/GSHDB:-CC1I[&I98[&#A(<^?="@V;5KUZY=:W;MBK!FS9HU:]9$6+-FUYHU | ||
| 6192 | +M:W:M6;-KS9I=[C9MVA3"R+97L+Z!`:/"G+E5LF1MV+!A`S`/_P"9T*)%BQ83 | ||
| 6193 | +M,<#PX%FP!L`:`&L`K'&WQMT:=^X`N`,`P!T``.X`N`,`P!T`=VL`N%L#P!T` | ||
| 6194 | +M=VO<N5OC;HT[=VO<N5OC;HV[-;MVK7&WQIV[->YV[=JU:]>N7;LV1=BT:].N | ||
| 6195 | +M39LV;0H1(D2($"$LA;!4KUZT:-%.9,@`3Y<N.G10H(@7+UX\%'1TZ<J@RT<& | ||
| 6196 | +M71DRZ,J@*T.&#"<RG,AP(D.T#">BG8@6[42T$R=.G#CAPX>N.[KHB+CSS]JA | ||
| 6197 | +M0RPF'`'6YP::/2$B[%H38<V:-6O6K%FS9LV:-6O6[%JS:\VN-;O6[-KESMVN | ||
| 6198 | +M72&,[#"C#Q:D!*Q4J#!W8%6A0A[$,/^AY6O6K%FT:$TX@@</'@!K``!8`V`- | ||
| 6199 | +M@#4`U@````"`.X``````````````U@```````````````&#-&@!KU@!8XV[- | ||
| 6200 | +M&G=KW+ESM\:=NS7NUKA;XVZ7NUV[=FW:M6G7KETA=FW:%6)3B$TA0H2P%"*$ | ||
| 6201 | +M)4N6+*6+EB1#A@P^,NC2I8L.'10HXB%`08>.CPP^=&7(D"%#A@P9,F3(D.'$ | ||
| 6202 | +MB1,9HIV(%BU#M&@GHD4[<>*$CQ,$?/BX(^V.B%K6Z)%Y18N6F"-]?MU`LR?" | ||
| 6203 | +MKC6[UNQ:L\;=FEUK=JW9M6;-FC5K=JU9XV[-FEWNW.W:A(;3CE=(8'U+P"J! | ||
| 6204 | +MKUD):-'R!8W_UBQ<2$XAP35K%I,C+5K@60-@S1H`:P"L<;?&'0``[@`````` | ||
| 6205 | +M````````````````````````````````<`?`'4``:]RM<0=@C;LU[M:X6^-N | ||
| 6206 | +MC;LU[M:XV[5KUZY=NW9MVK5IUZ9=FW9MVA1BTZ80FT)LVF3)4KUHT:*=R)#! | ||
| 6207 | +M1P8?NG31H4,'`0H1='3IRN`C@X\,&71ER)`A0X8,)S)$RQ`M0[0,T:)%BQ8M | ||
| 6208 | +MVHEH)TZ4.5'&AZX[NNZPJT6/C(M7N&C1$@.L3Y]?:/9$6+-KS9HU`-:L<;<& | ||
| 6209 | +MP)HU[M:X6^-NS1IW:]RM<>?.W:Y=-X[02O`*"9($"9!T0-(!"1)<_TAF<4&B | ||
| 6210 | +M3ITZ)+AFT?+0HDF+-6O6`%CC;HV[-0#6`%@#```````````````````````` | ||
| 6211 | +M``````````````````#6``"PQMT:`.[6N%OC#@``=P``N%OC;I>[79MV;=JU | ||
| 6212 | +M">"N7;LV[=JT:].N$)LVA0BQ*<2F398L6:H7[42&##Y09<C@0Y<N.G3HT*&C | ||
| 6213 | +M2U<&'QE\9,B0(4.&#!E.9#AQXD2T$QF21(L6+5JT:-%.1#MQXD29,C[*^+AS | ||
| 6214 | +MAUTM:Q+6N7'A9A8M)D?P`,N"!E^$76MV`7`'P)T[=VO<N5OC;HV[->[6N%NS | ||
| 6215 | +M:XV[7>[<N=OU2XRI6:^0()F%Y%0'258ZJ/_KH.[4J5/JU*G#A6L6DS\M;K18 | ||
| 6216 | +MLV;-FC5KW*U9`V"-NS7N`*P!```````````````````````````````````` | ||
| 6217 | +M`````'<`UK@#X`Z`.P#N``!8XVZ-.P"[W.W:M6M7A%V[-NW:M,O=IEV;=FW: | ||
| 6218 | +M%6+7IA";0FS:9,E2O7K13IPX`3"#CPP^?/C0I4N7"%VZ=&7(D"%#A@P93F3( | ||
| 6219 | +MD"'#B0S1,D2+%BU:M`S1HD6+%BW:"64GRIPH4\8'*@)W:EFC)\&%FU.XN-"B | ||
| 6220 | +M)>9(BSZ_\.W9LVN-NS4`W*UQYVZ-.W<`W*UQMV:7.W=KUJQQY\Z=NUTWCO"9 | ||
| 6221 | +MY<8-$B2G.A10I$C_D:("!4YU>'1*W:E3LT`P:7&CQ8TU:P"L6;-FS1IW[M:L | ||
| 6222 | +M<;=FC;LU````````````````````````````````````````6`/`W1H`[@`` | ||
| 6223 | +M<`<```!W`-RM<;=FE[M=FW9MVK5IUZY=FW;QV+5KTZY=N_;LV15BTZ9-FRQ9 | ||
| 6224 | +MJA<M6K0,)S*<R.##1P8?\'3ITI7!1P8?)S*<R)#A1(83&3)$`Y@A6K1H&:)% | ||
| 6225 | +MBQ8M6I)HT:*=.%&F3)DR/LKX8,>N%CTR;F2<.H5KUBQ:$Y@<`0;LQIX]$7;M | ||
| 6226 | +M`N#.G3MW[MRY`^`.@#L`[@"L<0?`'0!W[MRYBX"O!9]9+MS@PN7&2H$"_].F | ||
| 6227 | +M32M@Y=2I4Z=.G<(UBQL38#>RW`"P9LV:76O<K=FUQMT:=VO<K7'GSAT````` | ||
| 6228 | +M``````````````````````````````````#6N%L#8(T[`````'#GSIT[=^YV | ||
| 6229 | +M[=JU:]>N3;MV;=KE;M,N=YMV;=H58M>N/;OV[-JTB8$E2_7J13MQXH2/$R<R | ||
| 6230 | +M9,B009<N'SXRG,B0(<.)#"=.9(B6(=J))!FB18L6+5JT:-%.U#MQ0MF),B?* | ||
| 6231 | +ME"E3AD"/'H<.`5SGQLTI7+APS:(%#=J1(\#Z9-D389<[=^X`N','````=^X` | ||
| 6232 | +MN'/GSIV[->[6N'/GSIV["%E:\($RRX4;7*<>%?\H4*!`@0*/3IUZ=.K4*2[< | ||
| 6233 | +M:!T!EN4&FEUKW*U9XV[-KC6[=NW:M<O=KEV[=KD#```````````````````` | ||
| 6234 | +M`````````````*QQMV;-&@!KW*U9X\Z=NS7N=NW:M6O7KDV[-NW:M6G7KEV; | ||
| 6235 | +M=KG;Y&[3KDV[-D78%6'7KET\>/!@8$F#LF@G3IS(D"%#M`P9?&3PD2%#A@P9 | ||
| 6236 | +M3F2(=N)$M!,G,D3+$"U:M&C1E-53IJS>B6@GRI0I4Z9,&1\$>FP[9,H%+C>G | ||
| 6237 | +MW)Q"@HL+"&[0F%PX<@38C1`1=KESY\Z=.P````(```"`.P#NW+ES!\`=``#N | ||
| 6238 | +MW*UQ%Z$%'R@N7+AP<0K_UR,K!:P\.G7JU*E3N$[AF@6%R1%@-[*$6+-FS:XU | ||
| 6239 | +MN];LVK5KUZY=NW;M<K?+W2YW[@"X`P!@#0```````.`.@#L```````#`'8`U | ||
| 6240 | +M:]RM<;<&P!IW:];L<K?+W:Y=NS;M"K%KTYY-NW;MVK3+W:Y-[C;MXK%ITZX] | ||
| 6241 | +MNW9MVL5C$P\&EBQI4*;LQ(D,)S)DR!#MQ(D3)TZ<R)`APXD3)Z*=.''B1+03 | ||
| 6242 | +MT:)%JQ>M7CUET>K54W;BQ(DR9<J4*4.@!PM3LW#A.N7FE)M3N+APX<8-&C0F | ||
| 6243 | +M1X#U^15BDSMW[@```````````-RY<^?.'0!W````6./.W9H(+29`D3`+EPMD | ||
| 6244 | +M_P#?G7JDSHJZ4^]P-<!U"A<N$-R@'0&6!<V>7;O6[%JS:]>:"+LB[(JP:]>N | ||
| 6245 | +M7>YVN=NUR]T:=VO<K0$```````#<`7`'````=^[6K'&WQMT:=VO<K7&WQIV[ | ||
| 6246 | +M7>YV[=JT:]>F79LB;-H58M>F7;LVN=NU:]>F79MX;.+!8Q,/=YO<;=K$P)*E | ||
| 6247 | +M>LKJG3AQ(D.T:!E.G#CAXX2/$QE.G#AQXL2):!FB98@6+5JT$]&415-V0EFT | ||
| 6248 | +M:"?*E#E1IDP9'P0RL3`U"Q>N4Z=.G4*""Q<(;MR@08,&[<(18+_P15@#```` | ||
| 6249 | +M``#<`7`'P!T`````````8`V`76L``(AP8P(4*/Z0X?_"A0S7NU.G&IQJ@.L4 | ||
| 6250 | +MEP:XN,RBQ40,L%\A(NQ:LVO-+H"[(NS:M2O"K@B[=NW:M6M7!'>[W+G;Y<Z= | ||
| 6251 | +MNS5K````X`Z`.P#NW`%PM\;=FEWNUNQ:LVO-+G=K=KG;M6O7KEV;-NT*L2O$ | ||
| 6252 | +MI@B;=FW:M6G7KDWN-NW:M(D'#P8\>/#@L6O7KDT\&%BR5*]>M&C1HF4X<>+$ | ||
| 6253 | +MB1,G3IPX<>+$B0S13B3)$"U:M&C13BB+%JU>M'K*3B@[4>9$F3)ERI0)$Z8* | ||
| 6254 | +M!5-09N'"=<K-*5QN<('@PH4;-V[0H#'Y`ZP/O@AK``!PY\Z=.P#N```````` | ||
| 6255 | +M@#4`````X,X=@%T#)O"9!07_"C(NR)#A:H`+&2Y<#;B<XH(+%RUNT(X`0[-G | ||
| 6256 | +MUZX(NR)$V+5GUYY=>_;L"A%AUZ9=NW;MVK5KUZY=NW:M<;?&'4!W[MRY<^<. | ||
| 6257 | +M@#MW[G:Y6[-KUYI=NW:MV;7+781=FW9MVA0AQ*80(3;MV11BUZ9=FW9M<K=I | ||
| 6258 | +MUZY-NS;Q8,"`!X]=NW9MBL"``0-E]92=B'8B6K1H)TZ4.7'BQ(D3)TY$.Q$M | ||
| 6259 | +M0[0,2:)%BZ9,V8EH2:*=2!=-V8D3)\J4.5&F3)A152:P8`%%`JY3N$Z=.H6+ | ||
| 6260 | +M"RYNW$!P`\$-&BTF1X#]"K%KESMW[MRY`P```````````````````-Q%"-%" | ||
| 6261 | +M#!\H_WS\S?+'I0879%R0<6F`JP$7+KA`@*#%Y`@P-!%V15BS:\^N/;MV[=FU | ||
| 6262 | +M9].>/9OV;(JP:5.$7;MV[=JU:]>N7;O<N7/GSIT[=^[<[5JS:U>$-;MV[5JS | ||
| 6263 | +M:]>N7;MV;8JP"6"$$)M"A-@5(D2($)M"[-JT:].N3;LV[=JT:=,F!CP8;-H4 | ||
| 6264 | +M(D*$39M",+!D*5V]:$FB)8D6K=Z):&5.G#AQXL2)$]$R1$L2+5JT:">414N2 | ||
| 6265 | +MA,"=$]%.E%FV;-FR,F7"A"$Q80(+"H<DK)/@!M<I7+APX9IE:A:46;-`T(+& | ||
| 6266 | +MY`B>&R$B\'#GSIT[`````%@#``````#<N7.W*P2:%GB83/_@PP<*-W_^N'%! | ||
| 6267 | +MQH4+%RY<<.'BP@4$-VC0+@!#$V+7KCT1=NW9M6?/KCTA]H38A69/B%TA=H78 | ||
| 6268 | +MM2?"GEU[=NW9M6O7KEWN=NW:M6O7KEV[=NW:M6O7K@B[(NS:$R'$KA";0FP* | ||
| 6269 | +M$2)$B!`A-H78%6+3KA"[-NT*L2O$KA";-FT(`7!3B$TA-FT*L6G3)@8,ZD6+ | ||
| 6270 | +M=@+5B1,GHD6+%NW$B1/+3IPX$2U:M&@GHIU0%NU$-`'P4O"J=:),F67+RBQ; | ||
| 6271 | +ML&!!%7(36%"P]N_*%4IDUKEQ<VH6+@D29LV:!0(*"&ZTF!P!=B/$IET\W+ES | ||
| 6272 | +MYV[-FC5KW+ESQX.'.QXAFK3`0V[_`CD^T-IPXU8#1`TN-;AP:8"+"Q<N($!P | ||
| 6273 | +MH\7D"+`L(39%V+5GUYY=>W;MV;,KQ)X-NT+L"A$BQ)Y->S;M0K,KQ*X0NW:Y | ||
| 6274 | +MV[1KUZY=NR*XV[5KUZY=NR+LVK5KUYY-(4+L"K$K1(@0(4*$"!$B1(@0(7:% | ||
| 6275 | +MV!5B5XA=(7:%V+4'S:80(4)LVK3)TJ80(2Q9JA<MF@]4!%#=(>`C6K0D)S*< | ||
| 6276 | +M`)@AVHEHT4XH.Z%,F;)HT:(E$:`+#JE_/LHH6[:L28L%"\)4F<""PC\O11#( | ||
| 6277 | +MJ59-E`%[9,A(.$1&@@0)$F;-H@5EPH1[>&Z$8+!I$X]=N]RYV^5NDSL>/'CP | ||
| 6278 | +M"-$"#XDC_Q,F\.'#)P"W&B!J<*G!A1L7+KBX@``!`@04:-`N`+N!)L2>/;OV | ||
| 6279 | +M[-FS9\^N#2'VA`B!9D.(#2'VA$`3(D2(/2$V[=D4(L2F79LV;=JU:5>$7;LB | ||
| 6280 | +M[(JP:U>$/;OV[(JP*4*($"%"A`@1(D0(2VA";`JQ*<2F$+M"[`JQ*\0N-&@V | ||
| 6281 | +MH;&TR9(E2Y88,*A73UD9'SX(H$*%RL>=.^S8W4&5`56&$P*B)3EQ0IDR9<JB | ||
| 6282 | +M14LB0`"*8](0\!)1)LRR>_=(`%QPKTJ5'O\>R(FW90Z@?1BNX>#%BU<<2I0H | ||
| 6283 | +M43)`A@R90X<.5>E1IHPR9>D86.+!@T>(39LV;>+ACL<F#2WN'?\AP8</'VA\ | ||
| 6284 | +MN/GSQXU+#1!<N'#CPH7++"ZTN-&"QN0"L#XW;NS9M6?/KCV[-NP)$6'#'C1[ | ||
| 6285 | +M0J`)$6+#GA`;]FS:$"+$AA![-NT)L2M$A$T10NP*$6%7A%V[=NW:M2O$KA`1 | ||
| 6286 | +M0H38%")$B!`A-(1`$R)$B$U[0H38%6)7B%TA-H78M(E!O7K13I0Y4:9,&1\$ | ||
| 6287 | +M[ISPX4,7J@P94*'*D,&'+EVZI+&3A@H5JA,GHBE;5N9$$@%.OLR;MX1.BCLG | ||
| 6288 | +MRMQKT8($"1(D>OQ+(6?>G#ESYLR9$R4*!CG7Y!P[]N#!@P</`#YXD.S!@RN7 | ||
| 6289 | +MO'CQ(H*=#Q\GTO%@P&/3IDTA0FAHTF+_`0ERIJ#PX<,-"C<0_OSYXP8"!)=9 | ||
| 6290 | +MN)#@PC6+&Q]H3(X`Z].DSZX]N_;LV8-F3X@]:$*$V(,FQ!XT:$*$0!,B!)H0 | ||
| 6291 | +M(4)LVK,IQ*80(3:%"!%B4X1-NT+LVA5A5X1=>W9MBK`IQ*X0(4*$T!`B1`@- | ||
| 6292 | +M(4)L"A%BTYY-(?9LVA-BCX9-Z5"Q*S(E!2H?!'R($(%`FBX?J.#!@T<-GBYX | ||
| 6293 | +M&3+`TT5'%S543J2)T.4C6K1T29((</)EWCP'#CR)2.$C3)4%)"94J5+EWS$, | ||
| 6294 | +M40#-F3-GSHH5<P`!F@-HQ;YY^[1<PW#MVK5KU^9=TX(%2YHTUXH4N<0N'0,& | ||
| 6295 | +M(4*$V+3GQHT%_P!;D)A@"@H4*%#X0($"91:(6;C<N''C1AT2-[-FT8+&Y,*? | ||
| 6296 | +M/GB:[-JS:\^N/7M";-@38L,>-"$VH$$3`@V:$&A"H`F!!DV($"%";-JS*<2> | ||
| 6297 | +M37M"A-@58M>N"+MV1=BU*<*N$+M"A`@1(D2($"$TA`BQ*02:32$VA=BS:4^( | ||
| 6298 | +M/2%";&(0S5B1:QB,"<APPH<N:2B6T-&E2Y<N>'1TT=$%#QX\>/"H.4'G!)V3 | ||
| 6299 | +M+\:,94B2)(.T(MC&8,/D8`0*$;4(+"!194*5*M8>8(BR#]"^*/M6[`.T8LZ* | ||
| 6300 | +M.7,`K5BQ8L6*??NT:-&R;]\^+5JT8,&"!<NU&&J,)4G'8%.($/BRW/]H<8\$ | ||
| 6301 | +M"R@2H$"9-0L$%"BS7+A1I4X5,4G%B!%#,HL6+8`7C@`#U@)/A%U[=NW9LR$" | ||
| 6302 | +MFA!H0J!!@R8$&C1HT*!!@P8-&C0A0H0(L2G$GDTA-H78%&)3A!"[0NP*L2O$ | ||
| 6303 | +MK@B[0NP*$2+$IA`A0F@($2)$"$LA0FP*L6E/B$U[0NQ"LR>$I23LKEW#MN0, | ||
| 6304 | +MM0P9,M"AL\0!/%WPX-%Q(DT$/%WPX,&#-V*$$Q1+1BS!)D<.G2\($,S#-L89 | ||
| 6305 | +MIC&8EHR@(R+,LBI5PO2H]:!:%$"``$6)$B5*E"B`5LR9LV+%OA7[]NW;IV6? | ||
| 6306 | +MEGU:M&C1LD^+EGU:L&BY=DV-L1,,&(1H<B/_Q(T%)$Q)<./FU:Q9;E[->N6& | ||
| 6307 | +MRH<?Y9244Y*H'#%5KV@Q87+A"#!@>"+LVK5GUYX((?;L0;,'S1XT:'ZA08,& | ||
| 6308 | +M#4`T:&Z@08,&38@0(4*$"+$G1(@]F_:$V!5B5XA=NW9MBK`IPJX0$4*$"!$B | ||
| 6309 | +M1(@0ED)H"!$B1(A-(3:%V+-I3X@]:#;5\V'L&C9LF#Q1HY9!0(81(]#!@P</ | ||
| 6310 | +M'CQ==.CH@@</'K41=%",0!$O"B!`%9R-B8=!#C9,S@`Y&(/)@2=X__X1"!.F | ||
| 6311 | +MS)T'Q^1$`81MR1(4"/)AB`((T!Q`<U8`6@%HW[Y]^[3LV[=OW[Y]^_9IV:=% | ||
| 6312 | +MBQ8LUV)H4^.CGJ40_R%N-"'!0H(;*E20N%E$C)BJ11\2*4GD:IB)1,,2E2N& | ||
| 6313 | +M9!8T)D>.`,,#;%>$7;OV[-JS:P^:/6C0H$&#!@T:-&A^H;F!!HT&-"'0A`@1 | ||
| 6314 | +M(D2($"%";`H18E.(/9OV;-JS"^">71%"A-@5(D2($"$TA`@1(D2($)9";`JQ | ||
| 6315 | +M:5>(72$BA-@3(D0Z=L:<H$.'SA,U>!DR9(`'+T,&>`+@P7-"!QX=7?`RC*!# | ||
| 6316 | +MA\X(!V,4;-&Q9<L69V.<.1NSQ9DS!Y@<>'*2(D^M,F7N_#N&(5Z4*-A0.*"# | ||
| 6317 | +M0DZ4*"L``9H#"-"^%2M6K-BW;]^^?5JT:-FG99^6?5JT8,&2!DN::J"\G/^H | ||
| 6318 | +MIVQ!%5/K`GTH5HQ8L7*3RDU*-,S$IRY=/IGH8L)$HF*J7M%BPN3"D2-'UNQ9 | ||
| 6319 | +MLV?7KCV[]NS:@V8/&C1HT*"Y@>;W;MRX@>:&!C0:T*`)$2)$B!![-NW9 | ||
| 6320 | +MM&?3GEV;(FR*L&M7B!`A0H0($4)#"`TA+(4(L2G$IA`A=H6(`#!"B`A[+$7S | ||
| 6321 | +M4H0:-6K4J%'3I4L7/!_PJ&6`AXH:/#IT=,&#!P\>'6ET/(UP,,;9EBU;MFS9 | ||
| 6322 | +M4F%,A3'.QHQQ,,:!`SHC'OR[<R?%,3E1H@#"Y@#%B!&>1LP#!&@?H'U1`&D! | ||
| 6323 | +MM`_0OA7[]NW;MV_?/BW[M&C!@D7+/BQITJ1)DZW_6K):818<6O>AW*1$B1(E | ||
| 6324 | +M2I3(A(E/X,"]`#<#'+@NX$PD*D?LU2PF3)B(87)DUYI=N_;LVK,+S9X](?:@ | ||
| 6325 | +M0?/KUPTT-]#<N'$##1HT:&3UD84&S8T0(="$"+$IQ*X0NS;M"K$KQ*80>T+L | ||
| 6326 | +MVK,I1(@0(4*$"!$B1(@0FS9MVA0"S:X]>_9$"*'AGS1J\.!1HP8/'CQ=NN#! | ||
| 6327 | +M@T>-&K4,\'2A`JA+%SQX\$;0H4/'TP@'#AR,<59ARY8M%;94&#-FC`,'F!QX | ||
| 6328 | +M\D0'`0H$QXYAB%(!4)1X\9R,@.<$'H(O\>(!`@1H7Y0H4;3LV[=/BQ8M^_;M | ||
| 6329 | +MTZ(%BQ8L6K!<TX(E39I]_UBR3<DSZA"90,-,?/KTZ=,G<.#`@0/WY@V0-V_> | ||
| 6330 | +M@`/7I8N)1,46O:)%:P<46K36[%JS:]>N77MV[=JS)\0O-&ANH/F%Y@::&S=N | ||
| 6331 | +MW.C3QPBG0H7ZH`D1(@2:$+LVA-BU:<^F/;MV[=JU:\^F/7OVA`@1(D0(#2%" | ||
| 6332 | +MA`@18M.F39OV[-FS)\0F#67NP,M`+0.U#/`RP(-'9\0(:B/@P8,'#YXN.O!T | ||
| 6333 | +MP1M!APZ=$9X<.'#@P,&8,6,J;-E2H<(8!P[&`!SCP(&#$2-0H$`0!4,40("B | ||
| 6334 | +MQ(N'8L0(>/#@T9&&(!Z@*%&B1(FR+TJ4*/OV:=&R;]\^+5JT:,&B!<NU-%BP | ||
| 6335 | +M:/_1HF7>E"M-#E&)-,P"N!?@P($#!PX<."!O@``!`@3(FQEOP'4QD8C8HE>S | ||
| 6336 | +M9KV2(&&-NS6[UNS9M6O/GA![]J#9@P;-#30W;MRX<>/&C4*<ZM1A4X>3$5EH | ||
| 6337 | +M-H38L"G$KCV[]NP*L6O7KA"[]NP)L0M-B!`A-(0($2)$A!";0FS:M6L7FDV; | ||
| 6338 | +M&*2+Y@,>-0'PX&40``\>/#JZ1HP8,0(>/'CPX,&#!X\.-3K24(SPY,"!`P=C | ||
| 6339 | +M'(P94\'9E@I;G(UQX&#,F#'Q'#@8@<(!"A11HD2)$@4;"A0C1L"#!P\>'03Q | ||
| 6340 | +M`,8#%"5*E'U1M$39IT6+EGU:M@D6+%BU8L&!)@T7_BQ8L\[Z`HJ2!A8%( | ||
| 6341 | +M7=Z\`?+F#;@WX-X`>0,$"!`@0-X`>?/F#;@7P\H16[3(#3$WB]RM6;-KS:Y= | ||
| 6342 | +MN_;LVK5G3XA?:-#<0'/CQHT;?=#TX52'EADS0H34&6*DD*P->S9LVK!KTYY= | ||
| 6343 | +M(?;LVA-BSZ8](4*$"!$BA(80(4)$"!%ASZX0>W:%V,0C71)4J.!1@Z<+'CQX | ||
| 6344 | +M&>#!@T=GQ`@4(^B,&`%O!+P1\$:,H(,"A2=/#APX<S!FS!AG%;9LV5)AC#,' | ||
| 6345 | +M#APXPQ3/@0,'*#R-<(!"CIQX8QR@6#("W@AX(ZC108$B7I0H&`!%B:)%R[Y] | ||
| 6346 | +M^_9IT8)%"Q8L6K1HP:(%"Q8L_P"U:-&R)%LJ49:6T6N$:,8;($"`O'GSYLT; | ||
| 6347 | +M($"```$"!`B0-T#>S`!G(M&/#Q^(E?M!;-<:=VO<K=FU:]>>/;O0[`FQ!PV: | ||
| 6348 | +M&S=N-+FAX881,1S,P((%"Y89%5*$<3(B2Q::/;MV[=JU:]>>77MVA8@0(D2( | ||
| 6349 | +M$"%"A`@1(D2($)MV[=FS:T^(39;JH4*%"AX\7?!TP8,'#QZ\$2-&C'`P`L6( | ||
| 6350 | +M$=1&C!@Q8L0(%",\>7+@P-F8,6/&5*C@;$N%+16<C7&`R1FF,0[&.$`1#P4* | ||
| 6351 | +M!RA0R$$Q@LZ($2-&P!LQ8L0(%"CBQ8N"`5`40!@P1-&B1<L^+5JP:-&"10L6 | ||
| 6352 | +M+%JT8/_!@F7>O&NI.J4JD^Z9*$3@W@`!`N0-$"!`@``!`@0($(!`W@!Y\P;( | ||
| 6353 | +MFQF?AB52DJA5(B62=NW:M6O-KC6[(NS:M2?"GCTAT*"YT4?#C1M]^GBH8P;6 | ||
| 6354 | +M-TB,OCVQ8\>,$#9L.!4JA&;#GCV[]NS:M2M$A!`A0H0($>)&B!`A0H38M&?7 | ||
| 6355 | +MGC41]KC;9$F9#U34X,&#IPL>/%TCX,$;,6($'0<.'(P8,<+3B!&>/*%`@>F, | ||
| 6356 | +M`P>8QCAS5J&"LPI;*FS94F&,,P<.QF`:@\F!@S$H\LE!@8(."A0C1HP8,6+$ | ||
| 6357 | +MB!%TZ(P8X>!+/#E1HD2)$@6#%BU:]FG9AT4+%BQ:L&#!@@7_"Q8L6K!@24.* | ||
| 6358 | +M%)PI=_Z):M;E#1`@0(```0($"!`@0(```0($")`W;]Z`Z^+-A#<+GUZX:K5G | ||
| 6359 | +MUZY=NW;MVK5K#\!=NT+L"8$&S8T036XTN:&ACY$Z9F`Q&A=N'"-&W\#`@N5+ | ||
| 6360 | +M"(<AJ_K(0K-APYX-$7:%B!`B1(@0(4*@08-FPX8-:#;\^K7AUYX0RLJ4.9$! | ||
| 6361 | +M%3Q=\'3I@@</GJ<1(QPX<.!@B0,'#M`Y<.#``0H'#AR,&>/`684*SBILV;)E | ||
| 6362 | +MRY8*%9PY<.#`@0,'#C`Y<.!`CIQ\"%#0H3-BQ(@1U$:,&$$'!1T4*.9]F3<O | ||
| 6363 | +M7I0H&#!@P*!%BQ8M6K!@T8(%"Q8L_UC28,&B!0N6>6GF7<-0Y%\>&(C>O`$" | ||
| 6364 | +M!`@0($"``'D#!`@0($#>O'GS!EP7$Y^ZO)@Q0],G5R'V1-BU:\VN7;MV[=JS | ||
| 6365 | +M*T2$$"%":+BAH8^&/K(XU3'SK4.X<.'"C1LW#B"C)]^^F?$E1IB'0H4*;=BP | ||
| 6366 | +M(42$$"'PA<"7)<2O7WLV;"CD08PP,9P6-%%6IH>/#!ETC=`U0A>=$=1&C!CA | ||
| 6367 | +MR8&#,0X<.,"TQ($#!P[B.<#D8,P8!V.<5=A28<N6+5NV;*DP9LP8!PX<.'#@ | ||
| 6368 | +MP($#!PXPR8EQ3`Z=$2-&P(,W@MJ($2/H.$#Q!0$*%%_FQ8N"`0,&#!BT:-&B | ||
| 6369 | +M10L6+%BP7/_#D@:+%BPQL*31@@4+%@S7O%P9A&C&FS=`@``!`@0($"!`W@!Y | ||
| 6370 | +M`P3(FS?@NG3YY&C&&R!`@/#[%&)/B#V[(NS:M6O7KEV[0NP)@0;-C1L:^C1I | ||
| 6371 | +MTL<(&U^P((T+%R[<N7#APH73P^@;+#-2V!PHM,I((5E[-NT)L2=$%C1[]FSX | ||
| 6372 | +M!="#&'-,.`C9-FH4@1P$[F3(``^>+G@C=(W0-<+3"$\.'#@8XV#,$@=C'(P9 | ||
| 6373 | +M,R;>F#'Q\N'(%\59A0I;MFS9LF5+A0K.G&'"Y,"!`P<.'#APX&",@W@QY*"@ | ||
| 6374 | +M,P+>B!$C1HP8@<(!"@1R$(R@\R5>O"@8,&#`H`4+%BU8M&#!@@7_"Y8T6-)@ | ||
| 6375 | +MP8(E#9886*)HP8#EWS-1_1"]>0,$"!`@0(```?(&"!`@;X"\`=?%Q#`3,]X` | ||
| 6376 | +M`0($"+]/(?:$V!4BPJX(NW;MVK5GUZ80(4*@T7"CCX8F?0H-X0`&4KAPY\Z% | ||
| 6377 | +M.W?NG(UPX1@QLL.*@S!A!PYP6E5HPP8T>]"@0;,!31\/;#CX,E.)1JAG[-B) | ||
| 6378 | +MD*9K!#QX\*C!@P</GB=XGCPY`.A@S)@Q8["-P88-6Q1L\<9$B3=FS)@H^:)4 | ||
| 6379 | +M<+9ERY8M6[94J#!FC#,'#D8X&.'`@0-,#APX0"%'CAP'U$:,&#%BQ(@1(^B@ | ||
| 6380 | +M0"`'@30Z*.3,DR,G'P8,&/)AP8(%"Q8L_UBP8,&2!@L6+%@P8(F1#P,6+'*\ | ||
| 6381 | +M]*`T"%$7<$"```$"!`@0(&^```'R!LB;-XX<#1LV8P80($"`:/H4(D2(/2%V | ||
| 6382 | +MA=BU*\*N7;M"[`D1`LT--!IN:.C3Q`@G#@D@00H7[MRY<^?.G3MG(]RX)V#L | ||
| 6383 | +MJ)`B3)BP548*;=BS:P\:-&B:&!E%@T8O08*273(FK<B7$2-&P(,'#QZ\$2-& | ||
| 6384 | +MC'`PPH&#>/'BC1DSQH&S,?&B1!D#R($S!Y@P.8@2!5"%+5NV`-RR94N%"L[& | ||
| 6385 | +M8,+DP($#!PX<.!CC`).#,0XPY$/A:<2($2-&>!KA8`0*%'(0H*`C+1Z">!CD | ||
| 6386 | +MR)DG)U\^+%BP8/_1@D4+%BQIL&#!$@-+OA@Q\J4YEJ)'&0KVFB$"!P0($"!` | ||
| 6387 | +M@``!`@3(&R!`@`!YT\6$B6$S9@`!`@3(FQ=HT*`)$2%$A!`1=NV*L&O7GETA | ||
| 6388 | +M0H2X<4,#FB9]"G'BP`H2I''APH4+=^[<N7/APHT;]\2.'16WA`D[<*#0A@T; | ||
| 6389 | +M-LG2H*Q,CV>7!(&ZI&;*%R?HL,U;XHG.B!'PJ(V@!F_$"`<H',1#,6;,F#&8 | ||
| 6390 | +M,&%R,&;,F#%C,&$:$V^,`TQ1,$2IL&7+EBU;*CASYL`9)F<.'#AP$"_>F'AC | ||
| 6391 | +MY,1S$"^?G'@.`(YP,&*$@Q&>1M"A@P`!'3IT4*!`@4`.@GE?\N5+DP;_BQ8L | ||
| 6392 | +M6K!@P8(%2XPT:=*DB9$FVX,4_\)H"-,KDJ$N;X```0($"!`@0(```0($")`W | ||
| 6393 | +M;[HX,A$+"!`@0(#P>W$#S0TT:$*$"+$KQ*9=(7:%V+0A!)H0&M`TT="DD!$V | ||
| 6394 | +MOF!!&A<NW+EPY\+9L!$N7+AQC,"`L6-'A11AP@X4*B1+@[(R!-A-*7+MVK5K | ||
| 6395 | +M7Y:@0X=MWKPQ#E#0&3%BQ(@1#E"@0!$OWA@'8QQ@<H!IS)@Q8\:,<8`)DP-, | ||
| 6396 | +M#APX<#`F"H8H%;9LV5*APAAGSC"-P32FPIAX8\:@&.-`3@P'#N3$D^/`P0@' | ||
| 6397 | +M(T:,&#%B!!T4=.C0H8,"!0($<KX@F'<L1IHT_P#38,"B!0L6+%BPI$F3)DV, | ||
| 6398 | +M&-FJ_:M%8=0-/(<"&>KRY@T0($"```$"!`@0($"```$"9(8W;S-F``$"!,B, | ||
| 6399 | +M%WUNW$"#!DV($"%VA8BP:<^F/2%"W+@1XD:(&QKZ>*CCZQND<>'"A0L7+ERX | ||
| 6400 | +M<.'"C1LW;APC,&#LL%+!@4,=8:-&E6%GK`B">=BP8</V9<D2=//F85OB``4* | ||
| 6401 | +M.G3HT*&#`@6*>"@<.'#@P-F8,6/&C!DSQH&S,9C&C'%PQ@$*!PX<5``4!5"% | ||
| 6402 | +M+5N<.<.$:<P80!4J5*@P9HP#!PXPX)CG`,62?"A0.!CA8`2*$2-&C*!#A\Z( | ||
| 6403 | +M$73HH$"```$"!-=BI/_!D08+%BQ8L&!)@Z,;CFLQ8F3K%B>/-0H3;AAAL<X0 | ||
| 6404 | +M(H#@@``!`@0($"!`@``!`@0($"!`WG1Q-`,($"!`@+SA=^-&GQLW0J!!$R+$ | ||
| 6405 | +MKA"[0NQ"LP<-FALA-#2YH:&/$3:^$D""%&Y<N'#A;(0+%VY<N''CQHT;QP@2 | ||
| 6406 | +MF`0)6)D1LBU3#FE?YF&+@@U;O"\HZ-!!(2?>&`<.QC@8,6+$B!$C1CCPY`"3 | ||
| 6407 | +M`V>8'(P9XR">@S%CQCC`-,:!`P<.'#CP-,*!@PJ`HE2HL,49)F=CQHP!5*'" | ||
| 6408 | +ME@K.G&'"Y,D!#CD.ECB0,R^>`P>>'(P8,6($G1$C1HP8,8(.'3H(4"#X$N/_ | ||
| 6409 | +M6!H<:;!@P9(&2YILO.!4.Y8M39ILI%+9(T/B1@L2O0R!`_<&"!`@0(```0($ | ||
| 6410 | +M"!`@0(```0)DQ@P@0(```0($"$`@39K<T(#F!AHT(4*$V+,IQ*8]:-"@"7'C | ||
| 6411 | +MA@8T-_KTJ>/K&R1(X\:-"Q<N7+APX<*-&Q=N7+AQXR!!@O1-W[I>SW(4^3(/ | ||
| 6412 | +M&R!`@.+%0X&"#IT1<N*-P18EWA@'*%"@0(%BA"=/GAQ@<C!F#*8Q\<:,<3!F | ||
| 6413 | +MS!A,#C!A<N!@A`,4(QR,&5.A`B!`&*)$P09H3`5G6[9LJ5!AS!@'F#S%R+<$ | ||
| 6414 | +MA0,Y<N(Y\.1@Q(@1(T;0&3$"WH@1(ZC1H2--FC04_\>.I<&1)D8,+&G29,L& | ||
| 6415 | +MAU0<'-VZI;E&JE,D*D=^];E'QE"7+D"```$"!`@0($"```$"!`@0($"`S``" | ||
| 6416 | +M!`@0($"``.G3I,^-)C=NW$`3`DV($&A"A$"#YL:-&QIN-&DB"Z"1.KX20((T | ||
| 6417 | +M;MRX<>/&A0LW;EPX/>/"Z0DW;APD2'I*Y;HD[0LV;-BPQ8N';4P\%'10>)(3 | ||
| 6418 | +M)5X40-BP+7&`@@X*%"A&C!CA:80#3Y@P.1L3;XRS,6/&C'&`R8$G3PXP.7"` | ||
| 6419 | +M"9,#3`Z<C1E3H4*%"LZV.-NR9<L69Q7&.'#@R9.<?"/DH(LG9QX*!PY&.'`P | ||
| 6420 | +M8L2($2-&C!@!;\0(.G3HT/^A$P/'L30X8F3#D29-FF/9TN#`T0T.EC39.@6: | ||
| 6421 | +M16Y`GPGK(B%Z\P8($"!`@``!`D23)DU`@``!`@0($"!`@``!`@0(D"9]FC3I | ||
| 6422 | +MH^&&AA`W0J`)$0)-"#0A;H2X<>/&C29]C(@QDP`,I''CQHT;-VY<N'%ZQHTK | ||
| 6423 | +M-6[<N'#CQHG3!Y#0)6-?L`$"!`@;-A38L*%P@`*%)SGQL`$:,V;,$@<H'-"A | ||
| 6424 | +M@X#.B!$C/'ER@&G,F#%CQHP9,V:,,P<.'#@8X6"$`P>8'#APX,`3)@>8G#ES | ||
| 6425 | +MYLR9,V=;G&T9XVS,&`=C/*%P$$]./!3YY,A!@<*!@Q$.1HP8,8+."%TCX(T8 | ||
| 6426 | +M,6+_!!T4QW#DPX'C6)INW;JEB2$G!@XXW;IAP7(LU2)NY`:TF$#%#[@W0(`` | ||
| 6427 | +M`0($"!`@0#1IT@0$"!`@0(#,`#)CQHP90(``:=*D29\F-YKTT7`#C880-T*$ | ||
| 6428 | +M0',CQ(TF&FYHZ-/$"!M?"6!!`O/DR;AQX\:%&S=N'*1QC)X\@01)'Z%<H(HX | ||
| 6429 | +MP88-VQALV+!AP^9@"0HZ(T;DBP<(&[8QF)8X`/AEA"<4*.B,&$%MA`,'F,:, | ||
| 6430 | +M`>1@C`-G8\:,<>#)TPA/(T9X.A.O0CP'#D8X\.3`@3-GSIPY<^;,V9@QF!PX | ||
| 6431 | +M<.#`DQP'\>)%R2<'@YQX*!R,<#!BQ(@1\$;H&@%O!#PZ__#HT*$CY]@Q'#CR | ||
| 6432 | +M'<,A)U^:;#%BX,"!`P<&+-=248%V`1B>"8&\O0$"!`@0($"```&B29,F39J` | ||
| 6433 | +M``$"!`B0&3-FS``"!`B0)DV:-&G2I(^&&S<TW$!S0\,--&AN-+EQH\F-)GTX | ||
| 6434 | +MB1%B)L$W,)#`0`(S#M*X<1T@0?KV!`P8.Y4J"5)3Y,N2>?'B88N'#1L@;$N6 | ||
| 6435 | +MH$#AR4D^;/&P81NSQ`$*%",\C4!!9P2\$2,<.!@S)EZ%,9B<C1DSQD$\!R-& | ||
| 6436 | +M`!PQ8L0(!U&BQ'/@P,$(!PX<8'*`R8$#3)@<.'#@P,$(%`X<Q(CG`%.\?#AP | ||
| 6437 | +MQ,@G)YXG3PX\C8`W8@2\$?#@P?^#!V\$'3H(CAW#@>/8L7Q?CJ5)DP8'CFXX | ||
| 6438 | +MTD3!<"V5!"9__ASAH\K1&R!`@``!`@0($$V:;-FR98L?/R`S@,R8$<N1HUAO | ||
| 6439 | +M@`!I@J=)DSY-FO31T.>&AAL:^MRX<>/�U-FMS0T,=('0Y"$L""!0L,&$A@ | ||
| 6440 | +M($&"!`D,K`0)6)D1<NN9FB+S5F##-F]>O'E1``&:AVW)EQ$CZ,B)%P_;&&PH | ||
| 6441 | +M4*!P,&+$B!$C1HP8X<"!@S%C*HP9,V:,,V<5G&'"Y&#$"$^>',0;4V',&`>> | ||
| 6442 | +M1CAP,,(!)@<.'#A`X<"3IQ$.`(YPX,!!O'B8*HQQ-F9,/#ER,,B1XX#.B!$C | ||
| 6443 | +M=(W0!0__W@AX(^#1H4/GV#$<.(X=.Y:F6YIC,=+`Z88CGY9]UWB1X4..W`13 | ||
| 6444 | +M'RR\`0($"!`@0#1ILF4K2)`@02Q8L!`+R(P9CAPYZC)CQHPF3?HT:7*C29,^ | ||
| 6445 | +M&OIHN-&DCX8^&FXTN7&C29,^30IQJB/$EYD$=F#!`@,&#!@P"1+X\N7+'!LI | ||
| 6446 | +MF7(4P;8"T#Y`\5#,BS<O"J!Y*.B@<$(-Q1<4V,9@0X$"!8H1(SR-&#%BQ(@1 | ||
| 6447 | +M#APX&#-F3(4*SK94J%"APAA,F,8XP(1I":`M%9R-P>1@A(,1#APX&!,O7CP4 | ||
| 6448 | +M#D8X&#'"P8@1#C#%<Q;%F3-,#AR,<>#`@2<4*$;`&P$/'CQX_P#AZ8*G"]X( | ||
| 6449 | +M70B.'3MV[%B:--VZX8@1`T<W'&GR[=MW#<XZ*-SX!)#P@\@,($"```&BR=:G | ||
| 6450 | +M(-.F%9@V;5HK6Q9BS9C1I8NW+HX<>6O2I$F3)DV:-&ERH\D-#7TT]+G11T.? | ||
| 6451 | +M)DV:W&C2QX@1,4,X"!%BQ@PK.PGL)$A@AQ4'%6S,"1M%@-T7;"OF[`,414Z\ | ||
| 6452 | +M>5$`[8N'`H6T$?`0H'#@`),#!RCHT!DQ8L2($2-&C'`PPL&8,6.<5=BR9<N6 | ||
| 6453 | +M"H"V``($"!`@0/L`S:FPI8*S,0X<.'#@P,&8>&/&Q(N'@LZ($0Y&.'#@(%X4 | ||
| 6454 | +M9\XJC!GC8(R#,0X<C$"!@LX(:O"HP?^#-P(>/'CP=(T0D>(8#AS9<'3+A@-' | ||
| 6455 | +M&AS=NJ6)@47+/H`8'MASX6\6,A>JE,2*I8D?/UM!6BE29*5`@0+!@@5KU<J; | ||
| 6456 | +M!0M=')E`-&R8GR9-;C1ITD?#C29-FC2YT:1)DSX:;C1ITJ1)DR9-^ACAQ&G( | ||
| 6457 | +M#@X<A)@Q8\>.'3M".`B1(H7-J%$^G'R)L@\0($!1XL6;ART*MB5?4-"!-P+! | ||
| 6458 | +M"`>>/'ER@`+%B!$C'(P8,6+$"$\.'#@8,\99A0H5`%78LF7+EBU;MFS9,D>' | ||
| 6459 | +M#AU;MCAS@,F!`P=CQD2I,*;"F'AR4#APX,F3`TP.XHT9<Z;"&$P.,#EPX,"3 | ||
| 6460 | +M`SERZ-`9,6+_Q`AX\.C`&P$/'CPZ"(Y5PX&C6[=N<+JE2=.M&XX8&/:MF%<M | ||
| 6461 | +MD!M<R*"X4,5,21`BK8(QLZ).W:E'IQY9L5*`&<!@TUIY<]0%D0E#?OQ$:M*D | ||
| 6462 | +M29,;39HTN:'AAH8F39HTT="G29,F39HTN='D1I-"1CAQJL.&`P<5K.S8L6/G | ||
| 6463 | +MEI!;MVZ-*H/*"0ILV`!%B0((4!1`4;#-6S+"R0AX(^@@&.$`$R84=$:,&#%B | ||
| 6464 | +MQ`@'(QPX<.!@#"9GSBI4J%!ARY8M.K9LT:%#QY8Y.G3HV*+#F3-GF#`Y&U.A | ||
| 6465 | +M0H4*%9Q5<.#`0;XSGN)APC0FRAAGSL94B.?``29/#AR,.'8,!;41__"HC:!& | ||
| 6466 | +MC1JU$?!&P(-')P4.'-VZ=8/3K5NW;CC2I(FA9=^^>6KLN7#ASY\$%U14N7#A | ||
| 6467 | +M`A<7+KB0X3KUZ)$5*U:L,"/VXX<2;R8,^?%3[,.-)C>:-&G2I(^&&TWZ-+G1 | ||
| 6468 | +M!&"?)DV:-&G2I$F3)DV:-#%BQ`@G3L+82)%RRXX=&G9HW*(A[U8.5-3@C4`Q | ||
| 6469 | +M!E`40(```8J";1ZV)2-&P(,'C\Z7>-@<.$"!8@2U$0Y&.!@QPL$(!PXPC1DS | ||
| 6470 | +MID*%"ELJ;-FR9<N6+5NV;-&A0X<.'16V.%/@S)DS0(`J5-BR94N%,6,<Q(N' | ||
| 6471 | +MR<$9!_'BC7&`:<P8!PXPC7`P`L6(&')0>/\:,<+3"$^>/(WP1(T:M1%T$!RK | ||
| 6472 | +MU@U.-SC=NG7#T0U'FA@8]NV+<HR,!'_^H/B3X$*""S[<N''CYH\+LG<-'CUZ | ||
| 6473 | +M9,6*%2LRF/U08LC0I$C%`C5IHJ&)AAM-FC31T$1#DR8:FC1IHJ%)DR9-FC1I | ||
| 6474 | +M8J1)GR9&C!CA)$R8%!65[%2J!)"&/'F"+DU!AV[$"!0HXD6I$`40H"C8L*$8 | ||
| 6475 | +M,0(>/'CP1J!`,6;,F'AR4%`;,6*$@Q$.1CAP@`G3F`I1*E08,\:9LRU;MFS9 | ||
| 6476 | +MLD7'%ATZ=.C0L040($!1QCBKL&7.E@I;*E1P%F_,&!Q1,&%R$"_>&`=C'#AP | ||
| 6477 | +MX&G$"`<C'(PX)L?_@2<'*!PXB.<`A0,'(T:,&$$'034<W>#`Z0:G6[=N:=+$ | ||
| 6478 | +MP*)EW[XH*0[QX<.'#Q\^4/CP(=<&6@!NR)#A>O?HT:-'CQY9D2'#S8</Y?Q$ | ||
| 6479 | +M*K9HG88F3?HT::*AB88;36XT:=*DB88F39HT:=*D29,F39H8:=*DB1$CG(1) | ||
| 6480 | +MN<7J5J5>\@2!`C6ER)=X2U"@0($B7A1`@*(`FK?$B1-X(^#!`PAO!(HE#L;$ | ||
| 6481 | +MBR='SH@1(T:,0.'`@0-,#L:,J1"E@K,Q8\94<.;,V98MSK9LF:-#AXX5SK9@ | ||
| 6482 | +MB($!$"!G6[8`VE+!F3-,8S!%P8$A7KPQ8\8X<.``DR=/(SR-&#%BA`,Y_W(< | ||
| 6483 | +M>'(0;PRV>(``Q4/AP(&G$2.D'<,!!PZ<;MVZ=>O6+4T,+%KV[8OBI0HY<N3( | ||
| 6484 | +M\>'#AP\?/@&X<4&&[%2#!J<>/7KTZ)&,1S)<N/CP(5*Q0.)>-;FAH8F&&TUN | ||
| 6485 | +M--%P0T.3)C>:-&FBH4F3)DV:-&G2I$F3)D::&#%B9(@P*4*$5.K5KITV;=>6 | ||
| 6486 | +M:-F'(1X*%"CB10$4)4J4>"A&T!D!#QZU$2-&Q,,6!="8>/E0.!CA:<0(!R,< | ||
| 6487 | +M8'(PID*4"A6<`73FS%F%"ELJ;'&V9<N6.7/FK``T9E^,-%BT[*L`J$(%;&,P | ||
| 6488 | +M><+DR4&^?/GBQ8OGP($#!PX<>!H!#]Z($=1&C/^0$\\!IGB`QHRI4&%,A3%C | ||
| 6489 | +M'(P8,4+:L6-PX,#IU@U.MVYITL3`$F7%/@PB%ARY<($<'SZF^$#QQP49LG>G | ||
| 6490 | +MWN%Z]^[1HT>/'CUZ),.%&U4__`PK1DQ?$PU-;C1ITD3#C29-FMS0T*2)AB9- | ||
| 6491 | +MFC1ITJ1)DR9-FC1ITF29D65&C`B3(D3(K5SMM&G+=FW?G'U1HJ!`@0)%O"A1 | ||
| 6492 | +MHD2)MX3."'C4X,&#-\)!E"B`QHR)EP^''`<C/#D8X<`!IC%C*E1PYFQ+!4!; | ||
| 6493 | +M`&W9`F@.H"V`5@":LV(?(`PQTF#!$`7;/FQC`&+"-&+$B!&>Y,20(\>!`SDH | ||
| 6494 | +M''ARX,#!B!'PX(T806W_!`H4*!R,&0/(684M6[94&#-F#`I/GNC(.08'#IQN | ||
| 6495 | +M<+IUZY8F#18,6O;MPR!B00MR;?BP@`)%@C]<R'"]:X#L78-3[]X]:O#HT:-' | ||
| 6496 | +MIUS(^.!GF(E)Q!8UN=%$PPT--YHTT7"C29,F39HTT="D29,F39JT:-*D21,\ | ||
| 6497 | +M39HL,V+$B#`A0F[=ZI6'5[<T6O;-`;0/$+8E*.+%PX8M7CP4=$:,@`</'KP1 | ||
| 6498 | +M(U",&>/,V1@'<F+@0.!@A`,'#APX&#.FPAAG6RIL`31GSI8Y.G3,F3-GSIPY | ||
| 6499 | +M*_;M2Y,&"P8M49SM6X+I##5X\."-&"'G&`H4(T;(0>%@A(,1(T;`@P=/%SQJ | ||
| 6500 | +M_P!'((@7;PRF"A4J5-BR9<N6"F/B.7#@:02"8]U(P>D&IQN<-&G28,&@9=\^ | ||
| 6501 | +M#-):_"%'#@H4"5!<N'"!#-D[7.^0O4/V[M2[!@T>/7KWSH6,'TJ	M$[)N& | ||
| 6502 | +M&QJ:-&G21$.3&QJ::&C21$.3)AJ:-&G2I,FR%DT6-%G6I,FR94:,U-DA1`B- | ||
| 6503 | +M7NWR=$N3+\J<%?OV`9H7;\F2>/&PH4#A@,X(>/#@C1B!`H6#,<[&C''F0`Z. | ||
| 6504 | +M?"@<.!B!R<&8,6/&;*D`:,N<+3JVZ-"A0X<.!7,4S)FS0DN:&%@P8,"`;<D2 | ||
| 6505 | +M=.BH48/G(P,\>`A&T/'D"86<>9X<C/#DP`$\>-1&4/^C-D(.@GACQHRIL&7+ | ||
| 6506 | +MEBU;ME2HX,P!"D\CI!WK!H<4'(!PX'1+DR8?EGE:`*V0HZM)BR-MH/CSY\*% | ||
| 6507 | +MBW>G3B%K@`Q9`USO&KQK\*C!HT>/3LE@]D-)HG(=D#1ITJ2)AAM-FC1ITJ1) | ||
| 6508 | +MDR9-FC31T*1)DR9-6C1ILJP)GB;+FBPSLDQ8'0YF$ICIU2Z/-APX8D2)`@A0 | ||
| 6509 | +ME'F`L&$;@\W!$@<C1L"#-P(>'3H.'(P9,V;,F#$.QHR1DP_%"`<H'&"*XJQ" | ||
| 6510 | +MA2U1MFS1L46'CBU;="B8HV".,P58YF")D2\?ABC8'"P9,0*>@`P9X,&C1F>$ | ||
| 6511 | +MIQ'HXLE!@,*!)P>81HP808W_VID1*.+)B3?&F;,*6RILV5)A2X4*8\8X\#1B | ||
| 6512 | +M1`H<I."0@M,M31HL6+!H6;$/FYH3&@:0:^,/F0M_R-XA0X8,&4!DR)`A0X:K | ||
| 6513 | +MP;LXU>/3ND0QUS)B5ZX"$5I,F&IHTT=!$0Q,-39HT:=)$PXTF39HT:=*D | ||
| 6514 | +M29,639HT6=;$R+)E1CA)\64F@;@2O00]@(,C1@P,43!HB0(($+8Q8U`XH#-B | ||
| 6515 | +M!#QX\."-6#)BB0,'F!PX&#/&P9@H<N(Y<.#`P9@H%2H`F@-HBXXM6[9LV;)E | ||
| 6516 | +MBXXM"E8H6+'/69HT^?)AF+?$P0@Z=.`)$"!`@(`1"+Z,0+<D'XIX*$8X\.3` | ||
| 6517 | +MP8@1_YX\>7(0+UZ\>`Z<5:BPI<*6"A6V;'%684P\3R-&I*A&"@XI.-W2I,&" | ||
| 6518 | +M1<L^;/OFB8AV8P"Y`/[\U4"&#!DR9`V0(4.&#!FR!N\:-&C0H,&[=^^0G3JE | ||
| 6519 | +M#M<L,1Z:-&G2!&"3)DV:-&G21$,3#4V:-&G2I$F3)DWP-&G2Q$@3(PN,+#,R | ||
| 6520 | +MA`T'5@G`P"K1*U<>7G!PQ,`0)8J6*%$`81NSQ`&*$71&P(,'CPZ=$9X<.,`T | ||
| 6521 | +M9HR#,6/&C!D33TX\!Y[BQ8M2H0(@0%'F;%&P9<N6+3HJ.*NPQ9DS+("PQ,B' | ||
| 6522 | +M`4.4,0Z6C!A!!QXU`0($"*!&9P0Z3"AB.$#AP($#!_'BQ?\;$R]>E#%CHL0; | ||
| 6523 | +M,\:9LPI;*FRIL*7"E@H5QCCP-&)$BFJIX,"!TRT-%BQ8M.S;IZ4(*F4W6I!K | ||
| 6524 | +MXZ^&/V3(D"%#Q@49,F3(D"%#UJ!!@P8-'C5X]$@&+EP@:!WY]:M)DR9-FC1I | ||
| 6525 | +MTJ1)DR9-FC1ITJ1)DV4MFC3ITZ2)$3Q&."W@!'#(D"%U.+!*8`<,F!(E>B7+ | ||
| 6526 | +MPPL.CAA8,$31$@70F#%CECB@,X(./%TCZ""0YLG3"`<.'(P9XV#,&&=C\L5S | ||
| 6527 | +MX"#>F"A;*LP!A`$#H`H**FRIX*Q"!07.G`&*D@\#MGC8L(T9X\"!@Q$CZ"!` | ||
| 6528 | +M\&4$-4\(YLG)AR'?"`<H4*"(%R__'B!L%0!5&!,%PY@QF,94J%!A2X4M%;9L | ||
| 6529 | +MJ>!L3+P1U.`A@$.*%)QNW=)@P:)EW[Y]UZY%J]?D#[D`_OS5X((,&;(:R)#5 | ||
| 6530 | +MX%(#&3(N#;@T:-"@P:-'[]ZYP`4%FH=?OYHTT="D29,F39HT:=*D29,F330T | ||
| 6531 | +M:=*D29,F?8P8&3*D3IU1;.IPX.#+%RLP8,`\J23O6:@K#W#@B!$#0Q1`@,:, | ||
| 6532 | +M`3AF"0H4=$;`&X$*'H(4"$:,\.0`Q1@'8\8X&S,F2KQX\<8X&^-L2P5`&&+D | ||
| 6533 | +MP^#,F;,H%9PYP^;,01ILF#"=68)M#"9LV#"A<_!%3HP8,6(XD78L!HXT<APX | ||
| 6534 | +M<(`BG@,'_PZ<5=A28<N6+14P.!OCP-F8"A4J;-E284N%+17&C!GA:80T.*1( | ||
| 6535 | +M=>N6)@T6+?OVK=`R;THZ#2V.\&GCSU^-&LBXU.!2HP:R&LB0(6N`K$&#!@T: | ||
| 6536 | +M-&CP[ATR%_Y`,!'CH4F3)DV:-&G2I$F3)DV:-&G2I$F3)DV:]#&"A].0.CN$ | ||
| 6537 | +M2.&P@P,'7[Y8V;%C!TR)2KUZT;-&0(0<.?DP8``T!M`8;&,<T*$S`AX=:M3H | ||
| 6538 | +MI#@F8L0(3PX<C'$V9LR8,?'&`(P7;XRS"A6V;-D2!4.,&!7&.(LR!A,F3)CR | ||
| 6539 | +M8<.&[LP9;-BP.7.&"1,F.3'2Q(B1)L87.7+R88B'R<$8.7+BH?\8X\`9H"U; | ||
| 6540 | +MMFS9`@B#LS'.QCBK4*'"E@I;MFRI4&%,/`?4X-'!08H4G&YITF#1LF_%"BU% | ||
| 6541 | +M=%G2T.)(&S[^_/GC@@Q9C1HU:M1`5@,9,F3(&C2HT:!!@W?OWKUS@6L6"#Y, | ||
| 6542 | +MFC1ITJ1)DR9-FC1ITJ1)DR9-FBQKTJ1)"R-XQ'`08L:,$"%"./CRQ2J!'3!@ | ||
| 6543 | +MGI005RI2('H]?-"A0P<%ABC8`&'#-B8>BA$C1HR`1TU:BA0I1(P8,6*,`V<5 | ||
| 6544 | +MG(T9,R9>E#%CQE2HX&Q+!4!1HN2+DL]9E#%1QF#"-,\!NC/8`"[!!FB,,V?. | ||
| 6545 | +ML&F)D09'C'Q88L3()P<%)@<.XLW#("?_7KPQ8\9LF3-GRYPH4:(X&S/&P1AG | ||
| 6546 | +M%2ILJ;!ERY8*SL:,<4"-VHAJI.!T2Y,&"Y9]*U;LNR8MFH80+8Z0XQ/`GS]D | ||
| 6547 | +M-6K4J%XT:7&K40-:@1HT&-1HT:/#.A0MDN*#0@L:D29,F39HT:=*D29,F | ||
| 6548 | +M39HT:=)D69,F>)HTX<1I!P<S9LRH$*+"%RM6"1(D^"9.7+$/?B)!\-/(VAT? | ||
| 6549 | +M\*3)R8<A'B!L\<:,<>!@Q(@1=*1Y29$B!9T1#AQ@&E-AC+,Q%<;$&^.L@K,* | ||
| 6550 | +M6RI4V%(A2KY\..;-PX8%![9N.#`LP;0D2@5`@%8XVQ<#1YH8,;"DB9$OGYQY | ||
| 6551 | +M#C"-P30FGIQX_P#C.<`T9LR6+8"V``($J(*S,<[&.*M0H4*%+16V;-E288P# | ||
| 6552 | +M%-1&P,,!!TZW--FP8-&R;]^^:^P8W$`SH`6Y-E!`^$-6HP8W;C4"^*M1`UF- | ||
| 6553 | +M!C4:U&A0HP&R!LB0(?,'!1JY(T>:-%G68EF3)LN:-&G2I,FR%DU:+&O2Q(@1 | ||
| 6554 | +M,5*$"#%CQI<*%>94L&(%ZYNX8C^40(```0($"!`:4:KUX($T!#&BQ!N#;<P8 | ||
| 6555 | +M!V,<H*,S@HX($2E2I*`SPL&8,<Z<C1D3+]Z8,6.<.=M2H4(%9V/&S,N'88R# | ||
| 6556 | +M?'#@X$B3)DV,?/GR15D!:,Z6+5&PQ$B3)D:,&%CRQ1OCP!DF9P[BC?^)YV", | ||
| 6557 | +M@S%C``':`@@0H`H5G(T9,\99A0I;*FS94F%+!8`5*HQQX(G:B"*ING5+@P6# | ||
| 6558 | +MEGW[]FDI<H+!)GPW6APAQ\>?/W_^:@2H$:!&C1HU:M2H4:-&C1HU:C1`5L,? | ||
| 6559 | +MGS;D_@P8D*5)DR9-FC1ITF)9DR;+FN!9UF1!DR8M.(FIPX&#+U8J5'`PIT(% | ||
| 6560 | +M*SO?]!13HH0($2)$B!"!8,A/('H&\HA(@2.?'$#8`&$;,V;)"`<CZ(B@(Z): | ||
| 6561 | +M"CJ>/#D8XVS,F#%CQC@;,Z9"A0K.G#D;,V8,BB@88L3`$@,+!@PQTL3(AZ'" | ||
| 6562 | +MEBUSMCA3L`)#OA@QTJ3!DB_>F#%CQC@8,V;_#(HQ#L:,J3`&4(4*@"I4<.9L | ||
| 6563 | +MS)@Q8YQ5V%*API8*6[9LJ3`FGH,1GD9<(]4M31HL6+1HV;?OFK1HFS;A0S,` | ||
| 6564 | +M#T!R?*#X\\?-7X``-0+X\U?#7XT:-6K4J%&C1HT``=J0^S,@RX`L`YHT:8*G | ||
| 6565 | +M28ME>/`T:=$$3Q,\3?`T,6*D3AT.0GSY\J7"W`$5*EC9>:*G6")O1&+%BA6+ | ||
| 6566 | +M"!$(2CZ0.43/&@$OU7#DDQ,O"B!LSK`Y0.%IQ`A==(X=.X;"$R8'SL9$B1(/ | ||
| 6567 | +MDP-GSBHXJ^"LPI@Q\3QAFI<O1KY\&*)$P1`#!XY\@+9L`;1ESI856J)@R!<C | ||
| 6568 | +M1@P,4<:,&8.MPAAG_V/&C'$PQL$8;(#&8!M3H4*%,6,PC1DSID*%+16V5-A2 | ||
| 6569 | +M84N%"A7&Q!OAB=HQ.&G28,&B1<N*?5J*H+(4(@*^$#<&'.$3`$J```$"!`A0 | ||
| 6570 | +M@UL-?_YJU*A1HT:-``$"!&AS`>"?`0,&#!CPYT:3)DV:-&G2I,F")G@6-&G2 | ||
| 6571 | +MI(D13D/J<!#BRY<*%0?,F5.A`@R8<38F#;-`)%:L6+&(0%#R@8H+"8<H]*CU | ||
| 6572 | +M@!2.?/.BQ`,$:`RV>"@\C8!'3<2Q8P@<.'#@`!.&?%'&8!HSQIDS9\Z<C7$P | ||
| 6573 | +MQM.($?'BS9N'`4,^+/G2X,B'S5F%+5L4;`&4#U"4*!CRY8LR9LP80("B`/_" | ||
| 6574 | +M-F;,&`=CQHRI,`;;&&R`L(T9@VF,@S%CG%78LJ5"A0I;*FRI,&9,/`>>/,7H | ||
| 6575 | +MEB8-%BU:]JW`=LU8&65-;H2X$6)`"W)\`D`)$"!`@``!`M0(X*]&C1HU`@0( | ||
| 6576 | +M$*#-!7)__OSY\^?/GS\W-#1I@J<)GB9XFN!IT@1/DR:%C-3A`%"($`Z^5'`P | ||
| 6577 | +M=\"<.16LP(S3,RF1B4_>8A&)!0$"A`^JUDDPQ8("!6M7>,'!<2P?ABCQQF"+ | ||
| 6578 | +M%\\!G1'4J*$XAL*!`P>8QN3#D2_>F#%CQCASY@P3)D^>''CRY`#%/&Q+YF'( | ||
| 6579 | +MER]&FGSS`%6H``@0("WY`(T9$T6+%D`5*HP!%*7_`J`*8\:@&#-FS)@*%;"- | ||
| 6580 | +M`30&T)@Q8\:,&3/&684*6RILJ;"EPI8*%<;$\^0)79IN:=)HT;)OWXIYU]@I | ||
| 6581 | +M:X+GQHT;^&X,.$*.3X```0($"!`@0(`:W&H$"!`@0(``;=JTN7#ASY\C%_Y< | ||
| 6582 | +MN*#AQHTF39HT:=($3Y,%39K@P6.DS@XA'(2HX*#"W`%SYEC9`<-HG(USDUP- | ||
| 6583 | +M,V'"V[!A?HI]`+A.PHX=)%A4Z='CR@,X<'#$P!`E2I0Q\1R@D#-BQ(@1*%#$ | ||
| 6584 | +M0^$`4Y08^>(Y&#-F3(4Q8\8X<.")V@@'7^*-<+#$P;QK^;#$P!`/6Q1`4;1@ | ||
| 6585 | +MR(=E#"9G%0`!`E2A`J`*_Q4J5!@S9DR\,6/&C!E380R@,8#&5!CCS,&8,6.< | ||
| 6586 | +M.:M0H4*%"A6V5*@P9LP8!^A0X$B3!HN6?2M6[+M6I(RR)BV:W+@1(LN`/^3: | ||
| 6587 | +M\&D3($"```$"U`A0(T"-``$"!&C3IDV;"Q>.7+A`CMP%<B%N:+C1I$D3/,OP | ||
| 6588 | +M-,'39`&>!76D"!'"P1<'%>;,F3.G@A482)#$Z;$Q:=*D1(DFE2M6K)2X5V9V | ||
| 6589 | +M;"-19UN5'CW^/<`!!T>,?/FB5(@W)MXQ!R-&`/0T`H4#%/$<H(@7;XR#,6/& | ||
| 6590 | +MC(DR!@4*%"BH>4*!8(0G=.CFS;L6(T:^+TL<.,`6)4H40%'&.,,&"-"6+5LJ | ||
| 6591 | +M5/^H4,&9LPK.XHV)-V9,A0H5*E2H4*%"!6?.QHP9,V9,!6=;*E2H4&%+A0H5 | ||
| 6592 | +MQCAPX"D?CC3YYFG9MV*%EFOLTC71T*>)AA`A0F1I<80<GP`!V@0($"!``&X! | ||
| 6593 | +M`@0($*!-FP!MVK1I0XX<.7+DR%VX$.(&FB8WFC1I@@?/@B9X\'`:LD,(!PX< | ||
| 6594 | +M.)@S=^"`.16L$H"!!$F/'CTV;-BP84./N%+B%E6BL>.>&$X+ABSH4>:.EP<X | ||
| 6595 | +MX,#!D2]?E'SQXLGQY,D3'10./#F(%\\!)@<.4(P9$V6,,P<.'#@8(8?.B!$C | ||
| 6596 | +M`(Y`-V+>/#ERKEV3@P*3@S'.G%6HX`P0H#F``&W9LF7_"Z`*6[94J#!FS)@Q | ||
| 6597 | +M\;"-P59A3(4Q%2I4&.-LC(,Q8\8XJU"A0H4*%;94J#!F#"84F&)TPX)!BY85 | ||
| 6598 | +M*U9H<>*#QXT;-YK<"'$#7Y8!+<B1:Q.@39LV`0($"!`@0(``;0*T"="FS84V | ||
| 6599 | +M;<BUF="&'#ER(="@N8&F29,F39K@P=-D"(D=4H0($<+!G+`#YLRI4,$*#!A( | ||
| 6600 | +MC!B)T\-('"-QXL2)>Z*OA!DS=>IP6K!@09@P!.Z(\'*L&AQ2.'`<DQ,OGP-/ | ||
| 6601 | +MGD:,<##"@0,'#L:@<.``DX-X8\:,&>-@Q`@Z(U"@0(%BQ(@S3E#(D2-'CAP4 | ||
| 6602 | +M#AR,&;/%V18=<^;,V3)GRYPM_P!U;-FR98NS"F/&C(DW9DR%"A4J5*@P9LR8 | ||
| 6603 | +M,0[&C!DS9LR8,14J5*A0H4*%"F/&C'&`#4<,+%JTK%BQ;]\U:0QXA`AQXT:( | ||
| 6604 | +M$/AN9+G1X@^Y-FW:!`C0)D"``#4"!`@0H$V`-FW:M&G3I@VY-N3:M&FS)P0: | ||
| 6605 | +M-!K0-&FRK$D3/'B&U)$B10H'-N8.'#A@SIP*5JS`@`'#Z`FC;T\8?7NB[XD^ | ||
| 6606 | +M?;!*F!%2AP0>3G@6+"A#H)87$0^J58-#BA2.8W+R><(TPH&G$2-&.'#@P($# | ||
| 6607 | +M!PX<.!@S9LP8!PX<.!@Q8L0(.BB6C!CAR0D*!'(0H!CAR<&8,5NV;)DS9\N< | ||
| 6608 | +M.3ITZ/_0H4/'ECE;*E3`-F;,F#%CL%48LV5,A0ICQC@;,\;!&(`.QHP9,Z9" | ||
| 6609 | +MA0H5*E08,V8,)@?YTF#1HD7+OA7[M'R)QF/7K@@A0H3`AP_?C2/D)I#CTZ9- | ||
| 6610 | +MFS8!`@0($"!`@`!M`@1HTR9`FS;DVK3ATZ9-FS81]NQ!@^:&AAM-FC3!PZE. | ||
| 6611 | +MG1ULI+`1=N#``7/FS*E@90<,&#!@8(%Y`NN)G2>P2M@I`<N,F5O;ABS@M`!/ | ||
| 6612 | +MF3!WO"!(<>Q8M6IP2,&!@^.8`T\C1HP8X<"!`P?Q'#APX"">`T]C'(QQX&#$ | ||
| 6613 | +M"$^>1GAR,`(%"A0.4*!`@0(%"D\.'(QQ5F'+G"U;=,S1H4/_APX=.G3,V3(' | ||
| 6614 | +M4`5L8\;$&S.FPI@*%2I4<%9AC`-,8\8X&#-FS)@QSL8X&S-FS)@Q8QR,21,# | ||
| 6615 | +MRSXM^_:MV'?-"4`&/$*LB1`A0H@0(?"UX`.%#Y\V;=JT"1`@0(```6H$"!`@ | ||
| 6616 | +M0(`V`=JT:=.&3YLVY-H$"+!KUYX0(="@N=&D21,\G,34X2"%S8$#JPX<.&!. | ||
| 6617 | +M!2L[=NS8`0,&#"P[8.S8L5/)3B58E<P(D3)JP1`\>/`L6$!`1`HYQXY5@U,- | ||
| 6618 | +M#APX<'`X&.%@Q(@1(T:,<#`&DP,'#AR,P.3``28'#AR,<#!BA(,1(QR,<(`" | ||
| 6619 | +MA0,4#E"@<.#`V9@*6[9LT;%ECHXM_W/FS-$Q9XZ.+8``C1DSQL&8,8"P51A3 | ||
| 6620 | +MH4(%0&.<C1GC8(R#,0[&.!LS9LR8,6/&.!CC`%,4'%BT[-.R8L6^:T72\=BT | ||
| 6621 | +M)D($?"$V1;C1@H\+*LCXD&O3)D";``$"U`@0`&"```$"M`D0H$T;/FW:\.'3 | ||
| 6622 | +M)D"``&LB1-@3`@T:#7UN]#'"J4Z=.FR$<5JUZH`Y<RI4L+)CQPX8.V#LP+)C | ||
| 6623 | +MQXX=.W;LV*EDQHR0;:/*+."$!QB>!01$($!P+$:U:M6JP8$#!\>($2-&C!@Q | ||
| 6624 | +MPH$#!P[&.'#@P(&#$0X<.'#@P($#!R@<C'#@8(2G$2A0.!CAP($#!Y@PC:FP | ||
| 6625 | +M9<Z<.7.VS/^9,V?+G#E;MFR9`Z@"MC%CQL0;,V9,A0H5`%6H,&;,&`=C'(QQ | ||
| 6626 | +M,,;!&`<.'#@8X\#!&`<.XL6(@66%EA4K5F@I@HH'#W=KUN##%P&?AA9\7#!C | ||
| 6627 | +MYB)`FS9MV@0($*!&@``U`@0($"!`@#9\VK1IPZ=-FS8!`OA;LV;7GETAT*"Y | ||
| 6628 | +M`1#-C1:<Q+`1(VS5JE6K#I@SIX(5*U9V[-@!8\>.'3MV[-BQ`\9.I025S.S8 | ||
| 6629 | +M-JK,`CQ'CBQ84$9$D2(QCAW#4>T8'!QPY#CP-&+$"`<C'(QPX&",`P<C1HQP | ||
| 6630 | +MX,!!O#$./#D8X6"$@Q$.1CC`Y,`!"@<H'#@X@\G9E@J`M@#:`FC_#J`M@+9L | ||
| 6631 | +MV3)GRYP*%;`Y&^-@S)@Q@,8`<K:B`J`*8\:,P>3`@0,'#AR,<>#`@0,'*%"@ | ||
| 6632 | +M<.`@2@PL6E;LF[-BQ;4IZ7ALVK4K0H0($?"18"!@,ORU:=,F0(``-6H$ | ||
| 6633 | +MJ!$@0(``;0+P"1"@#9\V`0+P"1`@0(`U:];LVK4G1`@T:/KTX<2)D[`#G%:M | ||
| 6634 | +M.F!.A0I6K.R`867'CAT[=NS8`<C*CAT[=NQ4LF/&E)0Z"\H8N7>DQ9$%86J) | ||
| 6635 | +MD'/M6(QJ<'#@D",GW@@'(QR,<##"@0,'F!PX<.!@Q(@1#E#$B^?`P0@'#D8X | ||
| 6636 | +M<.#`@2<'#AR,B1<OG@,'SIQ5`#0'T)8Y_ULJ;*FP9<N6+8```:I0P=F8,6/& | ||
| 6637 | +MC!DSIL*8"H`J`*HP9LP8!PX<.'#@P($#!PY&H*#C@(X#!P[RQ="R;]^*%2NT | ||
| 6638 | +M%(G&8->>79LB1(B`KP4?&<&"!6,FPU^`-FW:!*@1H(:_`/X"!&@3($"`-@': | ||
| 6639 | +M!&@3@$^`-OYJU%BS9LV:7;MV[4&#!DT?#V*$>1!VX,`!<RI8L;)CQPXK.W98 | ||
| 6640 | +MV;'#RHX=.W;L5+)3R8X94T+J#%FP8`&>(T>.+%C60X07!-?D`(R!`P<.%/$\ | ||
| 6641 | +M>4+A8(0#%`X<.!B#"9,#!RA&C!@Q`H4<.2@<.'#@P,&($9X<.'#@P($#!PX< | ||
| 6642 | +MC!E3`1`@0("VS/^IL*5"A0J`*@"JL`50A0ICQHS!Y@#;&&QC`%6H4*$"H`IC | ||
| 6643 | +MQCASX,"!`P<.'#APX&#$B!$CZ#AP`"@?%BW[]JW8ART;*@8A-NS9M6G3)GPW | ||
| 6644 | +MR)%A%BP8,RNG_`6XT*9-@!HU`M0($"!`@`!M`O`)$*!-FP!M`@0($"!`C35K | ||
| 6645 | +MUJQ9LVO/KCUHT/0IY,$#IP,>#I@SI\*.'3!@P-AAQ<H.*SNL[-BQ8\>.'3N5 | ||
| 6646 | +MS)BYM6/(O04+\-S#<V_!O65E:GE!("=?OAAR4#AP,,;!&`<.'#AP,&:,,TP. | ||
| 6647 | +M/#F@,V+$B!&>`,J)XLF!@Q$.1CAP,,*!)P<.QL0;,V9,O"A1`%68`VC_RY8* | ||
| 6648 | +M@,:,&0,(4`5`@``!PC9FS!@'8["-P58!&R!`@`!5`(1MC`,'#AR,<#!BA(,1 | ||
| 6649 | +M(T:,&#$"!0I/,;!HV;=BQ8I]6%`IVQ1BSZ9=FS9%R'+!GQ5FP9C)D(&,SX4+ | ||
| 6650 | +M;0($"%`C0(```0*T:1,@0)L`;0($"!"@38``-6K46+,&P)HU:W;MV;,'S:\^ | ||
| 6651 | +M'CAYX'1`&!L5=EB!`0/&CAU6=EC9L6/'CAT[=BK9J23$S*T==>YQPH/G'IX% | ||
| 6652 | +M]_#<"Q.&0"T1<C#DRR<GG@,'8^(Y<.#`@0,'8\:,P>3)`1T'=$:,<.!`3KP1 | ||
| 6653 | +M#AR,&.'`P0@'#AQ@<N#`@0-,F,:,B0)H2X4Y_P`KS,$V9HRS,5&B1(D":,R8 | ||
| 6654 | +M,6/&C!DS9@RV"F,``:I0`5"%"MC&.'#@:<2($2-&C!@Q8L0(:B-&.!@3`X.6 | ||
| 6655 | +M%2M6[+N&ZH2E37OVH$'#8%,3$OYD6`DFPXJ5=U#(7;C0IDV```%J!`@0($"; | ||
| 6656 | +M`&T"!`@0($"`-@$"!`A0HT:--6O6K%FS9M>:/7OV_"K4QX.'`YS8L%%A!PP8 | ||
| 6657 | +M,';`V+&C@A4K.PG`V+%CQTXE.S2$;*M#XAZ>>WCPW%NPX-X]$@O*W$$@!P,& | ||
| 6658 | +M0&/&C!DS9LP8!PX<C!GC;(P#3"-&C!A!9\0(3_'BH7`P8H0G!R,<C'#@P),# | ||
| 6659 | +M!V,P.1LS9@P@0!4J5/^H,`80-F?8Y&#)AR%*A3%CQHP9,P8;MC$5L%4`A*T" | ||
| 6660 | +M((`5*E08,V:,@Q$.1HP8,6+$B!$CZ,`;`<^3)PPQM.Q;$47+O"+1-*!!LV?7 | ||
| 6661 | +MKDT\0BR`\LZ*%2LRF,E`1F[`GS9MV@0($"!`@``!VK0)T"9`@``!`@0($"!` | ||
| 6662 | +MC1HU:C18LV;-FEUK=NV*L`<-FCY]"A7RP$F8%"%V[(`!`P:,'15V5)BQ8\<. | ||
| 6663 | +M+%B5S)@1(J0.B2'W%N#!<Z3%`CP+%BQ8L"S,'2_YHD3!-&;,F#'.QC@8X\"! | ||
| 6664 | +M`P<.G#EPX&G$"#H.1C@8D<^!`Q0C1HP8,6*$`T\.'&!R@,G!F#%CH@`:`ZC_ | ||
| 6665 | +MPI@YSL9@RQ<#1XQ\4<8X&S-FS)@Q8\94&#.F`K8*8P!AJP!H3(5X#AQX&C%B | ||
| 6666 | +M!+P1\$;`@S<"'K41U$;$P*!E'T!L\ZX58;=,`QHT(?!MBK#I!@D),F0\>L1, | ||
| 6667 | +MA@L^`P8,N$"N38```0($:!.@39L``0($".`O0(```0($J%&C08,($7;MVA4A | ||
| 6668 | +M0H0]>_"A^=6G3Q\C'CC5X:#"#A@P3\#8L6-'B`HS9NR8J61&R*UM.^K<6X!G | ||
| 6669 | +M`9Y[>.[A67!O09@P9>Z(0(!B3`5G8YR-<39FS!@'#APX&#-FS)@1(ZB-&#'" | ||
| 6670 | +MP0@'^5`X<.!IQ(@1#D8X<##"@0-,F)R-&1-ES)@*_X```1HS9E^4;CABQ'.` | ||
| 6671 | +M:4R\,6/&C'&&K<(80&,``1H#:$P%0!4`C<'F`,6($2/@P1L!#QX\>/#@P:-& | ||
| 6672 | +M;4D:#%JBS+MF3!J!93?0W,`7`A^^`4?X2'#Q3H85*RZ@M,@R`."`(VW:!`@0 | ||
| 6673 | +M($"``&T"!`@0((`_?P$"!*@1H$:-&@T:U`@1(<*>/7OV[`F!#TV6&WWZ],'3 | ||
| 6674 | +M@I,8*4+,V`%C!XP=5D*$"%$AQ(P0,T)N[:@SY-Z">POP++B'!\^]!??"+.A! | ||
| 6675 | +MX`X=.@Z<.1LS9HRS,<[&C''@P($#!PX<.!@Q`AZU$0Y&.(B7+YX#%".HP1LQ | ||
| 6676 | +MPM.($0X<.!@3;\R8>(#&5/\8@PW0&$`88N!((\>!)P<HQHP9,V;,F#$5QHRI | ||
| 6677 | +M,`;0&$!C`(T!!&@,MC$H'(SP!`\>/'CPX,&#!P\>O`PCY*3!H&7>-6DB<O1` | ||
| 6678 | +M<^-&B`@1LOSAX\^?"Q<N9,CPQZ=%EBQ96EP@UR9`@``!`@1H$Z!-@``!`@0( | ||
| 6679 | +M$*!&@``U:M1H`+!!@Q!HT*`)L0?-'C19;MRXT:=%GQ9X\!RI(T6(&3MV[)@1 | ||
| 6680 | +M(D6*%"E2I`CA4*=.'1+W%N!9<&_!O07W%MR[=^]>F%IW=(T8@<G!F#%CG(T9 | ||
| 6681 | +M,\:!`P<.1CAPX&",@Q'PJ%$;,<*!`P=1\L6C,X+:B!$C1GARX,F!@WCQX@&* | ||
| 6682 | +M,J;_PI@*8\8`BA(C1@P4(SR-<!`OWI@QV,:,P3:F`J`Q@,8``C0&D#-`8\9@ | ||
| 6683 | +MP^9@!)T1\.#!@P<O`[P,&3)D$"`B6PP,\^9]8<>N2I4LOT)LVA3B0H!'[USX | ||
| 6684 | +M@R+!!9\C-[+@PY=EP!%R;0($"!`@0(```0($"!`@@+\:-6K4J%&C1H,J@ | ||
| 6685 | +M"8$F"YH;:/#=N''CQHT^35JTP-."$Z<Z'(0(`4C#C!DA4MC48<.&39TZ=4C< | ||
| 6686 | +M6W`/SX)[]Q;<6[#@WH)[8<(0(*`+GB<'#AR,<39FC+,QSL8X<.!@!`H'#APX | ||
| 6687 | +MH`,/'K41(T8X<!`O7SP4**B-0($"A0,4*.+%BS=FS)@Q_V/&`(H7;TP\#!@< | ||
| 6688 | +M>#HSP@$*%&/&`!HS9@RV"F,`C0$T!A"@,8#&`!H#:,P8!RA&C(`'#QZ\#!G@ | ||
| 6689 | +M9<B0)$,&`0C@R+E6Y(NQ.SVJ5&EQ(T*(%N2067GT"%D;%E#XX,$7(0(^?/BR | ||
| 6690 | +M'"'')T"-``$"!`@0((`_*`$"!*A1HT:-&C4:-*C1H,:-&S>:W.ASH\F-)C>: | ||
| 6691 | +MM,#3!`\>/'CP<!I2IXX4*;=N[=@VA!,G3ISP&,%C!`\>/`ON+;BWX-X1$@O* | ||
| 6692 | +M``S3H]:=.[K@P?/DP)FS,6/&C!GCP,$8!PX<.'#@P(&#$2/@4:,V8H0G!PX< | ||
| 6693 | +MQ(N'@@XU.2A0H(@7+]Z8,14`5?\8,V9,/!0H1GBBYFD$G1$.4&##!F@,H#&` | ||
| 6694 | +MQE3`-F8,(&=CG(T9,P;0&$!CL&%#@6($'6KP,F3(D$%`A@PGD@@042U;$1'2 | ||
| 6695 | +M[A"XTZ-'E1;X\+4(((.9E4?(VAPYTN(&/GPA\.T)@2_+D0MM`@2H$2!`@``! | ||
| 6696 | +M_`4(X"]`C1HU:M2HT:!!@P8U`C1ITN1&DR9-;C1ITJ1)DQ9-\"QH@F<!GGOW | ||
| 6697 | +MAI#81J+.D"&<..$!AJ</GCYX\.!9@*?%`CSW\-PC<:\,@3LB1.C2!6_$"`<. | ||
| 6698 | +M'(P9XV",@S%C'(QQ,,:!@S$.`#H8,0(>-6KPZ(P8X<F!@WARY,B)%P^%`P?Q | ||
| 6699 | +MQHRI,`;_4(4*%>*-03%BQ`AJ(^B,H.,`!;8Q8RH`JC"F`K8Q@,9@&S,&VQA` | ||
| 6700 | +MV,9@&X-M##8'=$;`@Z<K0X8,&3*<B!8M2081QU*(N'.'`($>/7I4:?&'G#\9 | ||
| 6701 | +MS&2X:$/NR(`;62)$B!!BSQY\^+*T(,?'7X```6H$"!"@1H`:`6H$J%&C1HT& | ||
| 6702 | +M#1HT"!"@38LF>)HTP=,$3Y,6+?#@:8('#YY[>/`LX'1O`:=[0^[=XX2GB1$\ | ||
| 6703 | +M??KTZ=.D#YX6>!;@N7?O'AX2]\+4$J&+#ATZ(^!Y&N'`P1@'8\:,<>#,@8,Q | ||
| 6704 | +M#AR,<>#``9T1\*A1@S=B!!T'GAPX0"$GWA@'SAR,&1.O`J`*_P#'.,,V!EL\ | ||
| 6705 | +M3R.H4:,&;\0(%"A0C!E3H0*@,8#&5!@SIL*8,8"PC<$V9LP8;&.6H$`Q`AZU | ||
| 6706 | +M#!DR9,B0)$.2)-&BZ1(A0H2N.P1Z].C1@T"5"5!<,&,FP]^1+`.R9,$7(<*N | ||
| 6707 | +M/2'P10BQ)\L?<FW\!:@1H$:`&@%J!`A0(T"-&C5J-&C0H$:-`!<N&,&#!X\1 | ||
| 6708 | +M/$WPX#'2!(\1/`OP+,!S#P^>!9SP<+J'A],"/`OPX,'3I,^-&TWZ-&G2H@4> | ||
| 6709 | +M/'CPD""Q($RM6M*<C!@QPM.($71&.!CC8(R#,0[&.'`PQH$#!PX<T!D!CYH` | ||
| 6710 | +M>+I&C!@QPI,#!PX<C''F;,P8;("P`?^J4,%9A3%C/(V@!@\>/'CP1HQ`@2(> | ||
| 6711 | +MMC&`*E0`5&$,((`5L`$:,V;,F#'8QHQ9L@2%DQ'PJ&7(D"%#A@P9DIR(5B^) | ||
| 6712 | +MCSMW[MPA0(``@1X]>E0Y)(,9,Q=06N"+@`\?OA`1]H2(L&?/GCWXLK0@Q\=? | ||
| 6713 | +MC1H!:@2H42-`C1H!:M2H4:-!C08-:@1H<^$"G@5X\.!9@`</G@5X%N"YAP</ | ||
| 6714 | +MGGOW[MV[A^?>O7OW[MW#<^\>'CQ-^MSH<^-&GSY]FK1H@0?/D7L+PM3R(L*) | ||
| 6715 | +M@S$.'(P8,8*.`P=C'(QQX,"!`P<.'#APX,#!"#KP,@C(`$\7O!$C'(QP@,(! | ||
| 6716 | +MH#%CG(T9XVS_S)@*8P!A&X/)TPAX\.#!@P>/VH@1#N*-&8.M0H4*@"J,J3`F | ||
| 6717 | +MWI@Q\<8LP;9DR1(4=$;`HY9!0(8,&:(ER9`D&L`329+XN*.+P!T"!,+T"-.C | ||
| 6718 | +M1Q4)+JA`.7(#WYH($2+@V[,G0H1=(?9$V(,ORQ]R?/SYJU&C1H`:-6K4"%"C | ||
| 6719 | +M1HT:-1HT:%`C0)L`;2[@P;,`SP(\>!;@N8<'SST\]^[=PW,/S[TC]^[=PW,/ | ||
| 6720 | +M#YY[>.[AP8.G29,;(6Z@N7'C1I\^+5JTP--D0:U_(N2@P#;&@0-X=."-&./` | ||
| 6721 | +M@8,Q#L8X&./`P1@'#AS0&0$/7@8!&>#1&3%BA"<'#L94J`!H#"!L_]BPC1F# | ||
| 6722 | +M#=N8)9ZHP8,';P0\>/#@41LQ`L48;&.P`:H`J$*%>!7&Q!L3#T4\%`Z6T!DQ | ||
| 6723 | +M`AXU`1DR9#@1+4.T:-&21*L7K<P=`@0($`A#($R/'CUZL.##IP6^"!$B1(@0 | ||
| 6724 | +M`>`>-'M"[(H0(D*$/?BRM"`7P%^-`#5JU*A1HT:-`#5JU&C0H$&#&@$"M&G3 | ||
| 6725 | +MYL(]/'CNX;F'YQZ>>WCNW;N'Y]Z]>R3NW;MW#P^)>WA(W+M'XAZ>>WA:]+EQ | ||
| 6726 | +M`\T--%ENW+CQJT^?)DT6A"%PY]H\;&/&.*!#!YX#!P[&.'#@P($#!PX<.'#@ | ||
| 6727 | +MP,$(>/#@94B2P8>N$2,\><+D8`RV"H"B8/^+APT;)G1+EHP8X0G>"'BZ,NB" | ||
| 6728 | +M!P\>/&HC/#EP$&\,H#$5L`$:$R5>O'CQ'*!8XH0./'@9,F3(D"%#M`S1HD5+ | ||
| 6729 | +M$BU)O70G"!`@4(9`#P(]PA#H0:#*O18#\.&+@"\"O@A[T/P*L2="A#T1(H2( | ||
| 6730 | +MD*4%N3;^:OBK42-`C1HU:M2H`;!&@P8-:M0($*!-@`!M+N"Y=^_>/3SW[N&Y | ||
| 6731 | +M=P_//3SW[MTC@><>GGMX[MW#<^_>/3SW\-S#LP!/BR8W;J"YD07-KU\W?MWH | ||
| 6732 | +M<Z-)$V4$1""(-V:,`P<CX#EPX,"!`P<.'#APX,"!`P<.'(P8`0]>!@$9X&48 | ||
| 6733 | +M06>$`P<.X@$"A&W_WA('GCQY&H%NQ`AJ\.!ER)!!EZX,\.#!@S?"TP@'#N+% | ||
| 6734 | +M`S0FRIAX8\;$0X$"A9,1(^!1RY!!0(9H&9*<B!8M6K1Z2>HEB5:&@(\R!'H0 | ||
| 6735 | +M"$.@1X\>!'JTN!$!'SY\^-:LV?/K1A8T(2+L"K%GUYX(6?Z0X^.O1H`:-6K4 | ||
| 6736 | +MJ%$C0(T:-1HT:%"C1ILV;0*T:7/AWCT\]_#<NX?GWKU[]^[=`XCGWKU[]^[= | ||
| 6737 | +MNW?O'AX2]_"0('&/!)Y[>.[AP7/C1A8T:-#@0Y-E3Y\;:+(TT5#FWS$Y\^+% | ||
| 6738 | +M0^'`@2<'#APX<.!@C`,'#APX<.#`P8@1\.!E$)`A`[P1\#`Y<!`ORKQY__$< | ||
| 6739 | +MC(`'CQHJ>/`R9,@0+4.&#!DR9-#E0Q<\>-3@41LQPL&8>/'&Q(L7#T4\%"A& | ||
| 6740 | +M4*-&30"J)!F21(L6+5JT:-&B18M6+TFZ$P1\A/%!(`R!'@3"$"!`H$J3`5EN | ||
| 6741 | +M9(D0`5^$7YQ:],$7(D($?!'V[(F0I06Y`/[\!:@1H$:-&C5JU*C1H$&#!@': | ||
| 6742 | +M!`@0($"`-A?NX;EW[QZ>>_?NW<-S#\^]>WCN<;J'YQZ>>_?NW;MW[]X]//?N | ||
| 6743 | +MW<-S#P^>/C=N`,R2!0V^+&CPH<&'[\8-#<NNI#B6+\J8>"@<.'#@P($#!PX< | ||
| 6744 | +M.'#@P($#!PX<C*!#!UX&`0($P*,V`D6\>!BBQ/^;AV+$"'BH4,%#E2%#AF@G | ||
| 6745 | +M3IS(D"&#CPP9,F3(``\>O!$C1M!QX"`>BG@H4*"@,P(>/'@",F3(<")#M`PG | ||
| 6746 | +MHD6+5B]:O7I)ZD7+0,!'F3`$RA`@0(!`#P)A>K1H<:3%`'P1?@$[<J3%#7PA | ||
| 6747 | +M(H2($"("O@A96K1IX\]?C1HU:M2H4:-&C1H-&C2H$:!-FP`!`G!K<^'>/3SW | ||
| 6748 | +M[MW#<P_/O7MX[MW#<^_>O2'WAMR[=^\>GGMX[MV[=^_>O7MX[N%IT>0&&C19 | ||
| 6749 | +MT.#[]0O?GBPW-H7H84U$BF/YXD6)-V:$@Q$.`(YP,,+!"`<.'#APX,"!)T^> | ||
| 6750 | +MJ%$3(`#>"!3QY,2+$B__'@H43N"A0N7#AX\3/DZ<.''B1+1H&:*=.)'A1(8, | ||
| 6751 | +M&3)0RP`/WH@1(^@XH#."S@AXU.`)R(`J0Y(3T:)%BQ8M6K1ZT>I%JU<O230? | ||
| 6752 | +M!,J<\!&&``$"!'KD(!"FBBDH4"8,P)=E@!@Q1X"AP8<O0H0($2*$B)#E#SDH | ||
| 6753 | +M_FH$J%&C1HT:-6HT:-"@08``;=H$"!"@39LV%_#<NW</S[U[]^[=NW?OWKU[ | ||
| 6754 | +M]^YQNG>/T[U[]^[=NT?BWCT2>.[=NT<"SX(6>&[<R((F"YH0>[+@0Y/%TK(> | ||
| 6755 | +MM7P@.)8O'X8H\1PX&.%@A`,'#AR@<(`"!0H4*%"@0$&'C@@4"!#(D1-%3KQX | ||
| 6756 | +M_P#CQ9,V`AX\'SY\E#EQXL0)92>BG4@2+5J&:-&BG<B0)$.&#!G@P:,V`MX( | ||
| 6757 | +M>"/@4:.604"&#$DR1#L1+5JT),JB18NF+%J]>O7JE?'AXT29,@0($"!`@$"/ | ||
| 6758 | +M'E4.29#`YTB6+,#(,3G2(DN6$/A"[-JS:\\>?%E:D&OCKX:_&C5JU*A1HT:# | ||
| 6759 | +M!C5J!&C3IDV```':M&ESX=X]//?NW<-S[]Z]>_?NW;O'Z=Z](??NW;MW[]Z1 | ||
| 6760 | +M>_?NW;MWC\2]>_=(X,&#ITF?&VC0H,$7(@N:&R'J]:@%3P`=!#B.88@G)QX* | ||
| 6761 | +M%`Y0H$"!0DX\.?'BR8D73TX^.7+D()`C1TZ\>/'BQ?^+%^\+"CKP?&3PX>/$ | ||
| 6762 | +MB1,G3IQ0%BU:M&C1HD4[$2U)-(#1HB7)D"$:J@P9J&6@EH%:!G@9,B3)$"U: | ||
| 6763 | +MM&C1HD6+ED19M'K1ZM5+5R])F3)ERI0I0X```0($"(2I4H7%A",#!@PX0H[/ | ||
| 6764 | +MGP%9\(7`AR]"A`@1(H3`AV\`N0#^_`6H42-`C1HU&C1H4"-`FS8!`@0($"!` | ||
| 6765 | +MFS87[MV[=P_/O7OW[MV[=^_>/1+WAMR[=^_>O7M'2-R[=^_>O7OW2-R[1^(> | ||
| 6766 | +MB7MX\#1I<N-&%C3X\&4)H>'$'6D"1M!!@`/'L7PQY,A!@0(%BG@HY*"()R>> | ||
| 6767 | +MG'ARYL63$P^%'!3QXL6+%P7_6Y1X\>;1<0)/EX\3)WR<.'$B6K03T4Y$BQ8M | ||
| 6768 | +M6K03T4Y$BW8B6K1HT9)DR)`A0X8,\#)D2)(A0[1HT4XDB98D"<!Z2>HEJ1>M | ||
| 6769 | +M7KUZ]925.5&F3)DP!`@0($"@1X\%>/!DR9)E`+DVY(ZTR((/'SY\$2)LBK!K | ||
| 6770 | +MSYX(65H<:1/`7XT:-6K4J-&@08,:`0*T:1,@0(```0)`NW#A'IY[]^[=PW/O | ||
| 6771 | +M'IXC]^[=NW?OR+U[8NX=N7?O'@D2).X=N7?OWKU[]TC<NX<'#YX^-VZ$N!$B | ||
| 6772 | +M"SX-RNY(@X?.B9,OQW#@."9'#@(4*%"@0($"!0H4*%#$BQ<O7KQX\>3$BR<' | ||
| 6773 | +M4!1`_U'BC1F#(IZ#$?#@^<C@(]J)$]&B18MV(MJ):-%.1(L6+=J):-&B18L6 | ||
| 6774 | +M+5J2:-$R9,B0(4.&:-&B18L6+4FT:$GJ):F7I%Z]:/72U8L6K4R9,LO"A`E# | ||
| 6775 | +M@``!`CVJ++AQ`V"6%D?(D9MP9,``?/CPH<&W9T^$"!'VX,.';\"?-@'\!:A1 | ||
| 6776 | +MHT:-&@UJU*@1H$V;`&T"M`G0)D";"Q?NW;MW#\^]>_?ND;AW[]Z1>_?NW;MW | ||
| 6777 | +M[QZ)>R1(W+M'XMZ]>R3NW;MWC\2]>_<6X&G2Y,:-$"'PA=`0AITN:E^<.!E! | ||
| 6778 | +M)\4Q.0A0H$"!`@4*%`Y0H$`1#T4\%/&P88L7+UZ\>-CB`?^*-P90O'CQ4*"# | ||
| 6779 | +M-T)7AA,93D3+D"1#DFC1HD6+%BU:M&C1ZM6+IBQ:O6CUHIU($BU)DFC1DD3+ | ||
| 6780 | +M$.U$M&C1HD6+5B])O23UTB6I5R]=/67*PI0I4R8,@3)E"!`HLZ`*GAM9!OR9 | ||
| 6781 | +M0.[(GS\#\.&+$`%?B#T1]H2($"$$O@@#CI"#`C"`OQHU:M2HT:!&C0!MV@0( | ||
| 6782 | +MT"9`@``!VK2Y<.$>GGOW[MV[AT?,O7OW[MV[=^_>/1+W[MV[=^\>"3PD[I&X | ||
| 6783 | +M=^_>/1+W[MV[=P_//3PMFMRX$>)&"`U5KEPQ)H*.$VE?4'Q!\`4%"A0H4*!` | ||
| 6784 | +M@8(."A0H4*"(ARU>O'CQYL6+%R7_7KQX\>)ABQ</Q9(1J.!ER'#BQ(D3)Z*= | ||
| 6785 | +M2)(A6K03T:)%BQ8M6K1HT:)%BQ8M6KUHT:)%2Q(M6K1HT:)%JQ>M7KUH]>K5 | ||
| 6786 | +MJU<O7;UZZ>K5JU>F3)@R9<H0($"`0)DP/1;T:3&`#SER?XX,&#``7X0U^"+@ | ||
| 6787 | +M0[-G5X0($?;LP8>O!3D^_OS5J%&C1H,&-=H$:-.F39L``=H$:-.FS84_]^[A | ||
| 6788 | +M`7COWI%[)/#<NX?GWKU[]X[<NW?OWCT2>.[=(W&/Q+U[]^[=NW>/!(E[1\20 | ||
| 6789 | +M($'B'IXF-VZ$"+%@09D3/MB)$"%"A`AI(A!(<[($!0H4=%"@H(,"1;PE\;#- | ||
| 6790 | +MBS<O7KQY__'BQ<,6;TP\;/%0T'%"+4.&$]%.1(L6+5JT#-&B18MV(EJT:-&B | ||
| 6791 | +M18L635FT:/6B18M6+UJT:-&B1:L7K5ZT>M'J1:M7KUZ2>O72U4M7KUZZ>B<6 | ||
| 6792 | +ME`E3AD`9`@3*A`E#@@0)<A/('?DS8$"+`5GPX8L084^(/7LB1(@0(4*$$/A: | ||
| 6793 | +M'.$3($"-&C5J-*@1H$V;-FT"M`D0($";`&W:7/AS[]Z]>_?NW;MW[]Z]>_?P | ||
| 6794 | +MW+MW[]Z](_?NW2-!XMX]$O?N`21QC\2">_=(D"!Q[]Z$'2QV3*B"IT6($"$T | ||
| 6795 | +M6`I1KUZ]:"=\$&!WQXL(:72DH8CG``4*%"CDH)@7+UX\;/'BQ?^+%R]>O'CQ | ||
| 6796 | +MXL6+%R\>"CHC4`F(%NW$"64GHD6+%BU#M&C1HIV(%JU>M&C1HD6+%BU:M&C1 | ||
| 6797 | +MHM6K%ZU>M&CUHM6+5J]>O6CIZM5+5R]=O7J6TEFJMXQ`F3)E"!`@4"9,F##W | ||
| 6798 | +M2$R80.[/@`$#!@S(,B`+O@@1(NR)$"'"G@@1]NS!%V+`D39\`M2H4:-!#6X! | ||
| 6799 | +MVK1ITZ9-FS8!V@1HTZ;-A3_W\-S#<^_>O7OW[AW!<^_>O7OW[MV[=^_(O7OW | ||
| 6800 | +M[I&X=X_$O7M5[MV[=^_>$#'W=IAZ14:"*3YX6F0)@6]3"`TA`&[:9,F2)0W* | ||
| 6801 | +MRA"X(T*:$Q3Q4*!`$0]%O"_QXL6+%R__WKQX\^+%BX<B'HIX*%"@H.,$7H9H | ||
| 6802 | +M)TZ<B!8M6K0,2:)%BQ8M6K1HT:)%JQ<M6KUHT>I%JQ>M7K1H]:+5BZ8L6KUH | ||
| 6803 | +M]:+5JU<O7;UZ]2S52V>I7KIZ)\J4(5"&0!@"8<)4N;?@WI$C`P;<R)(E2Y8; | ||
| 6804 | +M-V[@PQ<APIX($2+LB;`G0H@(^&X<(=<F0(T:#6K4"-"F39LV;=JT"=`F0)LV | ||
| 6805 | +M;2[\^7/OWI%[1^X=N7?OWCTQ]X[<PW/DWKU[]^[=PT."Q+U[1^[=NT>"1)5[ | ||
| 6806 | +M]TC4V6'JU;I%JJBL<\/BR(T;64)D07/C1H@0NS9MVL1`69D[NJ1]0;$D7KQX | ||
| 6807 | +M\>+%BQ=O7KQX_P#CQ8N'(AX*%"A0H(B'(AX*%'3@P<L0[<2)$]&B13MQ(EJT | ||
| 6808 | +M:-&B18L6+5JT:-&B18M6+UJT:/6BU8M6+YJR:/6BU:L7K5ZZ>O7JI4M7+UT] | ||
| 6809 | +M2^DL6:IWH@R!,@3"$`@S:L&"!2U:M&B1!1\^?/CP9<ER(TL6-/@B[-D3(<*> | ||
| 6810 | +M-7LB1(B`[\8`<@'\U4!6HP:W-A?:M&G3IDV;`&W:M&G3YL*%/WCNW;MW[]X] | ||
| 6811 | +M,7CNW;MW[]X]$O?NW;MW[]X]$O?ND;AW[QZ)>_?ND1A"HHZI5XL^E$ODIURY | ||
| 6812 | +M#^M,D;B1!0V^+'OP[=F##PT^-+M":#AQQPL")_-0Q/L2+QZ*>/.6S/^+-P]% | ||
| 6813 | +MO'@HY*"(AP(%"A0HQJ"@0P=5AA,GHIV(%NU$$H#1HD6+%BU:M&CUHD6K%RV: | ||
| 6814 | +MLFC1HM6+5B]:NFCUZD6K5Z]>O7KUZM6K5R]=O7KI+-5+9RF=)4LGRI0A4(9` | ||
| 6815 | +MF`5A[BW`TZ=/'WSX(D18$R'"'GSXLJ#)@@\?O@@1]JS9LRM"A!#XLK0@QR=` | ||
| 6816 | +MC08U:@2XT.9"FS9MVK1ITZ9-FS9M+OSY<^\>'C'W[AVY1^(>GB/W[N$Y<N_> | ||
| 6817 | +MD7OWCMR[1^+>/1+W2-R[=T_,/3$33"WZ4,[$IQDO/GD;YB>0A"IX;J#!E^77 | ||
| 6818 | +MKSU[]D2($"+$)DMEV'DI@@#!EWGSXL6+%R__7KQX\>+%0Q$O'@H4*%"@0!$/ | ||
| 6819 | +M!0H4=.!ER!#M1+03T:*=B!8M6K1HT:)%BQ8M6K1H]:)%JQ>M7K1ZT>K5JQ>M | ||
| 6820 | +M'L!Z]:+5JU>O7KIZZ>JELY3.4CU+EM(QL'2BC`\"8<*$6;#@7HL^-[+@B[`F | ||
| 6821 | +M0H0U:]9$B+!G3Q9\O_#ABQ!A380U$?9$B!`A2XL+;?S5J%$C0)L+%]I<:-.F | ||
| 6822 | +M39LV;=JT:=/FPH4!1_#<NW?OWKU[]X[<NW?OR+U[]^[=NW?OWKU[]^X=N7?O | ||
| 6823 | +MWKTA)$B0J&-J4;E$KCZ]>0/DS0QPB`Q](+.CQ8TL:++@0Q,B1(A=>_9LVF2I | ||
| 6824 | +MS+\K7KP@0"!G7A1L__'BS5LR;TF\>/'BH8B'`@4*%/'B.4!!1Q>\)">BG8@6 | ||
| 6825 | +M[42T#-&B18L6+5JT>M&BU8L6+5JT:,JBU8M6KUZ]>O7JU:M7KUZ]>O7JU:M7 | ||
| 6826 | +MKYZE=)8LI;-DR9(E964(E"$0!N"">PM:H,&'!M^:"'O61(@084V$-1'P[?GU | ||
| 6827 | +MZQ<^?/C6K(FP9E>$""'P#3C2QE^-&C7:M+EPH4V;"VW:M&G3IDV;-FTN_!EP | ||
| 6828 | +MC\21>T?N';EW[]Z](_?NW1-S[]Z](_=(D+A'XMX]$B1(D+AW3\R.5\7*?9KQ | ||
| 6829 | +M!@@0($"``'G3Q9&A2%1,X;F1!0V:+"$V;0JQ!\VN3<LRM8,AZH$7$0CBS?^+ | ||
| 6830 | +M,F_>DB78YL5;LB0>BG@H4*!`$2\>"A0CZ&3($.W$B6@GHD4[$2U:M"31ZD6+ | ||
| 6831 | +M%JU>M&CUHM6+IBR:LGKUHM5+5Z]>O7KUZM5+EZY>O7KI+*6S9*F>)08,&%B* | ||
| 6832 | +M5H9`F04+1N&Y@08-/GP1]D2($&%7A%T1UD18$R$"OE^_\.'#!W#-FC5K(NR) | ||
| 6833 | +M$`%?EB-M_-7P%Z#-A0L7+EQH<Z%-FS9M+K1I<^'"GRSW[MV[=^_>O7OWCMR[ | ||
| 6834 | +M=^_(O7OW[MV[1^+>/1+W2)"X=^\>B7MBZIA:5.X3/R!`@``!`@0($"`S9L2" | ||
| 6835 | +M\(.*J2,W;H0($2+$IA"[-O0Q4F==)$2(^N7Q4@3_P;QX*%!\F8=BR9)X8Y9@ | ||
| 6836 | +M0X$B'@H4\<8XH",-7H8,&4Y$.Q$M6K1HT:)%BQ8M2;1ZT:+5BQ9-6;1HRNI% | ||
| 6837 | +MJU>O7KUZ]>K5JU?/4KUZ]>K5JV>IGJ5T#"PQ8&")`0-E9<J,*K.@R8T0^/#M | ||
| 6838 | +MB1`A0H1=>W;MV15A380U:R+@VX/O%[X]$=:L6;-K5X0($08<X>,/68T`;2Y< | ||
| 6839 | +MN-#FPH4V%]JT`=CF0ILVT/[\^77DWI%[1^Z)N7?DWCTQ]^[=.W+OWI%[]TB0 | ||
| 6840 | +MN$?BWCT2)$C<(R%FAYMBKEX``0($"!`@0(```0($2"P+1()1D7"D1980(="@ | ||
| 6841 | +M01.BSX(=ZSX,^S3CS8Q4___H2)-S#0$*%"CBH8BW!`4V%/%0.(CG(!X*%'3H | ||
| 6842 | +M9,@0[<2):">413L1+5JT>M'J18L6+5JT>M&B*:L735F]>O7JU:MGJ9ZE>I;J | ||
| 6843 | +M6:I7KUZ]>O4L6;)DB0$#2Y886%)69D&8!4U"A-@5(4*$"'OV1(BP9\V>-7O6 | ||
| 6844 | +M1(@0(0*^/?CP_<*W)\*:-6O61(@0(<L1/OYJ<&MSX<*%"Q<NM+EPH4V;"VW: | ||
| 6845 | +M7+CP!QB^>_?NW;MW[]Z]>_?NW;MWY-Z](_?N`;Q'XMX]$O=(D+A'XAX)$B3, | ||
| 6846 | +M+"IGXH4F($"```$"!`@0($"`S.!GH=4/&5".W,ARXP8:-&B&F%KW(9&)&3.` | ||
| 6847 | +M`/_ITBF.%R?21""0A@+!ER5+4#B(YP`%"A1C4*!`0<<)J@P93D0[<2):M&C1 | ||
| 6848 | +MHD6+%BU:M'K1ZD6+IBQ:O1/UZM6K5\]2.DOU+-6S5,]2/4O*+-6S5*]>.DOI | ||
| 6849 | +M+#&PQ("!I66C%BQ#LRE$A`@1UD38LR9"A`B[]NR*$"'"F@@1UJS!AP\?OE^_ | ||
| 6850 | +M]D18LV97A%WXLI"#PH5+@`L7+ERX<.'"A0L7+K2Y`.T"M`O`?N$[<D_,D7M' | ||
| 6851 | +MCMP[(N;>D7OWQ-R[=^\>B7LD[I&X1^(>"1(D2)#8,8M8.5?\@``!`@0($"!` | ||
| 6852 | +M``(!`D03$$VQ++3Z084/GAM9T*!!P\G4HF)^3'29`>3_S8PW0&:DNG)'A`@O | ||
| 6853 | +M(NC008%B"0H4*%"@0($"!0H4=.!ER!`MVHEHRJ*=4!:M7K1H]:*EBQ8MVHEZ | ||
| 6854 | +MT>I%JU>O7KUZ]2S5LU3/4CU+&NI9LE3/DJ5ZEBQ9LF3)$@,&EGBD6["@"9I- | ||
| 6855 | +MFR)$B!`A0H0(>_:LB1!A380(:_9$B+`&7X0U^/#]VH-O3X0(:]:LB1#A!CDH | ||
| 6856 | +MR/RUN?#GPI\_?R[\N7"!'#ER;<A=N/`+WYI[1^[=$W/OWI%[]^X=N7?DWKTC | ||
| 6857 | +M]^[=NW>/Q#T2]TC<(T&"!(DZM&!)2O0"B"8@0(```0($"#\@0(```6*!B!)5 | ||
| 6858 | +M$H[<N-'G5Q]:Z_R8,/%I!I`9_P"!``$"Y,T,1W%JZ1(A@LZ(+W3HH%B"`@4* | ||
| 6859 | +M%$M0H)#F1%<&5!E.G(AV(EJT:-&B18L6+5JT>M'JG:AWHEZT>O7J6:IGJ9ZE | ||
| 6860 | +M>I;J6;)4SY*E>I;JI;-DJ9ZE=`PL66)@R9*R!1K0;(JP*T*$-1$B[%D3(4*$ | ||
| 6861 | +M-6LB[%D380V^-1'61%B#;PV^/;_P18@0(<*:76L&,`$!`MJ%/W_^_+GPY\^? | ||
| 6862 | +M/Q?(76A##MJ%/[\BK#ER[]Z1>_?$W#MR[\B]>V+NW;MW3\P]$B3ND;A'@@0) | ||
| 6863 | +M$B2J#!&S8Q:Q2:[X`=$$!`@0($"`S`"B:0:0&3.(^(E$9D*+/BV.B'E5;%@7 | ||
| 6864 | +M<#/>`/\!`@0($"!`@`")U>G?G3LB1$BC@T(:"FDHZ"Q!@0(%'8`C4*'*$"W: | ||
| 6865 | +MB1/1E$4[42]:M'K1ZD6+%DU9M'K1ZM6K5Z]>/4OU+-6S9,E2/4N6+&FP5,^2 | ||
| 6866 | +MI7KU+"E39DF9)4O*EBE;%F+7FCU[=JW9%2'"F@AKUD2($&'-&GQK\*V)$"%" | ||
| 6867 | +MA#5K\*V)L`??'GP1(NQ:$V$`$S[0H/WY\^?/GS]__ORY0.X".7+0+EP8L&<- | ||
| 6868 | +M@'M'[MT[<N_(O7MB[MT[<N_(O2/W[MV[=^\>B7LD[I$@48>$F#H[S'1(9(L? | ||
| 6869 | +M$"!`@``!`@0($"!`@``!,L,1A`\26.#Q<&0'+6(_3'1Y`^3_S1L@0(```0($ | ||
| 6870 | +M"!`@,Q!1(G#G#AUITE#004$'!1T47^@X@9<A`ZH,)TY$BQ8M6K1HT:)%BQ:M | ||
| 6871 | +M7K1ZT>I%JY<N&L!Z]>I9JF>IGH9ZENI9LE3/4CU+ENK5TU#/DC)ERI1IL+2@ | ||
| 6872 | +MQX(F>W9%B!!A380]:]9$6+,FPIH(:]9$6!-AS9HU$=9$6!-A#;XU>_;\VK,G | ||
| 6873 | +MPIHU$?HP80+MSY\!?_[\^?/GSY\_%RZ0NT".W)\!$=8`('%/S#TQ]X[<.W)/ | ||
| 6874 | +MS)%[8NZ)N7=/S#T2)$B0P$."Q(0A1W:8>H6$6*)/_(```0($"!`@0(```0($ | ||
| 6875 | +M"!`@0&(1^>&BRI$C.V:Y*9;HQ9LW_T"```$"!`@0($"```$"!,B,0;5\B)!& | ||
| 6876 | +MAPZ*+RA0T$%!1YH(7:A.G#AQXL2):">B18L6K5ZT=-'J):D7K5Z]:/72U:MG | ||
| 6877 | +MJ9ZE>I;J6;)4SU(]2_4L64IGJ5Z]>AKJ:="P#*"&>U58F-(0(4*$-1$BK(D0 | ||
| 6878 | +M(<*:"+O6[(JP)L*:-6LBK,&W9DV$-6O6K(D0(<(>?/CPX<,7(<N1(\`&_!HP | ||
| 6879 | +MX,^?/W]:_/ESY`(Y)A<N`/NU9@V`>V+N';DGYAZ)>T?ND;AWY!Z)>T?ND1A" | ||
| 6880 | +M8@@)$B1(D"!1AQ8L8I-<O7@#!`@0($"```$"!`@0($!F``$RPUNK#Q*8X#E" | ||
| 6881 | +MZU6'<B9>O/\!`@0($"!`@``!`@0($"!`@`"9T8R2CSO2$$BC0X>.-#IT1.C2 | ||
| 6882 | +MY</'B3(G3D2+%BU:M&C1HM6+5B]:O7KUZD6K5Z]>NGJ6ZM6S5,]2/4N6+-6S | ||
| 6883 | +M5,]2O7KUZFFHIT&9,@W+FE39<<C4KPAK(NQ9$V'/F@AK(JR)$&'-FC5K(JR) | ||
| 6884 | +M`'#-FC41UJQ9$V%-A#5KUD38@V]/!'SX!@`#-N#7@%]_@/WY\V?`GS\7+C"Y | ||
| 6885 | +MP.3"@"QK```X<N_(/1+WCI`0<T_,/3'WCMP3<^\>B7M#2)`@08*$F`D[7A&; | ||
| 6886 | +M%.0-$"!`@``!`@0($"!`^`'A!P3(#""QO"EA)F'"!%JSJ!!K]6G_!A`@0(`` | ||
| 6887 | +M`0($"!`@0(```0($"!`@0!`-\G'G#CPZ"!#004$'`1U=/C+X.''BQ(D3T:)% | ||
| 6888 | +MJZ>L7K1Z]>I%JQ>M7KUZ]>K5JU?/4KUZENI92F>IGJ5ZEI35TU#/DC)E&I1I | ||
| 6889 | +M:+)@`0E3$DRAB1`APIH(:R*LB1!A380U:R*LB;!F380U:R*L61-AS9HU:]:L | ||
| 6890 | +MB1!AS9X]>_#AV_.KSP!\^+(,`#C@#[`_`_X,&/#G"#DF%X#]PK=F#0`2).Z) | ||
| 6891 | +MN2>&Q+TC]TC<.W*/!(E[8NZ)N4>"!`D2)$B0F"!D4;E$+X```0($"!`@0(`` | ||
| 6892 | +M`3*#'S]^0/@!F<&/B!)55"1(<*.JG))/_R^```$"!`@0($"```$"!`@0($"` | ||
| 6893 | +MO'D#!,@,0Y1\W*DE@@X=.BBDT=$%#Q6J$R>4G5"F[(2R:,JB*8M63UF]>O7J | ||
| 6894 | +MU:M7KYZE>O7JU;-4KYXE99;J6;)4SY(E91HL:="@K(F&92WND3`E8<*>-1'6 | ||
| 6895 | +M1(BP)L*:"&LBK(FP9DV$-6O6K%FS9DV$-6O6K%FS)L*:-6LBK%D38<\>?/A^ | ||
| 6896 | +MX8N`#]^O`0.``0,V8,"`(Q>87!#SY]>:-0``'+DGYMZ1>V+N`21Q3\R1>R3$ | ||
| 6897 | +MW#MR[]X0$D-(D"!!8L*$':8Z3'+%#P@0($"```$"!`B0&?PL6)AA808_?K&\ | ||
| 6898 | +M*?'SX<.'<HE<F?]X\08($"!`@``!`@0($"!`@``!`@0($"!`@``!$BM0#Q]W | ||
| 6899 | +M[M"A0X<.'3JH,J!"=>*$,F4GEBE3IDR9,F7*E"E3IJR>AGJ6+"FK5Z]>O7KU | ||
| 6900 | +M+-6K5\^2)0V6-%C2H$&#,@U--#1ILNP>"5.F@$6($&%-A#41UD18$V%-A#41 | ||
| 6901 | +MUJQ9$V%-A#41UJQ9LV;-FC5KUJR)L&;-F@AK(N"+L`??G@@1\.'[-6#``&!_ | ||
| 6902 | +M@`'[PX0)DR/`?JU9`P#`/1+WCI`@<>_(/3'W2-P[<D_,/1)B[HFY1X+$$1)B | ||
| 6903 | +M)NR@M6B2*R!```(!`@0($"!`@+SA]\+")PO\^,6:8<&;$@A*E"0:]NG_Q9LW | ||
| 6904 | +M0(```0($"!`@0(```0($"!`@0(```0($"!`@0&8TLG;GSATZ=*31<0(/%2I4 | ||
| 6905 | +M)TZ<**-,F3)ERI0I4Z:LGC)ERI0ILZ1,0[UZZ>K52U?/4CU+EBPILZ1!F08- | ||
| 6906 | +MRIHT:=*D29,F+4A,,$7K%[XU$2)$6!-A380U$=9$6!-A380U:]:L6;-FS9HU | ||
| 6907 | +M:]:L6;-FS9HU$2*L6;,FPIHU:_!%P(<O`CY\6;(,&#``&+`C1Y@P^3,`WQH` | ||
| 6908 | +M``"((7&/Q#TQ]\3<.W)/S#T2]X[<(W'OWCT2)$B0(#%!S`0A;B1]T@0$"!`@ | ||
| 6909 | +M0(```0+D#3\+G_A9X#<C%K]8WH9Y&S:LRXL9_P#?``$"!`@0($"```$"!`@0 | ||
| 6910 | +M($"```$"!`@0()J`:`("!`@01-;*W!%!1YHT7;I0H3J!ZH0R9<J6*5.FK)XR | ||
| 6911 | +M9<J4*5.F3)DE91KJ*:M7KUZ]>O7J6;*D3(,E#1HT:+C19-F"%LN:-&G1@L0$ | ||
| 6912 | +M/B0BX-L38<V>-1'61(BP)L*:"&LBK%FS9LV:-6O6K%FS9LV:-6O6K%FS9LT: | ||
| 6913 | +M?&LBK(D0`=\>?/@BX(N`#]^O+`,&``-VA,D1#[_PK5D#`,"](_?$W#MR[PB) | ||
| 6914 | +M>T?NB;DGAL2]>V)(D!A"@@2)"23$B-GA1H^K%T"```$"!`@0($#XS7AA80:_ | ||
| 6915 | +M6!9F6.CB;=@P$UW>O/]Y\P8($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0( | ||
| 6916 | +M$(!`@`"9$:N?M3MW[MRY(P)5!E0G3IPXH4S9,F7*3BA3IDR9,F7*E"E39DF9 | ||
| 6917 | +MLGKUZM6K9\E2/0V6-&C0H$%#"`TM\"QHT:))BQ8M)DR@]6?-G@@1]JS9$R%" | ||
| 6918 | +MA#41(JR)L&9-A#5KUJQ9LR;"FC5KUJQ9LV;-FC5K(JQ9$V%-A`AKUNS9@V\/ | ||
| 6919 | +MOC7X]N#+DJ4/,&!'F(CY\VL-@#5K`)"X)^;>D7LD[HDA08+$$1+WQ-PC<6\( | ||
| 6920 | +MB7LD2$P@P63"A!VS.DQRQ0\($"!`@``!`@3(#$W\^`'AQR_6#&_>AGES!.[_ | ||
| 6921 | +MS1L@0(```0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@,V)1JN7C | ||
| 6922 | +MSIT[/NXD.7$BV@EERI354Z9,&<!HRI0I4Z9,F3)ERI0IJU>O7CUE&NIIT*!! | ||
| 6923 | +M0Y,0FRSM:G+CQHT6]_"T:-%B`A\2^"+@6Q-ASYH]:R)$B!`A0H0U$2*LB1!A | ||
| 6924 | +M380U:]9$6+-FS9HU:]:LB;!F380U:R*L6;,&WQY\OW[]VH,O0H0(^&X,`(;G | ||
| 6925 | +MR!$/OR*L6;,&P+TC]X[<$W/O"(E[8DB0N'>$A!@2]\20&$*"Q`028B8PH96@ | ||
| 6926 | +M0Z)/_(```0($"!`@0(```3*#7ZQ8L2Q8,.'-A(DN_S/>O`$"!`@0($"```$" | ||
| 6927 | +M!`@0($"```$"!`@0($"```$"!`@0($"```$"9,:,?M;"]"!`@$`9'R?**#NA | ||
| 6928 | +M3-D)9=&4*5.F3)DR9<J4*5.FS)(R2\HTU-.@08,V4A=BT"6"$&S>RA+C1 | ||
| 6929 | +MH@6>%B0F3,"390V^/7LB[(D0(4*$"!$B1(@0(4*$"&LB1%@3(<*:-6O6K%FS | ||
| 6930 | +M9LV:-6O6K%FS9LV:"&O61%BS9\^O7_CP1<"'+\LO8,#$`.OS*\*:-6O6B+E' | ||
| 6931 | +M@@2)>V+ND1!S[\@]$B3ND;A'XAX)$B3$D"`Q@0F3'4B()7(%!`@0($"```$" | ||
| 6932 | +M!`B_&?SX6;#@S9LW;R:Z=/\!]P8($"!`@``!`@0($"!`@``!`@0($"!`@``! | ||
| 6933 | +M`@0($"!`@``!`@0($"!`@``!$JL9O3!E"/0H<T*9,F7*E"FK5T_9"67*RM13 | ||
| 6934 | +MILR2,DO*E&G0H$R#!@T:-#0)H:'%C4TA0N#+$@)?B!M'2."9,&%"E@CX\.V) | ||
| 6935 | +ML&=/A#T1(NR)`##"G@@1(D2($"'"FCUK(D18$V'-FC5KUJQ9LV;-FC5KUJR) | ||
| 6936 | +ML&;-FC5[]OSZ]>L7OCT1\.'[!0P8,&"_(JQ9LV;-O2/WQ-P[0H+$$1(D2)`0 | ||
| 6937 | +M0T+,/3$DAI`80H($"28DF.Q@@J2#*U?\@``!`@0($"!`9@"9P<\"$6^MO'D; | ||
| 6938 | +M]JG_RYLW;X"\`0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@0(`` | ||
| 6939 | +M`0($"!`@0&;,0&1OV;)E)Y:56:;,4IEERI0MLV3)DC(-&I1IT&!)@P8-&C1H | ||
| 6940 | +MT*`A1),0+4C@N9'E1H@L^/#AN]&"Q(0)$_#@BX`/WYX]>_;LB;!GSYX]>_;L | ||
| 6941 | +MV;-G3X0($?9$V!,APIXU$2*L6;-FS9HU:]:L`;AFS9H(:]:L61-ASYY?OW[] | ||
| 6942 | +MPH<O0H1?OX`!^X5O3X0(:]8<N7?OR#T2]\3<(W%/S+TC]TB0N'>/Q!`2)$A, | ||
| 6943 | +M.#*!"9,=LR1-<O4&"!`@0(```0($"!!-L2QX:S5LV+!/_UUFO`$"!`@0($"` | ||
| 6944 | +M``$"!`@0($"```$"!`@0($"```$"!`@0($"`O`$"!`@0($"`S``"!`@0(+$0 | ||
| 6945 | +M10I$8<&R9<N6*5.F0=DR9<N6:="@08,HT:-#01T.?&S<TW+AQC\6$%C>R | ||
| 6946 | +MX,-W`Q^^$#=:3&`QH44(?'LB[-FS9\^>"'LB[-D384^$/7OV[-FS9\^>"!$B | ||
| 6947 | +M1(@08<V>-6O6K%FS9LV:-6O6K%FS9LV:-1$B_/KUZ]<O?/CPX</WZ]>O7Q'6 | ||
| 6948 | +M`%RS9LT],?=(W!-#@L0],22.D"!Q[PB)>R2&D"!!XL@$,1/$,&$RJX.K3_R` | ||
| 6949 | +M``$"!`@0($"```'"SX*W5DJ4#/\S`>X-$"!`@``!`@0($"!`@``!`@0($"!` | ||
| 6950 | +M@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`W@`!`@0(D!F.B$0*1(_"O04+ | ||
| 6951 | +M-%@*H2&$!@T:-#31H*%)DR9-;C1I<N/&C1LD^$QH<2-$%GSX;MRXD>7&A`E' | ||
| 6952 | +M;J"Y@6;/GCU[]NS9LV=/A`A[]NS9LV?/GCU[]NS9LV?/GCT1]D2($`'?FC5K | ||
| 6953 | +MUJQ9LV;-FC5KUJQ9LV9-!'Q9?OW*D@4?OBR_?OWZ%0'?F@AK[MT[<D\,B2,D | ||
| 6954 | +MQ-PC<8^$&!+W[I&X1V(("1(D`))@,H$)$R9()"6R]08($"!`@``!`@0($'X6 | ||
| 6955 | +M++2"H$3_R;!A7=Z\`0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@ | ||
| 6956 | +M0(```0($"!`@0(```0($"!`@0(```0($")`9,V;$FH%(PH)E330T:=*DB88F | ||
| 6957 | +M39K<:'*CR8T;-V[<:'&$1(LL6;+@NY'E1I80-UJ0(+&@18L;-T+@V[-GSYX] | ||
| 6958 | +M>_;LV;-GSYX]>_;LV;-GSYX]>_;LV;-GSYX]$2)$B+!FS9HU:]:L6;-FS9H( | ||
| 6959 | +M:]:LP9?E5Y9?6;+@R_+KUR]\$2*L6;,&SY%[1^Z1(''O"`DQ),3<$T/BGA@2 | ||
| 6960 | +M0X[4(4'B"`DQ3)@P02+)U0L@0(```0($"!`@0(#$LN`-@A(__P#+^1GVZ0T0 | ||
| 6961 | +M($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0 | ||
| 6962 | +M($"```$"!`@0($"```$"!,B;&8[(+`MQ0T.3)DUN-&G2I$F3&TUNW+AQX\:- | ||
| 6963 | +M&\!:9,&7)<N-+#=NW+C1@@0)/"WPX&EQX\:>7WM^[<&W9\^>/7OV[,&WY]>> | ||
| 6964 | +M/7OV[-FS9\^>/7OV[-FS9\^>"'LB1%BS9LV:-6O6K%FS9LV:"/BR_,J2)4N6 | ||
| 6965 | +M+%E^9?F%+T*$-1&.'#ER1,P1$B1('+EW[QZ)>R1(D"!!@L0],21(,#DRH8ZO | ||
| 6966 | +M#HI<O=`$!`@0($"``)DQ(Q8_"\.&^?_Y\*&<'Q/@W@`!`@0($"!`@``!`@0( | ||
| 6967 | +M$"!`@``!`@0($(!`@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0( | ||
| 6968 | +M$"!`@``!$LO4C29-;MQH<J/)C1LW;MRX<>/&C1LWLMS(D@5?EALWLK1H<2-+ | ||
| 6969 | +M"SQ'6K1HT0)/BR8M;J!!$V+/GCU[]NS9LV</OCWX]OS:LV?/GCU[]NSYM6?/ | ||
| 6970 | +MKSV_?NWY%6'/'GQK(JR)$&$-/GSXL@S(,B#+@"R_?F7Y-6#`@%^_UD18L^;( | ||
| 6971 | +MD2-BCAP1(X8$B2,DQ)`@08($"3$D2)`@(>8("3%,F-#JD,@5OS=`@``!`@3( | ||
| 6972 | +M#"`S+%CPIL3_SX</'XKY,0'N#1`@0(```0($"!`@0(```0($"!`@0(```0($ | ||
| 6973 | +M"!`@0(```0($"!`@0-[,`/<&"!`@0(```0($"$`@0(```0($R`P@1"3<N''C | ||
| 6974 | +MQHTF-VZT:'*CQ8T;36X,N'$CRX`;-[+<R'+CQHT!+5H<:=&B28L6+9JT:-&G | ||
| 6975 | +MQ8T;-T*@0;-GSYX]>_;L^84/WYX]^/;LV;/GUYX]>W[MV;/GUYY?OW[AVX-O | ||
| 6976 | +MSYX]>R+@RS+@SY\+?_X,^/4KRZ\!P(#]&9`ERYHU:XX<.7+D"(D)1TB0($&" | ||
| 6977 | +M!`D2)$B0($%"S)`C)$@<F<"$UJP.DUR]``($"!`@0/C-B&7!VS`(_S\^?/@0 | ||
| 6978 | +MR<\P$^#>``$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```'R | ||
| 6979 | +MIHL)1S.```$"!`@0($"```$"!`@0($"``"%BZH:&&S>:W&ARX\:-&S=NW+C1 | ||
| 6980 | +M`N"-&UENW,B2Y4:6&RT&M&A!SM2$%C=NW+AQXT:+&RV:-+EQXT:($'M^[=FS | ||
| 6981 | +M!]^>/?CP[?FU9P^^/;_V[/FU9\^>7[_V_/JUY]>O7WM^[?FU!U^6+'\NM&ES | ||
| 6982 | +MX<^`7UGP_1H`[,\?8`-^K5FSYLB1(V*.,!$S0<P$$B1(D"!1AP0),4/$W"-! | ||
| 6983 | +MXHB8(V)H)4`BR=4G?D"`:`+";P8_;\.4*/_Q\^%')#_#3'QZ\^8-$"!`@``! | ||
| 6984 | +M`@0($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`NCCJ\@8($"!`@``! | ||
| 6985 | +M`@0($"!`@``!`@0(D%BF;MQH<N-&DQLMFMQH<>/&C1M9;MRX,>#&@!M96@QH | ||
| 6986 | +MT8(<'PDN_$WXT^+&C1LW;MQH`K!%BR8W;MSXA6;/GCU[]N#;@V_/KSU[]NS9 | ||
| 6987 | +ML^?7GCU[?NWYM>?7AE^_?NWYM6?/KSU[\&49\.?"A0L7_OSZA2]"EE]_//SY | ||
| 6988 | +M,P`?O@@1CAPY<N0(B0E')I"H0X($"1(D2)`@<>2>&!)B2!P1PV0'""0=$KG2 | ||
| 6989 | +M!`3(&WXS+'AKI430R8\/'_SX&=:ERYLW0(```0($"!`@0(```0($"!`@0(`` | ||
| 6990 | +M`0($"!`@0(```0($"!`@0(```0)DQHP9;X```0($"!`@0(```0($"!`@,X`` | ||
| 6991 | +MB67J1I,;36XTN='D1I,;-V[<N''CQH`;-P;<&-"B18LC)/RYD$'%A80)1V[< | ||
| 6992 | +MN''CQHT;36XTN7'C!AHT:/;LV8,/'SY\>_;\VH-OSZ\]>_;\`KAGSYY?>W[] | ||
| 6993 | +JVO-KSZ\]>_;LV;-G#[X!?RY<N/!GP"]\:_#ARS+@SQ%@`WZM6;,F(``[ | ||
| 6994 | +` | ||
| 6995 | +end | ||
| 6996 | --- /dev/null | ||
| 6997 | +++ jpeg-6b/ltconfig.new | ||
| 6998 | @@ -0,0 +1,3016 @@ | ||
| 6999 | +#! /bin/sh | ||
| 7000 | + | ||
| 7001 | +# ltconfig - Create a system-specific libtool. | ||
| 7002 | +# Copyright (C) 1996-1999 Free Software Foundation, Inc. | ||
| 7003 | +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | ||
| 7004 | +# | ||
| 7005 | +# This file is free software; you can redistribute it and/or modify it | ||
| 7006 | +# under the terms of the GNU General Public License as published by | ||
| 7007 | +# the Free Software Foundation; either version 2 of the License, or | ||
| 7008 | +# (at your option) any later version. | ||
| 7009 | +# | ||
| 7010 | +# This program is distributed in the hope that it will be useful, but | ||
| 7011 | +# WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 7012 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 7013 | +# General Public License for more details. | ||
| 7014 | +# | ||
| 7015 | +# You should have received a copy of the GNU General Public License | ||
| 7016 | +# along with this program; if not, write to the Free Software | ||
| 7017 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 7018 | +# | ||
| 7019 | +# As a special exception to the GNU General Public License, if you | ||
| 7020 | +# distribute this file as part of a program that contains a | ||
| 7021 | +# configuration script generated by Autoconf, you may include it under | ||
| 7022 | +# the same distribution terms that you use for the rest of that program. | ||
| 7023 | + | ||
| 7024 | +# A lot of this script is taken from autoconf-2.10. | ||
| 7025 | + | ||
| 7026 | +# Check that we are running under the correct shell. | ||
| 7027 | +SHELL=${CONFIG_SHELL-/bin/sh} | ||
| 7028 | +echo=echo | ||
| 7029 | +if test "X$1" = X--no-reexec; then | ||
| 7030 | + # Discard the --no-reexec flag, and continue. | ||
| 7031 | + shift | ||
| 7032 | +elif test "X$1" = X--fallback-echo; then | ||
| 7033 | + # Avoid inline document here, it may be left over | ||
| 7034 | + : | ||
| 7035 | +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then | ||
| 7036 | + # Yippee, $echo works! | ||
| 7037 | + : | ||
| 7038 | +else | ||
| 7039 | + # Restart under the correct shell. | ||
| 7040 | + exec "$SHELL" "$0" --no-reexec ${1+"$@"} | ||
| 7041 | +fi | ||
| 7042 | + | ||
| 7043 | +if test "X$1" = X--fallback-echo; then | ||
| 7044 | + # used as fallback echo | ||
| 7045 | + shift | ||
| 7046 | + cat <<EOF | ||
| 7047 | +$* | ||
| 7048 | +EOF | ||
| 7049 | + exit 0 | ||
| 7050 | +fi | ||
| 7051 | + | ||
| 7052 | +# Find the correct PATH separator. Usually this is `:', but | ||
| 7053 | +# DJGPP uses `;' like DOS. | ||
| 7054 | +if test "X${PATH_SEPARATOR+set}" != "Xset"; then | ||
| 7055 | + UNAME=${UNAME-`uname 2>/dev/null`} | ||
| 7056 | + case X$UNAME in | ||
| 7057 | + *-DOS) PATH_SEPARATOR=';' ;; | ||
| 7058 | + *) PATH_SEPARATOR=':' ;; | ||
| 7059 | + esac | ||
| 7060 | +fi | ||
| 7061 | + | ||
| 7062 | +# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
| 7063 | +# if CDPATH is set. | ||
| 7064 | +if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi | ||
| 7065 | + | ||
| 7066 | +if test "X${echo_test_string+set}" != "Xset"; then | ||
| 7067 | + # find a string as large as possible, as long as the shell can cope with it | ||
| 7068 | + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do | ||
| 7069 | + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... | ||
| 7070 | + if (echo_test_string="`eval $cmd`") 2>/dev/null && | ||
| 7071 | + echo_test_string="`eval $cmd`" && | ||
| 7072 | + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then | ||
| 7073 | + break | ||
| 7074 | + fi | ||
| 7075 | + done | ||
| 7076 | +fi | ||
| 7077 | + | ||
| 7078 | +if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || | ||
| 7079 | + test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then | ||
| 7080 | + # The Solaris, AIX, and Digital Unix default echo programs unquote | ||
| 7081 | + # backslashes. This makes it impossible to quote backslashes using | ||
| 7082 | + # echo "$something" | sed 's/\\/\\\\/g' | ||
| 7083 | + # | ||
| 7084 | + # So, first we look for a working echo in the user's PATH. | ||
| 7085 | + | ||
| 7086 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 7087 | + for dir in $PATH /usr/ucb; do | ||
| 7088 | + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && | ||
| 7089 | + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && | ||
| 7090 | + test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then | ||
| 7091 | + echo="$dir/echo" | ||
| 7092 | + break | ||
| 7093 | + fi | ||
| 7094 | + done | ||
| 7095 | + IFS="$save_ifs" | ||
| 7096 | + | ||
| 7097 | + if test "X$echo" = Xecho; then | ||
| 7098 | + # We didn't find a better echo, so look for alternatives. | ||
| 7099 | + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && | ||
| 7100 | + test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then | ||
| 7101 | + # This shell has a builtin print -r that does the trick. | ||
| 7102 | + echo='print -r' | ||
| 7103 | + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && | ||
| 7104 | + test "X$CONFIG_SHELL" != X/bin/ksh; then | ||
| 7105 | + # If we have ksh, try running ltconfig again with it. | ||
| 7106 | + ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" | ||
| 7107 | + export ORIGINAL_CONFIG_SHELL | ||
| 7108 | + CONFIG_SHELL=/bin/ksh | ||
| 7109 | + export CONFIG_SHELL | ||
| 7110 | + exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} | ||
| 7111 | + else | ||
| 7112 | + # Try using printf. | ||
| 7113 | + echo='printf "%s\n"' | ||
| 7114 | + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && | ||
| 7115 | + test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then | ||
| 7116 | + # Cool, printf works | ||
| 7117 | + : | ||
| 7118 | + elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && | ||
| 7119 | + test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then | ||
| 7120 | + CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" | ||
| 7121 | + export CONFIG_SHELL | ||
| 7122 | + SHELL="$CONFIG_SHELL" | ||
| 7123 | + export SHELL | ||
| 7124 | + echo="$CONFIG_SHELL $0 --fallback-echo" | ||
| 7125 | + elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && | ||
| 7126 | + test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then | ||
| 7127 | + echo="$CONFIG_SHELL $0 --fallback-echo" | ||
| 7128 | + else | ||
| 7129 | + # maybe with a smaller string... | ||
| 7130 | + prev=: | ||
| 7131 | + | ||
| 7132 | + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do | ||
| 7133 | + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then | ||
| 7134 | + break | ||
| 7135 | + fi | ||
| 7136 | + prev="$cmd" | ||
| 7137 | + done | ||
| 7138 | + | ||
| 7139 | + if test "$prev" != 'sed 50q "$0"'; then | ||
| 7140 | + echo_test_string=`eval $prev` | ||
| 7141 | + export echo_test_string | ||
| 7142 | + exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"} | ||
| 7143 | + else | ||
| 7144 | + # Oops. We lost completely, so just stick with echo. | ||
| 7145 | + echo=echo | ||
| 7146 | + fi | ||
| 7147 | + fi | ||
| 7148 | + fi | ||
| 7149 | + fi | ||
| 7150 | +fi | ||
| 7151 | + | ||
| 7152 | +# Sed substitution that helps us do robust quoting. It backslashifies | ||
| 7153 | +# metacharacters that are still active within double-quoted strings. | ||
| 7154 | +Xsed='sed -e s/^X//' | ||
| 7155 | +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' | ||
| 7156 | + | ||
| 7157 | +# Same as above, but do not quote variable references. | ||
| 7158 | +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' | ||
| 7159 | + | ||
| 7160 | +# Sed substitution to delay expansion of an escaped shell variable in a | ||
| 7161 | +# double_quote_subst'ed string. | ||
| 7162 | +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | ||
| 7163 | + | ||
| 7164 | +# The name of this program. | ||
| 7165 | +progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` | ||
| 7166 | + | ||
| 7167 | +# Constants: | ||
| 7168 | +PROGRAM=ltconfig | ||
| 7169 | +PACKAGE=libtool | ||
| 7170 | +VERSION=1.3.3 | ||
| 7171 | +TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" | ||
| 7172 | +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' | ||
| 7173 | +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' | ||
| 7174 | +rm="rm -f" | ||
| 7175 | + | ||
| 7176 | +help="Try \`$progname --help' for more information." | ||
| 7177 | + | ||
| 7178 | +# Global variables: | ||
| 7179 | +default_ofile=libtool | ||
| 7180 | +can_build_shared=yes | ||
| 7181 | +enable_shared=yes | ||
| 7182 | +# All known linkers require a `.a' archive for static linking (except M$VC, | ||
| 7183 | +# which needs '.lib'). | ||
| 7184 | +enable_static=yes | ||
| 7185 | +enable_fast_install=yes | ||
| 7186 | +enable_dlopen=unknown | ||
| 7187 | +enable_win32_dll=no | ||
| 7188 | +ltmain= | ||
| 7189 | +silent= | ||
| 7190 | +srcdir= | ||
| 7191 | +ac_config_guess= | ||
| 7192 | +ac_config_sub= | ||
| 7193 | +host= | ||
| 7194 | +nonopt= | ||
| 7195 | +ofile="$default_ofile" | ||
| 7196 | +verify_host=yes | ||
| 7197 | +with_gcc=no | ||
| 7198 | +with_gnu_ld=no | ||
| 7199 | +need_locks=yes | ||
| 7200 | +ac_ext=c | ||
| 7201 | +objext=o | ||
| 7202 | +libext=a | ||
| 7203 | +exeext= | ||
| 7204 | +cache_file= | ||
| 7205 | + | ||
| 7206 | +old_AR="$AR" | ||
| 7207 | +old_CC="$CC" | ||
| 7208 | +old_CFLAGS="$CFLAGS" | ||
| 7209 | +old_CPPFLAGS="$CPPFLAGS" | ||
| 7210 | +old_LDFLAGS="$LDFLAGS" | ||
| 7211 | +old_LD="$LD" | ||
| 7212 | +old_LN_S="$LN_S" | ||
| 7213 | +old_LIBS="$LIBS" | ||
| 7214 | +old_NM="$NM" | ||
| 7215 | +old_RANLIB="$RANLIB" | ||
| 7216 | +old_DLLTOOL="$DLLTOOL" | ||
| 7217 | +old_OBJDUMP="$OBJDUMP" | ||
| 7218 | +old_AS="$AS" | ||
| 7219 | + | ||
| 7220 | +# Parse the command line options. | ||
| 7221 | +args= | ||
| 7222 | +prev= | ||
| 7223 | +for option | ||
| 7224 | +do | ||
| 7225 | + case "$option" in | ||
| 7226 | + -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; | ||
| 7227 | + *) optarg= ;; | ||
| 7228 | + esac | ||
| 7229 | + | ||
| 7230 | + # If the previous option needs an argument, assign it. | ||
| 7231 | + if test -n "$prev"; then | ||
| 7232 | + eval "$prev=\$option" | ||
| 7233 | + prev= | ||
| 7234 | + continue | ||
| 7235 | + fi | ||
| 7236 | + | ||
| 7237 | + case "$option" in | ||
| 7238 | + --help) cat <<EOM | ||
| 7239 | +Usage: $progname [OPTION]... [HOST [LTMAIN]] | ||
| 7240 | + | ||
| 7241 | +Generate a system-specific libtool script. | ||
| 7242 | + | ||
| 7243 | + --debug enable verbose shell tracing | ||
| 7244 | + --disable-shared do not build shared libraries | ||
| 7245 | + --disable-static do not build static libraries | ||
| 7246 | + --disable-fast-install do not optimize for fast installation | ||
| 7247 | + --enable-dlopen enable dlopen support | ||
| 7248 | + --enable-win32-dll enable building dlls on win32 hosts | ||
| 7249 | + --help display this help and exit | ||
| 7250 | + --no-verify do not verify that HOST is a valid host type | ||
| 7251 | +-o, --output=FILE specify the output file [default=$default_ofile] | ||
| 7252 | + --quiet same as \`--silent' | ||
| 7253 | + --silent do not print informational messages | ||
| 7254 | + --srcdir=DIR find \`config.guess' in DIR | ||
| 7255 | + --version output version information and exit | ||
| 7256 | + --with-gcc assume that the GNU C compiler will be used | ||
| 7257 | + --with-gnu-ld assume that the C compiler uses the GNU linker | ||
| 7258 | + --disable-lock disable file locking | ||
| 7259 | + --cache-file=FILE configure cache file | ||
| 7260 | + | ||
| 7261 | +LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program | ||
| 7262 | +that provides basic libtool functionality. | ||
| 7263 | + | ||
| 7264 | +HOST is the canonical host system name [default=guessed]. | ||
| 7265 | +EOM | ||
| 7266 | + exit 0 | ||
| 7267 | + ;; | ||
| 7268 | + | ||
| 7269 | + --debug) | ||
| 7270 | + echo "$progname: enabling shell trace mode" | ||
| 7271 | + set -x | ||
| 7272 | + ;; | ||
| 7273 | + | ||
| 7274 | + --disable-shared) enable_shared=no ;; | ||
| 7275 | + | ||
| 7276 | + --disable-static) enable_static=no ;; | ||
| 7277 | + | ||
| 7278 | + --disable-fast-install) enable_fast_install=no ;; | ||
| 7279 | + | ||
| 7280 | + --enable-dlopen) enable_dlopen=yes ;; | ||
| 7281 | + | ||
| 7282 | + --enable-win32-dll) enable_win32_dll=yes ;; | ||
| 7283 | + | ||
| 7284 | + --quiet | --silent) silent=yes ;; | ||
| 7285 | + | ||
| 7286 | + --srcdir) prev=srcdir ;; | ||
| 7287 | + --srcdir=*) srcdir="$optarg" ;; | ||
| 7288 | + | ||
| 7289 | + --no-verify) verify_host=no ;; | ||
| 7290 | + | ||
| 7291 | + --output | -o) prev=ofile ;; | ||
| 7292 | + --output=*) ofile="$optarg" ;; | ||
| 7293 | + | ||
| 7294 | + --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;; | ||
| 7295 | + | ||
| 7296 | + --with-gcc) with_gcc=yes ;; | ||
| 7297 | + --with-gnu-ld) with_gnu_ld=yes ;; | ||
| 7298 | + | ||
| 7299 | + --disable-lock) need_locks=no ;; | ||
| 7300 | + | ||
| 7301 | + --cache-file=*) cache_file="$optarg" ;; | ||
| 7302 | + | ||
| 7303 | + -*) | ||
| 7304 | + echo "$progname: unrecognized option \`$option'" 1>&2 | ||
| 7305 | + echo "$help" 1>&2 | ||
| 7306 | + exit 1 | ||
| 7307 | + ;; | ||
| 7308 | + | ||
| 7309 | + *) | ||
| 7310 | + if test -z "$ltmain"; then | ||
| 7311 | + ltmain="$option" | ||
| 7312 | + elif test -z "$host"; then | ||
| 7313 | +# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 | ||
| 7314 | +# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then | ||
| 7315 | +# echo "$progname: warning \`$option' is not a valid host type" 1>&2 | ||
| 7316 | +# fi | ||
| 7317 | + host="$option" | ||
| 7318 | + else | ||
| 7319 | + echo "$progname: too many arguments" 1>&2 | ||
| 7320 | + echo "$help" 1>&2 | ||
| 7321 | + exit 1 | ||
| 7322 | + fi ;; | ||
| 7323 | + esac | ||
| 7324 | +done | ||
| 7325 | + | ||
| 7326 | +if test -z "$ltmain"; then | ||
| 7327 | + echo "$progname: you must specify a LTMAIN file" 1>&2 | ||
| 7328 | + echo "$help" 1>&2 | ||
| 7329 | + exit 1 | ||
| 7330 | +fi | ||
| 7331 | + | ||
| 7332 | +if test ! -f "$ltmain"; then | ||
| 7333 | + echo "$progname: \`$ltmain' does not exist" 1>&2 | ||
| 7334 | + echo "$help" 1>&2 | ||
| 7335 | + exit 1 | ||
| 7336 | +fi | ||
| 7337 | + | ||
| 7338 | +# Quote any args containing shell metacharacters. | ||
| 7339 | +ltconfig_args= | ||
| 7340 | +for arg | ||
| 7341 | +do | ||
| 7342 | + case "$arg" in | ||
| 7343 | + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) | ||
| 7344 | + ltconfig_args="$ltconfig_args '$arg'" ;; | ||
| 7345 | + *) ltconfig_args="$ltconfig_args $arg" ;; | ||
| 7346 | + esac | ||
| 7347 | +done | ||
| 7348 | + | ||
| 7349 | +# A relevant subset of AC_INIT. | ||
| 7350 | + | ||
| 7351 | +# File descriptor usage: | ||
| 7352 | +# 0 standard input | ||
| 7353 | +# 1 file creation | ||
| 7354 | +# 2 errors and warnings | ||
| 7355 | +# 3 some systems may open it to /dev/tty | ||
| 7356 | +# 4 used on the Kubota Titan | ||
| 7357 | +# 5 compiler messages saved in config.log | ||
| 7358 | +# 6 checking for... messages and results | ||
| 7359 | +if test "$silent" = yes; then | ||
| 7360 | + exec 6>/dev/null | ||
| 7361 | +else | ||
| 7362 | + exec 6>&1 | ||
| 7363 | +fi | ||
| 7364 | +exec 5>>./config.log | ||
| 7365 | + | ||
| 7366 | +# NLS nuisances. | ||
| 7367 | +# Only set LANG and LC_ALL to C if already set. | ||
| 7368 | +# These must not be set unconditionally because not all systems understand | ||
| 7369 | +# e.g. LANG=C (notably SCO). | ||
| 7370 | +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi | ||
| 7371 | +if test "${LANG+set}" = set; then LANG=C; export LANG; fi | ||
| 7372 | + | ||
| 7373 | +if test -n "$cache_file" && test -r "$cache_file"; then | ||
| 7374 | + echo "loading cache $cache_file within ltconfig" | ||
| 7375 | + . $cache_file | ||
| 7376 | +fi | ||
| 7377 | + | ||
| 7378 | +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then | ||
| 7379 | + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. | ||
| 7380 | + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then | ||
| 7381 | + ac_n= ac_c=' | ||
| 7382 | +' ac_t=' ' | ||
| 7383 | + else | ||
| 7384 | + ac_n=-n ac_c= ac_t= | ||
| 7385 | + fi | ||
| 7386 | +else | ||
| 7387 | + ac_n= ac_c='\c' ac_t= | ||
| 7388 | +fi | ||
| 7389 | + | ||
| 7390 | +if test -z "$srcdir"; then | ||
| 7391 | + # Assume the source directory is the same one as the path to LTMAIN. | ||
| 7392 | + srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` | ||
| 7393 | + test "$srcdir" = "$ltmain" && srcdir=. | ||
| 7394 | +fi | ||
| 7395 | + | ||
| 7396 | +trap "$rm conftest*; exit 1" 1 2 15 | ||
| 7397 | +if test "$verify_host" = yes; then | ||
| 7398 | + # Check for config.guess and config.sub. | ||
| 7399 | + ac_aux_dir= | ||
| 7400 | + for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do | ||
| 7401 | + if test -f $ac_dir/config.guess; then | ||
| 7402 | + ac_aux_dir=$ac_dir | ||
| 7403 | + break | ||
| 7404 | + fi | ||
| 7405 | + done | ||
| 7406 | + if test -z "$ac_aux_dir"; then | ||
| 7407 | + echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 | ||
| 7408 | + echo "$help" 1>&2 | ||
| 7409 | + exit 1 | ||
| 7410 | + fi | ||
| 7411 | + ac_config_guess=$ac_aux_dir/config.guess | ||
| 7412 | + ac_config_sub=$ac_aux_dir/config.sub | ||
| 7413 | + | ||
| 7414 | + # Make sure we can run config.sub. | ||
| 7415 | + if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then : | ||
| 7416 | + else | ||
| 7417 | + echo "$progname: cannot run $ac_config_sub" 1>&2 | ||
| 7418 | + echo "$help" 1>&2 | ||
| 7419 | + exit 1 | ||
| 7420 | + fi | ||
| 7421 | + | ||
| 7422 | + echo $ac_n "checking host system type""... $ac_c" 1>&6 | ||
| 7423 | + | ||
| 7424 | + host_alias=$host | ||
| 7425 | + case "$host_alias" in | ||
| 7426 | + "") | ||
| 7427 | + if host_alias=`$SHELL $ac_config_guess`; then : | ||
| 7428 | + else | ||
| 7429 | + echo "$progname: cannot guess host type; you must specify one" 1>&2 | ||
| 7430 | + echo "$help" 1>&2 | ||
| 7431 | + exit 1 | ||
| 7432 | + fi ;; | ||
| 7433 | + esac | ||
| 7434 | + host=`$SHELL $ac_config_sub $host_alias` | ||
| 7435 | + echo "$ac_t$host" 1>&6 | ||
| 7436 | + | ||
| 7437 | + # Make sure the host verified. | ||
| 7438 | + test -z "$host" && exit 1 | ||
| 7439 | + | ||
| 7440 | +elif test -z "$host"; then | ||
| 7441 | + echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 | ||
| 7442 | + echo "$help" 1>&2 | ||
| 7443 | + exit 1 | ||
| 7444 | +else | ||
| 7445 | + host_alias=$host | ||
| 7446 | +fi | ||
| 7447 | + | ||
| 7448 | +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. | ||
| 7449 | +case "$host_os" in | ||
| 7450 | +linux-gnu*) ;; | ||
| 7451 | +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` | ||
| 7452 | +esac | ||
| 7453 | + | ||
| 7454 | +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
| 7455 | +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
| 7456 | +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
| 7457 | + | ||
| 7458 | +case "$host_os" in | ||
| 7459 | +aix3*) | ||
| 7460 | + # AIX sometimes has problems with the GCC collect2 program. For some | ||
| 7461 | + # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
| 7462 | + # vanish in a puff of smoke. | ||
| 7463 | + if test "${COLLECT_NAMES+set}" != set; then | ||
| 7464 | + COLLECT_NAMES= | ||
| 7465 | + export COLLECT_NAMES | ||
| 7466 | + fi | ||
| 7467 | + ;; | ||
| 7468 | +esac | ||
| 7469 | + | ||
| 7470 | +# Determine commands to create old-style static archives. | ||
| 7471 | +old_archive_cmds='$AR cru $oldlib$oldobjs' | ||
| 7472 | +old_postinstall_cmds='chmod 644 $oldlib' | ||
| 7473 | +old_postuninstall_cmds= | ||
| 7474 | + | ||
| 7475 | +# Set a sane default for `AR'. | ||
| 7476 | +test -z "$AR" && AR=ar | ||
| 7477 | + | ||
| 7478 | +# Set a sane default for `OBJDUMP'. | ||
| 7479 | +test -z "$OBJDUMP" && OBJDUMP=objdump | ||
| 7480 | + | ||
| 7481 | +# If RANLIB is not set, then run the test. | ||
| 7482 | +if test "${RANLIB+set}" != "set"; then | ||
| 7483 | + result=no | ||
| 7484 | + | ||
| 7485 | + echo $ac_n "checking for ranlib... $ac_c" 1>&6 | ||
| 7486 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 7487 | + for dir in $PATH; do | ||
| 7488 | + test -z "$dir" && dir=. | ||
| 7489 | + if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then | ||
| 7490 | + RANLIB="ranlib" | ||
| 7491 | + result="ranlib" | ||
| 7492 | + break | ||
| 7493 | + fi | ||
| 7494 | + done | ||
| 7495 | + IFS="$save_ifs" | ||
| 7496 | + | ||
| 7497 | + echo "$ac_t$result" 1>&6 | ||
| 7498 | +fi | ||
| 7499 | + | ||
| 7500 | +if test -n "$RANLIB"; then | ||
| 7501 | + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" | ||
| 7502 | + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" | ||
| 7503 | +fi | ||
| 7504 | + | ||
| 7505 | +# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin. | ||
| 7506 | +test -z "$DLLTOOL" && DLLTOOL=dlltool | ||
| 7507 | +test -z "$OBJDUMP" && OBJDUMP=objdump | ||
| 7508 | +test -z "$AS" && AS=as | ||
| 7509 | + | ||
| 7510 | +# Check to see if we are using GCC. | ||
| 7511 | +if test "$with_gcc" != yes || test -z "$CC"; then | ||
| 7512 | + # If CC is not set, then try to find GCC or a usable CC. | ||
| 7513 | + if test -z "$CC"; then | ||
| 7514 | + echo $ac_n "checking for gcc... $ac_c" 1>&6 | ||
| 7515 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 7516 | + for dir in $PATH; do | ||
| 7517 | + test -z "$dir" && dir=. | ||
| 7518 | + if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then | ||
| 7519 | + CC="gcc" | ||
| 7520 | + break | ||
| 7521 | + fi | ||
| 7522 | + done | ||
| 7523 | + IFS="$save_ifs" | ||
| 7524 | + | ||
| 7525 | + if test -n "$CC"; then | ||
| 7526 | + echo "$ac_t$CC" 1>&6 | ||
| 7527 | + else | ||
| 7528 | + echo "$ac_t"no 1>&6 | ||
| 7529 | + fi | ||
| 7530 | + fi | ||
| 7531 | + | ||
| 7532 | + # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". | ||
| 7533 | + if test -z "$CC"; then | ||
| 7534 | + echo $ac_n "checking for cc... $ac_c" 1>&6 | ||
| 7535 | + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 7536 | + cc_rejected=no | ||
| 7537 | + for dir in $PATH; do | ||
| 7538 | + test -z "$dir" && dir=. | ||
| 7539 | + if test -f $dir/cc || test -f $dir/cc$ac_exeext; then | ||
| 7540 | + if test "$dir/cc" = "/usr/ucb/cc"; then | ||
| 7541 | + cc_rejected=yes | ||
| 7542 | + continue | ||
| 7543 | + fi | ||
| 7544 | + CC="cc" | ||
| 7545 | + break | ||
| 7546 | + fi | ||
| 7547 | + done | ||
| 7548 | + IFS="$save_ifs" | ||
| 7549 | + if test $cc_rejected = yes; then | ||
| 7550 | + # We found a bogon in the path, so make sure we never use it. | ||
| 7551 | + set dummy $CC | ||
| 7552 | + shift | ||
| 7553 | + if test $# -gt 0; then | ||
| 7554 | + # We chose a different compiler from the bogus one. | ||
| 7555 | + # However, it has the same name, so the bogon will be chosen | ||
| 7556 | + # first if we set CC to just the name; use the full file name. | ||
| 7557 | + shift | ||
| 7558 | + set dummy "$dir/cc" "$@" | ||
| 7559 | + shift | ||
| 7560 | + CC="$@" | ||
| 7561 | + fi | ||
| 7562 | + fi | ||
| 7563 | + | ||
| 7564 | + if test -n "$CC"; then | ||
| 7565 | + echo "$ac_t$CC" 1>&6 | ||
| 7566 | + else | ||
| 7567 | + echo "$ac_t"no 1>&6 | ||
| 7568 | + fi | ||
| 7569 | + | ||
| 7570 | + if test -z "$CC"; then | ||
| 7571 | + echo "$progname: error: no acceptable cc found in \$PATH" 1>&2 | ||
| 7572 | + exit 1 | ||
| 7573 | + fi | ||
| 7574 | + fi | ||
| 7575 | + | ||
| 7576 | + # Now see if the compiler is really GCC. | ||
| 7577 | + with_gcc=no | ||
| 7578 | + echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 | ||
| 7579 | + echo "$progname:581: checking whether we are using GNU C" >&5 | ||
| 7580 | + | ||
| 7581 | + $rm conftest.c | ||
| 7582 | + cat > conftest.c <<EOF | ||
| 7583 | +#ifdef __GNUC__ | ||
| 7584 | + yes; | ||
| 7585 | +#endif | ||
| 7586 | +EOF | ||
| 7587 | + if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then | ||
| 7588 | + with_gcc=yes | ||
| 7589 | + fi | ||
| 7590 | + $rm conftest.c | ||
| 7591 | + echo "$ac_t$with_gcc" 1>&6 | ||
| 7592 | +fi | ||
| 7593 | + | ||
| 7594 | +# Allow CC to be a program name with arguments. | ||
| 7595 | +set dummy $CC | ||
| 7596 | +compiler="$2" | ||
| 7597 | + | ||
| 7598 | +echo $ac_n "checking for object suffix... $ac_c" 1>&6 | ||
| 7599 | +$rm conftest* | ||
| 7600 | +echo 'int i = 1;' > conftest.c | ||
| 7601 | +echo "$progname:603: checking for object suffix" >& 5 | ||
| 7602 | +if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then | ||
| 7603 | + # Append any warnings to the config.log. | ||
| 7604 | + cat conftest.err 1>&5 | ||
| 7605 | + | ||
| 7606 | + for ac_file in conftest.*; do | ||
| 7607 | + case $ac_file in | ||
| 7608 | + *.c) ;; | ||
| 7609 | + *) objext=`echo $ac_file | sed -e s/conftest.//` ;; | ||
| 7610 | + esac | ||
| 7611 | + done | ||
| 7612 | +else | ||
| 7613 | + cat conftest.err 1>&5 | ||
| 7614 | + echo "$progname: failed program was:" >&5 | ||
| 7615 | + cat conftest.c >&5 | ||
| 7616 | +fi | ||
| 7617 | +$rm conftest* | ||
| 7618 | +echo "$ac_t$objext" 1>&6 | ||
| 7619 | + | ||
| 7620 | +echo $ac_n "checking for executable suffix... $ac_c" 1>&6 | ||
| 7621 | +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then | ||
| 7622 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 7623 | +else | ||
| 7624 | + ac_cv_exeext="no" | ||
| 7625 | + $rm conftest* | ||
| 7626 | + echo 'main () { return 0; }' > conftest.c | ||
| 7627 | + echo "$progname:629: checking for executable suffix" >& 5 | ||
| 7628 | + if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then | ||
| 7629 | + # Append any warnings to the config.log. | ||
| 7630 | + cat conftest.err 1>&5 | ||
| 7631 | + | ||
| 7632 | + for ac_file in conftest.*; do | ||
| 7633 | + case $ac_file in | ||
| 7634 | + *.c | *.err | *.$objext ) ;; | ||
| 7635 | + *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;; | ||
| 7636 | + esac | ||
| 7637 | + done | ||
| 7638 | + else | ||
| 7639 | + cat conftest.err 1>&5 | ||
| 7640 | + echo "$progname: failed program was:" >&5 | ||
| 7641 | + cat conftest.c >&5 | ||
| 7642 | + fi | ||
| 7643 | + $rm conftest* | ||
| 7644 | +fi | ||
| 7645 | +if test "X$ac_cv_exeext" = Xno; then | ||
| 7646 | + exeext="" | ||
| 7647 | +else | ||
| 7648 | + exeext="$ac_cv_exeext" | ||
| 7649 | +fi | ||
| 7650 | +echo "$ac_t$ac_cv_exeext" 1>&6 | ||
| 7651 | + | ||
| 7652 | +echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 | ||
| 7653 | +pic_flag= | ||
| 7654 | +special_shlib_compile_flags= | ||
| 7655 | +wl= | ||
| 7656 | +link_static_flag= | ||
| 7657 | +no_builtin_flag= | ||
| 7658 | + | ||
| 7659 | +if test "$with_gcc" = yes; then | ||
| 7660 | + wl='-Wl,' | ||
| 7661 | + link_static_flag='-static' | ||
| 7662 | + | ||
| 7663 | + case "$host_os" in | ||
| 7664 | + beos* | irix5* | irix6* | osf3* | osf4*) | ||
| 7665 | + # PIC is the default for these OSes. | ||
| 7666 | + ;; | ||
| 7667 | + aix*) | ||
| 7668 | + # Below there is a dirty hack to force normal static linking with -ldl | ||
| 7669 | + # The problem is because libdl dynamically linked with both libc and | ||
| 7670 | + # libC (AIX C++ library), which obviously doesn't included in libraries | ||
| 7671 | + # list by gcc. This cause undefined symbols with -static flags. | ||
| 7672 | + # This hack allows C programs to be linked with "-static -ldl", but | ||
| 7673 | + # we not sure about C++ programs. | ||
| 7674 | + link_static_flag="$link_static_flag ${wl}-lC" | ||
| 7675 | + ;; | ||
| 7676 | + cygwin* | mingw* | os2*) | ||
| 7677 | + # We can build DLLs from non-PIC. | ||
| 7678 | + ;; | ||
| 7679 | + amigaos*) | ||
| 7680 | + # FIXME: we need at least 68020 code to build shared libraries, but | ||
| 7681 | + # adding the `-m68020' flag to GCC prevents building anything better, | ||
| 7682 | + # like `-m68040'. | ||
| 7683 | + pic_flag='-m68020 -resident32 -malways-restore-a4' | ||
| 7684 | + ;; | ||
| 7685 | + sysv4*MP*) | ||
| 7686 | + if test -d /usr/nec; then | ||
| 7687 | + pic_flag=-Kconform_pic | ||
| 7688 | + fi | ||
| 7689 | + ;; | ||
| 7690 | + *) | ||
| 7691 | + pic_flag='-fPIC' | ||
| 7692 | + ;; | ||
| 7693 | + esac | ||
| 7694 | +else | ||
| 7695 | + # PORTME Check for PIC flags for the system compiler. | ||
| 7696 | + case "$host_os" in | ||
| 7697 | + aix3* | aix4*) | ||
| 7698 | + # All AIX code is PIC. | ||
| 7699 | + link_static_flag='-bnso -bI:/lib/syscalls.exp' | ||
| 7700 | + ;; | ||
| 7701 | + | ||
| 7702 | + hpux9* | hpux10* | hpux11*) | ||
| 7703 | + # Is there a better link_static_flag that works with the bundled CC? | ||
| 7704 | + wl='-Wl,' | ||
| 7705 | + link_static_flag="${wl}-a ${wl}archive" | ||
| 7706 | + pic_flag='+Z' | ||
| 7707 | + ;; | ||
| 7708 | + | ||
| 7709 | + irix5* | irix6*) | ||
| 7710 | + wl='-Wl,' | ||
| 7711 | + link_static_flag='-non_shared' | ||
| 7712 | + # PIC (with -KPIC) is the default. | ||
| 7713 | + ;; | ||
| 7714 | + | ||
| 7715 | + cygwin* | mingw* | os2*) | ||
| 7716 | + # We can build DLLs from non-PIC. | ||
| 7717 | + ;; | ||
| 7718 | + | ||
| 7719 | + osf3* | osf4*) | ||
| 7720 | + # All OSF/1 code is PIC. | ||
| 7721 | + wl='-Wl,' | ||
| 7722 | + link_static_flag='-non_shared' | ||
| 7723 | + ;; | ||
| 7724 | + | ||
| 7725 | + sco3.2v5*) | ||
| 7726 | + pic_flag='-Kpic' | ||
| 7727 | + link_static_flag='-dn' | ||
| 7728 | + special_shlib_compile_flags='-belf' | ||
| 7729 | + ;; | ||
| 7730 | + | ||
| 7731 | + solaris*) | ||
| 7732 | + pic_flag='-KPIC' | ||
| 7733 | + link_static_flag='-Bstatic' | ||
| 7734 | + wl='-Wl,' | ||
| 7735 | + ;; | ||
| 7736 | + | ||
| 7737 | + sunos4*) | ||
| 7738 | + pic_flag='-PIC' | ||
| 7739 | + link_static_flag='-Bstatic' | ||
| 7740 | + wl='-Qoption ld ' | ||
| 7741 | + ;; | ||
| 7742 | + | ||
| 7743 | + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
| 7744 | + pic_flag='-KPIC' | ||
| 7745 | + link_static_flag='-Bstatic' | ||
| 7746 | + wl='-Wl,' | ||
| 7747 | + ;; | ||
| 7748 | + | ||
| 7749 | + uts4*) | ||
| 7750 | + pic_flag='-pic' | ||
| 7751 | + link_static_flag='-Bstatic' | ||
| 7752 | + ;; | ||
| 7753 | + sysv4*MP*) | ||
| 7754 | + if test -d /usr/nec ;then | ||
| 7755 | + pic_flag='-Kconform_pic' | ||
| 7756 | + link_static_flag='-Bstatic' | ||
| 7757 | + fi | ||
| 7758 | + ;; | ||
| 7759 | + *) | ||
| 7760 | + can_build_shared=no | ||
| 7761 | + ;; | ||
| 7762 | + esac | ||
| 7763 | +fi | ||
| 7764 | + | ||
| 7765 | +if test -n "$pic_flag"; then | ||
| 7766 | + echo "$ac_t$pic_flag" 1>&6 | ||
| 7767 | + | ||
| 7768 | + # Check to make sure the pic_flag actually works. | ||
| 7769 | + echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6 | ||
| 7770 | + $rm conftest* | ||
| 7771 | + echo "int some_variable = 0;" > conftest.c | ||
| 7772 | + save_CFLAGS="$CFLAGS" | ||
| 7773 | + CFLAGS="$CFLAGS $pic_flag -DPIC" | ||
| 7774 | + echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5 | ||
| 7775 | + if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then | ||
| 7776 | + # Append any warnings to the config.log. | ||
| 7777 | + cat conftest.err 1>&5 | ||
| 7778 | + | ||
| 7779 | + case "$host_os" in | ||
| 7780 | + hpux9* | hpux10* | hpux11*) | ||
| 7781 | + # On HP-UX, both CC and GCC only warn that PIC is supported... then they | ||
| 7782 | + # create non-PIC objects. So, if there were any warnings, we assume that | ||
| 7783 | + # PIC is not supported. | ||
| 7784 | + if test -s conftest.err; then | ||
| 7785 | + echo "$ac_t"no 1>&6 | ||
| 7786 | + can_build_shared=no | ||
| 7787 | + pic_flag= | ||
| 7788 | + else | ||
| 7789 | + echo "$ac_t"yes 1>&6 | ||
| 7790 | + pic_flag=" $pic_flag" | ||
| 7791 | + fi | ||
| 7792 | + ;; | ||
| 7793 | + *) | ||
| 7794 | + echo "$ac_t"yes 1>&6 | ||
| 7795 | + pic_flag=" $pic_flag" | ||
| 7796 | + ;; | ||
| 7797 | + esac | ||
| 7798 | + else | ||
| 7799 | + # Append any errors to the config.log. | ||
| 7800 | + cat conftest.err 1>&5 | ||
| 7801 | + can_build_shared=no | ||
| 7802 | + pic_flag= | ||
| 7803 | + echo "$ac_t"no 1>&6 | ||
| 7804 | + fi | ||
| 7805 | + CFLAGS="$save_CFLAGS" | ||
| 7806 | + $rm conftest* | ||
| 7807 | +else | ||
| 7808 | + echo "$ac_t"none 1>&6 | ||
| 7809 | +fi | ||
| 7810 | + | ||
| 7811 | +# Check to see if options -o and -c are simultaneously supported by compiler | ||
| 7812 | +echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6 | ||
| 7813 | +$rm -r conftest 2>/dev/null | ||
| 7814 | +mkdir conftest | ||
| 7815 | +cd conftest | ||
| 7816 | +$rm conftest* | ||
| 7817 | +echo "int some_variable = 0;" > conftest.c | ||
| 7818 | +mkdir out | ||
| 7819 | +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers | ||
| 7820 | +# that will create temporary files in the current directory regardless of | ||
| 7821 | +# the output directory. Thus, making CWD read-only will cause this test | ||
| 7822 | +# to fail, enabling locking or at least warning the user not to do parallel | ||
| 7823 | +# builds. | ||
| 7824 | +chmod -w . | ||
| 7825 | +save_CFLAGS="$CFLAGS" | ||
| 7826 | +CFLAGS="$CFLAGS -o out/conftest2.o" | ||
| 7827 | +echo "$progname:829: checking if $compiler supports -c -o file.o" >&5 | ||
| 7828 | +if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then | ||
| 7829 | + | ||
| 7830 | + # The compiler can only warn and ignore the option if not recognized | ||
| 7831 | + # So say no if there are warnings | ||
| 7832 | + if test -s out/conftest.err; then | ||
| 7833 | + echo "$ac_t"no 1>&6 | ||
| 7834 | + compiler_c_o=no | ||
| 7835 | + else | ||
| 7836 | + echo "$ac_t"yes 1>&6 | ||
| 7837 | + compiler_c_o=yes | ||
| 7838 | + fi | ||
| 7839 | +else | ||
| 7840 | + # Append any errors to the config.log. | ||
| 7841 | + cat out/conftest.err 1>&5 | ||
| 7842 | + compiler_c_o=no | ||
| 7843 | + echo "$ac_t"no 1>&6 | ||
| 7844 | +fi | ||
| 7845 | +CFLAGS="$save_CFLAGS" | ||
| 7846 | +chmod u+w . | ||
| 7847 | +$rm conftest* out/* | ||
| 7848 | +rmdir out | ||
| 7849 | +cd .. | ||
| 7850 | +rmdir conftest | ||
| 7851 | +$rm -r conftest 2>/dev/null | ||
| 7852 | + | ||
| 7853 | +if test x"$compiler_c_o" = x"yes"; then | ||
| 7854 | + # Check to see if we can write to a .lo | ||
| 7855 | + echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6 | ||
| 7856 | + $rm conftest* | ||
| 7857 | + echo "int some_variable = 0;" > conftest.c | ||
| 7858 | + save_CFLAGS="$CFLAGS" | ||
| 7859 | + CFLAGS="$CFLAGS -c -o conftest.lo" | ||
| 7860 | + echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5 | ||
| 7861 | +if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then | ||
| 7862 | + | ||
| 7863 | + # The compiler can only warn and ignore the option if not recognized | ||
| 7864 | + # So say no if there are warnings | ||
| 7865 | + if test -s conftest.err; then | ||
| 7866 | + echo "$ac_t"no 1>&6 | ||
| 7867 | + compiler_o_lo=no | ||
| 7868 | + else | ||
| 7869 | + echo "$ac_t"yes 1>&6 | ||
| 7870 | + compiler_o_lo=yes | ||
| 7871 | + fi | ||
| 7872 | + else | ||
| 7873 | + # Append any errors to the config.log. | ||
| 7874 | + cat conftest.err 1>&5 | ||
| 7875 | + compiler_o_lo=no | ||
| 7876 | + echo "$ac_t"no 1>&6 | ||
| 7877 | + fi | ||
| 7878 | + CFLAGS="$save_CFLAGS" | ||
| 7879 | + $rm conftest* | ||
| 7880 | +else | ||
| 7881 | + compiler_o_lo=no | ||
| 7882 | +fi | ||
| 7883 | + | ||
| 7884 | +# Check to see if we can do hard links to lock some files if needed | ||
| 7885 | +hard_links="nottested" | ||
| 7886 | +if test "$compiler_c_o" = no && test "$need_locks" != no; then | ||
| 7887 | + # do not overwrite the value of need_locks provided by the user | ||
| 7888 | + echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 | ||
| 7889 | + hard_links=yes | ||
| 7890 | + $rm conftest* | ||
| 7891 | + ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
| 7892 | + touch conftest.a | ||
| 7893 | + ln conftest.a conftest.b 2>&5 || hard_links=no | ||
| 7894 | + ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
| 7895 | + echo "$ac_t$hard_links" 1>&6 | ||
| 7896 | + $rm conftest* | ||
| 7897 | + if test "$hard_links" = no; then | ||
| 7898 | + echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 | ||
| 7899 | + need_locks=warn | ||
| 7900 | + fi | ||
| 7901 | +else | ||
| 7902 | + need_locks=no | ||
| 7903 | +fi | ||
| 7904 | + | ||
| 7905 | +if test "$with_gcc" = yes; then | ||
| 7906 | + # Check to see if options -fno-rtti -fno-exceptions are supported by compiler | ||
| 7907 | + echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 | ||
| 7908 | + $rm conftest* | ||
| 7909 | + echo "int some_variable = 0;" > conftest.c | ||
| 7910 | + save_CFLAGS="$CFLAGS" | ||
| 7911 | + CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" | ||
| 7912 | + echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 | ||
| 7913 | + if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then | ||
| 7914 | + | ||
| 7915 | + # The compiler can only warn and ignore the option if not recognized | ||
| 7916 | + # So say no if there are warnings | ||
| 7917 | + if test -s conftest.err; then | ||
| 7918 | + echo "$ac_t"no 1>&6 | ||
| 7919 | + compiler_rtti_exceptions=no | ||
| 7920 | + else | ||
| 7921 | + echo "$ac_t"yes 1>&6 | ||
| 7922 | + compiler_rtti_exceptions=yes | ||
| 7923 | + fi | ||
| 7924 | + else | ||
| 7925 | + # Append any errors to the config.log. | ||
| 7926 | + cat conftest.err 1>&5 | ||
| 7927 | + compiler_rtti_exceptions=no | ||
| 7928 | + echo "$ac_t"no 1>&6 | ||
| 7929 | + fi | ||
| 7930 | + CFLAGS="$save_CFLAGS" | ||
| 7931 | + $rm conftest* | ||
| 7932 | + | ||
| 7933 | + if test "$compiler_rtti_exceptions" = "yes"; then | ||
| 7934 | + no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' | ||
| 7935 | + else | ||
| 7936 | + no_builtin_flag=' -fno-builtin' | ||
| 7937 | + fi | ||
| 7938 | + | ||
| 7939 | +fi | ||
| 7940 | + | ||
| 7941 | +# Check for any special shared library compilation flags. | ||
| 7942 | +if test -n "$special_shlib_compile_flags"; then | ||
| 7943 | + echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 | ||
| 7944 | + if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then : | ||
| 7945 | + else | ||
| 7946 | + echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2 | ||
| 7947 | + can_build_shared=no | ||
| 7948 | + fi | ||
| 7949 | +fi | ||
| 7950 | + | ||
| 7951 | +echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6 | ||
| 7952 | +$rm conftest* | ||
| 7953 | +echo 'main(){return(0);}' > conftest.c | ||
| 7954 | +save_LDFLAGS="$LDFLAGS" | ||
| 7955 | +LDFLAGS="$LDFLAGS $link_static_flag" | ||
| 7956 | +echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5 | ||
| 7957 | +if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then | ||
| 7958 | + echo "$ac_t$link_static_flag" 1>&6 | ||
| 7959 | +else | ||
| 7960 | + echo "$ac_t"none 1>&6 | ||
| 7961 | + link_static_flag= | ||
| 7962 | +fi | ||
| 7963 | +LDFLAGS="$save_LDFLAGS" | ||
| 7964 | +$rm conftest* | ||
| 7965 | + | ||
| 7966 | +if test -z "$LN_S"; then | ||
| 7967 | + # Check to see if we can use ln -s, or we need hard links. | ||
| 7968 | + echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 | ||
| 7969 | + $rm conftest.dat | ||
| 7970 | + if ln -s X conftest.dat 2>/dev/null; then | ||
| 7971 | + $rm conftest.dat | ||
| 7972 | + LN_S="ln -s" | ||
| 7973 | + else | ||
| 7974 | + LN_S=ln | ||
| 7975 | + fi | ||
| 7976 | + if test "$LN_S" = "ln -s"; then | ||
| 7977 | + echo "$ac_t"yes 1>&6 | ||
| 7978 | + else | ||
| 7979 | + echo "$ac_t"no 1>&6 | ||
| 7980 | + fi | ||
| 7981 | +fi | ||
| 7982 | + | ||
| 7983 | +# Make sure LD is an absolute path. | ||
| 7984 | +if test -z "$LD"; then | ||
| 7985 | + ac_prog=ld | ||
| 7986 | + if test "$with_gcc" = yes; then | ||
| 7987 | + # Check if gcc -print-prog-name=ld gives a path. | ||
| 7988 | + echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 | ||
| 7989 | + echo "$progname:991: checking for ld used by GCC" >&5 | ||
| 7990 | + ac_prog=`($CC -print-prog-name=ld) 2>&5` | ||
| 7991 | + case "$ac_prog" in | ||
| 7992 | + # Accept absolute paths. | ||
| 7993 | + [\\/]* | [A-Za-z]:[\\/]*) | ||
| 7994 | + re_direlt='/[^/][^/]*/\.\./' | ||
| 7995 | + # Canonicalize the path of ld | ||
| 7996 | + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | ||
| 7997 | + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | ||
| 7998 | + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | ||
| 7999 | + done | ||
| 8000 | + test -z "$LD" && LD="$ac_prog" | ||
| 8001 | + ;; | ||
| 8002 | + "") | ||
| 8003 | + # If it fails, then pretend we are not using GCC. | ||
| 8004 | + ac_prog=ld | ||
| 8005 | + ;; | ||
| 8006 | + *) | ||
| 8007 | + # If it is relative, then search for the first ld in PATH. | ||
| 8008 | + with_gnu_ld=unknown | ||
| 8009 | + ;; | ||
| 8010 | + esac | ||
| 8011 | + elif test "$with_gnu_ld" = yes; then | ||
| 8012 | + echo $ac_n "checking for GNU ld... $ac_c" 1>&6 | ||
| 8013 | + echo "$progname:1015: checking for GNU ld" >&5 | ||
| 8014 | + else | ||
| 8015 | + echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 | ||
| 8016 | + echo "$progname:1018: checking for non-GNU ld" >&5 | ||
| 8017 | + fi | ||
| 8018 | + | ||
| 8019 | + if test -z "$LD"; then | ||
| 8020 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 8021 | + for ac_dir in $PATH; do | ||
| 8022 | + test -z "$ac_dir" && ac_dir=. | ||
| 8023 | + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
| 8024 | + LD="$ac_dir/$ac_prog" | ||
| 8025 | + # Check to see if the program is GNU ld. I'd rather use --version, | ||
| 8026 | + # but apparently some GNU ld's only accept -v. | ||
| 8027 | + # Break only if it was the GNU/non-GNU ld that we prefer. | ||
| 8028 | + if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then | ||
| 8029 | + test "$with_gnu_ld" != no && break | ||
| 8030 | + else | ||
| 8031 | + test "$with_gnu_ld" != yes && break | ||
| 8032 | + fi | ||
| 8033 | + fi | ||
| 8034 | + done | ||
| 8035 | + IFS="$ac_save_ifs" | ||
| 8036 | + fi | ||
| 8037 | + | ||
| 8038 | + if test -n "$LD"; then | ||
| 8039 | + echo "$ac_t$LD" 1>&6 | ||
| 8040 | + else | ||
| 8041 | + echo "$ac_t"no 1>&6 | ||
| 8042 | + fi | ||
| 8043 | + | ||
| 8044 | + if test -z "$LD"; then | ||
| 8045 | + echo "$progname: error: no acceptable ld found in \$PATH" 1>&2 | ||
| 8046 | + exit 1 | ||
| 8047 | + fi | ||
| 8048 | +fi | ||
| 8049 | + | ||
| 8050 | +# Check to see if it really is or is not GNU ld. | ||
| 8051 | +echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 | ||
| 8052 | +# I'd rather use --version here, but apparently some GNU ld's only accept -v. | ||
| 8053 | +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then | ||
| 8054 | + with_gnu_ld=yes | ||
| 8055 | +else | ||
| 8056 | + with_gnu_ld=no | ||
| 8057 | +fi | ||
| 8058 | +echo "$ac_t$with_gnu_ld" 1>&6 | ||
| 8059 | + | ||
| 8060 | +# See if the linker supports building shared libraries. | ||
| 8061 | +echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 | ||
| 8062 | + | ||
| 8063 | +allow_undefined_flag= | ||
| 8064 | +no_undefined_flag= | ||
| 8065 | +need_lib_prefix=unknown | ||
| 8066 | +need_version=unknown | ||
| 8067 | +# when you set need_version to no, make sure it does not cause -set_version | ||
| 8068 | +# flags to be left without arguments | ||
| 8069 | +archive_cmds= | ||
| 8070 | +archive_expsym_cmds= | ||
| 8071 | +old_archive_from_new_cmds= | ||
| 8072 | +export_dynamic_flag_spec= | ||
| 8073 | +whole_archive_flag_spec= | ||
| 8074 | +thread_safe_flag_spec= | ||
| 8075 | +hardcode_libdir_flag_spec= | ||
| 8076 | +hardcode_libdir_separator= | ||
| 8077 | +hardcode_direct=no | ||
| 8078 | +hardcode_minus_L=no | ||
| 8079 | +hardcode_shlibpath_var=unsupported | ||
| 8080 | +runpath_var= | ||
| 8081 | +always_export_symbols=no | ||
| 8082 | +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
| 8083 | +# include_expsyms should be a list of space-separated symbols to be *always* | ||
| 8084 | +# included in the symbol list | ||
| 8085 | +include_expsyms= | ||
| 8086 | +# exclude_expsyms can be an egrep regular expression of symbols to exclude | ||
| 8087 | +# it will be wrapped by ` (' and `)$', so one must not match beginning or | ||
| 8088 | +# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | ||
| 8089 | +# as well as any symbol that contains `d'. | ||
| 8090 | +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" | ||
| 8091 | +# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | ||
| 8092 | +# platforms (ab)use it in PIC code, but their linkers get confused if | ||
| 8093 | +# the symbol is explicitly referenced. Since portable code cannot | ||
| 8094 | +# rely on this symbol name, it's probably fine to never include it in | ||
| 8095 | +# preloaded symbol tables. | ||
| 8096 | + | ||
| 8097 | +case "$host_os" in | ||
| 8098 | +cygwin* | mingw*) | ||
| 8099 | + # FIXME: the MSVC++ port hasn't been tested in a loooong time | ||
| 8100 | + # When not using gcc, we currently assume that we are using | ||
| 8101 | + # Microsoft Visual C++. | ||
| 8102 | + if test "$with_gcc" != yes; then | ||
| 8103 | + with_gnu_ld=no | ||
| 8104 | + fi | ||
| 8105 | + ;; | ||
| 8106 | + | ||
| 8107 | +esac | ||
| 8108 | + | ||
| 8109 | +ld_shlibs=yes | ||
| 8110 | +if test "$with_gnu_ld" = yes; then | ||
| 8111 | + # If archive_cmds runs LD, not CC, wlarc should be empty | ||
| 8112 | + wlarc='${wl}' | ||
| 8113 | + | ||
| 8114 | + # See if GNU ld supports shared libraries. | ||
| 8115 | + case "$host_os" in | ||
| 8116 | + aix3* | aix4*) | ||
| 8117 | + # On AIX, the GNU linker is very broken | ||
| 8118 | + ld_shlibs=no | ||
| 8119 | + cat <<EOF 1>&2 | ||
| 8120 | + | ||
| 8121 | +*** Warning: the GNU linker, at least up to release 2.9.1, is reported | ||
| 8122 | +*** to be unable to reliably create shared libraries on AIX. | ||
| 8123 | +*** Therefore, libtool is disabling shared libraries support. If you | ||
| 8124 | +*** really care for shared libraries, you may want to modify your PATH | ||
| 8125 | +*** so that a non-GNU linker is found, and then restart. | ||
| 8126 | + | ||
| 8127 | +EOF | ||
| 8128 | + ;; | ||
| 8129 | + | ||
| 8130 | + amigaos*) | ||
| 8131 | + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' | ||
| 8132 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8133 | + hardcode_minus_L=yes | ||
| 8134 | + | ||
| 8135 | + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports | ||
| 8136 | + # that the semantics of dynamic libraries on AmigaOS, at least up | ||
| 8137 | + # to version 4, is to share data among multiple programs linked | ||
| 8138 | + # with the same dynamic library. Since this doesn't match the | ||
| 8139 | + # behavior of shared libraries on other platforms, we can use | ||
| 8140 | + # them. | ||
| 8141 | + ld_shlibs=no | ||
| 8142 | + ;; | ||
| 8143 | + | ||
| 8144 | + beos*) | ||
| 8145 | + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | ||
| 8146 | + allow_undefined_flag=unsupported | ||
| 8147 | + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
| 8148 | + # support --undefined. This deserves some investigation. FIXME | ||
| 8149 | + archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' | ||
| 8150 | + else | ||
| 8151 | + ld_shlibs=no | ||
| 8152 | + fi | ||
| 8153 | + ;; | ||
| 8154 | + | ||
| 8155 | + cygwin* | mingw*) | ||
| 8156 | + # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
| 8157 | + # no search path for DLLs. | ||
| 8158 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8159 | + allow_undefined_flag=unsupported | ||
| 8160 | + always_export_symbols=yes | ||
| 8161 | + | ||
| 8162 | + # Extract the symbol export list from an `--export-all' def file, | ||
| 8163 | + # then regenerate the def file from the symbol export list, so that | ||
| 8164 | + # the compiled dll only exports the symbol export list. | ||
| 8165 | + export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ | ||
| 8166 | + test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ | ||
| 8167 | + $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~ | ||
| 8168 | + sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols' | ||
| 8169 | + | ||
| 8170 | + archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ | ||
| 8171 | + _lt_hint=1; | ||
| 8172 | + for symbol in `cat $export_symbols`; do | ||
| 8173 | + echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def; | ||
| 8174 | + _lt_hint=`expr 1 + \$_lt_hint`; | ||
| 8175 | + done~ | ||
| 8176 | + test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ | ||
| 8177 | + test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ | ||
| 8178 | + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ | ||
| 8179 | + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ | ||
| 8180 | + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ | ||
| 8181 | + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ | ||
| 8182 | + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' | ||
| 8183 | + | ||
| 8184 | + old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' | ||
| 8185 | + ;; | ||
| 8186 | + | ||
| 8187 | + netbsd*) | ||
| 8188 | + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | ||
| 8189 | + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' | ||
| 8190 | + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
| 8191 | + else | ||
| 8192 | + archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' | ||
| 8193 | + # can we support soname and/or expsyms with a.out? -oliva | ||
| 8194 | + fi | ||
| 8195 | + ;; | ||
| 8196 | + | ||
| 8197 | + solaris*) | ||
| 8198 | + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then | ||
| 8199 | + ld_shlibs=no | ||
| 8200 | + cat <<EOF 1>&2 | ||
| 8201 | + | ||
| 8202 | +*** Warning: The releases 2.8.* of the GNU linker cannot reliably | ||
| 8203 | +*** create shared libraries on Solaris systems. Therefore, libtool | ||
| 8204 | +*** is disabling shared libraries support. We urge you to upgrade GNU | ||
| 8205 | +*** binutils to release 2.9.1 or newer. Another option is to modify | ||
| 8206 | +*** your PATH or compiler configuration so that the native linker is | ||
| 8207 | +*** used, and then restart. | ||
| 8208 | + | ||
| 8209 | +EOF | ||
| 8210 | + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | ||
| 8211 | + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' | ||
| 8212 | + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
| 8213 | + else | ||
| 8214 | + ld_shlibs=no | ||
| 8215 | + fi | ||
| 8216 | + ;; | ||
| 8217 | + | ||
| 8218 | + sunos4*) | ||
| 8219 | + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts' | ||
| 8220 | + wlarc= | ||
| 8221 | + hardcode_direct=yes | ||
| 8222 | + hardcode_shlibpath_var=no | ||
| 8223 | + ;; | ||
| 8224 | + | ||
| 8225 | + *) | ||
| 8226 | + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | ||
| 8227 | + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' | ||
| 8228 | + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
| 8229 | + else | ||
| 8230 | + ld_shlibs=no | ||
| 8231 | + fi | ||
| 8232 | + ;; | ||
| 8233 | + esac | ||
| 8234 | + | ||
| 8235 | + if test "$ld_shlibs" = yes; then | ||
| 8236 | + runpath_var=LD_RUN_PATH | ||
| 8237 | + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' | ||
| 8238 | + export_dynamic_flag_spec='${wl}--export-dynamic' | ||
| 8239 | + case $host_os in | ||
| 8240 | + cygwin* | mingw*) | ||
| 8241 | + # dlltool doesn't understand --whole-archive et. al. | ||
| 8242 | + whole_archive_flag_spec= | ||
| 8243 | + ;; | ||
| 8244 | + *) | ||
| 8245 | + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
| 8246 | + ;; | ||
| 8247 | + esac | ||
| 8248 | + fi | ||
| 8249 | +else | ||
| 8250 | + # PORTME fill in a description of your system's linker (not GNU ld) | ||
| 8251 | + case "$host_os" in | ||
| 8252 | + aix3*) | ||
| 8253 | + allow_undefined_flag=unsupported | ||
| 8254 | + always_export_symbols=yes | ||
| 8255 | + archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' | ||
| 8256 | + # Note: this linker hardcodes the directories in LIBPATH if there | ||
| 8257 | + # are no directories specified by -L. | ||
| 8258 | + hardcode_minus_L=yes | ||
| 8259 | + if test "$with_gcc" = yes && test -z "$link_static_flag"; then | ||
| 8260 | + # Neither direct hardcoding nor static linking is supported with a | ||
| 8261 | + # broken collect2. | ||
| 8262 | + hardcode_direct=unsupported | ||
| 8263 | + fi | ||
| 8264 | + ;; | ||
| 8265 | + | ||
| 8266 | + aix4*) | ||
| 8267 | + hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib' | ||
| 8268 | + hardcode_libdir_separator=':' | ||
| 8269 | + if test "$with_gcc" = yes; then | ||
| 8270 | + collect2name=`${CC} -print-prog-name=collect2` | ||
| 8271 | + if test -f "$collect2name" && \ | ||
| 8272 | + strings "$collect2name" | grep resolve_lib_name >/dev/null | ||
| 8273 | + then | ||
| 8274 | + # We have reworked collect2 | ||
| 8275 | + hardcode_direct=yes | ||
| 8276 | + else | ||
| 8277 | + # We have old collect2 | ||
| 8278 | + hardcode_direct=unsupported | ||
| 8279 | + # It fails to find uninstalled libraries when the uninstalled | ||
| 8280 | + # path is not listed in the libpath. Setting hardcode_minus_L | ||
| 8281 | + # to unsupported forces relinking | ||
| 8282 | + hardcode_minus_L=yes | ||
| 8283 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8284 | + hardcode_libdir_separator= | ||
| 8285 | + fi | ||
| 8286 | + shared_flag='-shared' | ||
| 8287 | + else | ||
| 8288 | + shared_flag='${wl}-bM:SRE' | ||
| 8289 | + hardcode_direct=yes | ||
| 8290 | + fi | ||
| 8291 | + allow_undefined_flag=' ${wl}-berok' | ||
| 8292 | + archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}' | ||
| 8293 | + archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}' | ||
| 8294 | + case "$host_os" in aix4.[01]|aix4.[01].*) | ||
| 8295 | + # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on | ||
| 8296 | + always_export_symbols=yes ;; | ||
| 8297 | + esac | ||
| 8298 | + ;; | ||
| 8299 | + | ||
| 8300 | + amigaos*) | ||
| 8301 | + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' | ||
| 8302 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8303 | + hardcode_minus_L=yes | ||
| 8304 | + # see comment about different semantics on the GNU ld section | ||
| 8305 | + ld_shlibs=no | ||
| 8306 | + ;; | ||
| 8307 | + | ||
| 8308 | + cygwin* | mingw*) | ||
| 8309 | + # When not using gcc, we currently assume that we are using | ||
| 8310 | + # Microsoft Visual C++. | ||
| 8311 | + # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
| 8312 | + # no search path for DLLs. | ||
| 8313 | + hardcode_libdir_flag_spec=' ' | ||
| 8314 | + allow_undefined_flag=unsupported | ||
| 8315 | + # Tell ltmain to make .lib files, not .a files. | ||
| 8316 | + libext=lib | ||
| 8317 | + # FIXME: Setting linknames here is a bad hack. | ||
| 8318 | + archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' | ||
| 8319 | + # The linker will automatically build a .lib file if we build a DLL. | ||
| 8320 | + old_archive_from_new_cmds='true' | ||
| 8321 | + # FIXME: Should let the user specify the lib program. | ||
| 8322 | + old_archive_cmds='lib /OUT:$oldlib$oldobjs' | ||
| 8323 | + fix_srcfile_path='`cygpath -w $srcfile`' | ||
| 8324 | + ;; | ||
| 8325 | + | ||
| 8326 | + freebsd1*) | ||
| 8327 | + ld_shlibs=no | ||
| 8328 | + ;; | ||
| 8329 | + | ||
| 8330 | + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | ||
| 8331 | + # support. Future versions do this automatically, but an explicit c++rt0.o | ||
| 8332 | + # does not break anything, and helps significantly (at the cost of a little | ||
| 8333 | + # extra space). | ||
| 8334 | + freebsd2.2*) | ||
| 8335 | + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o' | ||
| 8336 | + hardcode_libdir_flag_spec='-R$libdir' | ||
| 8337 | + hardcode_direct=yes | ||
| 8338 | + hardcode_shlibpath_var=no | ||
| 8339 | + ;; | ||
| 8340 | + | ||
| 8341 | + # Unfortunately, older versions of FreeBSD 2 do not have this feature. | ||
| 8342 | + freebsd2*) | ||
| 8343 | + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' | ||
| 8344 | + hardcode_direct=yes | ||
| 8345 | + hardcode_minus_L=yes | ||
| 8346 | + hardcode_shlibpath_var=no | ||
| 8347 | + ;; | ||
| 8348 | + | ||
| 8349 | + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | ||
| 8350 | + freebsd*) | ||
| 8351 | + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' | ||
| 8352 | + hardcode_libdir_flag_spec='-R$libdir' | ||
| 8353 | + hardcode_direct=yes | ||
| 8354 | + hardcode_shlibpath_var=no | ||
| 8355 | + ;; | ||
| 8356 | + | ||
| 8357 | + hpux9* | hpux10* | hpux11*) | ||
| 8358 | + case "$host_os" in | ||
| 8359 | + hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;; | ||
| 8360 | + *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;; | ||
| 8361 | + esac | ||
| 8362 | + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' | ||
| 8363 | + hardcode_libdir_separator=: | ||
| 8364 | + hardcode_direct=yes | ||
| 8365 | + hardcode_minus_L=yes # Not in the search PATH, but as the default | ||
| 8366 | + # location of the library. | ||
| 8367 | + export_dynamic_flag_spec='${wl}-E' | ||
| 8368 | + ;; | ||
| 8369 | + | ||
| 8370 | + irix5* | irix6*) | ||
| 8371 | + if test "$with_gcc" = yes; then | ||
| 8372 | + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' | ||
| 8373 | + else | ||
| 8374 | + archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' | ||
| 8375 | + fi | ||
| 8376 | + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
| 8377 | + hardcode_libdir_separator=: | ||
| 8378 | + ;; | ||
| 8379 | + | ||
| 8380 | + netbsd*) | ||
| 8381 | + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then | ||
| 8382 | + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out | ||
| 8383 | + else | ||
| 8384 | + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF | ||
| 8385 | + fi | ||
| 8386 | + hardcode_libdir_flag_spec='${wl}-R$libdir' | ||
| 8387 | + hardcode_direct=yes | ||
| 8388 | + hardcode_shlibpath_var=no | ||
| 8389 | + ;; | ||
| 8390 | + | ||
| 8391 | + openbsd*) | ||
| 8392 | + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' | ||
| 8393 | + hardcode_libdir_flag_spec='-R$libdir' | ||
| 8394 | + hardcode_direct=yes | ||
| 8395 | + hardcode_shlibpath_var=no | ||
| 8396 | + ;; | ||
| 8397 | + | ||
| 8398 | + os2*) | ||
| 8399 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8400 | + hardcode_minus_L=yes | ||
| 8401 | + allow_undefined_flag=unsupported | ||
| 8402 | + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def' | ||
| 8403 | + old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' | ||
| 8404 | + ;; | ||
| 8405 | + | ||
| 8406 | + osf3* | osf4*) | ||
| 8407 | + if test "$with_gcc" = yes; then | ||
| 8408 | + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' | ||
| 8409 | + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' | ||
| 8410 | + else | ||
| 8411 | + allow_undefined_flag=' -expect_unresolved \*' | ||
| 8412 | + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' | ||
| 8413 | + fi | ||
| 8414 | + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
| 8415 | + hardcode_libdir_separator=: | ||
| 8416 | + ;; | ||
| 8417 | + | ||
| 8418 | + sco3.2v5*) | ||
| 8419 | + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8420 | + hardcode_shlibpath_var=no | ||
| 8421 | + runpath_var=LD_RUN_PATH | ||
| 8422 | + hardcode_runpath_var=yes | ||
| 8423 | + ;; | ||
| 8424 | + | ||
| 8425 | + solaris*) | ||
| 8426 | + no_undefined_flag=' -z text' | ||
| 8427 | + # $CC -shared without GNU ld will not create a library from C++ | ||
| 8428 | + # object files and a static libstdc++, better avoid it by now | ||
| 8429 | + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8430 | + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | ||
| 8431 | + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' | ||
| 8432 | + hardcode_libdir_flag_spec='-R$libdir' | ||
| 8433 | + hardcode_shlibpath_var=no | ||
| 8434 | + case "$host_os" in | ||
| 8435 | + solaris2.[0-5] | solaris2.[0-5].*) ;; | ||
| 8436 | + *) # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
| 8437 | + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; | ||
| 8438 | + esac | ||
| 8439 | + ;; | ||
| 8440 | + | ||
| 8441 | + sunos4*) | ||
| 8442 | + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' | ||
| 8443 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8444 | + hardcode_direct=yes | ||
| 8445 | + hardcode_minus_L=yes | ||
| 8446 | + hardcode_shlibpath_var=no | ||
| 8447 | + ;; | ||
| 8448 | + | ||
| 8449 | + sysv4) | ||
| 8450 | + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8451 | + runpath_var='LD_RUN_PATH' | ||
| 8452 | + hardcode_shlibpath_var=no | ||
| 8453 | + hardcode_direct=no #Motorola manual says yes, but my tests say they lie | ||
| 8454 | + ;; | ||
| 8455 | + | ||
| 8456 | + sysv4.3*) | ||
| 8457 | + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8458 | + hardcode_shlibpath_var=no | ||
| 8459 | + export_dynamic_flag_spec='-Bexport' | ||
| 8460 | + ;; | ||
| 8461 | + | ||
| 8462 | + uts4*) | ||
| 8463 | + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8464 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8465 | + hardcode_shlibpath_var=no | ||
| 8466 | + ;; | ||
| 8467 | + | ||
| 8468 | + dgux*) | ||
| 8469 | + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' | ||
| 8470 | + hardcode_libdir_flag_spec='-L$libdir' | ||
| 8471 | + hardcode_shlibpath_var=no | ||
| 8472 | + ;; | ||
| 8473 | + | ||
| 8474 | + sysv4*MP*) | ||
| 8475 | + if test -d /usr/nec ;then | ||
| 8476 | + # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' | ||
| 8477 | + archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' | ||
| 8478 | + hardcode_shlibpath_var=no | ||
| 8479 | + runpath_var=LD_RUN_PATH | ||
| 8480 | + hardcode_runpath_var=yes | ||
| 8481 | + ld_shlibs=yes | ||
| 8482 | + fi | ||
| 8483 | + ;; | ||
| 8484 | + | ||
| 8485 | + *) | ||
| 8486 | + ld_shlibs=no | ||
| 8487 | + ;; | ||
| 8488 | + esac | ||
| 8489 | +fi | ||
| 8490 | +echo "$ac_t$ld_shlibs" 1>&6 | ||
| 8491 | +test "$ld_shlibs" = no && can_build_shared=no | ||
| 8492 | + | ||
| 8493 | +if test -z "$NM"; then | ||
| 8494 | + echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 | ||
| 8495 | + case "$NM" in | ||
| 8496 | + [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path. | ||
| 8497 | + *) | ||
| 8498 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" | ||
| 8499 | + for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do | ||
| 8500 | + test -z "$ac_dir" && ac_dir=. | ||
| 8501 | + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then | ||
| 8502 | + # Check to see if the nm accepts a BSD-compat flag. | ||
| 8503 | + # Adding the `sed 1q' prevents false positives on HP-UX, which says: | ||
| 8504 | + # nm: unknown option "B" ignored | ||
| 8505 | + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | ||
| 8506 | + NM="$ac_dir/nm -B" | ||
| 8507 | + break | ||
| 8508 | + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | ||
| 8509 | + NM="$ac_dir/nm -p" | ||
| 8510 | + break | ||
| 8511 | + else | ||
| 8512 | + NM=${NM="$ac_dir/nm"} # keep the first match, but | ||
| 8513 | + continue # so that we can try to find one that supports BSD flags | ||
| 8514 | + fi | ||
| 8515 | + fi | ||
| 8516 | + done | ||
| 8517 | + IFS="$ac_save_ifs" | ||
| 8518 | + test -z "$NM" && NM=nm | ||
| 8519 | + ;; | ||
| 8520 | + esac | ||
| 8521 | + echo "$ac_t$NM" 1>&6 | ||
| 8522 | +fi | ||
| 8523 | + | ||
| 8524 | +# Check for command to grab the raw symbol name followed by C symbol from nm. | ||
| 8525 | +echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 | ||
| 8526 | + | ||
| 8527 | +# These are sane defaults that work on at least a few old systems. | ||
| 8528 | +# [They come from Ultrix. What could be older than Ultrix?!! ;)] | ||
| 8529 | + | ||
| 8530 | +# Character class describing NM global symbol codes. | ||
| 8531 | +symcode='[BCDEGRST]' | ||
| 8532 | + | ||
| 8533 | +# Regexp to match symbols that can be accessed directly from C. | ||
| 8534 | +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' | ||
| 8535 | + | ||
| 8536 | +# Transform the above into a raw symbol and a C symbol. | ||
| 8537 | +symxfrm='\1 \2\3 \3' | ||
| 8538 | + | ||
| 8539 | +# Transform an extracted symbol line into a proper C declaration | ||
| 8540 | +global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" | ||
| 8541 | + | ||
| 8542 | +# Define system-specific variables. | ||
| 8543 | +case "$host_os" in | ||
| 8544 | +aix*) | ||
| 8545 | + symcode='[BCDT]' | ||
| 8546 | + ;; | ||
| 8547 | +cygwin* | mingw*) | ||
| 8548 | + symcode='[ABCDGISTW]' | ||
| 8549 | + ;; | ||
| 8550 | +hpux*) # Its linker distinguishes data from code symbols | ||
| 8551 | + global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" | ||
| 8552 | + ;; | ||
| 8553 | +irix*) | ||
| 8554 | + symcode='[BCDEGRST]' | ||
| 8555 | + ;; | ||
| 8556 | +solaris*) | ||
| 8557 | + symcode='[BDT]' | ||
| 8558 | + ;; | ||
| 8559 | +sysv4) | ||
| 8560 | + symcode='[DFNSTU]' | ||
| 8561 | + ;; | ||
| 8562 | +esac | ||
| 8563 | + | ||
| 8564 | +# If we're using GNU nm, then use its standard symbol codes. | ||
| 8565 | +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then | ||
| 8566 | + symcode='[ABCDGISTW]' | ||
| 8567 | +fi | ||
| 8568 | + | ||
| 8569 | +# Try without a prefix undercore, then with it. | ||
| 8570 | +for ac_symprfx in "" "_"; do | ||
| 8571 | + | ||
| 8572 | + # Write the raw and C identifiers. | ||
| 8573 | + global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'" | ||
| 8574 | + | ||
| 8575 | + # Check to see that the pipe works correctly. | ||
| 8576 | + pipe_works=no | ||
| 8577 | + $rm conftest* | ||
| 8578 | + cat > conftest.c <<EOF | ||
| 8579 | +#ifdef __cplusplus | ||
| 8580 | +extern "C" { | ||
| 8581 | +#endif | ||
| 8582 | +char nm_test_var; | ||
| 8583 | +void nm_test_func(){} | ||
| 8584 | +#ifdef __cplusplus | ||
| 8585 | +} | ||
| 8586 | +#endif | ||
| 8587 | +main(){nm_test_var='a';nm_test_func();return(0);} | ||
| 8588 | +EOF | ||
| 8589 | + | ||
| 8590 | + echo "$progname:1592: checking if global_symbol_pipe works" >&5 | ||
| 8591 | + if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then | ||
| 8592 | + # Now try to grab the symbols. | ||
| 8593 | + nlist=conftest.nm | ||
| 8594 | + if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then | ||
| 8595 | + | ||
| 8596 | + # Try sorting and uniquifying the output. | ||
| 8597 | + if sort "$nlist" | uniq > "$nlist"T; then | ||
| 8598 | + mv -f "$nlist"T "$nlist" | ||
| 8599 | + else | ||
| 8600 | + rm -f "$nlist"T | ||
| 8601 | + fi | ||
| 8602 | + | ||
| 8603 | + # Make sure that we snagged all the symbols we need. | ||
| 8604 | + if egrep ' nm_test_var$' "$nlist" >/dev/null; then | ||
| 8605 | + if egrep ' nm_test_func$' "$nlist" >/dev/null; then | ||
| 8606 | + cat <<EOF > conftest.c | ||
| 8607 | +#ifdef __cplusplus | ||
| 8608 | +extern "C" { | ||
| 8609 | +#endif | ||
| 8610 | + | ||
| 8611 | +EOF | ||
| 8612 | + # Now generate the symbol file. | ||
| 8613 | + eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c' | ||
| 8614 | + | ||
| 8615 | + cat <<EOF >> conftest.c | ||
| 8616 | +#if defined (__STDC__) && __STDC__ | ||
| 8617 | +# define lt_ptr_t void * | ||
| 8618 | +#else | ||
| 8619 | +# define lt_ptr_t char * | ||
| 8620 | +# define const | ||
| 8621 | +#endif | ||
| 8622 | + | ||
| 8623 | +/* The mapping between symbol names and symbols. */ | ||
| 8624 | +const struct { | ||
| 8625 | + const char *name; | ||
| 8626 | + lt_ptr_t address; | ||
| 8627 | +} | ||
| 8628 | +lt_preloaded_symbols[] = | ||
| 8629 | +{ | ||
| 8630 | +EOF | ||
| 8631 | + sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c | ||
| 8632 | + cat <<\EOF >> conftest.c | ||
| 8633 | + {0, (lt_ptr_t) 0} | ||
| 8634 | +}; | ||
| 8635 | + | ||
| 8636 | +#ifdef __cplusplus | ||
| 8637 | +} | ||
| 8638 | +#endif | ||
| 8639 | +EOF | ||
| 8640 | + # Now try linking the two files. | ||
| 8641 | + mv conftest.$objext conftstm.$objext | ||
| 8642 | + save_LIBS="$LIBS" | ||
| 8643 | + save_CFLAGS="$CFLAGS" | ||
| 8644 | + LIBS="conftstm.$objext" | ||
| 8645 | + CFLAGS="$CFLAGS$no_builtin_flag" | ||
| 8646 | + if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then | ||
| 8647 | + pipe_works=yes | ||
| 8648 | + else | ||
| 8649 | + echo "$progname: failed program was:" >&5 | ||
| 8650 | + cat conftest.c >&5 | ||
| 8651 | + fi | ||
| 8652 | + LIBS="$save_LIBS" | ||
| 8653 | + else | ||
| 8654 | + echo "cannot find nm_test_func in $nlist" >&5 | ||
| 8655 | + fi | ||
| 8656 | + else | ||
| 8657 | + echo "cannot find nm_test_var in $nlist" >&5 | ||
| 8658 | + fi | ||
| 8659 | + else | ||
| 8660 | + echo "cannot run $global_symbol_pipe" >&5 | ||
| 8661 | + fi | ||
| 8662 | + else | ||
| 8663 | + echo "$progname: failed program was:" >&5 | ||
| 8664 | + cat conftest.c >&5 | ||
| 8665 | + fi | ||
| 8666 | + $rm conftest* conftst* | ||
| 8667 | + | ||
| 8668 | + # Do not use the global_symbol_pipe unless it works. | ||
| 8669 | + if test "$pipe_works" = yes; then | ||
| 8670 | + break | ||
| 8671 | + else | ||
| 8672 | + global_symbol_pipe= | ||
| 8673 | + fi | ||
| 8674 | +done | ||
| 8675 | +if test "$pipe_works" = yes; then | ||
| 8676 | + echo "${ac_t}ok" 1>&6 | ||
| 8677 | +else | ||
| 8678 | + echo "${ac_t}failed" 1>&6 | ||
| 8679 | +fi | ||
| 8680 | + | ||
| 8681 | +if test -z "$global_symbol_pipe"; then | ||
| 8682 | + global_symbol_to_cdecl= | ||
| 8683 | +fi | ||
| 8684 | + | ||
| 8685 | +# Check hardcoding attributes. | ||
| 8686 | +echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 | ||
| 8687 | +hardcode_action= | ||
| 8688 | +if test -n "$hardcode_libdir_flag_spec" || \ | ||
| 8689 | + test -n "$runpath_var"; then | ||
| 8690 | + | ||
| 8691 | + # We can hardcode non-existant directories. | ||
| 8692 | + if test "$hardcode_direct" != no && | ||
| 8693 | + # If the only mechanism to avoid hardcoding is shlibpath_var, we | ||
| 8694 | + # have to relink, otherwise we might link with an installed library | ||
| 8695 | + # when we should be linking with a yet-to-be-installed one | ||
| 8696 | + ## test "$hardcode_shlibpath_var" != no && | ||
| 8697 | + test "$hardcode_minus_L" != no; then | ||
| 8698 | + # Linking always hardcodes the temporary library directory. | ||
| 8699 | + hardcode_action=relink | ||
| 8700 | + else | ||
| 8701 | + # We can link without hardcoding, and we can hardcode nonexisting dirs. | ||
| 8702 | + hardcode_action=immediate | ||
| 8703 | + fi | ||
| 8704 | +else | ||
| 8705 | + # We cannot hardcode anything, or else we can only hardcode existing | ||
| 8706 | + # directories. | ||
| 8707 | + hardcode_action=unsupported | ||
| 8708 | +fi | ||
| 8709 | +echo "$ac_t$hardcode_action" 1>&6 | ||
| 8710 | + | ||
| 8711 | + | ||
| 8712 | +reload_flag= | ||
| 8713 | +reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
| 8714 | +echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 | ||
| 8715 | +# PORTME Some linkers may need a different reload flag. | ||
| 8716 | +reload_flag='-r' | ||
| 8717 | +echo "$ac_t$reload_flag" 1>&6 | ||
| 8718 | +test -n "$reload_flag" && reload_flag=" $reload_flag" | ||
| 8719 | + | ||
| 8720 | +# PORTME Fill in your ld.so characteristics | ||
| 8721 | +library_names_spec= | ||
| 8722 | +libname_spec='lib$name' | ||
| 8723 | +soname_spec= | ||
| 8724 | +postinstall_cmds= | ||
| 8725 | +postuninstall_cmds= | ||
| 8726 | +finish_cmds= | ||
| 8727 | +finish_eval= | ||
| 8728 | +shlibpath_var= | ||
| 8729 | +shlibpath_overrides_runpath=unknown | ||
| 8730 | +version_type=none | ||
| 8731 | +dynamic_linker="$host_os ld.so" | ||
| 8732 | +sys_lib_dlsearch_path_spec="/lib /usr/lib" | ||
| 8733 | +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | ||
| 8734 | +file_magic_cmd= | ||
| 8735 | +file_magic_test_file= | ||
| 8736 | +deplibs_check_method='unknown' | ||
| 8737 | +# Need to set the preceding variable on all platforms that support | ||
| 8738 | +# interlibrary dependencies. | ||
| 8739 | +# 'none' -- dependencies not supported. | ||
| 8740 | +# `unknown' -- same as none, but documents that we really don't know. | ||
| 8741 | +# 'pass_all' -- all dependencies passed with no checks. | ||
| 8742 | +# 'test_compile' -- check by making test program. | ||
| 8743 | +# 'file_magic [regex]' -- check by looking for files in library path | ||
| 8744 | +# which responds to the $file_magic_cmd with a given egrep regex. | ||
| 8745 | +# If you have `file' or equivalent on your system and you're not sure | ||
| 8746 | +# whether `pass_all' will *always* work, you probably want this one. | ||
| 8747 | +echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 | ||
| 8748 | +case "$host_os" in | ||
| 8749 | +aix3*) | ||
| 8750 | + version_type=linux | ||
| 8751 | + library_names_spec='${libname}${release}.so$versuffix $libname.a' | ||
| 8752 | + shlibpath_var=LIBPATH | ||
| 8753 | + | ||
| 8754 | + # AIX has no versioning support, so we append a major version to the name. | ||
| 8755 | + soname_spec='${libname}${release}.so$major' | ||
| 8756 | + ;; | ||
| 8757 | + | ||
| 8758 | +aix4*) | ||
| 8759 | + version_type=linux | ||
| 8760 | + # AIX has no versioning support, so currently we can not hardcode correct | ||
| 8761 | + # soname into executable. Probably we can add versioning support to | ||
| 8762 | + # collect2, so additional links can be useful in future. | ||
| 8763 | + # We preserve .a as extension for shared libraries though AIX4.2 | ||
| 8764 | + # and later linker supports .so | ||
| 8765 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a' | ||
| 8766 | + shlibpath_var=LIBPATH | ||
| 8767 | + deplibs_check_method=pass_all | ||
| 8768 | + ;; | ||
| 8769 | + | ||
| 8770 | +amigaos*) | ||
| 8771 | + library_names_spec='$libname.ixlibrary $libname.a' | ||
| 8772 | + # Create ${libname}_ixlibrary.a entries in /sys/libs. | ||
| 8773 | + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' | ||
| 8774 | + ;; | ||
| 8775 | + | ||
| 8776 | +beos*) | ||
| 8777 | + library_names_spec='${libname}.so' | ||
| 8778 | + dynamic_linker="$host_os ld.so" | ||
| 8779 | + shlibpath_var=LIBRARY_PATH | ||
| 8780 | + deplibs_check_method=pass_all | ||
| 8781 | + lt_cv_dlopen="load_add_on" | ||
| 8782 | + lt_cv_dlopen_libs= | ||
| 8783 | + lt_cv_dlopen_self=yes | ||
| 8784 | + ;; | ||
| 8785 | + | ||
| 8786 | +bsdi4*) | ||
| 8787 | + version_type=linux | ||
| 8788 | + library_names_spec='${libname}.so$major ${libname}.so' | ||
| 8789 | + soname_spec='${libname}.so' | ||
| 8790 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | ||
| 8791 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8792 | + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' | ||
| 8793 | + file_magic_cmd=/usr/bin/file | ||
| 8794 | + file_magic_test_file=/shlib/libc.so | ||
| 8795 | + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | ||
| 8796 | + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | ||
| 8797 | + # the default ld.so.conf also contains /usr/contrib/lib and | ||
| 8798 | + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | ||
| 8799 | + # libtool to hard-code these into programs | ||
| 8800 | + ;; | ||
| 8801 | + | ||
| 8802 | +cygwin* | mingw*) | ||
| 8803 | + version_type=windows | ||
| 8804 | + need_version=no | ||
| 8805 | + need_lib_prefix=no | ||
| 8806 | + if test "$with_gcc" = yes; then | ||
| 8807 | + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a' | ||
| 8808 | + else | ||
| 8809 | + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' | ||
| 8810 | + fi | ||
| 8811 | + dynamic_linker='Win32 ld.exe' | ||
| 8812 | + deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | ||
| 8813 | + file_magic_cmd='${OBJDUMP} -f' | ||
| 8814 | + # FIXME: first we should search . and the directory the executable is in | ||
| 8815 | + shlibpath_var=PATH | ||
| 8816 | + lt_cv_dlopen="LoadLibrary" | ||
| 8817 | + lt_cv_dlopen_libs= | ||
| 8818 | + ;; | ||
| 8819 | + | ||
| 8820 | +freebsd1*) | ||
| 8821 | + dynamic_linker=no | ||
| 8822 | + ;; | ||
| 8823 | + | ||
| 8824 | +freebsd*) | ||
| 8825 | + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` | ||
| 8826 | + version_type=freebsd-$objformat | ||
| 8827 | + case "$version_type" in | ||
| 8828 | + freebsd-elf*) | ||
| 8829 | + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' | ||
| 8830 | + file_magic_cmd=/usr/bin/file | ||
| 8831 | + file_magic_test_file=`echo /usr/lib/libc.so*` | ||
| 8832 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' | ||
| 8833 | + need_version=no | ||
| 8834 | + need_lib_prefix=no | ||
| 8835 | + ;; | ||
| 8836 | + freebsd-*) | ||
| 8837 | + deplibs_check_method=unknown | ||
| 8838 | + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' | ||
| 8839 | + need_version=yes | ||
| 8840 | + ;; | ||
| 8841 | + esac | ||
| 8842 | + finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir' | ||
| 8843 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8844 | + case "$host_os" in | ||
| 8845 | + freebsd2* | freebsd3.[01]*) | ||
| 8846 | + shlibpath_overrides_runpath=yes | ||
| 8847 | + ;; | ||
| 8848 | + *) # from 3.2 on | ||
| 8849 | + shlibpath_overrides_runpath=no | ||
| 8850 | + ;; | ||
| 8851 | + esac | ||
| 8852 | + ;; | ||
| 8853 | + | ||
| 8854 | +gnu*) | ||
| 8855 | + version_type=linux | ||
| 8856 | + need_lib_prefix=no | ||
| 8857 | + need_version=no | ||
| 8858 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' | ||
| 8859 | + soname_spec='${libname}${release}.so$major' | ||
| 8860 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8861 | + ;; | ||
| 8862 | + | ||
| 8863 | +hpux9* | hpux10* | hpux11*) | ||
| 8864 | + # Give a soname corresponding to the major version so that dld.sl refuses to | ||
| 8865 | + # link against other versions. | ||
| 8866 | + dynamic_linker="$host_os dld.sl" | ||
| 8867 | + version_type=sunos | ||
| 8868 | + need_lib_prefix=no | ||
| 8869 | + need_version=no | ||
| 8870 | + shlibpath_var=SHLIB_PATH | ||
| 8871 | + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | ||
| 8872 | + library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' | ||
| 8873 | + soname_spec='${libname}${release}.sl$major' | ||
| 8874 | + # HP-UX runs *really* slowly unless shared libraries are mode 555. | ||
| 8875 | + postinstall_cmds='chmod 555 $lib' | ||
| 8876 | + ;; | ||
| 8877 | + | ||
| 8878 | +irix5* | irix6*) | ||
| 8879 | + version_type=irix | ||
| 8880 | + need_lib_prefix=no | ||
| 8881 | + need_version=no | ||
| 8882 | + soname_spec='${libname}${release}.so.$major' | ||
| 8883 | + library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so' | ||
| 8884 | + case "$host_os" in | ||
| 8885 | + irix5*) | ||
| 8886 | + libsuff= shlibsuff= | ||
| 8887 | + # this will be overridden with pass_all, but let us keep it just in case | ||
| 8888 | + deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" | ||
| 8889 | + ;; | ||
| 8890 | + *) | ||
| 8891 | + case "$LD" in # libtool.m4 will add one of these switches to LD | ||
| 8892 | + *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; | ||
| 8893 | + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; | ||
| 8894 | + *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; | ||
| 8895 | + *) libsuff= shlibsuff= libmagic=never-match;; | ||
| 8896 | + esac | ||
| 8897 | + # this will be overridden with pass_all, but let us keep it just in case | ||
| 8898 | + deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" | ||
| 8899 | + ;; | ||
| 8900 | + esac | ||
| 8901 | + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | ||
| 8902 | + shlibpath_overrides_runpath=no | ||
| 8903 | + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | ||
| 8904 | + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | ||
| 8905 | + file_magic_cmd=/usr/bin/file | ||
| 8906 | + file_magic_test_file=`echo /lib${libsuff}/libc.so*` | ||
| 8907 | + deplibs_check_method='pass_all' | ||
| 8908 | + ;; | ||
| 8909 | + | ||
| 8910 | +# No shared lib support for Linux oldld, aout, or coff. | ||
| 8911 | +linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) | ||
| 8912 | + dynamic_linker=no | ||
| 8913 | + ;; | ||
| 8914 | + | ||
| 8915 | +# This must be Linux ELF. | ||
| 8916 | +linux-gnu*) | ||
| 8917 | + version_type=linux | ||
| 8918 | + need_lib_prefix=no | ||
| 8919 | + need_version=no | ||
| 8920 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 8921 | + soname_spec='${libname}${release}.so$major' | ||
| 8922 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | ||
| 8923 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8924 | + shlibpath_overrides_runpath=no | ||
| 8925 | + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' | ||
| 8926 | + file_magic_cmd=/usr/bin/file | ||
| 8927 | + file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` | ||
| 8928 | + | ||
| 8929 | + if test -f /lib/ld.so.1; then | ||
| 8930 | + dynamic_linker='GNU ld.so' | ||
| 8931 | + else | ||
| 8932 | + # Only the GNU ld.so supports shared libraries on MkLinux. | ||
| 8933 | + case "$host_cpu" in | ||
| 8934 | + *) dynamic_linker='Linux ld.so' ;; | ||
| 8935 | + esac | ||
| 8936 | + fi | ||
| 8937 | + ;; | ||
| 8938 | + | ||
| 8939 | +netbsd*) | ||
| 8940 | + version_type=sunos | ||
| 8941 | + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then | ||
| 8942 | + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | ||
| 8943 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
| 8944 | + dynamic_linker='NetBSD (a.out) ld.so' | ||
| 8945 | + else | ||
| 8946 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' | ||
| 8947 | + soname_spec='${libname}${release}.so$major' | ||
| 8948 | + dynamic_linker='NetBSD ld.elf_so' | ||
| 8949 | + fi | ||
| 8950 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8951 | + ;; | ||
| 8952 | + | ||
| 8953 | +openbsd*) | ||
| 8954 | + version_type=sunos | ||
| 8955 | + if test "$with_gnu_ld" = yes; then | ||
| 8956 | + need_lib_prefix=no | ||
| 8957 | + need_version=no | ||
| 8958 | + fi | ||
| 8959 | + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | ||
| 8960 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
| 8961 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8962 | + ;; | ||
| 8963 | + | ||
| 8964 | +os2*) | ||
| 8965 | + libname_spec='$name' | ||
| 8966 | + need_lib_prefix=no | ||
| 8967 | + library_names_spec='$libname.dll $libname.a' | ||
| 8968 | + dynamic_linker='OS/2 ld.exe' | ||
| 8969 | + shlibpath_var=LIBPATH | ||
| 8970 | + ;; | ||
| 8971 | + | ||
| 8972 | +osf3* | osf4*) | ||
| 8973 | + version_type=osf | ||
| 8974 | + need_version=no | ||
| 8975 | + soname_spec='${libname}${release}.so' | ||
| 8976 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' | ||
| 8977 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8978 | + # this will be overridden with pass_all, but let us keep it just in case | ||
| 8979 | + deplibs_check_method='file_magic COFF format alpha shared library' | ||
| 8980 | + file_magic_cmd=/usr/bin/file | ||
| 8981 | + file_magic_test_file=/shlib/libc.so | ||
| 8982 | + deplibs_check_method='pass_all' | ||
| 8983 | + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | ||
| 8984 | + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | ||
| 8985 | + ;; | ||
| 8986 | + | ||
| 8987 | +sco3.2v5*) | ||
| 8988 | + version_type=osf | ||
| 8989 | + soname_spec='${libname}${release}.so$major' | ||
| 8990 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 8991 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 8992 | + ;; | ||
| 8993 | + | ||
| 8994 | +solaris*) | ||
| 8995 | + version_type=linux | ||
| 8996 | + need_lib_prefix=no | ||
| 8997 | + need_version=no | ||
| 8998 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 8999 | + soname_spec='${libname}${release}.so$major' | ||
| 9000 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9001 | + shlibpath_overrides_runpath=yes | ||
| 9002 | + # ldd complains unless libraries are executable | ||
| 9003 | + postinstall_cmds='chmod +x $lib' | ||
| 9004 | + deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" | ||
| 9005 | + file_magic_cmd=/usr/bin/file | ||
| 9006 | + file_magic_test_file=/lib/libc.so | ||
| 9007 | + ;; | ||
| 9008 | + | ||
| 9009 | +sunos4*) | ||
| 9010 | + version_type=sunos | ||
| 9011 | + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | ||
| 9012 | + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | ||
| 9013 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9014 | + shlibpath_overrides_runpath=yes | ||
| 9015 | + if test "$with_gnu_ld" = yes; then | ||
| 9016 | + need_lib_prefix=no | ||
| 9017 | + fi | ||
| 9018 | + need_version=yes | ||
| 9019 | + ;; | ||
| 9020 | + | ||
| 9021 | +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
| 9022 | + version_type=linux | ||
| 9023 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 9024 | + soname_spec='${libname}${release}.so$major' | ||
| 9025 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9026 | + case "$host_vendor" in | ||
| 9027 | + ncr) | ||
| 9028 | + deplibs_check_method='pass_all' | ||
| 9029 | + ;; | ||
| 9030 | + motorola) | ||
| 9031 | + need_lib_prefix=no | ||
| 9032 | + need_version=no | ||
| 9033 | + shlibpath_overrides_runpath=no | ||
| 9034 | + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | ||
| 9035 | + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' | ||
| 9036 | + file_magic_cmd=/usr/bin/file | ||
| 9037 | + file_magic_test_file=`echo /usr/lib/libc.so*` | ||
| 9038 | + ;; | ||
| 9039 | + esac | ||
| 9040 | + ;; | ||
| 9041 | + | ||
| 9042 | +uts4*) | ||
| 9043 | + version_type=linux | ||
| 9044 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 9045 | + soname_spec='${libname}${release}.so$major' | ||
| 9046 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9047 | + ;; | ||
| 9048 | + | ||
| 9049 | +dgux*) | ||
| 9050 | + version_type=linux | ||
| 9051 | + need_lib_prefix=no | ||
| 9052 | + need_version=no | ||
| 9053 | + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | ||
| 9054 | + soname_spec='${libname}${release}.so$major' | ||
| 9055 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9056 | + ;; | ||
| 9057 | + | ||
| 9058 | +sysv4*MP*) | ||
| 9059 | + if test -d /usr/nec ;then | ||
| 9060 | + version_type=linux | ||
| 9061 | + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' | ||
| 9062 | + soname_spec='$libname.so.$major' | ||
| 9063 | + shlibpath_var=LD_LIBRARY_PATH | ||
| 9064 | + fi | ||
| 9065 | + ;; | ||
| 9066 | + | ||
| 9067 | +*) | ||
| 9068 | + dynamic_linker=no | ||
| 9069 | + ;; | ||
| 9070 | +esac | ||
| 9071 | +echo "$ac_t$dynamic_linker" 1>&6 | ||
| 9072 | +test "$dynamic_linker" = no && can_build_shared=no | ||
| 9073 | + | ||
| 9074 | +# Report the final consequences. | ||
| 9075 | +echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 | ||
| 9076 | + | ||
| 9077 | +# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in | ||
| 9078 | +# configure.in, otherwise build static only libraries. | ||
| 9079 | +case "$host_os" in | ||
| 9080 | +cygwin* | mingw* | os2*) | ||
| 9081 | + if test x$can_build_shared = xyes; then | ||
| 9082 | + test x$enable_win32_dll = xno && can_build_shared=no | ||
| 9083 | + echo "checking if package supports dlls... $can_build_shared" 1>&6 | ||
| 9084 | + fi | ||
| 9085 | +;; | ||
| 9086 | +esac | ||
| 9087 | + | ||
| 9088 | +if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then | ||
| 9089 | + case "$deplibs_check_method" in | ||
| 9090 | + "file_magic "*) | ||
| 9091 | + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" | ||
| 9092 | + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
| 9093 | + egrep "$file_magic_regex" > /dev/null; then | ||
| 9094 | + : | ||
| 9095 | + else | ||
| 9096 | + cat <<EOF 1>&2 | ||
| 9097 | + | ||
| 9098 | +*** Warning: the command libtool uses to detect shared libraries, | ||
| 9099 | +*** $file_magic_cmd, produces output that libtool cannot recognize. | ||
| 9100 | +*** The result is that libtool may fail to recognize shared libraries | ||
| 9101 | +*** as such. This will affect the creation of libtool libraries that | ||
| 9102 | +*** depend on shared libraries, but programs linked with such libtool | ||
| 9103 | +*** libraries will work regardless of this problem. Nevertheless, you | ||
| 9104 | +*** may want to report the problem to your system manager and/or to | ||
| 9105 | +*** bug-libtool@gnu.org | ||
| 9106 | + | ||
| 9107 | +EOF | ||
| 9108 | + fi ;; | ||
| 9109 | + esac | ||
| 9110 | +fi | ||
| 9111 | + | ||
| 9112 | +echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 | ||
| 9113 | +test "$can_build_shared" = "no" && enable_shared=no | ||
| 9114 | + | ||
| 9115 | +# On AIX, shared libraries and static libraries use the same namespace, and | ||
| 9116 | +# are all built from PIC. | ||
| 9117 | +case "$host_os" in | ||
| 9118 | +aix3*) | ||
| 9119 | + test "$enable_shared" = yes && enable_static=no | ||
| 9120 | + if test -n "$RANLIB"; then | ||
| 9121 | + archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
| 9122 | + postinstall_cmds='$RANLIB $lib' | ||
| 9123 | + fi | ||
| 9124 | + ;; | ||
| 9125 | + | ||
| 9126 | +aix4*) | ||
| 9127 | + test "$enable_shared" = yes && enable_static=no | ||
| 9128 | + ;; | ||
| 9129 | +esac | ||
| 9130 | + | ||
| 9131 | +echo "$ac_t$enable_shared" 1>&6 | ||
| 9132 | + | ||
| 9133 | +# Make sure either enable_shared or enable_static is yes. | ||
| 9134 | +test "$enable_shared" = yes || enable_static=yes | ||
| 9135 | + | ||
| 9136 | +echo "checking whether to build static libraries... $enable_static" 1>&6 | ||
| 9137 | + | ||
| 9138 | +if test "$hardcode_action" = relink; then | ||
| 9139 | + # Fast installation is not supported | ||
| 9140 | + enable_fast_install=no | ||
| 9141 | +elif test "$shlibpath_overrides_runpath" = yes || | ||
| 9142 | + test "$enable_shared" = no; then | ||
| 9143 | + # Fast installation is not necessary | ||
| 9144 | + enable_fast_install=needless | ||
| 9145 | +fi | ||
| 9146 | + | ||
| 9147 | +echo $ac_n "checking for objdir... $ac_c" 1>&6 | ||
| 9148 | +rm -f .libs 2>/dev/null | ||
| 9149 | +mkdir .libs 2>/dev/null | ||
| 9150 | +if test -d .libs; then | ||
| 9151 | + objdir=.libs | ||
| 9152 | +else | ||
| 9153 | + # MS-DOS does not allow filenames that begin with a dot. | ||
| 9154 | + objdir=_libs | ||
| 9155 | +fi | ||
| 9156 | +rmdir .libs 2>/dev/null | ||
| 9157 | +echo "$ac_t$objdir" 1>&6 | ||
| 9158 | + | ||
| 9159 | +if test "x$enable_dlopen" != xyes; then | ||
| 9160 | + enable_dlopen=unknown | ||
| 9161 | + enable_dlopen_self=unknown | ||
| 9162 | + enable_dlopen_self_static=unknown | ||
| 9163 | +else | ||
| 9164 | +if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then | ||
| 9165 | + lt_cv_dlopen=no lt_cv_dlopen_libs= | ||
| 9166 | +echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 | ||
| 9167 | +echo "$progname:2170: checking for dlopen in -ldl" >&5 | ||
| 9168 | +ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` | ||
| 9169 | +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then | ||
| 9170 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9171 | +else | ||
| 9172 | + ac_save_LIBS="$LIBS" | ||
| 9173 | +LIBS="-ldl $LIBS" | ||
| 9174 | +cat > conftest.$ac_ext <<EOF | ||
| 9175 | +#line 2178 "ltconfig" | ||
| 9176 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 9177 | +/* We use char because int might match the return type of a gcc2 | ||
| 9178 | + builtin and then its argument prototype would still apply. */ | ||
| 9179 | +char dlopen(); | ||
| 9180 | + | ||
| 9181 | +int main() { | ||
| 9182 | +dlopen() | ||
| 9183 | +; return 0; } | ||
| 9184 | +EOF | ||
| 9185 | +if { (eval echo $progname:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
| 9186 | + rm -rf conftest* | ||
| 9187 | + eval "ac_cv_lib_$ac_lib_var=yes" | ||
| 9188 | +else | ||
| 9189 | + echo "$progname: failed program was:" >&5 | ||
| 9190 | + cat conftest.$ac_ext >&5 | ||
| 9191 | + rm -rf conftest* | ||
| 9192 | + eval "ac_cv_lib_$ac_lib_var=no" | ||
| 9193 | +fi | ||
| 9194 | +rm -f conftest* | ||
| 9195 | +LIBS="$ac_save_LIBS" | ||
| 9196 | + | ||
| 9197 | +fi | ||
| 9198 | +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then | ||
| 9199 | + echo "$ac_t""yes" 1>&6 | ||
| 9200 | + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" | ||
| 9201 | +else | ||
| 9202 | + echo "$ac_t""no" 1>&6 | ||
| 9203 | +echo $ac_n "checking for dlopen""... $ac_c" 1>&6 | ||
| 9204 | +echo "$progname:2207: checking for dlopen" >&5 | ||
| 9205 | +if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then | ||
| 9206 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9207 | +else | ||
| 9208 | + cat > conftest.$ac_ext <<EOF | ||
| 9209 | +#line 2212 "ltconfig" | ||
| 9210 | +/* System header to define __stub macros and hopefully few prototypes, | ||
| 9211 | + which can conflict with char dlopen(); below. */ | ||
| 9212 | +#include <assert.h> | ||
| 9213 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 9214 | +/* We use char because int might match the return type of a gcc2 | ||
| 9215 | + builtin and then its argument prototype would still apply. */ | ||
| 9216 | +char dlopen(); | ||
| 9217 | + | ||
| 9218 | +int main() { | ||
| 9219 | + | ||
| 9220 | +/* The GNU C library defines this for functions which it implements | ||
| 9221 | + to always fail with ENOSYS. Some functions are actually named | ||
| 9222 | + something starting with __ and the normal name is an alias. */ | ||
| 9223 | +#if defined (__stub_dlopen) || defined (__stub___dlopen) | ||
| 9224 | +choke me | ||
| 9225 | +#else | ||
| 9226 | +dlopen(); | ||
| 9227 | +#endif | ||
| 9228 | + | ||
| 9229 | +; return 0; } | ||
| 9230 | +EOF | ||
| 9231 | +if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
| 9232 | + rm -rf conftest* | ||
| 9233 | + eval "ac_cv_func_dlopen=yes" | ||
| 9234 | +else | ||
| 9235 | + echo "$progname: failed program was:" >&5 | ||
| 9236 | + cat conftest.$ac_ext >&5 | ||
| 9237 | + rm -rf conftest* | ||
| 9238 | + eval "ac_cv_func_dlopen=no" | ||
| 9239 | +fi | ||
| 9240 | +rm -f conftest* | ||
| 9241 | +fi | ||
| 9242 | +if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then | ||
| 9243 | + echo "$ac_t""yes" 1>&6 | ||
| 9244 | + lt_cv_dlopen="dlopen" | ||
| 9245 | +else | ||
| 9246 | + echo "$ac_t""no" 1>&6 | ||
| 9247 | +echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 | ||
| 9248 | +echo "$progname:2251: checking for dld_link in -ldld" >&5 | ||
| 9249 | +ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` | ||
| 9250 | +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then | ||
| 9251 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9252 | +else | ||
| 9253 | + ac_save_LIBS="$LIBS" | ||
| 9254 | +LIBS="-ldld $LIBS" | ||
| 9255 | +cat > conftest.$ac_ext <<EOF | ||
| 9256 | +#line 2259 "ltconfig" | ||
| 9257 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 9258 | +/* We use char because int might match the return type of a gcc2 | ||
| 9259 | + builtin and then its argument prototype would still apply. */ | ||
| 9260 | +char dld_link(); | ||
| 9261 | + | ||
| 9262 | +int main() { | ||
| 9263 | +dld_link() | ||
| 9264 | +; return 0; } | ||
| 9265 | +EOF | ||
| 9266 | +if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
| 9267 | + rm -rf conftest* | ||
| 9268 | + eval "ac_cv_lib_$ac_lib_var=yes" | ||
| 9269 | +else | ||
| 9270 | + echo "$progname: failed program was:" >&5 | ||
| 9271 | + cat conftest.$ac_ext >&5 | ||
| 9272 | + rm -rf conftest* | ||
| 9273 | + eval "ac_cv_lib_$ac_lib_var=no" | ||
| 9274 | +fi | ||
| 9275 | +rm -f conftest* | ||
| 9276 | +LIBS="$ac_save_LIBS" | ||
| 9277 | + | ||
| 9278 | +fi | ||
| 9279 | +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then | ||
| 9280 | + echo "$ac_t""yes" 1>&6 | ||
| 9281 | + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" | ||
| 9282 | +else | ||
| 9283 | + echo "$ac_t""no" 1>&6 | ||
| 9284 | +echo $ac_n "checking for shl_load""... $ac_c" 1>&6 | ||
| 9285 | +echo "$progname:2288: checking for shl_load" >&5 | ||
| 9286 | +if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then | ||
| 9287 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9288 | +else | ||
| 9289 | + cat > conftest.$ac_ext <<EOF | ||
| 9290 | +#line 2293 "ltconfig" | ||
| 9291 | +/* System header to define __stub macros and hopefully few prototypes, | ||
| 9292 | + which can conflict with char shl_load(); below. */ | ||
| 9293 | +#include <assert.h> | ||
| 9294 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 9295 | +/* We use char because int might match the return type of a gcc2 | ||
| 9296 | + builtin and then its argument prototype would still apply. */ | ||
| 9297 | +char shl_load(); | ||
| 9298 | + | ||
| 9299 | +int main() { | ||
| 9300 | + | ||
| 9301 | +/* The GNU C library defines this for functions which it implements | ||
| 9302 | + to always fail with ENOSYS. Some functions are actually named | ||
| 9303 | + something starting with __ and the normal name is an alias. */ | ||
| 9304 | +#if defined (__stub_shl_load) || defined (__stub___shl_load) | ||
| 9305 | +choke me | ||
| 9306 | +#else | ||
| 9307 | +shl_load(); | ||
| 9308 | +#endif | ||
| 9309 | + | ||
| 9310 | +; return 0; } | ||
| 9311 | +EOF | ||
| 9312 | +if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
| 9313 | + rm -rf conftest* | ||
| 9314 | + eval "ac_cv_func_shl_load=yes" | ||
| 9315 | +else | ||
| 9316 | + echo "$progname: failed program was:" >&5 | ||
| 9317 | + cat conftest.$ac_ext >&5 | ||
| 9318 | + rm -rf conftest* | ||
| 9319 | + eval "ac_cv_func_shl_load=no" | ||
| 9320 | +fi | ||
| 9321 | +rm -f conftest* | ||
| 9322 | +fi | ||
| 9323 | + | ||
| 9324 | +if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then | ||
| 9325 | + echo "$ac_t""yes" 1>&6 | ||
| 9326 | + lt_cv_dlopen="shl_load" | ||
| 9327 | +else | ||
| 9328 | + echo "$ac_t""no" 1>&6 | ||
| 9329 | +echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 | ||
| 9330 | +echo "$progname:2333: checking for shl_load in -ldld" >&5 | ||
| 9331 | +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` | ||
| 9332 | +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then | ||
| 9333 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9334 | +else | ||
| 9335 | + ac_save_LIBS="$LIBS" | ||
| 9336 | +LIBS="-ldld $LIBS" | ||
| 9337 | +cat > conftest.$ac_ext <<EOF | ||
| 9338 | +#line 2341 "ltconfig" | ||
| 9339 | +#include "confdefs.h" | ||
| 9340 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 9341 | +/* We use char because int might match the return type of a gcc2 | ||
| 9342 | + builtin and then its argument prototype would still apply. */ | ||
| 9343 | +char shl_load(); | ||
| 9344 | + | ||
| 9345 | +int main() { | ||
| 9346 | +shl_load() | ||
| 9347 | +; return 0; } | ||
| 9348 | +EOF | ||
| 9349 | +if { (eval echo $progname:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
| 9350 | + rm -rf conftest* | ||
| 9351 | + eval "ac_cv_lib_$ac_lib_var=yes" | ||
| 9352 | +else | ||
| 9353 | + echo "$progname: failed program was:" >&5 | ||
| 9354 | + cat conftest.$ac_ext >&5 | ||
| 9355 | + rm -rf conftest* | ||
| 9356 | + eval "ac_cv_lib_$ac_lib_var=no" | ||
| 9357 | +fi | ||
| 9358 | +rm -f conftest* | ||
| 9359 | +LIBS="$ac_save_LIBS" | ||
| 9360 | + | ||
| 9361 | +fi | ||
| 9362 | +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then | ||
| 9363 | + echo "$ac_t""yes" 1>&6 | ||
| 9364 | + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" | ||
| 9365 | +else | ||
| 9366 | + echo "$ac_t""no" 1>&6 | ||
| 9367 | +fi | ||
| 9368 | + | ||
| 9369 | + | ||
| 9370 | +fi | ||
| 9371 | + | ||
| 9372 | + | ||
| 9373 | +fi | ||
| 9374 | + | ||
| 9375 | + | ||
| 9376 | +fi | ||
| 9377 | + | ||
| 9378 | + | ||
| 9379 | +fi | ||
| 9380 | + | ||
| 9381 | +fi | ||
| 9382 | + | ||
| 9383 | + if test "x$lt_cv_dlopen" != xno; then | ||
| 9384 | + enable_dlopen=yes | ||
| 9385 | + fi | ||
| 9386 | + | ||
| 9387 | + case "$lt_cv_dlopen" in | ||
| 9388 | + dlopen) | ||
| 9389 | +for ac_hdr in dlfcn.h; do | ||
| 9390 | +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` | ||
| 9391 | +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 | ||
| 9392 | +echo "$progname:2395: checking for $ac_hdr" >&5 | ||
| 9393 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
| 9394 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9395 | +else | ||
| 9396 | + cat > conftest.$ac_ext <<EOF | ||
| 9397 | +#line 2400 "ltconfig" | ||
| 9398 | +#include <$ac_hdr> | ||
| 9399 | +int fnord = 0; | ||
| 9400 | +EOF | ||
| 9401 | +ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out" | ||
| 9402 | +{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
| 9403 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
| 9404 | +if test -z "$ac_err"; then | ||
| 9405 | + rm -rf conftest* | ||
| 9406 | + eval "ac_cv_header_$ac_safe=yes" | ||
| 9407 | +else | ||
| 9408 | + echo "$ac_err" >&5 | ||
| 9409 | + echo "$progname: failed program was:" >&5 | ||
| 9410 | + cat conftest.$ac_ext >&5 | ||
| 9411 | + rm -rf conftest* | ||
| 9412 | + eval "ac_cv_header_$ac_safe=no" | ||
| 9413 | +fi | ||
| 9414 | +rm -f conftest* | ||
| 9415 | +fi | ||
| 9416 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
| 9417 | + echo "$ac_t""yes" 1>&6 | ||
| 9418 | +else | ||
| 9419 | + echo "$ac_t""no" 1>&6 | ||
| 9420 | +fi | ||
| 9421 | +done | ||
| 9422 | + | ||
| 9423 | + if test "x$ac_cv_header_dlfcn_h" = xyes; then | ||
| 9424 | + CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | ||
| 9425 | + fi | ||
| 9426 | + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | ||
| 9427 | + LIBS="$lt_cv_dlopen_libs $LIBS" | ||
| 9428 | + | ||
| 9429 | + echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 | ||
| 9430 | +echo "$progname:2433: checking whether a program can dlopen itself" >&5 | ||
| 9431 | +if test "${lt_cv_dlopen_self+set}" = set; then | ||
| 9432 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9433 | +else | ||
| 9434 | + if test "$cross_compiling" = yes; then | ||
| 9435 | + lt_cv_dlopen_self=cross | ||
| 9436 | + else | ||
| 9437 | + cat > conftest.c <<EOF | ||
| 9438 | +#line 2441 "ltconfig" | ||
| 9439 | + | ||
| 9440 | +#if HAVE_DLFCN_H | ||
| 9441 | +#include <dlfcn.h> | ||
| 9442 | +#endif | ||
| 9443 | + | ||
| 9444 | +#include <stdio.h> | ||
| 9445 | + | ||
| 9446 | +#ifdef RTLD_GLOBAL | ||
| 9447 | +# define LTDL_GLOBAL RTLD_GLOBAL | ||
| 9448 | +#else | ||
| 9449 | +# ifdef DL_GLOBAL | ||
| 9450 | +# define LTDL_GLOBAL DL_GLOBAL | ||
| 9451 | +# else | ||
| 9452 | +# define LTDL_GLOBAL 0 | ||
| 9453 | +# endif | ||
| 9454 | +#endif | ||
| 9455 | + | ||
| 9456 | +/* We may have to define LTDL_LAZY_OR_NOW in the command line if we | ||
| 9457 | + find out it does not work in some platform. */ | ||
| 9458 | +#ifndef LTDL_LAZY_OR_NOW | ||
| 9459 | +# ifdef RTLD_LAZY | ||
| 9460 | +# define LTDL_LAZY_OR_NOW RTLD_LAZY | ||
| 9461 | +# else | ||
| 9462 | +# ifdef DL_LAZY | ||
| 9463 | +# define LTDL_LAZY_OR_NOW DL_LAZY | ||
| 9464 | +# else | ||
| 9465 | +# ifdef RTLD_NOW | ||
| 9466 | +# define LTDL_LAZY_OR_NOW RTLD_NOW | ||
| 9467 | +# else | ||
| 9468 | +# ifdef DL_NOW | ||
| 9469 | +# define LTDL_LAZY_OR_NOW DL_NOW | ||
| 9470 | +# else | ||
| 9471 | +# define LTDL_LAZY_OR_NOW 0 | ||
| 9472 | +# endif | ||
| 9473 | +# endif | ||
| 9474 | +# endif | ||
| 9475 | +# endif | ||
| 9476 | +#endif | ||
| 9477 | + | ||
| 9478 | +fnord() { int i=42;} | ||
| 9479 | +main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); | ||
| 9480 | + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); | ||
| 9481 | + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } | ||
| 9482 | + | ||
| 9483 | +EOF | ||
| 9484 | +if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null | ||
| 9485 | +then | ||
| 9486 | + lt_cv_dlopen_self=yes | ||
| 9487 | +else | ||
| 9488 | + echo "$progname: failed program was:" >&5 | ||
| 9489 | + cat conftest.$ac_ext >&5 | ||
| 9490 | + rm -fr conftest* | ||
| 9491 | + lt_cv_dlopen_self=no | ||
| 9492 | +fi | ||
| 9493 | +rm -fr conftest* | ||
| 9494 | +fi | ||
| 9495 | + | ||
| 9496 | +fi | ||
| 9497 | + | ||
| 9498 | +echo "$ac_t""$lt_cv_dlopen_self" 1>&6 | ||
| 9499 | + | ||
| 9500 | + if test "$lt_cv_dlopen_self" = yes; then | ||
| 9501 | + LDFLAGS="$LDFLAGS $link_static_flag" | ||
| 9502 | + echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 | ||
| 9503 | +echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5 | ||
| 9504 | +if test "${lt_cv_dlopen_self_static+set}" = set; then | ||
| 9505 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
| 9506 | +else | ||
| 9507 | + if test "$cross_compiling" = yes; then | ||
| 9508 | + lt_cv_dlopen_self_static=cross | ||
| 9509 | + else | ||
| 9510 | + cat > conftest.c <<EOF | ||
| 9511 | +#line 2514 "ltconfig" | ||
| 9512 | + | ||
| 9513 | +#if HAVE_DLFCN_H | ||
| 9514 | +#include <dlfcn.h> | ||
| 9515 | +#endif | ||
| 9516 | + | ||
| 9517 | +#include <stdio.h> | ||
| 9518 | + | ||
| 9519 | +#ifdef RTLD_GLOBAL | ||
| 9520 | +# define LTDL_GLOBAL RTLD_GLOBAL | ||
| 9521 | +#else | ||
| 9522 | +# ifdef DL_GLOBAL | ||
| 9523 | +# define LTDL_GLOBAL DL_GLOBAL | ||
| 9524 | +# else | ||
| 9525 | +# define LTDL_GLOBAL 0 | ||
| 9526 | +# endif | ||
| 9527 | +#endif | ||
| 9528 | + | ||
| 9529 | +/* We may have to define LTDL_LAZY_OR_NOW in the command line if we | ||
| 9530 | + find out it does not work in some platform. */ | ||
| 9531 | +#ifndef LTDL_LAZY_OR_NOW | ||
| 9532 | +# ifdef RTLD_LAZY | ||
| 9533 | +# define LTDL_LAZY_OR_NOW RTLD_LAZY | ||
| 9534 | +# else | ||
| 9535 | +# ifdef DL_LAZY | ||
| 9536 | +# define LTDL_LAZY_OR_NOW DL_LAZY | ||
| 9537 | +# else | ||
| 9538 | +# ifdef RTLD_NOW | ||
| 9539 | +# define LTDL_LAZY_OR_NOW RTLD_NOW | ||
| 9540 | +# else | ||
| 9541 | +# ifdef DL_NOW | ||
| 9542 | +# define LTDL_LAZY_OR_NOW DL_NOW | ||
| 9543 | +# else | ||
| 9544 | +# define LTDL_LAZY_OR_NOW 0 | ||
| 9545 | +# endif | ||
| 9546 | +# endif | ||
| 9547 | +# endif | ||
| 9548 | +# endif | ||
| 9549 | +#endif | ||
| 9550 | + | ||
| 9551 | +fnord() { int i=42;} | ||
| 9552 | +main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); | ||
| 9553 | + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); | ||
| 9554 | + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } | ||
| 9555 | + | ||
| 9556 | +EOF | ||
| 9557 | +if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null | ||
| 9558 | +then | ||
| 9559 | + lt_cv_dlopen_self_static=yes | ||
| 9560 | +else | ||
| 9561 | + echo "$progname: failed program was:" >&5 | ||
| 9562 | + cat conftest.$ac_ext >&5 | ||
| 9563 | + rm -fr conftest* | ||
| 9564 | + lt_cv_dlopen_self_static=no | ||
| 9565 | +fi | ||
| 9566 | +rm -fr conftest* | ||
| 9567 | +fi | ||
| 9568 | + | ||
| 9569 | +fi | ||
| 9570 | + | ||
| 9571 | +echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 | ||
| 9572 | +fi | ||
| 9573 | + ;; | ||
| 9574 | + esac | ||
| 9575 | + | ||
| 9576 | + case "$lt_cv_dlopen_self" in | ||
| 9577 | + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | ||
| 9578 | + *) enable_dlopen_self=unknown ;; | ||
| 9579 | + esac | ||
| 9580 | + | ||
| 9581 | + case "$lt_cv_dlopen_self_static" in | ||
| 9582 | + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | ||
| 9583 | + *) enable_dlopen_self_static=unknown ;; | ||
| 9584 | + esac | ||
| 9585 | +fi | ||
| 9586 | + | ||
| 9587 | +# Copy echo and quote the copy, instead of the original, because it is | ||
| 9588 | +# used later. | ||
| 9589 | +ltecho="$echo" | ||
| 9590 | +if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then | ||
| 9591 | + ltecho="$CONFIG_SHELL \$0 --fallback-echo" | ||
| 9592 | +fi | ||
| 9593 | +LTSHELL="$SHELL" | ||
| 9594 | + | ||
| 9595 | +LTCONFIG_VERSION="$VERSION" | ||
| 9596 | + | ||
| 9597 | +# Only quote variables if we're using ltmain.sh. | ||
| 9598 | +case "$ltmain" in | ||
| 9599 | +*.sh) | ||
| 9600 | + # Now quote all the things that may contain metacharacters. | ||
| 9601 | + for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \ | ||
| 9602 | + old_LD old_LDFLAGS old_LIBS \ | ||
| 9603 | + old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \ | ||
| 9604 | + AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ | ||
| 9605 | + reload_flag reload_cmds wl \ | ||
| 9606 | + pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ | ||
| 9607 | + thread_safe_flag_spec whole_archive_flag_spec libname_spec \ | ||
| 9608 | + library_names_spec soname_spec \ | ||
| 9609 | + RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ | ||
| 9610 | + old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \ | ||
| 9611 | + file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \ | ||
| 9612 | + finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ | ||
| 9613 | + hardcode_libdir_flag_spec hardcode_libdir_separator \ | ||
| 9614 | + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ | ||
| 9615 | + compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do | ||
| 9616 | + | ||
| 9617 | + case "$var" in | ||
| 9618 | + reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ | ||
| 9619 | + old_postinstall_cmds | old_postuninstall_cmds | \ | ||
| 9620 | + export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ | ||
| 9621 | + postinstall_cmds | postuninstall_cmds | \ | ||
| 9622 | + finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) | ||
| 9623 | + # Double-quote double-evaled strings. | ||
| 9624 | + eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" | ||
| 9625 | + ;; | ||
| 9626 | + *) | ||
| 9627 | + eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" | ||
| 9628 | + ;; | ||
| 9629 | + esac | ||
| 9630 | + done | ||
| 9631 | + | ||
| 9632 | + case "$ltecho" in | ||
| 9633 | + *'\$0 --fallback-echo"') | ||
| 9634 | + ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` | ||
| 9635 | + ;; | ||
| 9636 | + esac | ||
| 9637 | + | ||
| 9638 | + trap "$rm \"$ofile\"; exit 1" 1 2 15 | ||
| 9639 | + echo "creating $ofile" | ||
| 9640 | + $rm "$ofile" | ||
| 9641 | + cat <<EOF > "$ofile" | ||
| 9642 | +#! $SHELL | ||
| 9643 | + | ||
| 9644 | +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | ||
| 9645 | +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) | ||
| 9646 | +# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. | ||
| 9647 | +# | ||
| 9648 | +# Copyright (C) 1996-1999 Free Software Foundation, Inc. | ||
| 9649 | +# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | ||
| 9650 | +# | ||
| 9651 | +# This program is free software; you can redistribute it and/or modify | ||
| 9652 | +# it under the terms of the GNU General Public License as published by | ||
| 9653 | +# the Free Software Foundation; either version 2 of the License, or | ||
| 9654 | +# (at your option) any later version. | ||
| 9655 | +# | ||
| 9656 | +# This program is distributed in the hope that it will be useful, but | ||
| 9657 | +# WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9658 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 9659 | +# General Public License for more details. | ||
| 9660 | +# | ||
| 9661 | +# You should have received a copy of the GNU General Public License | ||
| 9662 | +# along with this program; if not, write to the Free Software | ||
| 9663 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 9664 | +# | ||
| 9665 | +# As a special exception to the GNU General Public License, if you | ||
| 9666 | +# distribute this file as part of a program that contains a | ||
| 9667 | +# configuration script generated by Autoconf, you may include it under | ||
| 9668 | +# the same distribution terms that you use for the rest of that program. | ||
| 9669 | + | ||
| 9670 | +# Sed that helps us avoid accidentally triggering echo(1) options like -n. | ||
| 9671 | +Xsed="sed -e s/^X//" | ||
| 9672 | + | ||
| 9673 | +# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
| 9674 | +# if CDPATH is set. | ||
| 9675 | +if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi | ||
| 9676 | + | ||
| 9677 | +### BEGIN LIBTOOL CONFIG | ||
| 9678 | +EOF | ||
| 9679 | + cfgfile="$ofile" | ||
| 9680 | + ;; | ||
| 9681 | + | ||
| 9682 | +*) | ||
| 9683 | + # Double-quote the variables that need it (for aesthetics). | ||
| 9684 | + for var in old_CC old_CFLAGS old_CPPFLAGS \ | ||
| 9685 | + old_LD old_LDFLAGS old_LIBS \ | ||
| 9686 | + old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do | ||
| 9687 | + eval "$var=\\\"\$var\\\"" | ||
| 9688 | + done | ||
| 9689 | + | ||
| 9690 | + # Just create a config file. | ||
| 9691 | + cfgfile="$ofile.cfg" | ||
| 9692 | + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 | ||
| 9693 | + echo "creating $cfgfile" | ||
| 9694 | + $rm "$cfgfile" | ||
| 9695 | + cat <<EOF > "$cfgfile" | ||
| 9696 | +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. | ||
| 9697 | +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) | ||
| 9698 | +EOF | ||
| 9699 | + ;; | ||
| 9700 | +esac | ||
| 9701 | + | ||
| 9702 | +cat <<EOF >> "$cfgfile" | ||
| 9703 | +# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
| 9704 | +# | ||
| 9705 | +# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\ | ||
| 9706 | +# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\ | ||
| 9707 | +# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\ | ||
| 9708 | +# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\ | ||
| 9709 | +# $0$ltconfig_args | ||
| 9710 | +# | ||
| 9711 | +# Compiler and other test output produced by $progname, useful for | ||
| 9712 | +# debugging $progname, is in ./config.log if it exists. | ||
| 9713 | + | ||
| 9714 | +# The version of $progname that generated this script. | ||
| 9715 | +LTCONFIG_VERSION=$LTCONFIG_VERSION | ||
| 9716 | + | ||
| 9717 | +# Shell to use when invoking shell scripts. | ||
| 9718 | +SHELL=$LTSHELL | ||
| 9719 | + | ||
| 9720 | +# Whether or not to build shared libraries. | ||
| 9721 | +build_libtool_libs=$enable_shared | ||
| 9722 | + | ||
| 9723 | +# Whether or not to build static libraries. | ||
| 9724 | +build_old_libs=$enable_static | ||
| 9725 | + | ||
| 9726 | +# Whether or not to optimize for fast installation. | ||
| 9727 | +fast_install=$enable_fast_install | ||
| 9728 | + | ||
| 9729 | +# The host system. | ||
| 9730 | +host_alias=$host_alias | ||
| 9731 | +host=$host | ||
| 9732 | + | ||
| 9733 | +# An echo program that does not interpret backslashes. | ||
| 9734 | +echo=$ltecho | ||
| 9735 | + | ||
| 9736 | +# The archiver. | ||
| 9737 | +AR=$AR | ||
| 9738 | + | ||
| 9739 | +# The default C compiler. | ||
| 9740 | +CC=$CC | ||
| 9741 | + | ||
| 9742 | +# The linker used to build libraries. | ||
| 9743 | +LD=$LD | ||
| 9744 | + | ||
| 9745 | +# Whether we need hard or soft links. | ||
| 9746 | +LN_S=$LN_S | ||
| 9747 | + | ||
| 9748 | +# A BSD-compatible nm program. | ||
| 9749 | +NM=$NM | ||
| 9750 | + | ||
| 9751 | +# Used on cygwin: DLL creation program. | ||
| 9752 | +DLLTOOL="$DLLTOOL" | ||
| 9753 | + | ||
| 9754 | +# Used on cygwin: object dumper. | ||
| 9755 | +OBJDUMP="$OBJDUMP" | ||
| 9756 | + | ||
| 9757 | +# Used on cygwin: assembler. | ||
| 9758 | +AS="$AS" | ||
| 9759 | + | ||
| 9760 | +# The name of the directory that contains temporary libtool files. | ||
| 9761 | +objdir=$objdir | ||
| 9762 | + | ||
| 9763 | +# How to create reloadable object files. | ||
| 9764 | +reload_flag=$reload_flag | ||
| 9765 | +reload_cmds=$reload_cmds | ||
| 9766 | + | ||
| 9767 | +# How to pass a linker flag through the compiler. | ||
| 9768 | +wl=$wl | ||
| 9769 | + | ||
| 9770 | +# Object file suffix (normally "o"). | ||
| 9771 | +objext="$objext" | ||
| 9772 | + | ||
| 9773 | +# Old archive suffix (normally "a"). | ||
| 9774 | +libext="$libext" | ||
| 9775 | + | ||
| 9776 | +# Executable file suffix (normally ""). | ||
| 9777 | +exeext="$exeext" | ||
| 9778 | + | ||
| 9779 | +# Additional compiler flags for building library objects. | ||
| 9780 | +pic_flag=$pic_flag | ||
| 9781 | + | ||
| 9782 | +# Does compiler simultaneously support -c and -o options? | ||
| 9783 | +compiler_c_o=$compiler_c_o | ||
| 9784 | + | ||
| 9785 | +# Can we write directly to a .lo ? | ||
| 9786 | +compiler_o_lo=$compiler_o_lo | ||
| 9787 | + | ||
| 9788 | +# Must we lock files when doing compilation ? | ||
| 9789 | +need_locks=$need_locks | ||
| 9790 | + | ||
| 9791 | +# Do we need the lib prefix for modules? | ||
| 9792 | +need_lib_prefix=$need_lib_prefix | ||
| 9793 | + | ||
| 9794 | +# Do we need a version for libraries? | ||
| 9795 | +need_version=$need_version | ||
| 9796 | + | ||
| 9797 | +# Whether dlopen is supported. | ||
| 9798 | +dlopen=$enable_dlopen | ||
| 9799 | + | ||
| 9800 | +# Whether dlopen of programs is supported. | ||
| 9801 | +dlopen_self=$enable_dlopen_self | ||
| 9802 | + | ||
| 9803 | +# Whether dlopen of statically linked programs is supported. | ||
| 9804 | +dlopen_self_static=$enable_dlopen_self_static | ||
| 9805 | + | ||
| 9806 | +# Compiler flag to prevent dynamic linking. | ||
| 9807 | +link_static_flag=$link_static_flag | ||
| 9808 | + | ||
| 9809 | +# Compiler flag to turn off builtin functions. | ||
| 9810 | +no_builtin_flag=$no_builtin_flag | ||
| 9811 | + | ||
| 9812 | +# Compiler flag to allow reflexive dlopens. | ||
| 9813 | +export_dynamic_flag_spec=$export_dynamic_flag_spec | ||
| 9814 | + | ||
| 9815 | +# Compiler flag to generate shared objects directly from archives. | ||
| 9816 | +whole_archive_flag_spec=$whole_archive_flag_spec | ||
| 9817 | + | ||
| 9818 | +# Compiler flag to generate thread-safe objects. | ||
| 9819 | +thread_safe_flag_spec=$thread_safe_flag_spec | ||
| 9820 | + | ||
| 9821 | +# Library versioning type. | ||
| 9822 | +version_type=$version_type | ||
| 9823 | + | ||
| 9824 | +# Format of library name prefix. | ||
| 9825 | +libname_spec=$libname_spec | ||
| 9826 | + | ||
| 9827 | +# List of archive names. First name is the real one, the rest are links. | ||
| 9828 | +# The last name is the one that the linker finds with -lNAME. | ||
| 9829 | +library_names_spec=$library_names_spec | ||
| 9830 | + | ||
| 9831 | +# The coded name of the library, if different from the real name. | ||
| 9832 | +soname_spec=$soname_spec | ||
| 9833 | + | ||
| 9834 | +# Commands used to build and install an old-style archive. | ||
| 9835 | +RANLIB=$RANLIB | ||
| 9836 | +old_archive_cmds=$old_archive_cmds | ||
| 9837 | +old_postinstall_cmds=$old_postinstall_cmds | ||
| 9838 | +old_postuninstall_cmds=$old_postuninstall_cmds | ||
| 9839 | + | ||
| 9840 | +# Create an old-style archive from a shared archive. | ||
| 9841 | +old_archive_from_new_cmds=$old_archive_from_new_cmds | ||
| 9842 | + | ||
| 9843 | +# Commands used to build and install a shared archive. | ||
| 9844 | +archive_cmds=$archive_cmds | ||
| 9845 | +archive_expsym_cmds=$archive_expsym_cmds | ||
| 9846 | +postinstall_cmds=$postinstall_cmds | ||
| 9847 | +postuninstall_cmds=$postuninstall_cmds | ||
| 9848 | + | ||
| 9849 | +# Method to check whether dependent libraries are shared objects. | ||
| 9850 | +deplibs_check_method=$deplibs_check_method | ||
| 9851 | + | ||
| 9852 | +# Command to use when deplibs_check_method == file_magic. | ||
| 9853 | +file_magic_cmd=$file_magic_cmd | ||
| 9854 | + | ||
| 9855 | +# Flag that allows shared libraries with undefined symbols to be built. | ||
| 9856 | +allow_undefined_flag=$allow_undefined_flag | ||
| 9857 | + | ||
| 9858 | +# Flag that forces no undefined symbols. | ||
| 9859 | +no_undefined_flag=$no_undefined_flag | ||
| 9860 | + | ||
| 9861 | +# Commands used to finish a libtool library installation in a directory. | ||
| 9862 | +finish_cmds=$finish_cmds | ||
| 9863 | + | ||
| 9864 | +# Same as above, but a single script fragment to be evaled but not shown. | ||
| 9865 | +finish_eval=$finish_eval | ||
| 9866 | + | ||
| 9867 | +# Take the output of nm and produce a listing of raw symbols and C names. | ||
| 9868 | +global_symbol_pipe=$global_symbol_pipe | ||
| 9869 | + | ||
| 9870 | +# Transform the output of nm in a proper C declaration | ||
| 9871 | +global_symbol_to_cdecl=$global_symbol_to_cdecl | ||
| 9872 | + | ||
| 9873 | +# This is the shared library runtime path variable. | ||
| 9874 | +runpath_var=$runpath_var | ||
| 9875 | + | ||
| 9876 | +# This is the shared library path variable. | ||
| 9877 | +shlibpath_var=$shlibpath_var | ||
| 9878 | + | ||
| 9879 | +# Is shlibpath searched before the hard-coded library search path? | ||
| 9880 | +shlibpath_overrides_runpath=$shlibpath_overrides_runpath | ||
| 9881 | + | ||
| 9882 | +# How to hardcode a shared library path into an executable. | ||
| 9883 | +hardcode_action=$hardcode_action | ||
| 9884 | + | ||
| 9885 | +# Flag to hardcode \$libdir into a binary during linking. | ||
| 9886 | +# This must work even if \$libdir does not exist. | ||
| 9887 | +hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec | ||
| 9888 | + | ||
| 9889 | +# Whether we need a single -rpath flag with a separated argument. | ||
| 9890 | +hardcode_libdir_separator=$hardcode_libdir_separator | ||
| 9891 | + | ||
| 9892 | +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the | ||
| 9893 | +# resulting binary. | ||
| 9894 | +hardcode_direct=$hardcode_direct | ||
| 9895 | + | ||
| 9896 | +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the | ||
| 9897 | +# resulting binary. | ||
| 9898 | +hardcode_minus_L=$hardcode_minus_L | ||
| 9899 | + | ||
| 9900 | +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into | ||
| 9901 | +# the resulting binary. | ||
| 9902 | +hardcode_shlibpath_var=$hardcode_shlibpath_var | ||
| 9903 | + | ||
| 9904 | +# Compile-time system search path for libraries | ||
| 9905 | +sys_lib_search_path_spec=$sys_lib_search_path_spec | ||
| 9906 | + | ||
| 9907 | +# Run-time system search path for libraries | ||
| 9908 | +sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec | ||
| 9909 | + | ||
| 9910 | +# Fix the shell variable \$srcfile for the compiler. | ||
| 9911 | +fix_srcfile_path="$fix_srcfile_path" | ||
| 9912 | + | ||
| 9913 | +# Set to yes if exported symbols are required. | ||
| 9914 | +always_export_symbols=$always_export_symbols | ||
| 9915 | + | ||
| 9916 | +# The commands to list exported symbols. | ||
| 9917 | +export_symbols_cmds=$export_symbols_cmds | ||
| 9918 | + | ||
| 9919 | +# Symbols that should not be listed in the preloaded symbols. | ||
| 9920 | +exclude_expsyms=$exclude_expsyms | ||
| 9921 | + | ||
| 9922 | +# Symbols that must always be exported. | ||
| 9923 | +include_expsyms=$include_expsyms | ||
| 9924 | + | ||
| 9925 | +EOF | ||
| 9926 | + | ||
| 9927 | +case "$ltmain" in | ||
| 9928 | +*.sh) | ||
| 9929 | + echo '### END LIBTOOL CONFIG' >> "$ofile" | ||
| 9930 | + echo >> "$ofile" | ||
| 9931 | + case "$host_os" in | ||
| 9932 | + aix3*) | ||
| 9933 | + cat <<\EOF >> "$ofile" | ||
| 9934 | + | ||
| 9935 | +# AIX sometimes has problems with the GCC collect2 program. For some | ||
| 9936 | +# reason, if we set the COLLECT_NAMES environment variable, the problems | ||
| 9937 | +# vanish in a puff of smoke. | ||
| 9938 | +if test "${COLLECT_NAMES+set}" != set; then | ||
| 9939 | + COLLECT_NAMES= | ||
| 9940 | + export COLLECT_NAMES | ||
| 9941 | +fi | ||
| 9942 | +EOF | ||
| 9943 | + ;; | ||
| 9944 | + esac | ||
| 9945 | + | ||
| 9946 | + # Append the ltmain.sh script. | ||
| 9947 | + sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) | ||
| 9948 | + | ||
| 9949 | + chmod +x "$ofile" | ||
| 9950 | + ;; | ||
| 9951 | + | ||
| 9952 | +*) | ||
| 9953 | + # Compile the libtool program. | ||
| 9954 | + echo "FIXME: would compile $ltmain" | ||
| 9955 | + ;; | ||
| 9956 | +esac | ||
| 9957 | + | ||
| 9958 | +test -n "$cache_file" || exit 0 | ||
| 9959 | + | ||
| 9960 | +# AC_CACHE_SAVE | ||
| 9961 | +trap '' 1 2 15 | ||
| 9962 | +cat > confcache <<\EOF | ||
| 9963 | +# This file is a shell script that caches the results of configure | ||
| 9964 | +# tests run on this system so they can be shared between configure | ||
| 9965 | +# scripts and configure runs. It is not useful on other systems. | ||
| 9966 | +# If it contains results you don't want to keep, you may remove or edit it. | ||
| 9967 | +# | ||
| 9968 | +# By default, configure uses ./config.cache as the cache file, | ||
| 9969 | +# creating it if it does not exist already. You can give configure | ||
| 9970 | +# the --cache-file=FILE option to use a different cache file; that is | ||
| 9971 | +# what configure does when it calls configure scripts in | ||
| 9972 | +# subdirectories, so they share the cache. | ||
| 9973 | +# Giving --cache-file=/dev/null disables caching, for debugging configure. | ||
| 9974 | +# config.status only pays attention to the cache file if you give it the | ||
| 9975 | +# --recheck option to rerun configure. | ||
| 9976 | +# | ||
| 9977 | +EOF | ||
| 9978 | +# The following way of writing the cache mishandles newlines in values, | ||
| 9979 | +# but we know of no workaround that is simple, portable, and efficient. | ||
| 9980 | +# So, don't put newlines in cache variables' values. | ||
| 9981 | +# Ultrix sh set writes to stderr and can't be redirected directly, | ||
| 9982 | +# and sets the high bit in the cache file unless we assign to the vars. | ||
| 9983 | +(set) 2>&1 | | ||
| 9984 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in | ||
| 9985 | + *ac_space=\ *) | ||
| 9986 | + # `set' does not quote correctly, so add quotes (double-quote substitution | ||
| 9987 | + # turns \\\\ into \\, and sed turns \\ into \). | ||
| 9988 | + sed -n \ | ||
| 9989 | + -e "s/'/'\\\\''/g" \ | ||
| 9990 | + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" | ||
| 9991 | + ;; | ||
| 9992 | + *) | ||
| 9993 | + # `set' quotes correctly as required by POSIX, so do not add quotes. | ||
| 9994 | + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' | ||
| 9995 | + ;; | ||
| 9996 | + esac >> confcache | ||
| 9997 | +if cmp -s $cache_file confcache; then | ||
| 9998 | + : | ||
| 9999 | +else | ||
| 10000 | + if test -w $cache_file; then | ||
| 10001 | + echo "updating cache $cache_file" | ||
| 10002 | + cat confcache > $cache_file | ||
| 10003 | + else | ||
| 10004 | + echo "not updating unwritable cache $cache_file" | ||
| 10005 | + fi | ||
| 10006 | +fi | ||
| 10007 | +rm -f confcache | ||
| 10008 | + | ||
| 10009 | +exit 0 | ||
| 10010 | + | ||
| 10011 | +# Local Variables: | ||
| 10012 | +# mode:shell-script | ||
| 10013 | +# sh-indentation:2 | ||
| 10014 | +# End: | ||
diff --git a/meta/packages/jpeg/jpeg-6b/ldflags.patch b/meta/packages/jpeg/jpeg-6b/ldflags.patch new file mode 100644 index 0000000000..727327bc6e --- /dev/null +++ b/meta/packages/jpeg/jpeg-6b/ldflags.patch | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | |||
| 2 | # | ||
| 3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
| 4 | # | ||
| 5 | |||
| 6 | --- jpeg-6b/makefile.cfg~ldflags | ||
| 7 | +++ jpeg-6b/makefile.cfg | ||
| 8 | @@ -169,7 +169,7 @@ | ||
| 9 | # with libtool: | ||
| 10 | libjpeg.la: @A2K_DEPS@ $(LIBOBJECTS) | ||
| 11 | $(LIBTOOL) --mode=link $(CC) -o libjpeg.la $(LIBOBJECTS) \ | ||
| 12 | - -rpath $(libdir) -version-info $(JPEG_LIB_VERSION) | ||
| 13 | + -rpath $(libdir) -version-info $(JPEG_LIB_VERSION) $(LDFLAGS) | ||
| 14 | |||
| 15 | # sample programs: | ||
| 16 | |||
diff --git a/meta/packages/jpeg/jpeg-6b/paths.patch b/meta/packages/jpeg/jpeg-6b/paths.patch new file mode 100644 index 0000000000..014bf4ec0f --- /dev/null +++ b/meta/packages/jpeg/jpeg-6b/paths.patch | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | |||
| 2 | # | ||
| 3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
| 4 | # | ||
| 5 | |||
| 6 | --- jpeg-6b/makefile.cfg~paths.patch | ||
| 7 | +++ jpeg-6b/makefile.cfg | ||
| 8 | @@ -7,17 +7,18 @@ | ||
| 9 | # For compiling with source and object files in different directories. | ||
| 10 | srcdir = @srcdir@ | ||
| 11 | VPATH = @srcdir@ | ||
| 12 | +DESTDIR = @DESTDIR@ | ||
| 13 | |||
| 14 | # Where to install the programs and man pages. | ||
| 15 | prefix = @prefix@ | ||
| 16 | exec_prefix = @exec_prefix@ | ||
| 17 | -bindir = $(exec_prefix)/bin | ||
| 18 | -libdir = $(exec_prefix)/lib | ||
| 19 | -includedir = $(prefix)/include | ||
| 20 | +bindir = @bindir@ | ||
| 21 | +libdir = @libdir@ | ||
| 22 | +includedir = @includedir@ | ||
| 23 | binprefix = | ||
| 24 | manprefix = | ||
| 25 | manext = 1 | ||
| 26 | -mandir = $(prefix)/share/man/man$(manext) | ||
| 27 | +mandir = @mandir@/man$(manext) | ||
| 28 | |||
| 29 | # The name of your C compiler: | ||
| 30 | CC= @CC@ | ||
| 31 | @@ -191,30 +192,30 @@ | ||
| 32 | # Installation rules: | ||
| 33 | |||
| 34 | install: cjpeg djpeg jpegtran rdjpgcom wrjpgcom @FORCE_INSTALL_LIB@ | ||
| 35 | - $(INSTALL_PROGRAM) cjpeg $(bindir)/$(binprefix)cjpeg | ||
| 36 | - $(INSTALL_PROGRAM) djpeg $(bindir)/$(binprefix)djpeg | ||
| 37 | - $(INSTALL_PROGRAM) jpegtran $(bindir)/$(binprefix)jpegtran | ||
| 38 | - $(INSTALL_PROGRAM) rdjpgcom $(bindir)/$(binprefix)rdjpgcom | ||
| 39 | - $(INSTALL_PROGRAM) wrjpgcom $(bindir)/$(binprefix)wrjpgcom | ||
| 40 | - $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(mandir)/$(manprefix)cjpeg.$(manext) | ||
| 41 | - $(INSTALL_DATA) $(srcdir)/djpeg.1 $(mandir)/$(manprefix)djpeg.$(manext) | ||
| 42 | - $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(mandir)/$(manprefix)jpegtran.$(manext) | ||
| 43 | - $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(mandir)/$(manprefix)rdjpgcom.$(manext) | ||
| 44 | - $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(mandir)/$(manprefix)wrjpgcom.$(manext) | ||
| 45 | + $(INSTALL_PROGRAM) cjpeg $(DESTDIR)$(bindir)/$(binprefix)cjpeg | ||
| 46 | + $(INSTALL_PROGRAM) djpeg $(DESTDIR)$(bindir)/$(binprefix)djpeg | ||
| 47 | + $(INSTALL_PROGRAM) jpegtran $(DESTDIR)$(bindir)/$(binprefix)jpegtran | ||
| 48 | + $(INSTALL_PROGRAM) rdjpgcom $(DESTDIR)$(bindir)/$(binprefix)rdjpgcom | ||
| 49 | + $(INSTALL_PROGRAM) wrjpgcom $(DESTDIR)$(bindir)/$(binprefix)wrjpgcom | ||
| 50 | + $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(DESTDIR)$(mandir)/$(manprefix)cjpeg.$(manext) | ||
| 51 | + $(INSTALL_DATA) $(srcdir)/djpeg.1 $(DESTDIR)$(mandir)/$(manprefix)djpeg.$(manext) | ||
| 52 | + $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(DESTDIR)$(mandir)/$(manprefix)jpegtran.$(manext) | ||
| 53 | + $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)rdjpgcom.$(manext) | ||
| 54 | + $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)wrjpgcom.$(manext) | ||
| 55 | |||
| 56 | install-lib: libjpeg.$(A) install-headers | ||
| 57 | - $(INSTALL_LIB) libjpeg.$(A) $(libdir)/$(binprefix)libjpeg.$(A) | ||
| 58 | + $(INSTALL_LIB) libjpeg.$(A) $(DESTDIR)$(libdir)/$(binprefix)libjpeg.$(A) | ||
| 59 | |||
| 60 | install-headers: jconfig.h | ||
| 61 | - $(INSTALL_DATA) jconfig.h $(includedir)/jconfig.h | ||
| 62 | - $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h | ||
| 63 | - $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h | ||
| 64 | - $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h | ||
| 65 | + $(INSTALL_DATA) jconfig.h $(DESTDIR)$(includedir)/jconfig.h | ||
| 66 | + $(INSTALL_DATA) $(srcdir)/jpeglib.h $(DESTDIR)$(includedir)/jpeglib.h | ||
| 67 | + $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(DESTDIR)$(includedir)/jmorecfg.h | ||
| 68 | + $(INSTALL_DATA) $(srcdir)/jerror.h $(DESTDIR)$(includedir)/jerror.h | ||
| 69 | #<ballombe@debian.org>:mjpegtools require this file to build and header say: | ||
| 70 | # * These declarations are considered internal to the JPEG library; most | ||
| 71 | # * applications using the library shouldn't need to include this file. | ||
| 72 | # So it is not forbidden to use it, therefore it must be installed. | ||
| 73 | - $(INSTALL_DATA) $(srcdir)/jpegint.h $(includedir)/jpegint.h | ||
| 74 | + $(INSTALL_DATA) $(srcdir)/jpegint.h $(DESTDIR)$(includedir)/jpegint.h | ||
| 75 | |||
| 76 | clean: | ||
| 77 | $(RM) *.o *.lo libjpeg.a libjpeg.la | ||
diff --git a/meta/packages/jpeg/jpeg-native_6b.bb b/meta/packages/jpeg/jpeg-native_6b.bb new file mode 100644 index 0000000000..b617f1b6c0 --- /dev/null +++ b/meta/packages/jpeg/jpeg-native_6b.bb | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | SECTION = "libs" | ||
| 2 | include jpeg_${PV}.bb | ||
| 3 | inherit native | ||
| 4 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/jpeg-${PV}" | ||
| 5 | DEPENDS = "" | ||
| 6 | |||
| 7 | do_stage() { | ||
| 8 | install -m 644 jconfig.h ${STAGING_INCDIR}/jconfig.h | ||
| 9 | install -m 644 jpeglib.h ${STAGING_INCDIR}/jpeglib.h | ||
| 10 | install -m 644 jmorecfg.h ${STAGING_INCDIR}/jmorecfg.h | ||
| 11 | install -m 644 jerror.h ${STAGING_INCDIR}/jerror.h | ||
| 12 | install -m 644 jpegint.h ${STAGING_INCDIR}/jpegint.h | ||
| 13 | oe_libinstall -so libjpeg ${STAGING_LIBDIR} | ||
| 14 | } | ||
diff --git a/meta/packages/jpeg/jpeg_6b.bb b/meta/packages/jpeg/jpeg_6b.bb new file mode 100644 index 0000000000..23e3ed82be --- /dev/null +++ b/meta/packages/jpeg/jpeg_6b.bb | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | PR = "r2" | ||
| 2 | SECTION = "libs" | ||
| 3 | PRIORITY = "required" | ||
| 4 | MAINTAINER = "Chris Larson <kergoth@handhelds.org>" | ||
| 5 | DEPENDS = "libtool-cross" | ||
| 6 | DESCRIPTION = "libjpeg is a library for handling the JPEG (JFIF) image format." | ||
| 7 | PACKAGES =+ "jpeg-tools " | ||
| 8 | FILES_jpeg-tools = "${bindir}" | ||
| 9 | LICENSE ="jpeg" | ||
| 10 | SRC_URI = "http://www.ijg.org/files/jpegsrc.v${PV}.tar.gz \ | ||
| 11 | file://debian.patch;patch=1 \ | ||
| 12 | file://ldflags.patch;patch=1 \ | ||
| 13 | file://paths.patch;patch=1" | ||
| 14 | S = "${WORKDIR}/jpeg-${PV}" | ||
| 15 | |||
| 16 | inherit autotools | ||
| 17 | |||
| 18 | EXTRA_OECONF="--enable-static --enable-shared" | ||
| 19 | EXTRA_OEMAKE='"LIBTOOL=${STAGING_BINDIR}/${HOST_SYS}-libtool"' | ||
| 20 | |||
| 21 | CFLAGS_append = " -D_REENTRANT" | ||
| 22 | |||
| 23 | do_stage() { | ||
| 24 | install -m 644 jconfig.h ${STAGING_INCDIR}/jconfig.h | ||
| 25 | install -m 644 jpeglib.h ${STAGING_INCDIR}/jpeglib.h | ||
| 26 | install -m 644 jmorecfg.h ${STAGING_INCDIR}/jmorecfg.h | ||
| 27 | install -m 644 jerror.h ${STAGING_INCDIR}/jerror.h | ||
| 28 | install -m 644 jpegint.h ${STAGING_INCDIR}/jpegint.h | ||
| 29 | oe_libinstall -so libjpeg ${STAGING_LIBDIR} | ||
| 30 | } | ||
| 31 | |||
| 32 | do_install() { | ||
| 33 | install -d ${D}${bindir} ${D}${includedir} \ | ||
| 34 | ${D}${mandir}/man1 ${D}${libdir} | ||
| 35 | oe_runmake 'DESTDIR=${D}' install | ||
| 36 | } | ||
